• 12. EntityRelationship (ER) модел • 13. Възстановяване на БД База данни Преговор на лекции № 12 и 13
12. 1. Какво е EntityRelationship (ER) ? Моделът "обектвръзка" се основава на някоя важна семантична информация за реалния свят и е предназначена за логическото представяне на данните. Тя определя значенията на данните в контекстна на взаимовръзка с други данни. Важен за нас е този факт, че от модела "обектвръзка" могат да бъдат породени всички съществуващи модели на данните (йерархичен, мрежов, релационен, обектен), за това тя е най общата.
12.2. Основни понятия в ER модела Обект ( entity): Обекта е логическа категория за конкретна същност. Слабият обект не може да съществува ако другия обект не съществува. Силният обект е обект, който не е слаб. Силен обект например е обекта “Човек”, а слаб “Адрес”. Един адрес има смисъл, само ако той е свързан с конкретен човек. Връзка, релация ( relationship) – това е асоциация, установена между няколко обекта. Релацията представя връзка между асоциирани към нея обекти.
12.3. Характеристики на релациите Взаимоотношенията имат няколко важни характеристики. Една от тях е степента на взаимоотношенията касае броя на обектите, участващи във взаимоотношението. един – релацията се нарича унарна(unary),сингуларна, циклична (circular), рефлексивна или рекурсивна. два – бинарна (binary). Това са найчесто срещаните релации. nарни релации. Напр. тернарна (тройна) релация.
Друга важна характеристика на релациите е тяхната конективност ( кардиналност), която се отнася до изображението на екземплярите на обекта A в екземплярите на обекта B. Или т ова е отношението на максималния брой на екземплярите на обектите, участващи в релацията Една ER диаграма обикновено съдържа следните компоненти:
1. Обект – това е наименованието на реален обект от предметната област, например ученик, учител, учебник, и т.н. 2. Клас обекти – множество от обекти, които имат сходни и общи свойства. Това са например всички ученици, всички учители, всички учебници, и т.н. В ER диаграма те се изобразяват като правоъгълници:
3 . Атрибути – това са свойствата на всеки обект в даден клас. Уникалното свойство за всеки обект, което еднозначно го идентифицира спрямо другите обекти в даден клас, се нарича „ключ“. За всеки клас обекти е задължително да съществува поне един ключ, за да може да бъдат обектите „различими“ един от друг. В ER диаграмата атрибутите се изобразяват като елипси:
4. Връзки(релациите) – използват се за свързване на различни обекти от един или различни класове. Например връзка се осъществява, когато един учител започне да преподава на даден клас ученици, когато някой служител на фирма бъде назначен в даден отдел, и т.н. В ER диаграмата се изобразяват чрез ромб. Има три основни типа връзки:
4.1. Връзка 1:1 се получава когато един обект от даден клас е свързан с точно един обект от друг клас.
4.2. Връзка 1:M (едно към много) се получава когато един обект от даден клас може да има повече от една връзка с обекти от друг клас, но обект от другия клас може да има само една връзка с обект от дадения.
4.3. Връзка M:M (много към много) се получава когато обект от даден клас има повече от една връзка с обекти от друг клас и обект от другия клас има повече от една връзка с обекти от дадения.
5. Характеризиращ обект – това са обекти от предметната област, чието съществуване е невъзможно самостоятелно. Например учебните часове са характеризиращи обекти за учебната програма на даден предмет. В ER диаграмата обикновено се обозначават с двойна линия на правоъгълника.
…
6. Подклас обекти – това са обекти, които притежават всички свойства на даден базов клас обекти, но имат допълнителни свои атрибути. Връзката между базов клас с негов подклас се изобразява с триъгълник.
Две черти пресичащи линията представят релация на подклас и заместват означението за релация; Конективността на релациите е указана върху свързващите линии. Човек Студент Наследяв ане Релация на подклас
Атрибутът може да има: една стойност – т.е за всеки екземпляр на обекта атрибута може има само една стойност; много стойности – т.е за всеки екземпляр на обекта атрибута може да има само много стойности. Атрибутите могат да бъдат прости и съставни. Напр. съставният атрибут “име_на_човек” може да бъде съставен от простите атрибути “име”, “презиме”, “фамилия”.
12.4.Алгоритъм за генериране на схема на база данни от ER модел 1. Всеки обект се превръща в една таблица. 2. За тази таблица се създава първичен ключ (ако няма). 3. Всеки атрибут, който може да има само една стойност, става колона от тази таблица. 4. Ако обекта е слаб, то той ще съдържа външен ключ, който сочи към съответния му силен обект. 5. Ако атрибута е съставен го разделяме на няколко колони;
6. Релация на подклас във вида 1:1 се реализира посредством създаването на втора таблица, за дадения подклас и определянето на първичен ключ, който едновременно е външен ключ към таблицата за съответния надклас; 7. Релация от вида 1:n се реализира посредством прибавянето на външен ключ към таблицата за обекта от страната на n, сочещ към таблицата за обекта от страната на 1. 8. За релация m:n трябва да се създаде таблица, независима за всеки един от обектите, участващи в релацията. В нея се създават два независими външни ключа, сочещи към един от двата обекта.
12.5. Схема за представяне на бази данни В схемите за представяне на бази данни или (диаграми на БД) се представят таблиците и релациите между тях. Дава се информация за имената на таблиците и на колоните, определят се някои осовни характеристики на колоните. Освен това се описват релациите и колоните, които участват в тях.
S# = S# P# = P# S# varchar(5) not null P# varchar(5) not null QTY int not null SP S# varchar(5) not null SNAME char(20) not null STATUS tinyint not nullCITY char(20) null S P# varchar(5) not null PNAME char(20) not null CITY char(20) null COLOR char(10) null WEIGNT real null P
ER моделът е един от известните семантични модели за проектиране на бази от данни. Характерно за него е използването на графично представяне на базата от данни, чрез „ER диаграма“. С тяхна помощ се определят важните за предметната област обекти, техните свойства (атрибути), и отношенията им с другите обекти (връзки). Обикновено при проектирането на ER диаграма първо се определят класовете обекти, след което техните връзки и накрая техните свойства.
13.1. Възстановяване Основни понятия: Възстановяване: възстановяване на БД след грешка в предишно състояние, за което се знае че е коректно. Основен принцип, върху който се гради възстановяването е излишеството на информация.
13.2 . Транзакции Транзакция: логическа единица за операция върху БД. Пример: да допуснем, че факултетът по математика и информатика се разделя на два отделни факултета и 20 служителя се местят във новия факултет. Ще трябва да добавим нов запис в таблицата FACULTY за новия факултет и да актуализираме броя служители на стария.
BEGIN TRANSACTION; INSERT INTO FACULTY(NAME, YEAR_ESTABLISHED, EMPLOYEE_NUMBER) VALUES(‘Факултет по информатика’, 2014, 20); UPDATE FACULTY SET EMPLOYEE_NUMBER = EMPLOYEE_NUMBER 20 WHERE NAME = ‘Факултет по математика’ IF @@ERROR <> 0 ROLLBACK TRANSACTION; ELSE COMMIT TRANSACTION;
13.3. Коментар Това, което изглежда като атомарна операция
Сподели с приятели: |