- •Содержание
- •1.1. Основные понятия
- •1.2. Компоненты БнД
- •1.3. Классификация БнД и бд
- •1.4. Этапы проектирования бд
- •1.5. Взаимосвязь этапов проектирования бд
- •Вопросы для самоконтроля
- •Раздел 2. Проектирование баз данных. Тема 2. Инфологическое моделирование (начало)
- •2.1. Необходимость инфологического моделирования
- •2.1.1. Виды ограничений целостности
- •2.1.2. Причины, приводящие к нарушению ограничений целостности
- •2.2. Описание объектов и их свойств
- •Тема 3. Инфологическое моделирование (окончание)
- •3.1. Описание связей между объектами.
- •3. 2. Описание сложных объектов
- •Вопросы для самоконтроля
- •Тема 4. Даталогическое проектирование
- •4.1. Общие сведения
- •4.2. Подход к даталогическому проектированию
- •4.3. Определение состава бд
- •4.4. Разновидности даталогических моделей
- •Вопросы для самоконтроля
- •Тема 5. Реляционная даталогическая модель базы данных
- •5.1. Основные понятия
- •5.2. Цели проектирования рбд
- •5.2.1. Возможность хранения всех необходимых данных в бд
- •5.2.2. Исключение избыточности данных
- •5.2.3. Сведение числа хранимых в бд отношений к минимуму
- •5.2.4. Нормализация отношений
- •Вопросы для самоконтроля
- •Тема 6. Метод проектирования реляционной базы данных на основе илм
- •Вопросы для самоконтроля
- •Тема 7. Пример проектирования реляционной базы данных на основе илм
- •7.6. Определение состава бд
- •7.7. Определение отношений, включаемых в бд
- •7.8. Описание логической структуры бд на языке субд (схема бд)
- •7.9. Сравнение спроектированной рбд с однотабличной бд
- •Вопросы для самоконтроля
- •Раздел 3. Описание информационных потребностей пользователей базы данных. Тема 8. Информационные потребности пользователей базы данных.
- •8.1. Типы и языки запросов
- •8.2. Реляционная алгебра (алгебра отношений)
- •8.2.1. Проекция
- •8.2.2. Выборка
- •8.2.3. Соединение
- •8.2.4. Объединение
- •8.2.5. Пересечение
- •8.2.6. Вычитание
- •8.2.7. Умножение
- •8.2.8. Деление
- •8.3. Примеры запросов на реляционном языке
- •Вопросы для самоконтроля
- •Раздел 4. Использование языкаSql для работы с базами данных. Тема9. Структурированный язык запросов sql
- •9.1. Стандарт и разновидности языка sql
- •9.2. Краткое введение в sql
- •Тема 10. Основные элементы языка sql. Использование языка sql для выборки данных
- •10.1. Оператор select
- •Тема 11. Отбор строк из таблиц. Условия поиска строк
- •Вопросы для самоконтроля
- •Тема 12. Сортировка таблиц
- •Тема 13. Использование псевдонимов для обозначения таблиц базы данных. Самосоединение таблиц. Итоговые запросы и агрегатные функции
- •Вопросы для самоконтроля
- •Тема 14. Запросы с группировкой
- •Тема 15. Вложенные запросы
- •Вопросы для самоконтроля
- •Тема 16. Изменение данных в базе данных
- •16.1. Корректировка таблиц бд
- •16.2. Создание объектов бд
- •16.3. Создание представлений
- •Вопросы для самоконтроля
- •Рекомендуемая литература
Вопросы для самоконтроля
Перечислите шаги, выполняемые при даталогическом проектировании.
Как определить состав базы данных на основе принципа синтезирования?
Когда целесообразно включать в состав БД вычисляемые (производные) показатели (атрибуты)?
Какие разновидности даталогических моделей существуют?
Приведите пример реляционной ДЛМ.
Приведите пример иерархической ДЛМ.
Приведите пример сетевой ДЛМ.
Тема 5. Реляционная даталогическая модель базы данных
В настоящее время наиболее распространенными, особенно на ПК, являются системы управления базами данными, поддерживающие реляционную даталогическую модель. Эти системы называются реляционными СУБД.
В реляционной модели сочетаются простота базисных понятий и строгость математических основ. Математический термин “отношения” определяется следующим образом.
5.1. Основные понятия
Реляционная БД - это совокупность отношений, содержащих всю информацию, которая должна храниться в БД.
Математически термин “отношение” определяется следующим образом.
Пусть даны N множеств D1, D2, …, DN. Отношение R над этими множествами, называется множество упорядоченных N - кортежей вида < d1, d2, .., dN> , где d1 принадлежит D1,…, dN принадлежит DN. Множества D1, D2,…,DN называются доменами отношения R (областями определения).
Поясним это определение конкретным примером. Пусть даны 4 домены: D1- множество целых чисел, обозначающих номера преподавателей; D2- множество символьных строк, представляющих собой фамилии преподавателей; D3- множество символьных строк, представляющих собой названия должностей; D4- множество целых чисел, обозначающих стаж работы преподавателей. На рис.5.1 показан пример отношения R, состоящего из пяти кортежей.
Рис.5.1. Отношение с математической точки зрения.
Каждый кортеж состоит из 4 элементов, которые выбираются каждый из своего домена. Порядок элементов в кортеже строго определен: первый элемент каждого кортежа выбранный из домена D1 , второй элемент- из домены D2 и т.д. каждый элемент кортежа представляет собой значение атрибутов, который соответствует одному из доменов.
С программной точки зрения отношение является файлом (рис.5.2), каждая запись в файле представляет собой кортеж отношения, а поля в записи содержат значения соответствующих атрибутов или доменов.
Рис. 5.2. Отношение с точки зрения обработки данных.
Итак, разными точками зрения допускается следующая терминология:
Математически |
Визуально |
Программно |
отношение |
таблица |
файл |
кортеж |
строка |
запись в файле |
атрибут |
столбец |
поле записи |
Количество атрибутов в кортеже, или число столбцов в таблице, называется степенью отношения. Текущее число кортежей, или строк, называется мощностью отношения . Степень отношения не изменяется после создания отношения, но мощность отношения будет колебаться при добавлении новых и удалении старых кортежей.
По определению все кортежи различаются. Для однозначной идентификации конкретного кортежа используется так называемый первичный ключ отношения. Первичный ключ- это атрибут, или набор атрибутов, который однозначно идентифицирует конкретный кортеж и не содержит дополнительных атрибутов. Это значит, что если отдельный произвольный атрибут исключить из первичного ключа, то оставшихся атрибутов будет недостаточно для однозначной идентификации отдельных кортежей. Например, в отношении ПРЕПОДАВАТЕЛЬ первичным ключом может быть номер преподавателя.
Файл, в котором хранится отношение, может содержать довольно много записей, соответствующих кортежам. Для ускорения доступа к нужному кортежу файл индексируется. В качестве индексного ключа используется атрибут или номер атрибутов, определенный в отношении. В частности, индексным ключом может быть первичный ключ.
В результате индексирования создается дополнительный индексный файл, упорядоченный по значениям индексного ключа. Структура индексного файла может быть разной, но должна обеспечивать быстрый поиск. На рис.5.3. показана возможная структура индексного файла ускоряющего поиск в файле ПРЕПОДАВАТЕЛЬ.
ПРЕП (Индексный файл)
№ записи |
файл ПРЕПОДАВАТЕЛЬ НП № записи
|
1 2 3 4 5 |
101 4 102 5 103 3 104 1 108 2 |
ПРЕПОДАВАТЕЛЬ
№ |
НП |
ФАМ |
ДОЛЖН |
СТАЖ |
1 |
104 |
ИВАНОВ |
ДОЦ |
10 |
2 |
108 |
ПЕТРОВ |
СТ. ПРЕП |
5 |
3 |
103 |
ИЛЬИН |
АСС. |
2 |
4 |
101 |
ШАНЬГИН |
ПРОФ. |
36 |
5 |
102 |
КОСТИН |
ПРОФ. |
30 |
Рис. 5.3. Простой пример индексного файла.