Задание 26. Проект ИЗДАТЕЛЬСКИЙ ЦЕНТР
Издательский центр "Печать" заключает с писателями контракты на издание книг. В течение срока контракта писатели работают только с этим центром и могут объединяться в творческие группы для совместного написания книг. Издательский центр может расторгнуть или перезаключить контракт с писателем на новый срок.
Центр издает написанные книги и продает их заказчикам: организациям, магазинам, библиотекам и др. За изданные книги писатели получают гонорары.
Необходимо спроектировать базу данных Издательский центр, информация которой будет использоваться для определения гонораров писателям за изданные книги, исчисления срока контракта с писателями, количества написанных книг писателем за время контракта, затрат на издание книг, прибыли от продажи книг и др.
В БД должна храниться информация:
о писателях: номер паспорта, фамилия, имя, отчество, домашний адрес, телефон;
контрактах: номер контракта, дата заключения контракта, срок контракта (лет), контракт расторгнут или не расторгнут (Да/Нет), дата расторжения контракта;
книгах: шифр книги, название, тираж, дата выхода из печати, себестоимость (руб.), цена продажи (руб.), гонорар (на всех авторов книги, тыс. руб.);
заказчиках: название заказчика, адрес, телефон, обращаться к (Ф.И.О.);
заказах: номер заказа, дата поступления заказа, дата выполнения заказа, количество экземпляров заказываемой книги.
При проектировании БД необходимо учитывать следующее:
писателю соответствует один контракт (в случае перезаключения контракта прежний контракт заменяется новым). Контракт заключается с одним писателем;
писатель может написать несколько книг. Книга может быть написана несколькими писателями;
на книгу может быть сделано несколько заказов. Заказ оформляется на одну книгу;
заказчик может сделать несколько заказов. Заказ оформляется на одного заказчика.
Кроме того следует учесть:
каждому писателю обязательно соответствует контракт. Каждый контракт обязательно заключается с писателем;
писатель не обязательно пишет книгу (он заключил контракт, но по какой-то причине не пишет книгу). Каждая книга обязательно пишется одним или несколькими писателями;
на книгу не обязательно делается заказ (она может быть не востребована заказчиками). Каждый заказ обязательно оформляется на книгу;
каждый заказчик обязательно делает заказ. Каждый заказ обязательно оформляется на заказчика.
Освоение работы в субд access
1. ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ |
В этом разделе Вы рассмотрите пример создания информационно-логической модели предметной области создания логической модели базы данных |
Задание 1.1. Для обеспечения эффективной работы деканата и бухгалтерии университета спроектировать реляционную базу данных, включающую сведения о студентах, их успеваемости, начислениях стипендии и др.
Проектирование реляционной базы данных включает три этапа: концептуальное, логическое и физическое проектирование.
На этапе концептуального проектирования осуществляется анализ предметной области Деканат-Бухгалтерия. В результате анализа выявлены следующие документы-источники данных для создания базы данных:
документ 1 "Писатель";
документ 2 "Контракт";
документ 3 "Книга";
документ 4 "Заказчик";
документ 5 "Заказ";
Вид этих документов приведен ниже.
Документ 1 "Писатель"
Номер паспорта |
Фамилия, |
Имя |
Отчество |
Домашний адрес |
Телефон |
9(6) |
А(15) |
А (10) |
А (10) |
А (15) |
9(5) |
Для реквизитов документов указаны форматы их значений.
Так формат 9(6) указывает на то, что значения десятичные, числовые, максимум шестизначные.
Формат А(15) означает, что значения алфавитно-цифровые, содержащие максимум 15 символов.
Формат В указывает на то, что значения поля логические.
Документ 2 "Контракт"
Номер контракта |
Дата заключения контракта |
Срок контракта |
Контракт расторгнут или не расторгнут |
Дата расторжения контракта |
9(6) |
9 (8) |
9 (8) |
А(3) |
9(8) |
В этом документе представлены сведения за прошедший семестр.
Документ 3 "Книга"
-
Шифр книги
Название
Тираж
Дата выхода из печати
Себестоимость
Цена продажи
Гонорар
9(2)
А(25)
9(6)
9(8)
9(5)
9(6)
9(8)
Документ 4 "Заказчик"
Название заказчика |
Адрес |
Телефон |
Обращаться к (Ф.И.О.) |
9(6) |
А(15) |
9(5) |
А(10) |
Документ 5 "Заказ"
Номер заказа |
Дата поступления заказа |
Дата выполнения заказа |
Количество экземпляров |
9(6) |
9(8) |
9(8) |
9(10) |
На основании анализа документов выделяются информационные объекты. Для каждого объекта определяется ключевой реквизит. Ключевой реквизит однозначно идентифицирует экземпляры объекта.
Таблица 1.1 Информационные объекты предметной области
Информационный объект |
Наименование реквизита |
Имя реквизита |
ПИСАТЕЛЬ |
Номер паспорта |
НОМ_ПАС |
Фамилия |
ФАМ |
|
Имя |
ИМЯ |
|
Отчество |
ОТЧ |
|
Домашний адрес |
АДР |
|
Телефон |
ТЕЛ |
|
КОНТРАКТ |
Номер контракта |
НОМ_КОН |
Дата заключения контракта |
ДАТ_ЗАКЛ_КОН |
|
Срок контракта |
СР_КОН |
|
Контракт расторгнут или не расторгнут (Да/Нет) |
КОН_РАСТ |
|
Дата расторжения контракта |
ДАИ_РОЖ_КОН |
|
КНИГА |
Шифр книги |
Ш_КН |
Название |
НАЗ |
|
|
Тираж |
ТИР |
Дата выхода из печати |
ДАТ_ВЫХ |
|
Себестоимость (руб.) |
СЕБ-ТЬ |
|
Цена продажи (руб.) |
ЦЕНА |
|
Гонорар |
ГОН |
|
ЗАКАЗЧИК |
Название заказчика |
НОМ_ЗАКАЗЧ |
Адрес |
АДР |
|
Телефон |
ТЕЛ |
|
Обращаться к (Ф.И.О.) |
ОБР |
|
ЗАКАЗ |
Номер заказа |
НОМ_ЗАКАЗА |
Дата поступления заказа |
ДАТ_ПОСТ_ЗАК |
|
Дата выполнения заказа |
ДАТ_ВЫП_ЗАК |
|
Количество экземпляров |
КОЛ_ЭКЗ |
В таблице ключевые реквизиты выделены жирно.
Затем определяются связи между информационными объектами. Связь устанавливается между двумя информационными объектами. Наличие связи и ее тип обуславливаются природой реальных объектов, процессов, явлений, отображаемых информационными объектами. Различаются связи следующих типов:
один к одному (1:1);
один ко многим (1:М);
многие ко многим (М:М).
Пусть объект А связывается с объектом В.
В случае связи 1:1 одному экземпляру объекта А соответствует не более одного экземпляра объекта В.
В случае связи 1:М одному экземпляру объекта А может соответствовать несколько экземпляров объекта В, но каждому экземпляру объекта В соответствует не более чем один экземпляр объекта А.
В случае связи М:М одному экземпляру объекта А может соответствовать несколько экземпляров объекта В и одному экземпляру объекта В может соответствовать несколько экземпляров объекта А.
В рассматриваемом примере связи описаны в табл. 1.2.
Таблица 1.2 Типы связей между информационными объектами
Связь |
Ключ связи |
Тип связи |
Пояснения |
ПИСАТЕЛЬ–КОНТРАКТ |
НОМ_КОН |
1 : 1 |
Писателю соответствует один контракт (в случае перезаключения контракта прежний контракт заменяется новым). Контракт заключается с одним писателем |
ПИСАТЕЛЬ–КНИГ |
НОМ_ПАС Ш_КН |
М : М |
Писатель может написать несколько книг. Книга может быть написана несколькими писателями |
КНИГА–ЗАКАЗ |
Ш_КН |
1 : М |
На книгу может быть сделано несколько заказов. Заказ оформляется на одну книгу |
ЗАКАЗЧИК–ЗАКАЗ |
НОМ_ЗАКАЗЧ |
1:М |
Заказчик может сделать несколько заказов. Заказ оформляется на одного заказчика |
Далее строится информационно-логическая модель предметной области. Ее графическое представление приведено на рис. 1.1.
ПИСАТЕЛЬ–КОНТРАКТ |
НОМ_КОН |
НОМ_ПАС |
КНИГА |
Ш_КН |
НОМ_КОН |
НОМ_ЗАКАЗА |
ЗАКАЗ |
НОМ_ЗАКАЗА |
НОМ_ЗАКАЗЧ |
-
ЗАКАЗЧИК
НОМ_ЗАКАЗЧ
На этапе логического проектирования выбирается СУБД для создания базы данных. Информационно-логическая модель предметной области отображается в логическую модель, основанную на структурных единицах той базы, которая создается выбранной СУБД. Так как в нашем примере выбирается реляционная СУБД Access, то каждый информационный объект следует представить определенной таблицей и установить связи между таблицами. Графическое изображение логической модели базы данных приведено на рис. 1.2.
ПИСАТЕЛЬ–КОНТРАКТ |
НОМ_ПАС |
ФАМ |
ИМЯ |
ОТЧ |
АДР |
ТЕЛ |
НОМ_КОН |
ДАТ_ЗАКЛ_КОН |
СР_КОН |
КОН_РАСТ |
ДАИ_РОЖ_КОН |
КНИГА |
Ш_КН |
НАЗ |
ТИР |
ДАТ_ВЫХ |
СЕБ-ТЬ |
ЦЕНА |
ГОН |
НОМ_КОН |
НОМ_ЗАКАЗА |
-
ЗАКАЗ
НОМ_ЗАКАЗА
ДАТ_ПОСТ_ЗАК
ДАТ_ВЫП_ЗАК
КОЛ_ЭКЗ
НОМ_ЗАКАЗЧ
-
ЗАКАЗЧИК
НОМ_ЗАКАЗЧ
АДР
ТЕЛ
ОБР
Рис. 1.2. Логическая модель база данных.