Видове връзки - Информатика, програмиране

Всички информационни обекти на предметната област са взаимосвързани. Има няколко вида връзки, за които се въвеждат следните обозначения:

едно към едно (1:1);

едно към много (1 : M);

много към много (M : M).

Връзката едно към едно (1:1) предполага, че във всеки даден момент един екземпляр на информационен обект A съответства на не повече от един екземпляр на информационен обект B и обратно.

При връзка "един към много" (1:M) един екземпляр на информационен обект A съответства на 0, 1 или повече екземпляри на обект B, но всеки екземпляр на обект B е свързан с не повече от 1 екземпляр на обект A. Графично това съответствие изглежда така.

Връзката много към много (M:M) предполага, че по всяко време един екземпляр на информационен обект A съответства на 0, 1 или повече екземпляри на обект B и обратно.

Глава 3 Модели на данни

3.1. Информация за модели на данни.

Инфологичният модел картографира реалния свят в някои разбираеми за човека концепции, които са напълно независими от параметрите на средата за съхранение на данни. Има много подходи за изграждане на такива модели: графични модели, семантични мрежи, модел на същност-връзка и др. Най-популярният от тях беше моделът на същност-връзка.

Инфологичният модел трябва да бъде картографиран в компютърно ориентиран логически модел на данни, „разбираем“ от СУБД. В процеса на развитие на теорията и практическото използване на базите данни, както и на компютърните технологии, бяха създадени СУБД, които поддържат различни модели на данни.

Отначало започнаха да се използват йерархични информационни модели. Лесна организация, предварително дефинирани връзки между обекти, сходство с физически модели на даннинаправи възможно постигането на приемлива производителност на йерархична СУБД на бавни компютри с много ограничена памет. Но ако данните нямаха дървовидна структура, тогава имаше много трудности при изграждането на йерархичен модел и желанието да се постигне желаната производителност.

Създадени са и мрежови модели за компютри с нисък ресурс. Това са доста сложни структури, състоящи се от "комплекти" - наречени дървета на две нива. „Комплектите“ се свързват с помощта на „записи на връзки“, образувайки вериги и т.н. При разработването на мрежови модели бяха измислени много "малки трикове", за да се увеличи производителността на СУБД. Но значително усложнява последното. Приложният програмист трябва да знае много термини, да научи няколко вътрешни езика на СУБД, да представи подробно логическата структура на базата данни, за да се движи между различни екземпляри, набори, записи и т.н. Един от разработчиците на операционната система UNIX каза: "Мрежовата база е най-сигурният начин да загубите данни."

Сложността на практическото използване на йерархични и мрежови СУБД ни принуди да търсим други начини за представяне на данни. В края на 60-те години се появяват СУБД, базирани на обърнати файлове, които се отличават с простотата на организацията и наличието на много удобни езици за манипулиране на данни. Такива СУБД обаче имат редица ограничения за броя на файловете за съхранение на данни, броя на връзките между тях, дължината на записа и броя на неговите полета.

Физическата организация на данните има голямо влияние върху производителността на базата данни. Разработчиците на СУБД се опитват да създадат най-продуктивните физически модели на данни, като предлагат на потребителите един или друг инструмент за настройка на модела към конкретна база данни. Разнообразие от методи за настройкафизическите модели на съвременни индустриални СУБД не ни позволяват да ги разгледаме в този раздел.

3.2. Видове модели на данни.

Ядрото на всяка база данни е моделът на данните. Модел на данни е набор от структури на данни, ограничения за интегритет и операции за манипулиране на данни. С помощта на модела на данни могат да бъдат представени обектите от предметната област и връзките между тях.

Моделът на данните е набор от структури от данни и операции за тяхната обработка.

СУБД се основава на използването на йерархичен, мрежов или релационен модел, на комбинация от тези модели или на някакво подмножество от тях.

Нека разгледаме три основни типа модели на данни: йерархични, мрежови и релационни.

Йерархичен модел на данни

Йерархичната структура е набор от елементи, свързани помежду си по определени правила. Обектите, свързани чрез йерархични връзки, образуват насочена графа (обърнато дърво).

Основните понятия на йерархичната структура включват: ниво, елемент (възел), връзка. Възелът е колекция от атрибути на данни, които описват някакъв обект. В йерархична дървовидна диаграма възлите са представени от върхове на графика. Всеки възел на по-ниско ниво е свързан само с един възел на по-високо ниво. Йерархичното дърво има само един връх (коренът на дървото), който не е подчинен на друг връх и е на най-горното (първо) ниво. Зависимите (подчинени) възли са разположени на втория, третия и т.н. нива. Броят на дърветата в базата данни се определя от броя на основните записи.

Всеки запис в базата данни има само един (йерархичен) път от основния запис.

мрежов модел на данни

В мрежова структура със същите основни концепции(ниво, възел, връзка) всеки елемент може да бъде свързан с всеки друг елемент.

Релационен модел на данни

Концепцията за релационни (на английски relation - връзка) се свързва с разработките на известния американски специалист в областта на системите за бази данни Е. Код.

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

Релационният модел е фокусиран върху организирането на данни под формата на двумерни таблици. Всяка релационна таблица е двуизмерен масив и има следните свойства:

всеки елемент от таблицата е един елемент от данни;

всички колони в таблицата са хомогенни, т.е. всички елементи в една колона са с еднакъв тип (числови, символни и т.н.) и дължина;

всяка колона има уникално име;

в таблицата няма еднакви редове;

редът на редовете и колоните може да бъде произволен.

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

Поле, всяка стойност на което уникално идентифицира съответния запис, се нарича прост ключ (ключово поле). Ако записите са уникално дефинирани от стойностите на няколко полета, тогава такава таблица на база данни има съставен ключ.

За да свържете две релационни таблици, трябва да въведете ключа на първата таблица в ключа на втората таблица (ключовете може да съвпадат); в противен случай трябва да въведете външен ключ в структурата на първата таблица - ключът на втората таблица.