
- •1. Теория баз данных
- •1.1. Модели данных
- •1.2. Иерархическая модель базы данных
- •1.3. Сетевая модель базы данных
- •1.4. Реляционная модель базы данных
- •Двенадцать правил Кодда
- •"Телефонная книга"
- •1.5. Нормализация отношений
- •1.5.1. Функциональные зависимости
- •1.5.2. Первая нормальная форма
- •1.5.3. Вторая нормальная форма
- •1.5.4. Третья нормальная форма
- •1.5.5. Построение идентификационной таблицы
1. Теория баз данных
Опр.База данных– совокупность данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования данными, независимая от прикладных программ.
В самом общем смысле база данных– это набор записей и файлов, организованных специальным образом.
В компьютере, например, можно хранить фамилии и адреса друзей или клиентов. Один из типов баз данных – это документы, набранные с помощью текстовых редакторов и сгруппированные по темам. Другой тип – файлы электронных таблиц, объединенные в группы по характеру их использования.
Примером базы данных может служить каталог библиотеки, как в бумажном виде, так и в электронном виде.
1.1. Модели данных
Опр. Предметная область – часть реального мира, подлежащая автоматизации.
Рассмотрим,
например, предметную область "МГТУ
"Станкин"" (Рис.1 ):
Рис. 1
Информационное моделирование предметной области можно отразить следующей схемой (Рис. 2):
Рис. 2
Опр. Внешняя информационная модель отражает предметную область в привычных для пользователя терминах - это информация о фактах, предметах, их свойствах и связях между ними.
Например, для предметной области "МГТУ "Станкин"" предметом может быть деканат или кафедра, фактами – функциональные обязанности деканата (готовят списки групп) и кафедр (обеспечивают занятия), связи – ведомости зачетов и экзаменов, свойства зависят от специализации.
Опр. Сущность – множество однотипных объектов предметной области, информация о которых подлежит учету и хранению.
Опр.Атрибут– свойство объекта предметной области.
Опр.Экземпляр– информация о конкретном объекте.
Между сущностями, а также их атрибутами могут существовать связи.
Рассмотрим предметную область "Успеваемость студентов МГТУ "Станкин"" (Рис. 3).
Рис. 3
Каждый отдельно взятый объект – это студент.
Атрибуты каждого студента: "Фамилия", "Дата рождения", "Группа", "Факультет", "Стипендия", "Успеваемость – оценка по предмету".
Экземпляры предметной области могут выглядеть так:
Студент: (Иванов И.И., 10.10.1987, Т-3-2, ТЕХН, 100,00, физика-50, матем-30)
Студент: (Иванов И.И., 10.10.1987, Т-3-2, ТЕХН, 100,00, физика-50)
Студент: (Петров А.В., 12.03.1987, Т-3-6, ТЕХН, 0,00, физика-20, химия-33)
В данном примере можно указать связи:
группа "Т-3-2" принадлежит факультету "ТЕХН"
первый студент "Иванов И.И." и второй "Иванов И.И." – один и тот же студент, а может быть – братья.
Опр. Информационная модель (внутренняя схема) предметной области – это описание предметной области, соответствующее программному обеспечению.
Прикладная программа, основываясь на внутренней схеме, отображает логику внешней информационной модели.
Опр. Физическая база данных – это совокупность данных, хранящихся на физических носителях информации в виде файлов.
Опр. Логическая модель данных определяется:
допустимой структурой данных и типами объектов, которые можно описать с помощью модели;
множеством допустимых операций над данными;
ограничениями для контроля целостности – непротиворечивости данных.
По-другому можно сказать, что логическая модель состоит из модели данных, модели представления данных и модели управления данными.
Логическая модель данных (статическая модель) необходима для создания физической модели хранения и обработки информации непосредственно на физическом носителе.
Модель визуального представления данных нужна для отображения данных и результатов запросов к ним на экране персонального компьютера или бумажном носителе в виде таблиц, форм, отчетов, диаграмм и т.п.
Модель управления данными (динамическая модель) представляет собой описание набора интерфейсных элементов, позволяющих изменять данные, содержащиеся в статической модели.
Опр. Система управления базой данных (СУБД) – комплекс программ и языковых средств, предназначенных для создания, ведения и использования базы данных.
Функции СУБД:
обеспечить создателей программного обеспечения языковыми средствами описания и работы с данными;
поддержка логических моделей данных;
защита и согласованность данных при работе с ними нескольких пользователей (несанкционированный доступ, некорректные объявления, разрушения при сбоях оборудования и т.п.)
До появления СУБД все данные, которые содержались в компьютерной системе постоянно, хранились в виде отдельных файлов. Система управления файлами, которая обычно является частью операционной системы компьютера, следила за именами файлов и местами их расположения. В системах управления файлами модели данных, как правило, не использовались; эти системы ничего не знали о внутреннем содержимом файла. Для такой системы файл, содержащий документ текстового процессора, ничем не отличается от файла, содержащего данные, например о студентах.
Знание о содержимом файла – какие данные в нем хранятся и какова их структура – было уделом прикладных программ, использующих этот файл. Когда структура данных изменялась, например, добавлялся новый элемент, необходимо было модифицировать каждую из программ, обращающихся к файлу. Со временем количество файлов и программ росло, и на сопровождение существующих приложений приходилось затрачивать все больше и больше усилий, что замедляло разработку новых приложений.
Проблемы сопровождения больших систем, основанных на файлах, привели в конце 60-х годов 20 столетия к появлению СУБД. В основе СУБД лежала простая идея: изъять из программ определение структуры содержимого файла и хранить ее вместе с данными в базе данных.
На сегодняшний день существует 5 логических моделей баз данных:
Иерархическая;
Сетевая;
Реляционная;
Объектно-ориентрованная;
Объектно-реляционная.