Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція 5 Сущность-связь (Укр).doc
Скачиваний:
15
Добавлен:
19.11.2019
Размер:
1.72 Mб
Скачать

Потенційний ключ - атрибут чи набір атрибутів, що унікально ідентифікує окремі екземпляри типу сутності.

Потенційний ключ - це один чи кілька атрибутів, значення яких унікальним образом ідентифікують кожен екземпляр сутності даного типу. Наприклад, номер відділення компанії (Branch_No) є потенційним ключем типу сутності Branch, оскільки він містить різні значення для кожної окремої сутності Branch. Потенційний ключ повинний містити значення, що унікальні для кожного окремого екземпляра сутності даного типу. Наприклад, кожне відділення компанії має унікальний номер (наприклад, 'ВЗ'), і не існує відділень з однаковими номерами.

Первинний ключ - потенційний ключ, що обраний як первинний ключ.

Тип сутності може мати кілька потенційних ключів. Наприклад, кожен співробітник може мати унікальний номер соціального страхування NIN (National Insurance Number), а також унікальний особистий (табельний) номер Staff No, що привласнюється співробітникам цієї організації. Таким чином, сутність Staff володіє двома потенційними ключами, кожний з який може бути обраний як первинний ключ.

Вибір первинного ключа сутності здійснюється виходячи з розумінь сумарної довжини атрибутів, мінімальної кількості атрибутів у ключі, а також наявності гарантій унікальності його значень у сучасний момент часу й у доступному для огляду майбутньому. Зокрема, особистий номер співробітника (наприклад, 'SG14') менше по розміру, а тому переважніше, ніж номер соціального страхування (наприклад, 'WL220658D'). Отже, первинним ключем сутності Staff доцільно вибрати саме атрибут Staff No, а атрибут NIN у цьому випадку буде називатися альтернативним ключем.

Складений ключ – потенційний ключ, що складається з двох чи більше атрибутів.

У деяких випадках ключ сутності складається з декількох атрибутів, значення яких, узяті разом, а не по окремості, унікальні для кожного екземпляра сутності. Наприклад, сутність Advert (Рекламне оголошення) має наступні атрибути Property No, Newspaper_Name, Date Advert і Cost. Багато об'єктів нерухомості одночасно рекламуються в багатьох газетах. Для унікальної ідентифікації кожного рекламного оголошення необхідно використовувати значення Property No (Номер об'єкта нерухомості). Newspaper Name (Назва газети) і Date Advert (Дата рекламного оголошення). Таким чином, сутність Advert (Рекламне оголошення) володіє складеним первинним ключем, що складається з атрибутів Property_No, Newspaper_Name і Date_Advert.

Представлення атрибутів на діаграмах

На діаграмах атрибути зображуються у виді, еліпсів, приєднаних лінією до відповідного сутності і позначених ім'ям атрибута. На мал. 5.3 показані атрибути, зв'язані із сутностями Staff, Branch і Next of_Kin.

Еліпс оточений пунктирним контуром, якщо атрибут є похідним, і подвійним контуром, якщо атрибут є багатозначним. Як випливає з мал. 5.3, атрибут Total_Staff (Загальна кількість співробітників) сутності Staff є похідним, а атрибут Tel_No (Номер телефону) сутності Branch - багатозначним.

Я кщо атрибут є складеним, його атрибути-компоненти зображуються у виді приєднаних до нього еліпсів. На мал. 5.3 показано, що атрибут Name сутності Staff є складеним атрибутом, що складається з атрибута імені (Fname) і атрибута прізвища (Lname). Крім того, атрибут Address сутності Branch також є складеним атрибутом, що складається з атрибутів Street, Area, City і Postcode.

Ім'я атрибута, що є первинним ключем даного типу сутності, підкреслюється. Як випливає з мал. 5.3, первинним ключем сутності Staff є атрибут номера співробітника Staff_No, а первинним ключем сутності Branch - атрибут номера відділення компанії Branch_No. Первинний ключ для слабкої сутності Next_of_Kin не можна визначити доти, поки не будуть встановлені обмеження для зв'язку між сутністю Next_of_Kin і її батьківської сутністю Staff. Як частина слабкої сутності, первинний ключ сутності Next_of_Kin буде частково чи цілком похідним від сутності Staff.

Розглянувши представлену на мал. 5.3 діаграму, можна визначити атрибути, зв'язані з типами сутностей Staff, Branch і Next of Kin. Тип сутності Staff складається з наступних компонентів:

Staff(Staff_No, FName, LName, Address, Tel No, Sex, DOB, Position, NIN, Salary)

Первинний клоч: Staff No

Альтернативний ключ: FName, LNasie, DOB

Альтернативний ключ: NIN

Складений атрибут: Name(FName, LName)

Похідний атрибут: Total_Staff

Тип сутності Branch складається з таких компонентів:

Branch (Branch_No, Street, Area, City» Postcode, Tel No, Fax No)

Первинний ключ: Branch_No

Альтернативний ключ: Fax No

Складений атрибут: Address(Street, Area, City, Postcode)

Багатозначний атрибут: T6l_No

Тип сутності Next_of_Kin складається з наступних компонентів:

Next of Kin (NName, Address, Tel No, Relationship)