- •Введение в базы данных
- •Отношения между прикладными программами и субд
- •Системы обработки баз данных
- •История баз данных
- •Организационный контекст
- •Реляционная модель
- •Коммерческие субд для микрокомпьютеров
- •Клиент-серверные приложения баз данных
- •Базы данных с использованием Интернет-технологий
- •Распределенные базы данных
- •Объектно-ориентированные субд
- •Банк данных
- •Основные понятия и определения
- •Пользователи банков данных
- •База данных
- •Архитектура базы данных. Физическая и логическая независимость
- •Схемы и отображения
- •Независимость от данных
- •Система управления базами данных – субд
- •Процесс прохождения пользовательского запроса
- •Введение в разработку баз данных
- •Метаданные
- •Индексы
- •Метаданные приложений
- •Подсистема средств проектирования
- •Подсистема обработки
- •Ядро субд
- •Создание базы данных
- •Процесс разработки базы данных
- •Моделирование данных
- •Функции субд
- •Модели данных
- •Объектные или инфологические модели данных
- •Модели данных на основе записей или даталогические
- •Реляционная модель данных
- •Преподаватели
- •Сетевая модель данных
- •. Физические модели данных
- •Концептуальное моделирование
- •Реляционная модель
- •Структура реляционных данных
- •Кортежи
- •Внешний ключ
- •Альтернативная терминология
- •Математические отношения
- •Отношения в базе данных
- •Реляционные ключи
- •Реляционная целостность
- •Целостность сущностей
- •Ссылочная целостность
- •Реляционные языки
- •Реляционная алгебра
- •Учебный проект DreamHome
- •Реляционная алгебра (продолжение)
- •Выборка (или ограничение)
- •Проекция
- •Декартово произведение
- •Объединение
- •Разность
- •Операции соединения
- •Tema-соединение (θ-join)
- •Естественное соединение
- •Внешнее соединение
- •Полусоединение
- •Пересечение
- •Деление
- •Другие языки
- •Примеры применения реляционной алгебры
- •Обзор жизненного цикла информационных систем
- •Жизненный цикл приложения баз данных
- •Проектирование базы данных
- •Проектирование баз данных на основе восходящего подхода (Метод нормализации или декомпозиции)
- •Цель нормализации
- •Проблемы, вызываемые использованием единственного отношения (аномалии обновления)
- •Проблема вставки
- •Проблема обновления
- •Проблемы удаления
- •Функциональные зависимости
- •Процесс нормализации
- •Декомпозиция без потерь и функциональные зависимости
- •Первая нормальная форма (1 нф) (из Коннолли)
- •Вторая нормальная форма (2нф)
- •Третья нормальная форма (знф)
- •Нормальная форма Бойса-Кодда (нфбк)
- •4 И 5 нормальные формы (4нф и 5нф)
- •Пример нормализации
- •. Другая декомпозиция отношения консультант
- •Некоторые комментарии к декомпозиционному алгоритму проектирования
- •Некоторые модификации алгоритма проектирования Избыточные функциональные зависимости
- •Транзитивные зависимости
- •Добавление атрибутов в фз
- •Правила вывода
- •Алгоритм проектирования бд методом декомпозиции (восходящий метод)
- •Проверка отношений на завершающей фазе их проектирования
- •Задачи к текущему материалу
- •Пример аномалий для 2нф
- •Нормальная форма Бойса—Кодда (нфбк) с примером аномалий для 3 формы
- •Язык sql
- •Запрос одиночной таблицы
- •Проектирование в sql
- •Выборка в sql
- •Сортировка
- •Встроенные функции sql
- •Встроенные функции и группировка
- •Запрос нескольких таблиц
- •Вложенные запросы
- •Соединение с помощью sql
- •Сравнение вложенного запроса и соединения
- •Внешнее соединение
- •Операторы exists и not exists
- •Изменение данных
- •Insert into запись
- •Insert into запись
- •Insert into третьекурсник
- •Удаление данных
- •Модификация данных
- •Запрос на sql с exist и not exist (реализация реляционной операции Деления)
- •Операция внешнего соединения таблиц в access (Мои замечания)
- •Псевдонимы столбцов и таблиц
- •Уточнения запроса
- •Теоретико-множественные операции
- •Декартово произведение наборов записей
- •Объединение наборов записей (union)
- •Пересечение наборов записей (intersect)
- •Intersect corresponding (id_компонента, Тип_компонента)
- •Вычитание наборов записей (except)
- •Операции соединения
- •Естественное соединение (natural join)
- •Условное соединение (join... On)
- •Соединение по именам столбцов (join... Using)
- •Внешние соединения
- •Левое соединение {left outer join)
- •Правое соединение {right outer join)
- •Внешнее соединение Преподаватель-Изучение-Предмет. Создание в access. Пример
- •Операторы exists и not exists
- •Низходящее проектирование бд на основе er-модели Модель «сущность—связь» и ее варианты
- •Реализация низходящего проектирования бд на основе er-модели
- •Типы сущностей
- •Способы представления сущностей на диаграмме
- •Атрибуты
- •Типы связей
- •Представление связей на диаграммах
- •Атрибуты связей
- •. Структурные ограничения
- •Показатель кардинальности
- •Степень участия
- •Примеры er-проектирования
- •Модель «сущность—связь» в другом рассмотрении
- •Элементы модели «сущность—связь»
- •Сущности
- •Атрибуты
- •Идентификаторы
- •Три типа бинарных связей
- •Диаграммы «сущность—связь»
- •Изображение атрибутов в диаграммах «сущность—связь»
- •Слабые сущности
- •Представление многозначных атрибутов при помощи слабых сущностей
- •Подтипы сущностей
- •Пример er-диаграммы
- •Документирование делового регламента
- •Модель «сущность—связь» и case-средства
- •Диаграммы «сущность—связь» в стиле uml
- •Сущности и связи в uml
- •Представление слабых сущностей
- •Представление подтипов
- •Конструкции ооп, введенные языком uml
- •Роль uml в базах данных на сегодняшний день
- •Примеры
- •Вопросы группы I
- •Вопросы группы II
- •Литература по курсу «базы и банки данных»
Реляционная алгебра (продолжение)
Реляционная схема – это имя отношения, за которым следует множество пар имен атрибутов и доменов.
Реляционная база данных может состоять из произвольного количества отношений.
Реляционная алгебра – это теоретический язык операций, который на основе одного или нескольких отношений позволяет создавать другое отношение без изменения самих исходных данных. Это высокоуровневый процедурный язык. Ниже рассмотрены основные операции реляционной алгебры на примере конкретной базы данных.
Введем следующие обозначения для базы данных DreamHome (Дом Мечты), которая предназначена для хранения информации о работе риэлтерской фирмы, занимающейся арендой и продажей недвижимости (домов, квартир и т.п.):
Отношения:
Branch - Отделение (фирмы), Staff – Персонал, Property_for_Rent – Объект недвижимости (собственности),
Renter – Арендатор, Owner – Владелец, Viewing - Осмотр недвижимости.
Атрибуты, входящие в отношения:
Bno – номер отделения, Street, Area, City – улица, район и город соответственно, Pcode -почтовый индекс, Tel_No, Fax_No – номера телефона и факса соответственно, Sno - табличный номер работника, FName, Lname – имя и фамилия, Address –адрес, Position – должность, Sex – пол, DOB – дата рождения, NIN – номер социального страхования, Salary – зарплата, Pno – номер недвижимости, Type – тип недвижимости, Rooms –число комнат, Rent – арендная плата, Rno – номер арендатора, Pref_Type – предпочтительный тип недвижимости, Max Rent – максимальная арендная плата, Ono – номер владельца недвижимости, Date – дата осмотра недвижимости, Comment – комментарий.
Реляционные схемы для той части учебного проекта 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 for_Rent (Pno, Street, Area, City, Pcode, Type, Rooms, Rent, Ono, Sno, Bno)
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. Таблица Branch
Bno |
Street |
Area |
City |
Pcode |
TelNo |
FaxNo |
В5 |
22 Deer Rd |
Sidcup |
London |
SW1 4EH |
0171-886-1212 |
0171-886-1214 |
В7 |
16 Argyll St |
Dyce |
Aberdeen |
AB2 3SU |
01224--67125 |
01224-67111 |
ВЗ |
163 Main St |
Partick |
Glasgow |
G11 9QX |
0141-339-2178 |
0141-339-4439 |
В4 |
32 Manse Rd |
Leigh |
Bristol |
BS99 1NZ |
0117-916-1170 |
0117-776-1114 |
В2 |
56 Clover Dr |
|
London |
NW10 6EU |
0181 963-1030 |
0181-453-7992 |
Таблица 3.4. Таблица Staff
Sno |
FName |
LName |
Address |
TelNo |
Position |
Sex |
DOB |
Salary |
NIN |
Bno |
|
||||||||
SL21 |
John |
White |
19 Taylor |
0171- |
Manager |
M |
1- |
30000 |
WK4 |
В5 |
|
||||||||
|
|
|
St. |
884- |
|
|
Oct- |
|
4201 |
|
|
||||||||
|
|
|
Cranford, |
5112 |
|
|
45 |
|
1В |
|
|
||||||||
|
|
|
London |
|
|
|
|
|
|
|
|
||||||||
SG37 |
Ann |
Beech |
81 George |
0141- |
Snr Asst |
F |
10- |
12000 |
WL43 |
ВЗ |
|
||||||||
|
|
|
St, |
848- |
|
|
Nov- |
|
2514 |
|
|
||||||||
|
|
|
7Glasgow |
3345 |
|
|
60 |
|
С |
|
|
||||||||
|
|
|
PA1 2JR |
|
|
|
|
|
|
|
|
||||||||
SG14 |
David |
Ford |
63 Ashby |
0141- |
Deputy |
M |
24- |
18000 |
WL22 |
ВЗ |
|||||||||
|
|
|
St, Partick, |
339- |
|
|
Mar- |
|
0658 |
|
|||||||||
|
|
|
Glasgow |
2177 |
|
|
58 |
|
D |
|
|||||||||
|
|
|
G11 |
|
|
|
|
|
|
|
|||||||||
SA9 |
Mary |
Howe |
2 Bm PI, |
|
Assistant |
F |
19- |
9000 |
WM5 |
В7 |
|||||||||
|
|
|
Aberdeen |
|
|
|
Feb- |
|
3218 |
|
|||||||||
|
|
|
AB23SU |
|
|
|
70 |
|
7D |
|
|||||||||
SG5 |
Susan |
Brand |
5Gt |
0141- |
Manager |
F |
3- |
24000 |
WK5 |
ВЗ |
|||||||||
|
|
|
Western Rd |
334- |
|
|
Jun- |
|
8893 |
|
|||||||||
|
|
|
Glasgow |
2001 |
|
|
40 |
|
2Е |
|
|||||||||
|
|
|
G12 |
|
|
|
|
|
|
|
|||||||||
SL41 |
Julie |
Lee |
28 Malvern |
0181- |
Assistant |
F |
13- |
9000 |
WA29 |
В5 |
|||||||||
|
|
|
St, Kilburn |
554- |
|
|
Jun- |
|
0573 |
|
|||||||||
|
|
|
NW2 |
3541 |
|
|
65 |
|
К |
|
|||||||||
Таблица 3.5. Таблица Property for Rent
Pno |
Sreet |
Area |
City |
Pcode |
Type |
Rooms |
Rent |
Ono |
Sno |
Bno |
PA14 |
16 |
Dee |
Aberdeen |
AB75SU |
House |
6 |
650 |
С046 |
SA9 |
В7 |
|
Holhead |
|
|
|
|
|
|
|
|
|
PL94 |
6 Argyll St |
Kilburn |
London |
NW2 |
Flat |
4 |
400 |
С087 |
SL41 |
В5 |
PG4 |
6 |
Partick |
Glasgow |
G11 9QX |
Flat |
3 |
350 |
С040 |
SG14 |
ВЗ |
|
Lawrence |
|
|
|
|
|
|
|
|
|
|
St |
|
|
|
|
|
|
|
|
|
PG36 |
2 Manor |
|
Glasgow |
G32 4QX |
Flat |
3 |
375 |
С093 |
SG37 |
ВЗ |
|
Rd |
|
|
|
|
|
|
|
|
|
PG21 |
18 Dale |
Hyn- |
Glasgow |
G12 |
House |
5 |
600 |
С087 |
SG37 |
ВЗ |
|
Rd |
diand |
|
|
|
|
|
|
|
|
PG16 |
5 Novar Dr |
Hyn- |
Glasgow |
G129AX |
Flat |
4 |
450 |
С093 |
SG14 |
ВЗ |
|
|
diand |
|
|
|
|
|
|
|
|
Таблица 3.6. Таблица Renter
Rno |
FName |
LName |
Address |
Tel No |
PrefType |
MaxRent |
Bno |
CR76 |
John |
Kay |
56 Hight St, Putney, London SW1 4EH |
0171-774-5632 |
Flat |
425 |
В5 |
CR56 |
Aline |
Stewart |
64 Fern Dr, Pollock, Glasgow G42 OBL |
0141-848-1825 |
Flat |
350 |
ВЗ |
CR74 |
Mike |
Ritchie |
18 Tain St, Gourock PA1G 1YQ |
01475-392178 |
House |
750 |
ВЗ |
CR62 |
Mary |
Tregear |
5 Tarbot Rd, Kildary, Aberdeen AB93ST |
01224-196720 |
Flat |
600 |
В7 |
Таблица 3.7 Таблица Owner
Опо |
FName |
LName |
Address |
Tel.No |
С046 |
Joe |
Keogh |
2 Fergus Dr, Banchory, Aberdeen AB2 &SX |
01224-861212 |
С087 |
Carol |
Farrel |
6 Achray St, Glasgow G32 9DX |
0141-357-7419 |
С040 |
Tina |
Murphy |
63 Well St, Shawlands, Glasgow G42 |
0141-943-1728 |
С093 |
Tony |
Shaw |
12 Park PI, Hillhead, Glasgow G4 OQR |
0141-225-7025 |
Таблица 3.8. Таблица Viewing
Rno |
Pno |
Date |
Comment |
CR56 |
РА14 |
24-May-98 |
Too small (Слишком мала) |
CR76 |
PG4 |
20-Арг-98 |
Too remote (Слишком далеко) |
CR56 |
PG4 |
26-Мау-98 |
|
CR62 |
РА14 |
14-Мау-98 |
No Dining room (Нет отдельной столовой) |
CR56 |
PG36 |
28-Арг-98 |
|
Рис.12. Схематическое представление функций операторов реляционной алгебры
