Реферат курсовой по РЭО. Создание базы данных
Скачать 1.05 Mb.
|
2. Структура базы данных2.1 Структура таблицИнформационная система предназначена для автоматизации учета движений автомобилей в "РЭО_ГАИ". Система должна предусматривать режимы ведения системного каталога, отражающего список районов учета движений автомобилей, марок, типов кузова, категорий цвета, а также цветов автомобилей. В движении аавтомобиля может происходить три операции - постановка на учет, снятие с учета, перерегистрация. В системном каталоге операция имеет код и полное наименование, каждый автомобиль характеризуется следующими параметрами: марка автомобиля, тип кузова, категория цвета, квет; эти параметры имеют уникальные коды. Также каждый автомобиль характеризауется следующими параметрами: № автомобиля; код района учета, код марки, код типа кузова, № двигателя, № шасси, № кузова, дата выпуска, код цвета, РНН владельца. В "РЭО_ГАИ" ведется учет владельцев автомобилей. Владелец может быть юридическим и физическим лицом. Если владелец - юридическое лицо, то он характеризуется следующими параметрами: РНН ФИО/наименование владельца адрес телефон адрес стоянки автомобиля На владельца - физическое лицо заносятся следующие данные: РНН пол год рождения № удостоверения личности дата выдачи профессия Предусмотреть следующие ограничения на информацию в системе: У каждого владельца может быть одновременно несколько автомобилей, тогда как у одного автомобиля не может быть больше одного владельца. На учете каждого района может стоять множество автомобилей, но каждый автомобиль может состоять на учете только одного района. Каждый автомобиль, снятый с одного района учета, должен встать на учет другого района. 2.2 Структура хранимой информацииВся информация, поступающая от пользователя, записывается в основные таблицы базы данных ("Владельцы", "Автомобили", "Движение", "Категории цвета", Марки автомобиля", "Операции", "Районы учета", "Типы кузова" и "Цвета"). Для обеспечения целостности данных между таблицами существуют строгие связи. Поле "РНН владельца" таблицы "Владельцы" связано отношением один ко многим с соответствующими полями таблиц "Движение" и "Автомобили". Поле "№ автомобиля" таблицы "Автомобили" связано отношением один ко многим с соответствующим полем таблицы "Движение". Поле "Код учета района" таблицы "Районы учета" связано отношением один ко многим с соответствующими полями таблиц "Движение" и "Автомобили". Поле "Код операции" таблицы "Операции" связано отношением один ко многим с соответствующим полем таблицы "Движение". Поле "Код марки авто" таблицы "Марки автомобиля" связано отношением один ко многим с соответствующим полем таблицы "Автомобили". Поле "Код типа кузова" таблицы "Типы кузова" связано отношением один ко многим с соответствующим полем таблицы "Автомобили". Поле "Код категории цвета" таблицы "Категория цветов" связано отношением один ко многим с соответствующим полем таблицы "Цвета". Поле "Код цвета" таблицы "Цвета" связано отношением один ко многим с соответствующим полем таблицы "Автомобили". Более наглядно связь между таблицами изображена на рис.2.2.1 Рис.2.2.1 - Диаграмма связей таблиц в базе данных 2.3 Нормализация отношенийНормализация - это пошаговый обратимый процесс композиций и декомпозиций исходных отношений, обладающих лучшими свойствами при включении, изменении, удалении данных, назначении им ключей по определенным правилам и выявлении всех функциональных зависимостей. Первая нормальная форма Таблица находится в 1NF тогда и только тогда, когда ни одна из ее строк не содержит в любом своем поле более одного значения и ни одно из ее ключевых полей не пусто. Таблица находится в 1-ой форме Вторая нормальная форма Рассмотрим схему отношения: Владельцы (РНН владельца, Признак владельца, ФИО/Наименование, Адрес владельца, Телефон, Адрес стоянки авто, Пол, Год рождения, № уд. личности, Дата выдачи, Профессия) Первичный ключ: РНН владельца, Признак владельца Возможные функциональные зависимости РНН владельца - ФИО РНН владельца - Адрес владельца РНН владельца - Адрес стоянки авто РНН владельца - Пол РНН владельца - Год рождения РНН владельца - № уд. личности РНН владельца - Дата выдачи РНН владельца - Профессия № уд. личности - Дата выдачи Признак владельца - Наименование Видно, что, хотя первичным ключом является составной атрибут РНН владельца, Признак владельца, атрибут ФИО/Наименование зависит от части первичного ключа. В результат при Признаке владельца - юридическое лицо, мы не сможем вставить кортеж, с Полом, Годом рождения и Профессией владельца. Можно произвести следующую декомпозицию отношения Владельцы на два отношения: Владельцы - юр_лица и Владельцы-физ_лица. Владельцы-юр_лица (РНН владельца, Признак владельца, Наименование, Адрес владельца, Адрес стоянки авто, Телефон) Первичный ключ РНН владельца, Признак владельца Функциональные зависимости: РНН владельца, Признак владельца - Наименование РНН владельца, Признак владельца - Адрес владельца РНН владельца, Признак владельца - Телефон РНН владельца, Признак владельца - Адрес стоянки авто Владельцы-физ_лица (РНН владельца, Признак владельца, ФИО, Адрес владельца, Телефон, Адрес стоянки авто, Пол, Год рождения, № уд. личности, Дата выдачи, Профессия) РНН владельца, Признак владельца - ФИО РНН владельца, Признак владельца - Адрес владельца РНН владельца, Признак владельца - Телефон РНН владельца, Признак владельца - Адрес стоянки авто РНН владельца, Признак владельца - Пол РНН владельца, Признак владельца - Год рождения РНН владельца, Признак владельца - № уд. личности РНН владельца, Признак владельца - Дата выдачи РНН владельца, Признак владельца - Профессия № уд. личности - Дата выдачи Каждое из этих двух отношений находятся в 2 NF Третья нормальная форма Рассмотрим отношение Владельцы-физ_лица. Функциональная зависимость РНН владельца - Дата выдачи является транзитивной; она является следствием функциональных зависимостей РНН владельца - № уд. личности и № уд. личности - Дата выдачи. То есть, дата выдачи является характеристикой удостоверения личности владельца. Можно декомпозировать отношение Владельцы-физ_лица в два отношения Владельцы-физ_лица-уд. личности и Удостоверения личности: Владельцы-физ_лица-уд. личности (РНН владельца, Признак владельца, ФИО, Адрес владельца, Телефон, Адрес стоянки авто, Пол, Год рождения, № уд. личности, Профессия) Первичный ключ: Возможные функциональные зависимости: РНН владельца, Признак владельца - ФИО РНН владельца, Признак владельца - Адрес владельца РНН владельца, Признак владельца - Телефон РНН владельца, Признак владельца - Адрес стоянки авто РНН владельца, Признак владельца - Пол РНН владельца, Признак владельца - Год рождения РНН владельца, Признак владельца - № уд. личности РНН владельца, Признак владельца - Профессия Удостоверения личности (№ удостоверения личности, Дата выдачи) Первичный ключ: № уд. личности Возможные функциональные зависимости: № уд. личности - Дата выдачи Каждое из этих двух отношений находится в 3NF. Нормальная форма Бойса-Кодда Рассмотрим схему отношения Владельцы-физ_лица-уд. личности (РНН владельца, Признак владельца, ФИО, Адрес владельца, Телефон, Адрес стоянки авто, Пол, Год рождения, № уд. личности, Профессия) Здесь личность владельца может полностью определятся как именем, так и его РНН. Можно произвести декомпозицию отношения в два отношения: Владельцы-физ_лица-имена и Владельцы-физ_лица-имена (РНН владельца, ФИО) Первичный ключ: РНН владельца Функциональные зависимости: РНН владельца - ФИО Владельцы-физ_лица-атрибуты (РНН владельца, Признак владельца, Адрес владельца, Телефон, Адрес стоянки авто, Пол, Год рождения, № уд. личности, Профессия) Первичный ключ: РНН владельца, Признак владельца Возможные функциональные зависимости: РНН владельца, Признак владельца - Адрес владельца РНН владельца, Признак владельца - Телефон РНН владельца, Признак владельца - Адрес стоянки авто РНН владельца, Признак владельца - Пол РНН владельца, Признак владельца - Год рождения РНН владельца, Признак владельца - № уд. личности РНН владельца, Признак владельца - Профессия Четвертая нормальная форма Видим, что каждому владельцу соответствует множество, состоящее из нуля или более значений атрибута телефон (А→В), также как и соответствует множество, состоящее из нуля или более значений атрибута адрес стоянки авто (А→С). Но телефон владельца авто не зависит от адреса стоянки авто. Многозначные зависимости: РНН владельца →→ Телефон РНН владельца →→ Адрес стоянки авто Можно произвести декомпозицию отношения: Владельцы-физ_лица-телефоны (РНН владельца, Признак владельца, Адрес владельца, Телефон, Пол, Год рождения, № уд. личности, Профессия Первичный ключ: РНН владельца, Признак владельца Возможные функциональные зависимости: РНН владельца, Признак владельца - Адрес владельца РНН владельца, Признак владельца - Телефон РНН владельца, Признак владельца - Пол РНН владельца, Признак владельца - Год рождения РНН владельца, Признак владельца - № уд. личности РНН владельца, Признак владельца - Профессия Владельцы-физ_лица-адреса стоянок (РНН владельца, Признак владельца, Адрес владельца, Адрес стоянки авто, Пол, Год рождения, № уд. личности, Профессия) Первичный ключ: РНН владельца, Признак владельца Возможные функциональные зависимости: РНН владельца, Признак владельца - Адрес владельца РНН владельца, Признак владельца - Адрес стоянки авто РНН владельца, Признак владельца - Пол РНН владельца, Признак владельца - Год рождения РНН владельца, Признак владельца - № уд. личности РНН владельца, Признак владельца - Профессия Отношения находятся в 4NF Пятая нормальная форма Таблица находится в пятой нормальной форме 5NF, тогда и только тогда, когда в каждой ее полной декомпозиции все проекции содержат возможный ключ. Декомпозиция отношений6 Владельцы-юр_лица_наименования (РНН владельца, Признак владельца, Наименование) Первичный ключ РНН владельца, Признак владельца Функциональные зависимости: РНН владельца, Признак владельца - Наименование Владельцы-юр_лица_адреса владельцев (РНН владельца, Признак владельца, Адрес владельца) Первичный ключ РНН владельца, Признак владельца Функциональные зависимости: РНН владельца, Признак владельца - Адрес владельца Владельцы-юр_лица_адреса стоянок авто (РНН владельца, Признак владельца, Адрес стоянки авто, Телефон) Первичный ключ РНН владельца, Признак владельца Функциональные зависимости: РНН владельца, Признак владельца - Адрес стоянки авто Владельцы-юр_лица_телефоны (РНН владельца, Признак владельца, Телефон) Первичный ключ РНН владельца, Признак владельца Функциональные зависимости: РНН владельца, Признак владельца - Телефон Владельцы-физ_лица-имена (РНН владельца, ФИО) Первичный ключ: РНН владельца Функциональные зависимости: РНН владельца - ФИО Владельцы-физ_лица_адреса владельцев (РНН владельца, Признак владельца, Адрес владельца) Первичный ключ: РНН владельца, Признак владельца РНН владельца, Признак владельца - Адрес владельца Владельцы-физ_лица-телефоны (РНН владельца, Признак владельца, Телефон, рождения) Первичный ключ: РНН владельца, Признак владельца Возможные функциональные зависимости: РНН владельца, Признак владельца - Телефон Владельцы-физ_лица-адреса стоянок (РНН владельца, Признак владельца, Адрес стоянки авто) Первичный ключ: РНН владельца, Признак владельца Возможные функциональные зависимости: РНН владельца, Признак владельца - Адрес стоянки авто Владельцы-физ_лица-пол (РНН владельца, Признак владельца, Пол) Первичный ключ: РНН владельца, Признак владельца Возможные функциональные зависимости: РНН владельца, Признак владельца - Пол Владельцы-физ_лица-год рождения (РНН владельца, Признак владельца, Год рождения) Первичный ключ: РНН владельца, Признак владельца Возможные функциональные зависимости: РНН владельца, Признак владельца - Год рождения Владельцы-физ_лица-уд. личности (РНН владельца, Признак владельца, № уд. личности) Первичный ключ: РНН владельца, Признак владельца Возможные функциональные зависимости: РНН владельца, Признак владельца - № уд. личности Владельцы-физ_лица-профессии (РНН владельца, Признак владельца, Профессия) Первичный ключ: РНН владельца, Признак владельца Возможные функциональные зависимости: РНН владельца, Признак владельца - профессия |