Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція 3 Реляційні БД.doc
Скачиваний:
24
Добавлен:
19.11.2019
Размер:
2.52 Mб
Скачать

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

Оскільки відношення не містить кортежів дублікатів, завжди можна унікальним образом ідентифікувати кожен його рядок. Це значить, що відношення завжди має первинний ключ. У гіршому випадку вся множина атрибутів може використовуватися як первинний ключ, але звичайно, щоб розрізнити кортежі, досить використовувати трохи меншу підмножину атрибутів. Потенційні ключі, що не обрані як первинний ключ, називаються альтернативними ключами. Якщо у відношенні Branch вибрати як первинний ключ атрибут no, то альтернативними ключами цього відношення будуть атрибути Tel_No і Fax_No. У відношенні Viewing є тільки один потенційний ключ, що складається з атрибутів Rno і Рпо, тому дане сполучення атрибутів автоматично утворить його первинний ключ.

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

Якщо деякий атрибут присутній у декількох відношеннях, то його наявність звичайно відбиває визначений зв'язок між кортежами цих відношень. Наприклад, атрибут no навмисно включений у відношення Branch і Staff для встановлення зв'язку між зведеннями про відділення компанії і зведеннями про співробітників, що працюють у кожному з відділень. У відношенні Branch атрибут no є первинним ключем, а у відношенні Staff він уведений для встановлення відповідності між зведеннями про співробітників і зведеннями про ті відділення компанії, у яких вони працюють. У відношенні Staff атрибут no є зовнішнім ключем. У такому випадку говорять, що атрибут no у відношенні Staff посилається на первинний ключ, тобто на атрибут no, у базовому відношенні Branch. (Базове відношення іноді називають цільовим відношенням). Як буде показано в наступних розділах, ці загальні атрибути відіграють важливу роль у маніпулюванні даними.

3.2.6. Представлення схем у реляційній базі даних

Реляційна база даних може складатися з довільної кількості відношень. Реляційні схеми для тієї частини навчального проекту DreamHome, у якій міститься й обробляється інформація про оренду власності, виглядають так:

Branch (Bno, Street, Area, City, Pcode, Tel_No, Fax_No)

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

Property_ (Pno, Street, Area, City, Pcode, Type, Rooms, Rent, Ono, Sno, Bno)

for_Rent

Renter (Rno, FName, LName, Address, Tel No, Pref Type, Max Rent, Bno)

Owner (Ono, FName, LName, Address, Tel No)

Viewing (Rno, Pno, Date, Comment)

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

К онцептуальною моделлю, чи концептуальною схемою, називається множина усіх реляційних схем бази даних. У табл. 3.3 - 3.8 показаний деякий можливий стан бази даних навчального проекту DreamHome.

3.3. Реляційна цілісність

У попередньому розділі була розглянута структурна частина реляційної моделі даних. Як згадувалося в розділі 2.3, модель даних має дві інші частини:

  • керуючу частину, що визначає типи припустимих операцій з даними;

  • набір обмежень цілісності, що гарантують коректність даних.

У цьому розділі розглядаються реляційні обмеження цілісності, а в наступному - реляційні операції керування даними.

Оскільки кожен атрибут зв'язаний з деяким доменом, для множини припустимих значень кожного атрибута відношення визначаються так звані обмеження домену. Крім цього, задаються два важливі правила цілісності, що, по суті, є обмеженнями для всіх припустимих станів бази даних. Цих два основні правила реляційної моделі називаються цілісністю сутностей і посилальною цілісністю. Однак, перш ніж приступити до вивчення цих правил, варто розглянути поняття NULL.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]