[DataVihoda] [datetime] NULL ,
CONSTRAINT [PK_Knigi] PRIMARY KEY
(
[KodKnigi]
) ,
CONSTRAINT [FK_Knigi_Izdateli] FOREIGN KEY
(
[KodIzdatelya]
) REFERENCES [dbo.][Izdateli] ([KodIzdatelya] )
)
Авторкниги:
CREATE TABLE [dbo].[ [AvtorKnigi] (
[KodAvtora] [bigint] NOT NULL ,
[KodKnigi] [bigint] NOT NULL ,
CONSTRAINT [PK_AvtorKnigi] PRIMARY KEY
(
[KodAvtora],
[KodKnigi]
) ,
CONSTRAINT [FK_AvtorKnigi_Avtory] FOREIGN KEY
(
[KodAvtora]
) REFERENCES [dbo.][Avtory] ([KodAvtora] ),
CONSTRAINT [FK_AvtorKnigi_Knigi] FOREIGN KEY
(
[KodKnigi]
) REFERENCES [dbo.][Knigi] ([KodKnigi] )
)
Задача №9
ДАНО: |
Таблицы реляционной базы данных SQL Server |
||||
Таблица |
Реквизиты |
||||
Книги |
Код книги, название, число страниц, код издателя, дата выхода |
||||
Авторы |
Код автора, фамилия, дата рождения, место рождения |
||||
Издатели |
Код издателя, имя издателя, адрес издателя |
||||
Автор книги |
Код автора, код книги |
||||
ТРЕБУЕТСЯ: |
1. Изобразить схему базы данных. 2. Создать таблицы SQL Server. 3. Обеспечить процедурную целостность ссылок. |
||||
ОГРАНИЧЕНИЯ: |
· Целостность ссылок обеспечить только с помощью триггеров. · Запросы на создание объектов базы данных реализовать на Transact-SQL. |
||||
РЕШЕНИЕ:
CREATE TABLE [dbo].[ [Knigi] (
[KodKnigi] [bigint] NOT NULL ,
[Nazvanie] [char] (10) NOT NULL,
[ChisloStranits] [bigint] NOT NULL,
[KodIzdatelya] [bigint] NULL ,
[DataVihoda] [datetime] NULL ,
CONSTRAINT [PK_Knigi] PRIMARY KEY
(
[KodKnigi]
) ,
CONSTRAINT [FK_Knigi_Izdateli] FOREIGN KEY
(
[KodIzdatelya]
) REFERENCES [dbo.][Izdateli] ([KodIzdatelya] )
)
Create trigger Izd_Delete
ON Izdateli FOR DELETE
AS BEGIN
IF EXISTS (Select *From Knigi, Deleted
Where knigi.KodIzdatelya= Deleted.KodIzdatelya)
BEGIN
Rollback transaction
Raiserror 50002 ‘Транзакция не м.б.
Завершена, т.к. у издателя есть книги’
END END
Create trigger Avtor_Knigi_Insert
ON AvtorKnigi FOR INSERT
AS BEGIN
IF NOT EXISTS (Select *From Knigi, Inserted
Where Knigi.KodKnigi= Inserted.KodKnigi)
Rollback transaction
Raiserror 50002 ‘Транзакция не м.б.
Завершена, т.к. код несуществующей книги’
END END
Задача №10
ДАНО: |
Таблицы реляционной базы данных SQL Server |
||||
Таблица |
Реквизиты |
||||
Книги |
Код книги, название, число страниц, код издателя, дата выхода |
||||
Авторы |
Код автора, фамилия, дата рождения, место рождения |
||||
Издатели |
Код издателя, имя издателя, адрес издателя |
||||
Автор книги |
Код автора, код книги |
||||
ТРЕБУЕТСЯ: |
1. Изобразить схему базы данных. 2. Создать таблицы SQL Server. 3. Обеспечить безопасность базы данных. |
||||
ОГРАНИЧЕНИЯ: |
· Необходимый уровень безопасности базы данных обеспечить путем создания групп пользователей, которым позволено только просматривать неполную информацию из таблиц базы данных. · Заданный уровень безопасности обеспечить с помощью видов и хранимых процедур. · Запросы на создание объектов базы данных реализовать на Transact-SQL. |
||||
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.