Тема: Реляционная модель данных

Таблица (отношение) Отделение

кардинальность
branchNo street city postcode
B001 пр.Гагарина, 35 Харьков
B005 ул.Мира, 8 Киев
B003 пл.Нахимова, 1 Севастополь
B007 пл.Контрактовая, 7 Киев

Таблица (отношение) Персонал

staffNo fName lName position sex DOB salary branchNo
Тело отношения
SKh1 Иван Перов руководитель м 10.03.1980 B001
SK2 Сергей Чижов пом.руководителя м 05.07.1977 B005
SS1 Петр Сидоренко руководитель м 17.10.1965 B003
SKh2 Анна Петренко консультант ж 11.05.1982 B001
SKh3 Ольга Петренко консультант ж 11.05.1982 B001
SK1 Вера Овчаренко руководитель ж 19.03.1979 B005
SK3 Семен Соколов руководитель м 12.08.1981 B007

Таблица 1. Домены некоторых атрибутов отношений Отделение и Персонал

Атрибут Имя домена Содержимое домена Определение домена
branchNo BranchNumbers Множество всех допустимых номеров отделений компании Символьный: размер 4, диапазон 'B001'-'B999'
street StreetNames Множество всех названий улиц в Украине Символьный: размер 40
city cityNames Множество всех названий городов в Украине Символьный: размер 32
postcode Postcodes Множество всех почтовых индексов в Украине Символьный: размер 5
sex Sex Обозначение пола человека Символьный: размер 1, значение 'М' или 'Ж'
DOB DatesOf Birth Все возможные значения даты рождения работника компании Дата: диапазон от l-Jan-1900, формат dd-mon-yyyy
salary Salaries Все возможные значения годовой заработной платы работника компании Денежный: 7 цифр, диапазон 6000.00-40000.00

Таблица 2. Альтернативные варианты терминов в реляционной модели

Реляционный термин Альтернативный вариант 1 Альтернативный вариант 2
Отношение Таблица Файл
Кортеж Строка Запись
Атрибут Столбец Поле
Кардинальность Количество строк  
Степень Количество столбцов  
Первичный ключ Уникальный идентификатор  
Домен Совокупность допустимых значений  

Таблица 3.Результат выполнения операции выборки из отношения Персонал кортежей с атрибутом salary>2500

staffNo fName lName position sex DOB salary branchNo
SKh1 Иван Перов руководитель м 10.03.1980 B001
SS1 Петр Сидоренко руководитель м 17.10.1965 B003
SK1 Вера Овчаренко руководитель ж 19.03.1979 B005
SK3 Семен Соколов руководитель м 12.08.1981 B007

Таблица 4.Результат выполнения операции проекции из отношения Персонал

staffNo fName lName salary
SKh1 Иван Перов
SK2 Сергей Чижов
SS1 Петр Сидоренко
SKh2 Анна Петренко
SKh3 Ольга Петренко
SK1 Вера Овчаренко
SK3 Семен Соколов
SS2 Сергей Ветров

Таблица 5. Отношение Объекты_Недвижимости

propertyNo street city postcode type rooms rent ownerNo
PG4 пр.Ленина, 9, кв.11 Харьков квартира С040
PG16 ул.Есенина, 3, кв.7 Харьков квартира С093
PG36 ул.23 Августа, 3, кв.27 Харьков квартира С093
CA15 ул.Спортивная, 3 Киев дом С101
CA09 ул.Труда, 17, кв.15 Киев квартира С314
PG80 ул.Правды, 43, кв.7 Чугуев квартира С079
КA34 ул.Каштановая, 5 Ялта дом С452
CA19 ул.Зерновая, 7 Киев дом С453

Еще одна (дополнительная) таблица Объекты_Недвижимости

propertyNo street city postcode type rooms rent ownerNo staffNo branchNo
PG4 пр.Ленина, 9, кв.11 Харьков квартира С040 SKh2 B001
PG16 ул.Есенина, 3, кв.7 Харьков квартира С093 SKh2 B001
PG36 ул.23 Августа, 3, кв.27 Харьков квартира С093 SKh3 B001
CA15 ул.Спортивная, 3 Киев дом С101 SK2 B005
CA09 ул.Труда, 17, кв.15 Киев квартира С314 SK2 B005
PG80 ул.Правды, 43, кв.7 Чугуев квартира С079   B001
КA34 ул.Каштановая, 5 Ялта дом С452 SS2 B003
CA19 ул.Зерновая, 7 Киев дом С453 SK3 B007

Таблица 6. Результат выполнения операции объединения отношений(исключая дублирование)Отделение и Объекты_Недвижимости

city
Харьков
Севастополь
Киев
Чугуев
Ялта

Таблица 7. Результат выполнения операции разности между отношениямиОтделение и Объекты_Недвижимости

city
Севастополь

Таблица 8. Результат выполнения операции пересечения отношенийОтделение и Объекты_Недвижимости

city
Харьков
Киев

Таблица 9. Поставщики продукции Таблица 10. Продукция

Номер поставщика Поставщик
ЧП Иванов
ООО Марс
ПО Зоря
Номер детали Наименование детали
Болт
Гайка
Винт

Таблица 11 – Результат декартова произведения

Номер поставщика Поставщик Номер детали Наименование детали
ЧП Иванов Болт
ЧП Иванов Гайка
ЧП Иванов Винт
ООО Марс Болт
ООО Марс Гайка
ООО Марс Винт
ПО Зоря Болт
ПО Зоря Гайка
ПО Зоря Винт

Пример. Пусть необходимо найти всех арендаторов, которые осматривали объекты недвижимости с тремя комнатами. Отношение Осмотр представлено таблицей 12, а существующее унарное отношение Комнаты_квартиры представлено таблицей 13.

Таблица 12. Отношение Осмотр

propertyNo street city type rooms clientNo cName
PG4 пр.Ленина, 9, кв.11 Харьков квартира CR76 Игорь Воронов
PG16 ул.Есенина, 3, кв.7 Харьков квартира CR56 Ира Перова
PG36 ул.23 Августа, 3, кв.27 Харьков квартира CR56 Ира Перова
CA15 ул.Спортивная, 3 Киев дом CR76 Игорь Воронов
CA09 ул.Труда, 17, кв.15 Киев квартира CR76 Игорь Воронов
PG80 ул.Правды, 43, кв.7 Чугуев квартира CR56 Ира Перова
КA34 ул.Каштановая, 5 Ялта дом CR76 Игорь Воронов
CA19 ул.Зерновая, 7 Киев дом CR76 Игорь Воронов

Таблица 13. Отношение Комнаты_квартиры

rooms

Тогда результатом выполнения операции деления

Осмотр¸s rooms=3(Комнаты_квартиры)

будет отношение, представленное в таблице 14.

Таблица 14. Результат деления

propertyNo street city type clientNo cName
PG16 ул.Есенина, 3, кв.7 Харьков квартира CR56 Ира Перова
PG80 ул.Правды, 43, кв.7 Чугуев квартира CR56 Ира Перова

Для того чтобы решить задачу до конца необходимо над результатом выполнить операцию проекции, то есть:

ПcName(Осмотр¸s rooms=3(Комнаты_квартиры)).

Окончательный результат представлен в таблице 14 (при этом дублирование строк исключается).

Таблица 15. Результат проекции

cName
Ира Перова

Наши рекомендации