Даталогическое проектирование

В резделе «Даталогическая модель базы данных» должны быть представлены результаты разработки концептуальной даталогической модели базы данных, выполненной в среде ERwin. Следует обосновать или хотя бы объяснить выбор СУБД, а также привести СУБД-ориентированную ER-диаграмму (Physical Model ERwin [10] рис. 8).

Учебная база данных должна быть представлена в виде совокупности взаимосвязанных нормализованных (до нормальной формы Бойса-Кодда) таблиц. В разделе «Спецификации таблиц» должна быть представлена структура каждой таблицы (табл. 9). При построении сводных таблиц следует воспользоваться возможностями ERwin для формирования отчетов (по команде Tasks/Generate Reports).

 

Рис. 8 Пример СУБД (Access)-ориентированной модели предметной области "Библиотека"

 

Таблица 9

Структура реляционных таблиц

Имя таблицы Имя столбца Домен (тип) Null - значение Первичный ключ Внешний ключ
Абонемент что выдано Text(10) NOT NULL Да Да
  дата1 Date/Time NOT NULL Да Нет
  дата2 Date/Time NULL Нет Нет
  кому выдано Text(10) NOT NULL Нет Да
  кто выдал Text(10) NOT NULL Нет Да
Абонент шифр Text(10) NOT NULL Да Нет
  фио Text(20) NOT NULL Нет Нет
  телефон Text(8) NULL Нет Нет
  тип Text(10) NULL Нет Нет
Зарегистрированная книга номер Text(10) NOT NULL Да Нет
  автор Text(30) NULL Нет Нет
  название Text(50) NULL Нет Нет
  год издания Integer NULL Нет Нет
Персонал код Text(10) NOT NULL Да Нет
  фио Text(20) NULL Нет Нет
  должность Text(16) NULL Нет Нет
  руководитель Text(10) NULL Нет Да
Сотрудник шифр Text(10) NOT NULL Да Да
  должность Text(16) NULL Нет Нет
  звание Text(20) NULL Нет Нет
  степень Text(8) NULL Нет Нет
Студент шифр Text(10) NOT NULL Да Да
  специальность Text(6) NULL Нет Нет
Хранимая книга инв_номер Text(10) NOT NULL Да Нет
  какой книги экземпляр Text(10) NOT NULL Нет Да
  наличие Yes/No NULL Нет Нет

 

В разделе «Спецификации связей между таблицами» должна быть представлена структура связей и ограничения ссылочной целостности при манипулировании строками таблиц (табл. 10 и табл. 11).

Таблица 10

Структура связей между таблицами

Имя связи Имя отцовской таблицы Первичный ключ отцовской таблицы Имя сыновьей таблицы Первичный ключ сыновьей таблицы Внешний ключ сыновьей таблицы Null внешнего ключа сыновьей таблицы
Получил на Абонент шифр Абонемент что выдано кому выдано NOT NULL
        дата1    
Представлена Зарегистрированная книга номер Хранимая книга инв_номер какой книги экземпляр NOT NULL
Руководит Персонал код Персонал код руководитель NULL
Выдал на   код Абонемент что выдано кто выдал NOT NULL
        дата1    
Выдана на Хранимая книга инв_номер   что выдано что выдано NOT NULL
        дата1    

 

Таблица 11

Ограничения ссылочной целостности

Имя связи Имя отцовской таблицы Имя сыновьей таблицы Ограничения ссылочной целостности
Вставка в отцовской Обновление в отцовской Удаление в отцовской Вставка в сыновьей Обновление в сыновьей Удаление в сыновьей
Получил на Абонент Абонемент None Не влияет Restrict Запретить Restrict Запретить Restrict Запретить Restrict Запретить None Не влияет
Представлена Зарегистрированная книга Хранимая книга None Не влияет Restrict Запретить Restrict Запретить Restrict Запретить Restrict Запретить None Не влияет
Руководит Персонал Персонал None Не влияет Set Null Установить Null Set Null Установить Null Set Null Установить Null Set Null Установить Null None Не влияет
Выдал на Персонал Абонемент None Не влияет Restrict Запретить Restrict Запретить Restrict Запретить Restrict Запретить None Не влияет
Выдана на Хранимая книга Абонемент None Не влияет Restrict Запретить Restrict Запретить Restrict Запретить Restrict Запретить None Не влияет

 

В разделе «SQL – запросы» должны быть представлены «SQL-скрипты» запросов пользователей, сформулированных ранее на естественном языке.

 

1. 1. Представить список абонентов данной категории.

SELECT Абонент.*, Сотрудник.должность, Сотрудник.звание, Сотрудник.степень,

Студент.специальность

FROM (Абонент LEFT JOIN Сотрудник ON Абонент.шифр = Сотрудник.шифр)

LEFT JOIN Студент ON Абонент.шифр = Студент.шифр

WHERE Абонент.тип Like [введи тип абонента]&”*”;

 

2. 2. Представить все данные об абоненте, заданном его шифром.

SELECT Абонент.*, Сотрудник.должность, Сотрудник.звание, Сотрудник.степень,

Студент.специальность

FROM (Абонент LEFT JOIN Сотрудник ON Абонент.шифр = Сотрудник.шифр)

LEFT JOIN Студент ON Абонент.шифр = Студент.шифр

WHERE Абонент.шифр = [введи шифр абонента];

 

3. 3. Представить список экземпляров книг, имеющихся в наличии в хранилище, по фамилии автора и названию.

SELECT Хранимая книга.инв_номер, Хранимая книга.наличие, Зарегистрированная книга.*

FROM Хранимая книга, Зарегистрированная книга

WHERE Хранимая книга.какой книги экземпляр = Зарегистрированная книга.номер

AND Зарегистрированная книга.автор Like ”*”&[введи фамилию автора]&”*”

AND Зарегистрированная книга.название Like ”*”& [введи название книги]&”*”

AND Хранимая книга.наличие;

 

4. 4. Представить список абонентов, имеющих на руках книги данного номинала (экземпляры одной и той же книги).

SELECT Абонент.*

FROM Зарегистрированная книга, Хранимая книга, Абонемент, Абонент

WHERE Зарегистрированная книга.номер = Хранимая книга.какой книги экземпляр

AND Хранимая книга.инв_номер = Абонемент.что выдано

AND Абонемент.кому выдано = Абонент.шифр

AND Зарегистрированная книга.номер = [введите номер книги];

 

5. 5. Представить список книг, взятых и не возвращенных конкретным абонентом.

SELECT Хранимая книга.*

FROM Хранимая книга, Абонемент, Абонент

WHERE Хранимая книга.инв_номер = Абонемент.что выдано

AND Абонемент.кому выдано = Абонент.шифр

AND Абонент.шифр = [введите шифр абонента]

AND СЕГОДНЯ() Between дата1 AND дата2;

В разделе «Схема данных» должно быть приведено изображение схемы базы данных, как на рис.9.

В разделе «Интерфейс конечного пользователя» должны быть приведены в виде рисунков пользовательские меню, примеры экранных форм, примеры печатных документов. Здесь же должны быть указаны средства прикладного программирования: среда разработки прикладных программ (Delphi, Builder C++, VBA и т.д.), использовался ли интерфейс ODBC (или другой) прикладных программ с базой данных и т.д. В качестве примера рекомендуется привести тексты оригинальных исходных модулей.

 



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

Работа информационной системы демонстрируется на компьютере на контрольных примерах при защите курсовой работы.

Выводы

Заключение пояснительной записки должно содержать:

· · краткие выводы о результатах выполненной работы;

· · оценку технико-экономической эффективности или научной полезности результатов работы;

· · общие итоговые технико-экономические данные о результатах работы;

· · предложения по использованию результатов работы.