- •Введение
- •1. Концепция информационных систем
- •1.1. Информация и данные предметных областей
- •1.2. Структура банка данных
- •1.2.1. База данных
- •1.2.2. Система управления базами данных
- •1.2.3. Словарь данных
- •1.2.4. Администратор базы данных и его функции
- •1.3. Контрольные вопросы
- •2. Инфомационное моделирование предметных областей для баз данных
- •2.1. Отображение явлений реального мира данными
- •2.2. Инфологическое моделирование по
- •2.3. Трехуровневое представление информационных объектов
- •2.4. Структурные элементы для моделирования данных
- •2.5. Ключи бд
- •2.6. Интеграция полей бд в отношения
- •2.7. Требования интеграции полей в отношения
- •2.8. Обобщенная структура модели данных в бнд
- •2.9. Er-модель бд
- •2.10. Формирование связей сущностей
- •Способ 1. Определение связи сущностей введением дополнительной сущности
- •Способ 2. Определение связей сущностей добавлением в тип сущности общих атрибутов
- •2.11. Бинарные отношения сущностей
- •2.12. Формы представления структур данных
- •2.13. Организация систем бд
- •2.14. Средства поддержки бд
- •2.15. Виды моделей данных для бд
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных
- •Контрольные вопросы
- •3. Системы управления базами данных
- •3.1. Функции и состав универсальной субд
- •3.2. Лингвистическое обеспечение субд
- •3.3. Независимость прикладных программ от данных
- •3.4. Операции над данными
- •Селекция данных
- •Обработка данных
- •Запросы к бд
- •3.5. Схема реализации запроса в БнД
- •Распределенная обработка данных
- •Комбинированная обработка данных
- •3.7. Целостность и ограничения целостности данных
- •3.8. Защита данных в бд
- •Контрольные вопросы
- •4.2.2. Вторичный ключ
- •4.3. Функциональные и многозначные зависимости
- •4.3.1. Функциональные зависимости
- •X y (X влечет y).
- •4.3.2. Аксиомы функциональных зависимостей
- •Контрольные вопросы
- •5. Реляционная алгебра
- •5.1. Операции над отношениями
- •5.2. Оператор "объединение" (union)
- •5.3. Оператор "вычитание" (difference)
- •5.4. Оператор "пересечение" (intersection)
- •5.5. Оператор "проектирование" (proj)
- •5.6. Оператор "выбор" (sel)
- •Комбинированный запрос с операторами proj и sel
- •5.7 Оператор "соединение" (join)
- •Запрос с соединением по одному полю
- •Алгоритм реализации
- •Запрос с соединением по нескольким полям
- •Алгоритм реализации
- •Оператор "соединение по условию"
- •5.8. Оператор "умножение" (product)
- •Запрос с оператором умножения
- •Алгоритм реализации
- •5.9. Оператор "деление" (division)
- •5.10. Оптимизация алгоритмов реализации запросов
- •Контрольные вопросы
- •6. Нормализация реляционных бд
- •6.1. Задачи нормализации Бд
- •6.2. Первая нормальная форма
- •6.3. Декомпозиция реляционных таблиц
- •Проблема дублирования, операторы реляционной алгебры для декомпозиции и объединения таблиц
- •Присоединенные записи
- •Теорема Хита
- •Критерий полной декомпозиции с исключением дублирования
- •6.4. Вторая нормальная форма
- •6.5. Третья нормальная форма
- •6.6. Экстранормализационные формы
- •Нормальная форма Бокса-Кодда
- •Четвертая нормальная форма
- •Пятая нормальная форма
- •6.7. Методические аспекты реализации нормализации
- •Контрольные вопросы
5.2. Оператор "объединение" (union)
Функция: для двух РТ R1 и R2 одинаковой арности и с совпадающими типами полей формируется РТ R с записями, входящими хотя бы в одну исходную РТ.
Синтаксис: R = R1 union R2
Пример.
Объединить две РТ: R1 и R2 в одну РТ R.
-
R1:
A
B
R2:
A
B
Ответ: R:
A
B
a
4
c
4
a
4
b
6
d
8
b
6
c
4
d
8
5.3. Оператор "вычитание" (difference)
Функция: для двух РТ R1 и R2 одинаковой арности и с совпадающими типами полей формируется РТ R c записями, содержащимися "Разработчики ПП" в уменьшаемом - таблице R1, но отсутствующими в вычитаемом - таблице R2.
Синтаксис: R = R1 difference R2.
Таблица R1. Разработчики
|
|
Таблица R2. Программисты | ||||||
№ Раз-ка |
ФИО Разр-ка |
Год Рож-я |
Стаж |
|
№ Пр-та |
№Раз-ка Пр-та |
Язык Прог-я |
Кат-я Пр-та |
R1 |
Белов А. |
1940 |
21 |
|
А1 |
R4 |
Pas |
1 |
R2 |
КрыловГ |
1962 |
17 |
|
А2 |
R2 |
C |
2 |
R3 |
Фатов Р. |
1964 |
11 |
|
А3 |
R5 |
Pas |
3 |
R4 |
Белов А. |
1953 |
21 |
|
А4 |
R4 |
C |
1 |
R5 |
КрыловГ |
1964 |
10 |
|
А5 |
R2 |
Pas |
2 |
Таблица R3. Разработанные ПП |
|
Таблица R4. Временные трудовые коллективы (ВТК) |
| ||||||||
№ПП |
Наз-еПП |
№Разр-ка |
ГСозд-я |
|
№ВТК |
Назв-е ВТК |
№ком-ты |
№рук-ляОТК | |||
P1 |
ПР-1 |
R5 |
1982 |
|
B1 |
Луч |
12 |
R5 | |||
P2 |
ПР-2 |
R2 |
1984 |
|
B2 |
Стрела |
18 |
R3 | |||
P3 |
ПР-1 |
R1 |
1960 |
|
B3 |
Взлет |
12 |
R2 | |||
P4 |
ПР-3 |
R2 |
1987 |
| |||||||
P5 |
ПР-4 |
R3 |
1985 |
|
Таблица R5. Составы ВТК |
|
Таблица R6. Использование ПП. | |||||||||
|
№ВТК |
№Прог-та |
|
№ПП |
№Проекта |
№Разр-каГИПа |
№ВТК | ||||
|
B1 |
A1 |
|
P5 |
TR1 |
R1 |
B3 | ||||
|
B1 |
A3 |
|
P3 |
TR2 |
R4 |
B1 | ||||
|
B1 |
A4 |
|
P5 |
TR5 |
R3 |
B3 | ||||
|
B2 |
A2 |
|
P2 |
TR1 |
R1 |
B2 | ||||
|
B2 |
A5 |
|
P4 |
TR2 |
R4 |
B1 | ||||
|
B3 |
A1 |
| ||||||||
|
B3 |
A5 |
|
Рис. 0.24
Пример.
Вычесть из РТ R1 таблицу R2, результат записать в РТ R.
-
R1:
A
B
R2:
A
B
Ответ: R:
A
B
a
4
a
3
a
4
b
6
b
6
c
6