====== Nasleđivanje tabela u PostgreSQL bazi podataka ====== PostgreSQL ima mehanizam za nasleđivanje između tabela ([[https://www.postgresql.org/docs/10/ddl-inherit.html|https://www.postgresql.org/docs/10/ddl-inherit.html]]) Primer roditeljske tabele cities i deteta capitals: CREATE TABLE cities ( name text, population float, altitude int -- in feet ); CREATE TABLE capitals ( state char(2) ) 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/brisanje kolone) se prenosi i na decu, a obratno ne * 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.