Калин Ангелов
преподава по Математика
в град Враца
Големина на текста:
Концепцията С-В (същност - взаимодействие)
Подходът същност-взаимодействие се опитва да дефинира няколко обекта за класифициране на данни; от проектанта на
базата данни се очаква интуитивно да причисли различните данни към някой от познатите типове. В тази статия са
разгледани три основни обекта за класифициране на данни: същности, атрибути и връзки.
Същности, атрибути и прости С-В диаграми.
Започваме с определения на концепцията за същност.
Същност – същност е множество от отделни реални обекти с общи свойства.
Например, в една университетска база данни може да има следните същности: Студенти, Преподаватели, Класни_стаи,
Курсове, Учебни_часове и т.н. (Обърнете внимание, че имената на същностите са с главни букви.) Очевидно множеството
от класни стаи в един университет отговаря на дефиницията за същност: отделните класни стаи от същността Класна_стая
се различават (по местоположение – номер на стая) и имат общи свойства като брой места (не еднакви стойности, а общи
свойства). Учебните часове са някак си изненадваща същност – Дали часовете от 14:00 до 15:00 в понеделник, сряда и
петък са реален обект? – но в случая процесът на правене на учебното разписание ги третира като обекти, разпределяйки
учебните часове по-същия начин, по който се разпределят и стаите. Добре познати примери за същности, с които сме
работили при създаването на бази данни, са: Клиенти, Служители и Продукти. (Поръчки също е същност, но тя води до
объркване и затова ще я обсъждаме малко по-късно) Има тенденция същностите да бъдат отъждествяват с релационните
таблици. Същност като Клиенти обикновено се свързва със съществуваща таблица и всеки ред от таблицата отговаря на
един от отделните реални обекти, от които се състои същността, наречен представител или понякога елемент на
същността.
Обърнете внимание, че все още нямаме име за свойствата, по които различаваме един елемент на същността от друг,
аналог на стойностите на дадена колона за различните редове в релационната таблица. За сега просто ще казваме, че
представителите на същностите са различни, в смисъла, в който казваме, че класните стаи се различават една от друга
без да уточняваме на какъв принцип. От тук нататък винаги ще пишем името на същността с главна буква, а с малка когато
е част от релационна таблица в SQL.
Избрали сме необичайна нотация като сме дали имената на същностите в множествено число: Студенти, Преподаватели,
Класни_стаи и т.н. По-стандартно би било, ако ги кръстим Студент, Преподавател и т.н. Изборът на множественото число е,
за да се подчертае факта, че всяко име обхваща множество от реални обекти (съдържа няколко елемента), и се пренася и
при именоването на таблиците, които съдържат по няколко реда. Същностите са означени с правоъгълници на С-В
диаграмите, както ще видите на фигура 6.2.
Забележете, че някои други автори употребяват термина множество на същността или тип същност за това, което ние ще
наричаме същност, а това на което те викат същност – ние наричаме представител на същността. Също така сме
забелязали, че понякога отделни автори допускат неяснота при употребата на множество на същността и същност; ние
приемаме, че обектът нарисуван с квадратче в С-В диаграмата е същност, множество от отделни реални обекти, и автори,
които идентифицират тези правоъгълници по същия начин се съгласяват с нашата дефиниция. Много е жалко, че
съществува такава неяснота и затова нашата забележка ще важи до края на статията.
От математическа гледна точка ще представяме същността с единична главна буква, а когато са повече – с буква и цифра:
Е или Е1, Е2, ... Една същност Е е съставена от множество реални обекти, която ще пишем така: Е = {е1, е2, ..., еn}. Както
споменахме горе всеки отделен представител ei на същността Е се нарича представител или елемент на същността.
Атрибут – атрибут е набор от данни, който описва дадено свойство на някоя същност или взаимодействие (дефинирано по-
долу).
Въведение в С-В концепцията
В дефиницията за същност казахме, че всички представители на дадена същност имат общи свойства. В С-В модела, тези
свойства са известни като атрибути. Както ще се уверите, няма разлика в терминологията между атрибут в С-В модела и
атрибут (или име на колоната) в релационния модел, защото, когато С-В дизайнът се преведе с релационни термини двете
неща съвпадат. Даден елемент на една същност има атрибутни стойности за всички атрибути, описващи същността
(възможна е и нулева стойност). Читателят трябва да помни, че докато изброяваме отделните елементи {е1, е2, ..., еn} на
една същност Е, не можем да се обърнем към конкретен елемент без да споменаваме атрибутните му стойности.
Всяка същност има идентификатор, атрибут или набор от атрибути, който заема уникална стойност за всеки елемент; това
е аналог на релационната концепция за кандидата ключ. Например, дефинираме идентификаторът за същността Клиенти
да бъде идентификатора на клиента, cid. За една същност може да има повече от един идентификатор и когато дизайнерът
на базата данни приеме, че един ключов атрибут е достатъчен за идентифицирането на представителите да дадена
същност за цялата база данни, този атрибут се нарича първичен атрибут на същността. Другите атрибути, като град за
Клиенти, не са идентификатори, а описателни атрибути, известни като дескриптори. Повечето атрибути заемат прости
стойности от даден домейн, както сме виждали в релационния модел, но съществуват и съставни атрибути, които са група
от прости атрибути, заедно описващи едно свойство. Например, атрибутът имена_на_студенти за същността Студенти
може да бъде съставена от простите атрибути lname, fname и midinitial. Забележете, че идентификаторът на дадена
същност може да съдържа и атрибут от сложен тип. Най-накрая ще дефинираме и многостойностен атрибут – това е такъв
атрибут, който може да заема множество стойности за един елемент на същността. Например, същността Служители може
да има многостойностен атрибут наречен хоби, който заема много стойности според изброените от служителя хобита или
интереси. Някой служител може да има няколко хобита, затова това е многостойностен атрибут.
Както споменахме по-рано С-В диаграмите представят същностите като правоъгълници. Фигура 6.2 показва две прости С-В
диаграми. Простите, едностойностни атрибути са представени с елипси, свързани чрез права линия със същностите.
1
Съставните атрибути (име_на_студент) също са в елипси, свързани директно със същността, а простите, от които са
съставени, се свързват с тях. Многостойностният атрибут се свързва със същността, която описва, с двойна, а не с
единична линия. Атрибутът първичен идентификатор е подчертан.
Трансформиране на същности и атрибути към релации
Нашата крайна цел е да превърнем С-В модела в множество от дефиниции на релационни таблици в компютъризирана
база данни, която постигаме чрез набор от трансформационни правила.
Правило 1. Всяка същност в С-В диаграмата представлява една единствена таблица в релационната база данни;
таблицата се кръщава на името на същността. Колоните на таблицата представляват всички едностойностни прости
атрибути, които са свързани със същността (може и чрез съставен атрибут, въпреки че последния не става отделна колона
в таблицата). Един идентификатор на дадена същност представлява кандидат ключ за таблицата, както е показано на
пример 6.1.1, а първичният идентификатор изгражда първичния ключ. Забележете, че първичния идентификатор на една
същност може да бъде съставен атрибут, който на свой ред преминава в набор от атрибути при пренасянето в
релационната таблица. Представителите на същността преминават в редове на таблицата.
Правило 2. Многостойностният атрибут а, свързан към дадена същност Е с първичен идентификатор р, се пренася в
собствена таблица; таблицата се кръщава на много стойностния атрибут. Колоните на тази нова таблица се кръщават на р
и а (като или р или а могат да се състоят от няколко атрибута), а редовете й отговарят на двойките стойности (р, а),
представляващи всички комбинации от атрибутни стойности на а, свързани с даден представител на същността Е.
Първичен ключ за тази таблица са колоните в р и а.
Връзки между същности.
Взаимодействие – в даден подреден списък от m същности Е1, Е2, ..., Еm (където една същност може да се появява
няколко пъти), взаимоотношението В дефинира правило на взаимодействие между елементите на тези същности. По-
точно, В представлява набор от m-записа, подмножество на Декартовото произведение от елементите на същностите
Е1хЕ2х...хЕm.
Точно определено взаимодействие, съответстващо на запис от елементи на същността (е1, е2, ..., еn), където еi е
представител на Еi в наредения списък от дефиницията, се нарича представител или елемент на взаимодействието. Броят
на същностите m в дефинирания списък се нарича степен на взаимодействието. Връзка между две същности се нарича
двоична връзка. Например, дефинираме преподава като двоично взаимодействие между Преподаватели и Предмети.
Посочваме, че съществува представител на взаимодействието, като казваме, че даден преподавател преподава
определен предмет. Друг пример за взаимодействие е работи_по, дефинирано за да свърже двете същности Служители и
Проекти в голяма компания: Служители работи_по Проекти.
Взаимодействието също може да има атрибути. Взаимодействието работи_по може да има атрибута процент, който
показва колко време седмично е отделено на някой служител да работи по конкретен проект (вижте фигура 6.3). Обърнете
внимание, че атрибутът процент към взаимодействието работи_по би бил многостойностен, ако се свърже към Служители
или Проекти; атрибутът процент има смисъл само ако описва определена двойка служител-проект и затова е естествен
атрибут за двоичното взаимодействие работи_по.
Взаимодействие, което свързва някоя същност със себе си (подмножество от Е1хЕ1), се нарича пръстен или понякога
рекурсивно взаимодействие. Например, същността Служители се свързва сама със себе си чрез взаимодействието
ръководи, където казваме, че един служител ръководи друг. Взаимодействията се изобразяват с ромб на С-В диаграмата,
със свързващи линии към същностите, които си взаимодействат. В случай на пръстен, на свързващите линии се дават
имена, които отговарят на ролите, които играят свързаните елементи на същността. На фигура 6.3 имената на двете роли
са ръководител_на и отговаря_пред.
Обърнете внимание, че често пренебрегваме атрибутите в С-В диаграмата и се концентрираме върху взаимодействията
между същностите без да се съсредоточаваме върху детайлите.
Следва пример 6.1.3 – Представлява доказателство според горните дефиниции, че Поръчки е същност, а не
взаимодействие. Ако ви е интересно разгледайте си го, ако не – майната му. Според мен не носи полезна информация.
Пример 6.1.4 (почти толкова безсмислен) – трябва да следим годишните суми на продажбите от таблицата поръчки по
клиент, служител и продукт. За целта се създава таблица годишни, която се обновява при всяко добавяне на поръчка. Тази
таблица (годишни) е взаимоотношение, тъй като (cid, aid, pid) тройките в редовете й идентифицират подмножество от
декартовото произведение Клиенти х Служители х Продукти; така да се каже, няма повтарящи се тройки в таблицата
годишни. Тъй като тези тройки са уникални (cid, aid, pid) формира първичния ключ на таблицата.
Взаимоотношение на повече от две същности се нарича N-ично взаимоотношение. Взаимоотношението годишни между три
отделни същности е известно и като троично взаимоотношение. N-ично взаимоотношение с N > 2 на С-В диаграмата, често
се заменя с множество отделни двоични взаимоотношения и това е добра идея, когато замяната изразява истински
двоични взаимоотношения в системата. Двоичните взаимоотношения са тези, които са познати на повечето практици и са
достатъчни за почти всички приложения. В някои случаи, обаче, едно троично взаимоотношение не може да се раздели на
подходящи двоични. Взаимоотношението годишни от пример 6.1.4 изразява наредените клиент-служител-продукт
последователности за дадена година и е троично взаимодействие, което не може да се разложи точно на двоични. Ще
обърнем още внимание на троичните взаимоотношения в упражнения 6.4 и 6.21.
При превръщането на една С-В диаграма в релационна, взаимоотношението понякога се пренася като релационна
таблица, а понякога не. (Ще споменем повече по този въпрос в следващия раздел.) Например, взаимоотношението
годишни (едно троично взаимоотношение) се пренася в релационна таблица наречена годишни. Взаимоотношението
ръководи, обаче, между Служители и Служители, показано на фигура 6.3, не се пренася в самостоятелна таблица. Вместо
2
това, такова взаимоотношение се пренася като колоната mgrid в таблицата служители, в която се отбелязва кой на кой
служител се отчита. Тази таблица е показана на фигура 6.4.
Обърнете внимание, че mgrid не се счита за атрибут на същността Служители, въпреки че съществува като колона в
таблицата служители. Колоната mgrid е така наречения външен ключ в релационния модел и отговаря на действителното
взаимоотношение ръководи на С-В диаграмата от фигура 6.3. Ще се занимаваме допълнително с това в другия раздел
след като сме имали шанса да обсъдим някои от свойствата на взаимоотношенията. За да обобщим този раздел фигури
6.5а и б онагледяват представената до тук концепция.
След като дефинирахме някои фундаментални средства за класификация, нека да обсъдим свойствата на
взаимоотношенията в С-В метода на проектиране на бази данни.
Мощност на участието на същностите във взаимоотношенията
Фигура 6.6 илюстрира концепцията за минимална и максимална мощност, с която дадена същност участва в едно
взаимоотношение. Диаграмите a, b и c, от тази фигура представляват същностите Е и Ф чрез две множества; елементите
на тези множества са свързани чрез линия точно когато дадено взаимоотношение В свързва даден представител на
едната същност с даден представител на другата. В този случай самите свързващи линии са представители на
взаимоотношението В. Обърнете внимание, че диаграмите на фигура 6.6 не са това което ние наричаме С-В диаграми.
Минималната мощност, с която една същност участва в едно взаимоотношение, е минималния брой линии, които БД
администратора (БДА) позволява да бъдат свързани към всеки елемент на същността. Забележете, че диаграмите на
фигура 6.6 обикновено биха илюстрирали някое взаимоотношение в точно определен момент и връзките биха се
променили, когато съдържанието на реда в таблицата се промени, защото някои елементи на същността имат различен
брой свързващи линии. От друга страна свойствата минимална и максимална мощност на една същност трябва да
представляват правилата зададени от БДА във всеки един момент, правила които не могат да се нарушават от нормални
промени в базата данни засягащи взаимоотношението. На диаграма а, БДА разрешава и двете същностни множества да
участват в взаимоотношението В с мин. мощност нула; така да се каже, БДА не изисква свързваща линия за всеки елемент
на същността, тъй като някои елементи от двете множества нямат свързани към тях линии. Ще означаваме това като
пишем мин-мощ(Е, В) = 0 и мин-мощ(Ф, В) = 0. Макс. мощност с която Е и Ф участват във В не е очевидна на диаграмата а.
Нито един елемент на същността няма повече от една свързваща линия, но заради уточнението, че това е само моментно
представяне нямаме гаранция, че броя на свързващите линии към някой елемент на същността няма да се промени в
бъдеще. Ще приемем, обаче, за целите на този пример, че диаграмите на тази фигура представят точно мощностите
зададени от БДА. Затова тъй като нито един елемент на същностите Е и Ф на диаграмата нямат повече от една свързваща
линия ще запишем този факт така: макс-мощ(Е, В) = 1 и макс-мощ(Ф, Н, В) = 1.
На диаграма б, ще приемем отново, че броят на линиите изобразява намеренията на БДА и можем да запишем, че: мин-
мощ(Е, В) = 0, тъй като не всеки елемент на Е е свързан с линия, но мин-мощ(Ф, В) = 1, тъй като всеки елемент на Ф е
свързан с поне една линия и както сме приели това няма да се промени. Също така записваме: макс-мощ(Е, В) = N, където
N означава повече от 1; това означава, че дизайнерът не възнамерява да ограничава до 1 броят на линиите свързани към
елементите на същността Е. Записваме, обаче, че: макс-мощ(Ф, В) = 1, защото всеки елемент на Ф има точно една
свързваща линия. Отбележете, че двете значещи стойности за мин-мощ са 0 и 1 (където 0 реално не е ограничение, а 1
означава поне 1), а двете значещи стойности за макс-мощ са 1 и N (където N реално не е ограничение, а 1 означава не
повече от 1). Не се опитваме да разделяме номерата на друго освен 0, 1 и много. Тъй като макс-мощ(Е, В) = N, значи има
множество елементи на Ф свързани чрез взаимодействието с един от Е. Затова Ф се нарича страната “много”, а Е се
нарича страната “едно” в тази “много-към-едно” връзка (ще дадем точна дефиниция на връзката “много-към-едно” по-долу).
Обърнете сериозно внимание, че страната “много” във връзката м-1 е тази, която има стойност на макс-мощ – 1. На фигура
6.6 (б) същността Ф отговаря на страната “много” във връзката м-1, въпреки че има мин-мощ(Ф, В) = макс-мощ(Ф, В) = 1.
Както обяснихме страната 1 във една връзка м-1 е страната, където някои елементи на същността могат да участват в
множество представители на взаимоотношението, като излъчва линии към няколко елемента на същността от страната
“много”! Казано по този начин терминологията има смисъл, но това изглежда като лесна за забравяне идея, а забравянето
й може да доведе до сериозно объркване. На диаграма c имаме мин-мощ(Е, В) = 0, мин-мощ(Ф, В) = 0, макс-мощ(Е, В) = N и
макс-мощ(Ф, В) = N. Започвайки с дефиниция 6.2.2 ще обясним термините използвани за тези три диаграми: връзка 1-1, м-1
и м-м.
Пример 6.2.1, във взаимоотношението преподава от фигура 6.3, Преподаватели преподават Учебни_предмети, БДА
вероятно ще иска да създаде правило, че всеки учебен предмет трябва да се преподава поне от един преподавател като
напише: мин-мощ (Учебни_предмети, преподава) = 1. Ние обаче трябва да сме внимателни в създаването на такива
правила, тъй като това означава, че няма да можем да създадем нов предмет, да го въведем в базата данни, да му дадем
стая и час и да записваме студенти за него докато не зададем кой ще го преподава. БДА също би създал правилото, че
най-малко един преподавател може да преподава даден предмет като напише: макс-мощ (Учебни_предмети, преподава) =
1. От друга страна, ако се разреши на повече от един преподавател да преподава даден учебен предмет, БДА би написал:
макс-мощ (Учебни_предмети, преподава) = N. Това определено е значителна разлика. Най-вероятно не бихме искали да
създаваме правило според което всеки преподавател да преподава някой учебен предмет (като напишем мин-мощ
(Преподаватели, преподава) = 1), защото даден преподавател може да напусне и затова определяме мин-мощ
(Преподаватели, преподава) = 0. В повечето университети един преподавател води повече от един предмет за даден
семестър и затова ще зададем макс-мощ (Преподавател, преподава) = N.
3

Това е само предварителен преглед

За да разгледате всички страници от този документ натиснете тук.
Последно свалили материала:
ДАТА ИНФОРМАЦИЯ ЗА ПОТРЕБИТЕЛЯ
29 окт 2015 в 10:02 студент на 34 години от Ботевград - Международно висше бизнес училище, факулетет - Задочно обучение, специалност - Туризъм, випуск 2011
05 окт 2012 в 04:15 ученик
20 авг 2011 в 15:55 студент на 31 години от София - htmu, факулетет - hm, специалност - oht, випуск 2013
 
Домашни по темата на материала
урок 109 Ромб Анубис 7 клас
добавена от silvaaleksieva 29.04.2015
2
7
домашно по математика от система, уравнение и степени
добавена от penkaivanova73 22.10.2014
2
5
 
Онлайн тестове по Математика
Тест по Математика за 7-ми клас на тема "Неравенства в триъгълник"
тематичен тест по Математика за Ученици от 7 клас
Тестът съдържа 10 въпроса със 4 предполагаеми отговора като всеки въпрос има един верен отговор. Предназначен е за ученици от 7-ми клас.
(Лесен)
10
16
1
3 мин
22.08.2018
Национално външно оценяване по математика за IV-ти клас
изпитен тест по Математика за Ученици от 4 клас
Тест от НВО за 2018 г. от Министерство на образованието и науката, даден на 14 май 2018 г. Всички въпроси имат само по един верен отговор.
(За отличници)
19
2
1
10 мин
08.07.2019
» виж всички онлайн тестове по математика

Концепцията С-В (същност - взаимодействие)

Материал № 292131, от 26 фев 2009
Свален: 12 пъти
Прегледан: 20 пъти
Качен от:
Предмет: Математика
Тип: Доклад
Брой страници: 6
Брой думи: 3,265
Брой символи: 28,261

Потърси помощ за своята домашна:

Имаш домашна за "Концепцията С-В (същност - взаимодействие)"?
Намери бързо решение, с помощтта на потребители на Pomagalo.com:

Намери частен учител

Рада Стоянова Любенова-Янева
преподава по Математика
в град Пловдив
с опит от  17 години
10

Калин Ангелов
преподава по Математика
в град Враца
с опит от  12 години
11

виж още преподаватели...
Последно видяха материала