Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
kb:pg:nasledjivanje_tabela [2019/11/14 12:30] – created nessa | kb:pg:nasledjivanje_tabela [2019/11/14 12:50] (current) – nessa | ||
---|---|---|---|
Line 2: | Line 2: | ||
PostgreSQL ima mehanizam za nasleđivanje između tabela ([[https:// | PostgreSQL ima mehanizam za nasleđivanje između tabela ([[https:// | ||
+ | |||
+ | Primer roditeljske tabele cities i deteta capitals:< | ||
+ | CREATE TABLE cities ( | ||
+ | name text, | ||
+ | population | ||
+ | altitude | ||
+ | ); | ||
+ | |||
+ | CREATE TABLE capitals ( | ||
+ | state | ||
+ | ) INHERITS (cities); | ||
+ | </ | ||
+ | |||
+ | * SELECT iz roditeljske table uvek vraća i slogove iz dece osim ako se ispred imena roditelja ne navede ključna reč ONLY npr. SELECT * FROM ONLY cities | ||
+ | * ALTER roditeljske tabele (dodavanje/ | ||
+ | * INSERT u roditeljsku tabelu se ne prenosi u decu, a ni obratno | ||
+ | * UPDATE zajedničke kolone u roditeljskoj tabeli se prenosi na decu, obratno ne | ||
+ | |||
+ | Dokumentacija PostgreSQLa kaže da postoji 1 ograničenje tj. mana u konceptu nasleđivanja tabela, a to je: | ||
+ | |||
+ | < | ||
+ | A serious limitation of the inheritance feature is that indexes (including unique constraints) and foreign key constraints only apply to single tables, not to their inheritance children. | ||
+ | </ | ||