Релационен модел на данни – една релационна база данни съхранява данните си в релации, които потребителя възприема като таблици. Всяка релация е съставена от записи и атрубути (полета). Физическата им последователност в таблицата е от особено значение. Всяка релация има признак за различаване на данните в нея, който се нарича първичен ключ. Релационния модел включва отношения: 1:1 ; 1:M ; N:1 ; N:M. Една релация междуу 2 таблици се изгражда чрез съпоставянето на записи от едно общо поле.
Предимства на релационния модел от данни – вградена цялост на данните на много нива, за да бъдат защитени от грешки; логическа и физическа. Независимост на данните от приложенията на БД; лесно извличане на данни; съгласуваност и тоност на данните.
Отношения в релационните БД
Релационния модел е изграден на базата на релации (отношения). При него отношенията се представят чрез таблици. Има няколко вида отношения:
- 1:1 – когато всеки запис от първата таблица е свързан максимуум с един запис от втората таблица. Едната таблица играе ролята на родител, а другата на дъщерна таблица; Релацията междуу таблиците се извършва с първичен ключ, който се копира от родителската таблица
- 1:N – само един запис от първата може да се свърже с много от другата, но един от втората може да се свърже само с един запис от първата. При този тип е необходимо дъщерната таблица да има освен външен ключ и свой първичен ключ.
- N:M - когато един запис от родителската таблица е свързан с много записи от дъщерната таблица и обратното. Релацията се осъществява чрез допълнителна таблица – „свързваща таблица”
- М:1 – 1 запис от родителската може да съответства на един от дъщерната, докато на един от дъщерната може да съответстват няколко от родителската. Релацията на първичните и външните кллючове е същата като при отношен 1:М.
Ключове на релациите.
Подобно на множеството единици, релациите имат множество от един или повече атрибути, които играят ролята на ключове. За релацията може да се дефинира "ключ" по по-формален начин отколкото информационното означение за ключ на множество от атрибути, което разграничава членовете на едно множество от единици. Казва се, че множеството S от атрибути на релацията R е ключ ако:
- няма екземпляр на R, който да има две тюпли, които да са еднакви във всички атрибути на S, и не са прости тюпли и
- никое подмножество на S няма горното свойството.
Операции в релационния модел данни.
Има два съвсем различни вида означения, използвани за изразяване на операции върху релации:
- алгебрично означение, наречено релационна алгебра, където запитванията се изразяват чрез прилагане на специализирани оператори с релациите;
- логическо означение, наречено релационни изчисления, където запитванията се изразяват чрез написването на логически формули, които тюплите в отговор трябва да удовлетворяват.
Тук ще разгледаме само релационната алгебра. Има пет основни операции, които дефинират релационната алгебра.
- Обединение. Обединението на релациите R и S, означавано R∪S, e множество от тюплите, които са в R и S или и в дветe. Операторът обединение може да се приложи към релации от една и съща степен, така че тюплите в резултата да имат същия брой компоненти. Когато се разглежда обединение на релации, имената на атрибутите на релациите-операнди се игнорират и на релацията-резултат могат да бъдат дадени нови имена на атрибутите. Редът на атрибутите в операндите при обединението е съществен.
- Разлика. Разликата на релациите R и S, означена R-S е множество от тюпли в R, но не и в S. Отново се изисква R и S да имат еднаква степен.
- Произведение (декартово произведение). Нека R и S са релации от степен к1 и к2, съответно. Тогава RxS, т.е произведението на R и S е множество от всички възможни тюпли (к1+к2), чиито първи к1 компоненти са от R и чиито последни компоненти к2 са от тюпла в S.
- Проекция. Идеята на тази операция е да се вземе релацията R, да се махнат някои от компонентите (атрибутите) и/или да се реорганизират някои от оставащите компоненти. Ако R e релация от степен k, нека pi1,i2,...m (R), където ij са различни числа от едно до к, означават проекцията на R върху компонентите I1, i2,...,im, което е множество от m-тюпли a1a2...am, такива, че съществува някоя к-тюпла b1b2...bk в R, за която aj=bij, за j=1,2,...m. Например p3,1 (R) се получава, като се вземе всяка тюпла m на R и се формират 2-тюпли от третата и първата компонента на m в този ред. Ако R има атрибути, именуващи неговите колони, тогава може да се заместят имената на атрибутите с номерата на компонентите и в релацията проекция може да се използват същите имена на атрибути. Така релацията R e R(A,B,C), тогава pС,А (R), е същото като p3,1 (R) и резултатът от релацията има атрибут С именуващ първата колона и атрибут А, именуващ втората колона.
- Селекция. Нека F е формула включваща
а/ операнди, които са константи или компоненти; компонентата i се представя с $i,
б/ аритметични оператори за сравнение <,=,>,£,³, ¹, и
в/ логическите оператори Ù (и), Ú (или) и Ø (не).
Тогава, sF (R) е множество от тюпли m на R такива, че ako за всяко i, ние заменим i-тия компонент на m с $i във формулата F, формулата F става вярна. Например s$1>$3 (R) означава множеството от тюпли m в R, такива че втората компонента на m е по-голяма от третата, докато s$1=“Петров” (R) е множеството от тюпли в R, чиято първа компонента има стойност “Петров”. Както при проекцията, ако колоните на релацията са именувани, тогава формулата в селекцията може да използва името вместо номера на колоната.
Допълнителни алгебрични операции:
- сечение: R∩S≡R(R-S), R и S са с една и съща размерност.
- съединение: имаме съединение между релациите R и S по стълбовете i и j (означаваме R > < S ). Първия ред од R se умножава с 2-та реда от S и после втория ред с 2-та от S. Ако R има 3 полета, а S-2.
Коментари: