Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пример БД сдал.docx
Скачиваний:
14
Добавлен:
14.03.2016
Размер:
1 Мб
Скачать
☆

2.3 Концептуальная модель

Ниже на рисунке (рис. 1) представлена концептуальная модель решаемой задачи.

Рис.1 схема базы данных

Таблица 1.2. Связи между информационными объектами.

Главный объект

Подчиненный объект

Тип связи

код_альбома

код_альбома

1:М

код_исполнителя

код_исполнителя

1:М

код_стиля

код_стиля

1:М

код_хранилища

код_хранилища

1:М

3. Реализация базы данных

3.1 Создание базы «База меломана»

Все элементы базы данных: таблицы, запросы, формы и другие хранятся в отдельных файлах и имеют различные расширения. При создании приложения используется проект, в котором хранится информация об используемых файлах, а также подключенных модулях и библиотеках. Посредством этой информации файл проекта объединяет элементы приложения Visual FoxPro и группирует их по типам в менеджере проекта, используя при этом их расширение. Информация о проекте хранится в специальной таблице, которая, в отличие от обычных таблиц Visual FoxPro, имеет расширение *.pjx. Memo-поля таблицы содержат наименование элемента проекта, его описание и другие текстовые атрибуты. Файл с Memo-полями таблицы имеет расширение PJT. Использование файла проекта значительно облегчает работу с проектом и упрощает разработку приложения.

В таблице 1.3. указаны основные элементы базы данных, а также их расширения и назначение.

Таблица 1.3. Элементы базы

Объект

Имя и разрешение

Назначение

Проект

Muzbd.pjx

Файл проекта

База

Music.dbc

База данных «База меломана»

Альбом

код_альбома

Код альбома

название

Название

код_исполнителя

Код исполнителя

код_стиля

Код стиля

студия

Студия

год

Год

формат

Формат

количество_треков

Количество треков

код_хранилища

Код хранилища

Треки

код_трека

Код трека

номер_трека

Номер трека

название

Название

длительность

Длительность

код_альбома

Код альбома

Стиль

код_стиля

Код стиля

название

Название

Артист

код_исполнителя

Код исполнителя

имя

Имя

страна

Страна

дата_рождения

Дата Рождения

Хранилище

код_хранилища

Код хранилища

номер_стелажа

Номер стелажа

номер_полки

Номер полки

другое

Другое

3.2 Создание таблиц

Таблицы являются основной частью базы данных. Они содержат всю необходимую информацию об информационных объектах и их реквизитах. При дальнейшей работе с базой данных данные будут добавляться в таблицы, удаляться из них и редактироваться по мере необходимости. Все эти действия можно осуществлять при помощи специально созданных форм. Информация, содержащаяся в таблицах, также может быть использована для составления отчетов.

Таблица состоит из столбцов и строк, в которых хранится информация одного типа.

В Visual FoxPro таблицы можно создавать двумя способами, при помощи конструктора таблиц и при помощи мастера, выбирая в окне создания таблицы «New Table» кнопки «Table Wizard» (мастер таблиц) и «New Table» (конструктор таблиц) соответственно.

В базе данных «База меломана» все таблицы были созданы при помощи конструктора таблиц (рис 3.1). На вкладке «Fields» задаём свойства полей таблицы: имя, тип, размер, индексное поле.

Рис. 3.1 Окно конструктора для создания таблицы «albums»

На вкладке «Index» определяем тип индексных полей (Рис.3.1.). Связь «Primary» позволяет создает уникальный индекс, который используется для связывания таблиц и определения условий целостности данных. Поля, входящие в первичный ключ, не должны допускать ввода пустых или повторяющихся значений

Связь «Regular» создает индекс, в котором для каждой записи таблицы хранится значение индексного выражения. Если несколько записей имеют одинаковое значение индексного выражения, то каждое значение хранится отдельно и содержит ссылку на связанную с ней запись.

Для всех главных таблиц определяем первичные ключи по полям которое будет однозначно определять таблицы, такими полями будут поля со словом “cod”. Для связи главной и дочерних таблиц в дочерних таблицах установим внешний ключ типы «Regular». В таком случае у нас есть одна главная (albums) и три подчиненных (artists, styles и tracks) таблицы (рис 3.2).

Рис. 3.2 Схема связей

В обоих случаях у нас будет осуществляться отношение «один-ко-многим», т.е. одной записи родительской таблицы могут соответствовать несколько записей из дочерней.

Необходимо обеспечить ссылочную целостность. Главное требование ссылочной целостности заключается в том, чтобы записи дочерних таблиц имели ссылки на записи в родительской таблице. Для этого кликом по связи вызываем диалоговое окно «Referential Integrity» (рис.3.2), где устанавливаем правила на добавление, удаление и изменение записи в дочерней таблице. В окне «Referential Integrity» справа указаны имена главной и дочерней таблиц, слева – поля по которым они связанны.

На вкладках «Update» и «Delete» выбираем «Cascade», что означает, что при изменении/удалении значений полей первичного ключа или ключа-кандидата в родительской таблице автоматически осуществляется изменение/удаление всех соответствующих значений в дочерней таблице — каскадное изменение/удаление. Вкладка «Insert» содержит правила для добавления записей применимых со стороны дочерней таблицы, здесь выбираем «Restrict», т.е. запрещается добавление записи к дочерней таблице, если в родительской таблице отсутствует запись, значение первичного ключа или ключа-кандидата которой не совпадает со значением внешнего ключа добавляемой записи.