Многозначни атрибути

Друг тип непрост атрибут, който си струва да се спомене, еатрибутът с множество стойности. Атрибут с множество стойности, както подсказва името, може да има повече от една стойност за даден екземпляр на обект. Например, атрибутът "училище" може лесно да бъде многозначен, ако дадено лице посещава (или е посещавало, в зависимост от контекста на базата данни) повече от едно училище. Обратният пример е, че повечето хора имат само едно име и следователно съставът „име“ не е двусмислен. Многозначният атрибут "училище" е изобразен на фигура 2.5 (модел Чен (модел Чен)) като двоен овал, който илюстрира ситуацията, когато базата данни съхранява данни за ученици, които могат да посещават повече от едно училище. Въпреки че илюстрираме атрибута "училище" като многозначен, не предполагаме, че това ще е така за всички бази данни. Всъщност атрибутът "училище" може да има една единствена стойност в други бази данни. Понятието училище може да означава настоящето (или предишното) училище, за разлика от всички предишни училища. Ако предметите, за които съхраняваме данни, могат да посещават само едно училище във всеки даден момент (и точно това искаме да изобразим), тогава атрибутът „училище“ може да бъде атрибут с една стойност.

данни

Фигура 2.5:ER диаграма с многозначен атрибут.

Отново дефиницията на неяснота на атрибута ще зависи изцяло от взаимодействието на разработчика с „потребителя“, за когото се създава базата данни. Ако значението на базата данни е, че атрибутът "училище" означава "текущо училище", тогава се препоръчва атрибутът да се наименува "текущо училище" и да се илюстрира като един атрибут. В нашия пример Фигура 2.5 показва многозначен атрибут, така че значението на диаграмата е това заВсеки ученик може да бъде записан в повече от едно училище.

Производни атрибути

Производните са атрибути, които потребителят може да познае, но не може директно да запише. В база данни тези извлечени атрибути могат да бъдат изчислени от други данни. Пример за производен атрибут е възрастта, която може да бъде изчислена веднага щом ученикът въведе дата на раждане. В модела Chen производният атрибут е показан в пунктиран овал (Фигура 2.5A).

данни

Фигура 2.5A: ER диаграма с производен атрибут - възраст.

Целта на базата данни е да съхранява данни с възможност за промяна. Атрибут, който може да се използва за търсене на единичен обект, се наричаключ. Тъй като моделираме нашата база данни с ER модела, можете да видите, че някои атрибути естествено изглеждат като ключове. Ако атрибутът е уникален идентификатор на обект, той се наричакандидат ключ. Когато е избран подходящ ключ като уникален идентификатор, той ставапървичен ключна обекта.

Някои училища въвеждат допълнителен атрибут на социалноосигурителния номер на ученика. (Номер на социалното осигуряване, SSN). SSN също е уникален и следователно потенциален ключ заедно с номера на студента. Ако са въведени и SSN, и студентският номер, тогава разработчикът избира кой от тези атрибути да посочи като първичен ключ. В нашия случай не въвеждаме SSN. Обектът STUDENT с уникален идентификатор номер на студент, обозначен като ключ, е показан наФигура 2.6.

данни

или накратко...

Фигура 2.6:ER диаграма с първичен ключ или уникално идентифициращ атрибут

В моделите на Чен атрибутите, които сауникалните идентификатори(кандидат ключове) обикновено са подчертани (както е показано наФигура 2.6). Уникалният идентификатор може да бъде атрибут или колекция от атрибути. В този случай не е необходимо да избирате този кандидат ключ като първичен ключ, но понякога може да се направи. Когато има само един ключ кандидат, той обикновено се обозначава като първичен ключ, тъй като е очевидно, че първичният ключ е ключът кандидат. НаФигура 2.6също така показахме кратка форма на ER диаграма (по-долу) със съставен атрибут и многозначен атрибут и първичен ключ. Съставният атрибут се посочва с неговите компоненти, многозначният атрибут се показва в скоби в съкратена форма.

И накрая, засега, използвайки примера с ключовете, помислете за ситуация, в която няма очевиден или подразбиращ се ключ. Обекти, в които е разпределен поне един ключ, ще се наричат ​​силни обекти (strongentities). В оригиналната статия на Чен (1976) строгите обекти се наричатредовни обекти (regularentities). Някои обекти изискват зависимост от други обекти, за да съществуват (и следователно да бъдат идентифицирани). Чен нарече онези същности, чието съществуване зависи от други същностислаби същности (слабисъщности).

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

Въпреки че слабият обект може да има кандидат ключ, той няма да бъде силен обект. Ние представяме слаби обекти в ER диаграми с двойна кутия (вижтеФигура 2.7). След това нека се съсредоточим върху обекти, които имат ключове, и по-късно да се върнем към ситуацията, в която няма очевидни ключове.

многозначни
ключ

Фигура 2.7: Строг и слаб субект CAR

Тестови въпроси 2.2

1. Опишете основните типове схеми за представяне на данни, използвани при моделирането на същност-връзка (ER).

2. Какви символи се използват за диаграма на обект в модела Chen?

3. Как да покажа атрибутите в модела Chen на диаграмата?

4. Как се показват сложните атрибути в модела Chen?

5. Начертайте обект "сграда" с атрибутите име на сграда, площ и дали има асансьор (да/не).

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

8. Завършете сградата отново, като включите имената (и само имената) на персонала.

9. Добавете многозначен атрибут към обекта.

10. Колко атрибута може да има един обект?

[ 2 ] „Домейнът на стойностите“ е набор от стойности, които даден атрибут може да приеме. Обхватът се състои от всички възможни стойности, които са разрешени за атрибута. Типът данни е по-широк термин, използван за описание на атрибути, които са валидни операции.