Релационният модел е най-популярният от логическите модели на данни и е в основата на SQL бази данни.
Релационният модел се основава на две прости концепции:
- таблици
- отношения
Релационният модел датира от 1969 г. и работата на Едгар Ф. Код, английски компютърен учен. Въпреки че като компютърни програмисти сме свикнали да гледаме с любопитство нови лъскави неща, технология, която може да бъде централна във всичко за компютрите в продължение на 50 години, определено си струва да се изучава.
Фактът, че моделът е базиран на таблици, го прави много интуитивен за използване, защото сме свикнали да използваме таблици, за да организираме нещата. Помислете за електронна таблица на Excel, например.
С базите данни, базирани на SQL, като PostgreSQL, Oracle, MySQL, SQLite и MS SQL Server и много други, данните, анализирани с помощта на ER модела, могат да бъдат моделирани с помощта на релационния модел и почти веднага да бъдат трансформирани във формат на база данни на SQL, който може се счита за реална реализация на релационния модел, но ще говорим за това в други публикации.
В тази публикация искам да говоря за теорията и концепциите, на които се основава релационният модел, не изразени в математически термини, а какво означава това на практика.
Ако сте студент, може да откриете, че това, което пиша тук, не е това, което е написано във вашия учебник, но може би ще можете да го прочетете по-лесно, за да схванете по-формалните понятия, изразени в учебния ви материал.
Таблици
В релационен модел, табица е колекция от елементи.
Той е организиран в редове и колони:
Име | Възраст |
---|---|
Флавио | 36 |
Прието | 7 |
Сид | 6 |
Кортежи
Всеки запис в таблицата се нарича кортеж . Можете също да използвате термините запис или ред .
Кортежът представлява ред от таблицата, както следва:
Флавио | 36 |
Атрибути
Атрибутът е един единствен елемент в кортежа.
В този пример:
Флавио | 36 |
„Флавио“ е атрибут. 36 е друг атрибут.
Которите са уникални
Всеки кортеж в таблицата е уникален.
В релационния модел не можем да имаме дублиращи се данни, което означава, че всеки ред в таблицата трябва да е различен в поне един атрибут.
Ключът на връзката
Нещото, което гарантира, че кортежът е уникален, е ключът за релация .
Ключът е един атрибут, който трябва уникално да се идентифицира кортеж.
Ако релационният ключ е набор от атрибути, той трябва да е неизлишен . Това означава, че ако премахнем един от атрибутите на ключа, ключът не може да гарантира неговата уникалност.
Ако могат да бъдат определени повече от един ключ, един от тези ключове ще бъде идентифициран като първичен ключ .
Ограничение за целостта на ключа
Ключовите им атрибути на всеки кортеж в таблицата никога не трябва да бъдат нулеви , и не трябва никога да се повтаря .
При даден ключ трябва да можем да посочим конкретен кортеж/ред без неяснота.
Ограниченията на домейна
Всеки атрибут има правила за това каква стойност може да притежава .
Ако решим да съхраняваме числа, не можем да съхраняваме низове, например. И може да решим да не съхраняваме низове, по-дълги от 10 знака за имена.
Можем също да наречем този тип .
Ограничението на референтната цялост
Ако таблица съдържа препратка към вторична таблица или други кортежи в същата таблица, тогава трябва да спазваме правила, които предотвратяват прекъсването на препратката.
По-специално, трябва да избягваме да нарушаваме препратката чрез:
- избягване на изтриване или редактиране на първичния ключ на записа, към който сочим, в другата таблица.
- избягвайте да вмъквате нов запис с несъществуващ ключ, към който да сочите в другата таблица.
- избягвайте да променяте ключа на записа, към който сочим, без да се уверите, че новият ключ съществува в другата таблица.
СУБД (система за управление на бази данни) ще приложи мерки, които да ни помогнат да приложим референтната цялост.