Własne typy danych w postgresql.

0

Jaki sens ma tworzenie własnych typów w postgresql? Przecież modele w aplikacji zwykle sprowadza się do postaci tabelki. W czym taki typ danych mógłby okazać się użyteczny i dlatego? Jedyne co mi co głowy przychodzi to po prostu skrypty po stronie bazy danych, bo skoro jest dostępna możliwość tworzenia funkcji to znacznie poręczniej złożone argumenty jest przyjmować pod postacią nowych typów tak jak w postgisie.

1
upandrunning napisał(a):

W czym taki typ danych mógłby okazać się użyteczny i dlatego?

Dla odseparowania od siebie obiektów bazy danych . Uzyskując określoną strukturę. Zapewniając szybkości pobieranych danych . Nie wiem jak jest to w PostgreSQL, ale w Oracle istnieją typy zdefiniowanych przez użytkownika, należą do nich :
object types
object tables
collection types

Object types -
składa się z trzech elementów:
*nazwa *- odróżnia od pozostałych obiektów bazy danych
*atrybut *- tworzy pewną strukturę (mogą zawierać encję)
*metody *- służą do działania na atrybutach

Object table -
służy do tworzenia pewnego widoku struktury danych

Collection types -
mogą zawierać w sobie typy danych utworzone przez użytkownika, dlatego należą do abstrakcyjnych typów.

Zapewne jest bardzo podobnie w Postgresql, dlatego odsyłam do dokumentacji. Na tej stronie znajdziesz informację dotyczące typów danych utworzonych przez użytkownika w Postgresql:
http://www.postgresql.org/docs/7.4/static/xtypes.html
http://www.postgresql.org/docs/7.4/static/sql-createtype.html

0

Dzięki Kasiu za odpowiedź, ale mimo to średnio pojmuje co tak naprawdę korzystnego byłoby w odseparowaniu od siebie obiektów bazy danych. Przecież tabelki jako takie mogą posiadać dane w odseparowaniu o ile korzysta się z relacji.

1

Tu nie za bardzo chodzi o relację w tabelach.
Zacznę może tak. Jak masz klasę w C, Jave czy w innym języku programowania , to możesz utworzyć jej obiekt i zastosować na nim metody , funkcję , referencję itp. Tu jest podobnie . Na stworzonym obiekcie można wykonać wcześniej utworzone zastosowania. Prowadzi to do spójności danych, zapewnia wyższy poziom organizowania dostępu do danych w bazie danych.

Szczerze to ja komercyjnie nie miałam przyjemności tego wykorzystywać, ale jest to bardzo dobry sposób na zachowanie "estetyki kodu".

1 użytkowników online, w tym zalogowanych: 0, gości: 1