Модел на данни в релационна СУБД

Преди да съхранявате каквито и да е данни в СУБД, е необходимо да опишете модела на тези данни. По тип модел на данните СУБД се разделят на мрежови, йерархични и релационна. Релационните СУБД са най-широко разпространени и често използвани. Oracle и Microsoft SQL Server са примери.

Теорията за релационната СУБД е разработена от Codd на IBM през 60-те години на 20-ти век и се основава на математическата теория на отношенията. Най-важните концепции на тази теория са таблица, ред, колона, връзка, първичен и вторичен ключ.

Релационната СУБД е колекция от наименовани двумерни таблици с данни, които са логически свързани (във връзка) помежду си. Таблиците са съставени от редове и именувани колони, редовете са екземпляри на информационни обекти, а колоните са атрибути на обекти. В горния пример таблицата (нека я наречем „Склад“) се състои от информационни обекти-редове, отделен ред съдържа информация за отделен продукт. Всеки продукт се характеризира с определени параметри-атрибути („Име“, „Цена“ и др.). Редовете понякога се наричат ​​записи, а колоните понякога се наричат ​​полета за запис.

По този начин в релационния модел всички данни се представят на потребителя под формата на таблици със стойности на данните и всички операции в основата се свеждат до манипулиране на таблици.

Връзките между отделните таблици в релационния модел може да не бъдат изрично описани. Те се задават от потребителя при писане на заявка за избор на данни и представляват условията за равенство на стойностите на съответните полета.

Пример за логически свързани таблици:

Релационният модел използва следната терминология за свързване на логическа таблица:

  • Първичен ключ (или главен ключ, първичен ключ, PK). Представлява колона или колекция от колони, чиито стойности уникално идентифицират редове. В този пример първичният ключ в таблицата „Служители“ е колоната „Номер на персонала“, тъй като в една организация няма служители с еднакви персонални номера. Очевидно в таблицата "Отдели" първичният ключ е колоната, съдържаща номера на отдела;
  • Вторичен (или външен ключ, външен ключ, FK). Колона или колекция от колони, които не са първични ключове в дадена таблица, но са първични ключове в друга таблица. В този пример колоната „Номер на отдела“ на таблицата „Служители“ съдържа вторичен ключ, който може да се използва за установяване на логическа връзка между редовете на таблицата и съответните редове на таблицата „Отделения“.