Основни понятия за релационна база данни – Студопедия
Въпреки че една електронна таблица на Excel може да действа като база данни, не мислете, че е пълна база данни. Той няма много функции, които имат релационните бази данни.
За разлика от плоските бази данни, релационните бази данни се състоят от няколко таблици, връзката между които се установява с помощта на съвпадащите стойности на полетата със същото име.
Релационни бази данни. Таблицата на базата данни е двуизмерен масив, съдържащ информация за един клас обекти. В теорията на релационната алгебра една таблица се нарича релация. Таблицата се състои от следните елементи: полета, записи, клетки.
Полето (колоната) съдържа стойностите на една от характеристиките, характеризиращи обектите. Ако разглеждаме паспорта на човек като обект, тогава името на полето може да бъде "Фамилия". Обект в теорията на релационната алгебра се нарича същност, а описанието на определен обект се нарича инстанция. В теорията на релационната алгебра едно поле се нарича атрибут. Броят на полетата в таблицата съответства на броя на характеристиките, които характеризират обектите.
Записът е ред от таблица. Той съдържа стойностите на всички характеристики, които характеризират един обект (екземпляр). Броят на записите съответства на броя на обектите, чиито данни се съдържат в таблицата. В теорията на релационната алгебра концепцията за запис съответства на концепцията за кортеж - последователност от атрибути, свързани помежду си с релацията And (AND).
Клетката съдържа конкретната стойност на съответното поле (атрибут на един обект).
Накратко характеристиките на релационна база данни могат да бъдат описани по следния начин:
- данните се съхраняват в таблици, състоящи се от колони и редове;
- в пресечната точка на всяка колона и ред има точно една стойност;
- всяка колона иманеговото име, което служи като негово име, и всички стойности в една колона са от един и същи тип (например текст или число, или дата / час, или валута);
- колоните са в определен ред, който се определя при създаването на таблицата, за разлика от редовете, които са в произволен ред.
Една от важните концепции, необходими за конструиране на оптимална структура на релационни бази данни, е концепцията за ключ или ключово поле. Ключът е поле, чиито стойности еднозначно определят стойностите на всички останали полета в таблицата.
За еднозначно идентифициране (идентифициране) на всеки запис, таблицата трябва да има уникален първичен ключ. Ключовите стойности не могат да се повтарят в множество записи. Пример за първичен ключ би бил броят на записите (1, 2, 3, ,n). Стойността на ключа се използва за намиране на единствения запис в таблицата.
Логическите връзки между таблиците позволяват комбинирането на данни от различни таблици. Връзката на всяка двойка таблици се осигурява от едни и същи полета в тях - ключ за връзка. В първата (главна, родителска) таблица ключът се нарича първичен ключ. Ключът във втората (подчинена, дъщерна) таблица се нарича външен ключ. По този начин външните ключове се използват за организиране на връзки между таблиците на базата данни и за поддържане на ограничения за референтна цялост на данните.
По този начин се гарантира рационално съхранение на недублирани данни и тяхното комбиниране в съответствие с изискванията на решаваните задачи.
Първичният ключ е минималният набор от полета, които уникално идентифицират запис в таблица. Това означава, че първичният ключ е преди всичко набор от полета на таблицата, второ, всеки набор от стойности на тези полета трябва да дефинира един запис (ред) в таблицата и, трето, този набор от полетатрябва да е най-малкият от всички, които имат същото свойство. Тъй като първичен ключ дефинира само един уникален запис, два записа в таблица не могат да имат една и съща стойност на първичен ключ. Първичният ключ може да се състои от едно поле на таблица, чиито стойности са уникални за всеки запис. Такъв първичен ключ се нарича прост ключ.
Ако таблицата няма нито едно уникално поле, първичният ключ може да бъде съставен от няколко полета, чийто набор от стойности гарантира уникалност. Така че име, фамилия, бащино име, номер на паспорт, серия на паспорт не могат да бъдат първични ключове поотделно, тъй като те могат да бъдат еднакви за двама или повече хора. Но няма два еднотипни лични документа с еднаква серия и номер. Следователно в таблица, съдържаща записи за хора, първичният ключ може да бъде набор от полета, състоящи се от вида на личния документ, неговата серия и номер. Такъв първичен ключ се нарича съставен ключ.
Сурогатният ключ е допълнително служебно поле, добавено към съществуващите информационни полета на таблица, чиято единствена цел е да служи като първичен ключ. Стойностите на това поле не се формират на базата на други данни от базата данни, а са изкуствено генерирани от СУБД. Полето на брояча е цяло число от четири байта и автоматично се увеличава с единица, когато потребителят добави нов запис към таблицата.
Чужд (вторичен) ключ е едно или повече полета (колони) в таблица, които съдържат препратка към поле или полета в първичен ключ в друга таблица. Външен ключ определя как се свързват таблиците. От двете логически свързани таблици едната се нарича таблица с първичен ключ или главна таблица, а другата е таблица с вторичен (чужд) ключ или подчиненамаса.
СУБД ви позволяват да съпоставяте свързани записи от двете таблици и да ги показвате заедно във формуляр, отчет или заявка.
Ключовете на две таблици установяват логически връзки между тях.
Видове логическа връзка. Установява се връзка между две общи полета (колони) на две таблици. Има релации с релации "един към един", "един към много" и "много към много".
Връзки, които могат да съществуват между записите на две таблици:
- едно към едно, всеки запис от една таблица съответства на един запис в друга таблица;
- едно към много, всеки запис от една таблица съответства на няколко записа от друга таблица;
- много към едно, много записи от една таблица съответстват на един запис в друга таблица;
- много към много, набор от записи от една таблица съответства на няколко записа в друга таблица.
Типът връзка в създадената връзка зависи от това как са дефинирани полетата, които трябва да бъдат свързани:
- Връзка "един към много" се създава, когато само едно от полетата е първичен ключ или уникално индексно поле (пример за връзка: има много студенти в една и съща група).
- Връзка едно към едно се създава, когато и двете свързани полета са ключови полета или имат уникални индекси (пример за връзка: един ученик има една книга с оценки).
- Връзката много към много всъщност е две релации едно към много с трета таблица, чийто първичен ключ се състои от полетата за външен ключ на другите две таблици (пример за връзка: много групи имат много изпити).
Индексиране. Една от основните задачи, които възникват при работа с бази данни, е задачата за търсене. В същото време най-важният елемент на всяка СУБД е наличието на средства за ускореноизвличане на данни, т.е. търсене за сравнително кратко време и с достатъчна точност. За да направите това (за да оптимизирате производителността на заявката), някои полета на таблицата се индексират.
Нормализацията е разделянето на таблица на две или повече таблици, които имат по-добри свойства за включване, промяна и изтриване на данни. Крайната цел на нормализирането е да има дизайн на база данни, в който всеки факт се появява само на едно място, т.е. излишъкът на информация е изключен. Това се прави не толкова, за да се спести памет, а за да се елиминира евентуалното несъответствие на съхраняваните данни.
Има няколко нормални форми на релационния модел, които въвеждат ограничения и позволяват минимизиране на дублирането на данни, поддържане на целостта и еднократно въвеждане на данни.
Една таблица е в първа нормална форма (1NF), ако и само ако нито един от нейните редове не съдържа повече от една стойност в нито едно от нейните полета и нито едно от нейните ключови полета не е празно.
Една таблица е във втора нормална форма (2NF), ако отговаря на дефиницията на 1NF и всички нейни полета, които не са включени в първичния ключ, са напълно функционално зависими от първичния ключ (една стойност на ключ съответства на една стойност на неключово поле).
Една таблица е в трета нормална форма (3NF), ако отговаря на дефиницията на 2NF и нито едно от нейните неключови полета не е функционално зависимо от други неключови полета (не зависят едно от друго).
За внедряване на база данни в СУБД е достатъчно релационните таблици да са в трета нормална форма. Така всяка нормална форма е в известен смисъл по-ограничена, но и по-желана от тази преди нея.
На практика третотонормалната форма е достатъчна в повечето случаи и редуцирането до трета нормална форма обикновено завършва процеса на проектиране на релационна база данни, въпреки че теоретично има шест нормални форми.
Не намерихте това, което търсихте? Използвайте търсачката: