Файл: Методические указания к выполнению курсовой работы по дисциплине Базы данных.doc

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 16.03.2024

Просмотров: 55

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.




Таблица 6

Спецификации связей в иерархии обобщения


Тип связи

Дискрими-натор категорий

Сущность-супертип

Описание сущности-супертипа

Кардиналь-ность связи

Описание связи

Имя сущности-подтипа

Описание сущности-подтипа

Неполная

тип

Абонент

Содержит информацию об абонентах библиотеки

Is a

Студент как абонент библиотеки. Связь неполная, могут быть и другие категории абонентов

Студент

Студент, являющийся абонентом библиотеки

Неполная

тип

Абонент

Содержит информацию об абонентах библиотеки

Is a

Сотрудник как абонент библиотеки. Связь неполная, могут быть и другие категории абонентов

Сотрудник

Сотрудник, являющийся абонентом библиотеки






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

  • вставка в отцовской;

  • обновление в отцовской;

  • удаление в отцовской;

  • вставка в сыновьей;

  • обновление в сыновьей;

  • удаление в сыновьей.

Результаты удобно свести в таблицы типа приведенных ниже (табл. 7 и 8). При построении таблиц следует воспользоваться возможностями ERwin для формирования отчетов (по команде Tasks/Generate Reports).

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

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

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

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

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

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


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


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

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

Таблица 7

Ограничения ссылочной целостности для бинарных связей

Имя связи «отец-сын»

Имя связи «сын-отец»

Тип связи

Null внешнего ключа

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

Вставка в отцовской

Обновление в отцовской

Удаление в отцовской

Вставка в сыновьей

Обновление в сыновьей

Удаление в сыновьей

Получил на




Неиденти-фицирую-щая

Not Null

None

Не влияет

Restrict

Запретить

Restrict

Запретить

Restrict

Запретить

Restrict

Запретить

None

Не влияет

Пред-ставлена




Неиденти-фицирую-щая

Not Null

None

Не влияет

Restrict

Запретить

Restrict

Запретить

Restrict

Запретить

Restrict

Запретить

None

Не влияет

Руководит

Подчи-няется

Неиденти-фицирую-щая

Null

None

Не влияет

Set Null

Установить Null

Set Null

Установить Null

Set Null

Установить Null

Set Null

Установить Null

None

Не влияет

В ыдал на




Неиденти-фицирую-щая

Not Null

None

Не влияет

Restrict

Запретить

Restrict

Запретить

Restrict

Запретить

Restrict

Запретить

None

Не влияет

Выдана на




Идентифи-цирующая

Not Null

None

Не влияет

Restrict

Запретить

Restrict

Запретить

Restrict

Запретить

Restrict

Запретить

None

Не влияет


Таблица 8

Ограничения ссылочной целостности для категориальных связей

Тип связи

Сущность-супертип

Имя сущности-подтипа

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

Вставка в отцовской

Обновление в отцовской

Удаление в отцовской

Вставка в сыновьей

Обновление в сыновьей

Удаление в сыновьей

Неполная

Абонент

Студент

None

Не влияет

Cascade

Каскадировать

Cascade

Каскадировать

Restrict

Запретить

Restrict

Запретить

None

Не влияет

Неполная

Абонент

Сотрудник

None

Не влияет

Cascade

Каскадировать

Cascade

Каскадировать

Restrict

Запретить

Restrict

Запретить

None

Не влияет


Рис. 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/Нет

NULL

Нет

Нет





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

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

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

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

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

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


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

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

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

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


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

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

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

WHERE Хранимая книга.какой книги экземпляр = Зарегистрированная книга.номер AND Зарегистрированная книга.автор Like ”*”& [введи фамилию автора]&”*” AND Зарегистрированная книга.название Like ”*”& [введи название ниги]&”*” AND Хранимая книга.наличие;


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

SELECT Абонент.*

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

WHERE Зарегистрированная книга.номер = Хранимая книга.какой книги экземпляр AND Хранимая книга.инв_номер = Абонемент.что выдано AND Абонемент.кому выдано = Абонент.шифр AND Зарегистрированная книга.номер = [введите номер книги];


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

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

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

WHERE Хранимая книга.инв_номер = Абонемент.что выдано AND Абонемент.кому выдано = Абонент.шифр AND Абонент.шифр = [введите шифр абонента] AND СЕГОДНЯ() Between дата1 AND дата2;

Таблица 10

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