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

Домены и ограничения.

Был разработан домен Year, который получен на основе стандартного домена Number. Он используется для записи информации о годе издания книги и принимает значения от 1950 до 2011. Для него введено значение по-умолчанию, равное 1991.

Созданы следующие ограничения:

  1. Ограничение на количество изданных книг от 1 до 999999999999

  2. Ограничение на затраты на издание и на гонорар от 10000 до 100000000

  3. Ограничение на положение в рейтинге от 1 до 100

Сведения об ограничениях приведены в таблице:

Name

Min

Max

Rule

Column Name

Domain Name

Count

1

999999999999

@col Between 10 AND 999999999999

Count

Number

Expense_Fee

10000

100000000

@col Between 10000 AND 100000000

Expense, Fee

Number

Year

1950

2011

@col Between 1950 AND 2011

Imprint_Year

Year

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

Описание установленных связей между сущностями приведено в таблице:

FK Name

Cardinality

Comment

Null Option

Type

Parent table

Child table

Publish

One-to-Zero-One-or-More

Издательства издают книги

Identifying

Publishers

Books

Located

One-to-Zero-One-or-More

Города, в которых находятся издательства

No Nulls

Non-identifying

Cities

Publishers

Сharacterized

One-to-Zero-One-or-More

Жанры книг

No Nulls

Non-identifying

Genres

Books

Publishers publish books. Данный тип связи установлен между этими двумя таблицами, так как в одном издательстве может быть существовать множество книг, они все могут быть выпущены одним издательством, или же издательство может не выпустить ни одной книги, но при этом каждая книга обязана быть издана хотя бы одним издательством.

Publishers are located in Cities. Такой тип связи выбран, так как издательство должно находиться в одном из городов, однако в одном городе может находиться несколько издательств (например, Москва или Санкт-Петербург). Неидентифицирующая связь.

Books are characterized by Genres. Такой тип связи выбран, так как книги имеют какой-либо жанр, в то же время, определенный жанр может быть не только у одной книги. Неидентифицирующая связь.

Триггеры для поддержания ссылочной целостности.

Установлены следующие триггеры для обеспечения ссылочной целостности:

Publishers publish books:

Child

Parent

Delete

No Action, удаление книги не вызовет удаления издательства.

Delete

Cascade, если издательство удаляется, то и книги, выпущенные им, удаляются

Insert

No Action, добавление книги не вызовет появления нового издательства. Ее можно будет привязать по FK к одному из уже существующих.

Insert

Cascade, добавление нового издательства создаст новую книгу, т.к. издательство не может существовать, если не выпускает книги.

Update

No Action, изменение данных о книгах не повлечёт изменения данных об издательствах.

Update

No Action, изменение данных об издательстве не изменит данные о книгах, изданных им.

Publishers are located in Cities:

Child

Parent

Delete

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

Delete

Cascade, удаление города приведет к удалению издательства, расположенного в нем, т.к. издательство не может существовать без офиса в определенном городе.

Insert

No Action, добавление издательства не вызовет добавления нового города.

Insert

No Action, добавление города не вызовет создания в нем нового издательства.

Update

No Action, изменение данных об издательстве не повлияет на данные о городе.

Update

No Action, изменение города не повлияет на данные об издательстве, что в нем расположено.

Books are characterized by Genres:

Child

Parent

Delete

No Action, удаление книги не вызовет удаления жанра.

Delete

Cascade, удаление жанра приведет к удалению книги, т.к. книга не может быть в неопределенном жанре.

Insert

No Action, добавление книги не вызовет добавления нового жанра.

Insert

Cascade, добавление нового жанра создаст книгу, т.к. не может быть жанра, если не существует его образчиков.

Update

No Action, изменение данных о книге не повлияет на данные о жанре.

Update

No Action, изменение жанра не повлияет на книгу.