Главная страница
Навигация по странице:

  • Примечание.

  • Лекции и практики (1). Курс лекций и материалы для практических занятий


    Скачать 1.01 Mb.
    НазваниеКурс лекций и материалы для практических занятий
    Дата17.03.2023
    Размер1.01 Mb.
    Формат файлаdocx
    Имя файлаЛекции и практики (1).docx
    ТипКурс лекций
    #996812
    страница55 из 75
    1   ...   51   52   53   54   55   56   57   58   ...   75

    Составление реляционных отношений


    Каждое реляционное отношение соответствует одной сущности (объекту ПрО) и в него вносятся все атрибуты этой сущности. Для каждого отношения определяются первичный ключ и внешние ключи (в соответствии со схемой БД). В том случае, если базовое отношение не имеет потенциальных ключей, вводится суррогатныйпервичныйключ, который не несёт смысловой нагрузки и служит только для идентификации записей.

    Отношения приведены в табл. 9.9-9.13. Для каждого отношения указаны атрибуты с их внутренним названием, типом и длиной. Типы данных обозна- чаются так: N – числовой, C – символьный тип фиксированной длины, V – сим- вольный тип переменной длины, D – дата (этот тип имеет стандартную длину, зависящую от СУБД, поэтому она не указывается).

    Потенциальными ключами отношения ОТДЕЛЫявляются атрибуты Аббревиатураи Название отдела. Первый занимает меньше места, поэтому мы выбираем его в качестве первичного ключа.

    Таблица 9.9. Схема отношения ОТДЕЛЫ(Departs)

    Содержаниеполя

    Имяполя

    Тип,длина

    Примечания

    Аббревиатура отдела

    D_ID

    С(10)

    первичный ключ

    Название отдела

    D_NAME

    V(100)

    обязательное поле

    Комнаты

    D_ROOMS

    V(20)

    обязательное многозначное поле

    Телефоны

    D_PHONE

    V(40)

    обязательное многозначное поле

    Потенциальными ключами отношения СОТРУДНИКИявляются поля Паспортные данные, ИННи Номер страхового пенсионного свидетельства. Все они занимают достаточно много места, а паспортные данные кроме того могут меняться. Введём суррогатный первичный ключ Номер сотрудника.

    Таблица 9.10. Схема отношения СОТРУДНИКИ(Employees)


    Содержаниеполя

    Имяполя

    Тип,длина

    Примечания

    Номер

    E_ID

    N(4)

    суррогатный первичный ключ

    Фамилия, имя, отчество

    E_NAME

    V(50)

    обязательное поле

    Дата рождения

    E_BORN

    D

    обязательное поле

    Пол

    E_SEX

    C(1)

    обязательное поле, 'м' или 'ж'

    Паспортные данные

    E_PASP

    V(50)

    обязательное поле

    ИНН

    E_INN

    С(12)

    обязательное уникальное поле

    Номер пенсионного стра- хового свидетельства

    E_PENS

    С(14)

    обязательное уникальное поле

    Отдел

    E_DEPART

    C(10)

    внешний ключ Departs)

    Должность

    E_POST

    V(30)

    обязательное поле

    Оклад

    E_SAL

    N(8,2)

    обязательное поле, > 4500 руб.

    Данные об образовании

    E_EDU

    V(200)

    обязательное многозначное поле

    Адреса

    E_ADDR

    V(100)

    многозначное поле

    Телефоны

    E_PHONE

    V(30)

    многозначное поле

    Логин

    E_LOGIN

    V(30)




    Примечание. Суррогатный первичный ключ также может вводиться в тех случаях, когда по- тенциальный ключ имеет большой размер (например, длинная символьная строка) или является составным (не менее трёх атрибутов).
    Таблица 9.11. Схема отношения ПРОЕКТЫ(Projects)

    Содержаниеполя

    Имяполя

    Тип,длина

    Примечания

    Номер проекта

    P_ID

    N(6)

    обязательное уникальное поле

    Название проекта

    P_TITLE

    V(100)

    обязательное поле

    Сокращённое название

    P_ABBR

    С(10)

    первичный ключ

    Отдел

    P_DEPART

    C(10)

    внешний ключ Departs)

    Заказчик

    P_COMPANY

    V(40)

    обязательное поле

    Данные заказчика

    P_LINKS

    V(200)

    обязательное поле

    Руководитель

    P_CHIEF

    N(4)

    внешний ключ (к Employees)

    Дата начала проекта

    P_BEGIN

    D

    обязательное поле

    Дата окончания проекта

    P_END

    D

    обязательное поле, больше да- ты начала проекта

    Реальная дата окончания

    P_FINISH

    D




    Стоимость проекта

    P_COST

    N(10)

    обязательное поле

    Полученная сумма

    P_SUM

    N(10)

    обязательное поле, значение по умолчанию 0

    В отношении ПРОЕКТЫтри потенциальных ключа: Номерпроекта, Названиепроектаи Сокращённоеназваниие. Меньше места занимает первый из них, но он малоинформативен. Зато сокращённое название, используемое в качестве внешнего ключа в других таблицах, позволит специалисту идентифи- цировать проект без необходимости соединения с отношением ПРОЕКТЫ.

    Потенциальным ключом отношения ЭТАПЫявляется комбинация внеш- него ключа и номера этапа, а потенциальным ключом вспомогательного отно- шения УЧАСТИЕявляется комбинация первых трёх полей этого отношения.

    Можно вообще не вводить первичный ключ для данных отношений, т.к. на них никто не ссылается. Но уникальность этих комбинации является в данном слу- чае ограничением целостности данных, поэтому мы возьмём эти комбинации в качестве первичных ключей соответствующих отношений.

    Таблица 9.12. Схема отношения ЭТАПЫПРОЕКТА(Stages)

    Содержаниеполя

    Имяполя

    Тип,длина

    Примечания

    Проект

    S_PRO

    C(10)

    внешний ключ Projects)

    составной первичный ключ

    Номер этапа

    S_NUM

    N(2)




    Название этапа

    S_TITLE

    V(200)

    обязательное поле

    Дата начала этапа

    S_BEGIN

    D

    обязательное поле

    Дата окончания этапа

    S_END

    D

    обязательное поле, > даты начала

    Реальная дата окончания

    S_FINISH

    D

    больше даты начала этапа

    Стоимость этапа

    S_COST

    N(10)

    обязательное поле

    Полученная сумма по этапу

    S_SUM

    N(10)

    обязательное поле, значение по умолчанию – 0

    Форма отчётности

    S_FORM

    V(100)

    обязательное поле

    Таблица 9.13. Схема отношения УЧАСТИЕ(Job)

    Содержаниеполя

    Имяполя

    Тип,длина

    Примечания*

    Проект

    J_PRO

    C(10)

    внешний ключ Projects)

    Сотрудник

    J_EMP

    N(4)

    внешний ключ Employees)

    Роль

    J_ROLE

    V(20)

    обязательное поле

    Доплата

    J_BONUS

    N(2)




    * в отношении УЧАСТИЕпервичный ключ состоит из первых 3-х полей этого отношения.
          1. 1   ...   51   52   53   54   55   56   57   58   ...   75


    написать администратору сайта