
- •2. Анализ задания
- •3. Проектирование бд для хранения информации.
- •3.1. Концептуальная er-модель
- •3 .3. Общее описание таблиц
- •3.4. Описание структуры таблиц
- •Vid_Actors
- •Vid_Ganres
- •Vid_Directors
- •Vid_Companies
- •3.4. Описание ограничений сущности
- •3.5. Описание ограничений ссылочной целостности
- •3.6. Описание индексирования таблиц
- •3.7. Диаграмма структуры бд
- •4. Список контрольных тестов для проверки корректности данных в таблицах
- •5. Полный скрипт создания бд, таблиц, индексов и ограничений
3.6. Описание индексирования таблиц
Некластеризованные индексы
№ |
Имя таблицы |
Столбец |
Имя индекса |
Назначение |
1 |
Actors |
name |
IX_Actors |
Используется для поиска. |
2 |
Companies |
name |
IX_Companies |
Используется для поиска. |
3 |
Directors |
name |
IX_Directors |
Используется для поиска. |
4 |
Ganres |
name |
IX_Ganres |
Используется для поиска. |
5 |
Users |
nickname |
IX_Users |
Используется для поиска. |
6 |
Vid_Actors |
actor_id |
IX_Vid_Actors |
Ускорение работы, т.к. этот столбец входит в внешний ключ. |
7 |
Vid_Actors |
video_id |
IX_Vid_Actors_1 |
Ускорение работы, т.к. этот столбец входит в внешний ключ. |
8 |
Vid_Companies |
company_id |
IX_Vid_Companies |
Ускорение работы, т.к. этот столбец входит в внешний ключ. |
9 |
Vid_Companies |
video_id |
IX_Vid_Companies_1 |
Ускорение работы, т.к. этот столбец входит в внешний ключ. |
10 |
Vid_Director |
director_id |
IX_Vid_Director |
Ускорение работы, т.к. этот столбец входит в внешний ключ. |
11 |
Vid_Director |
video_id |
IX_Vid_Director_1 |
Ускорение работы, т.к. этот столбец входит в внешний ключ. |
12 |
Vid_Ganres |
ganre_id |
IX_Vid_Ganres |
Ускорение работы, т.к. этот столбец входит в внешний ключ. |
|
Vid_Ganres |
video_id |
IX_Vid_Ganres_1 |
Ускорение работы, т.к. этот столбец входит в внешний ключ. |
3.7. Диаграмма структуры бд
4. Список контрольных тестов для проверки корректности данных в таблицах
Для ограничений CK_oscars_act, CK_roles_act
INSERT INTO Actors
(actor_id, name, role_val, oscar_val)
VALUES (1, 1, -1, -1)
Для ограничения CK_rating
INSERT INTO Comments
(comment_id, user_id, video_id, datetime, usr_rating)
VALUES (1, 1, 1, '2010-01-01', 11)
Для ограничения CK_company_create
INSERT INTO Companies
(company_id, name, creation_date)
VALUES (1, 'Universal Pictures', '2013-01-01')
Для ограничения CK_film_val_dir, CK_oscar_val_dir
INSERT INTO Directors
(director_id, name, film_val, oscar_val)
VALUES (1, 'scott', -8, -16)
Для ограничения CK_pass
INSERT INTO Users
(user_id, nickname, password)
VALUES (1, 'nick', '01fa')
Для ограничения CK_video_cost
INSERT INTO Video
(video_id, cost, title, year)
VALUES (1, -200, 'nightmare', '2010')
5. Полный скрипт создания бд, таблиц, индексов и ограничений
Скрипт создания базы данных
USE [master]
GO
/****** Object: Database [Films] Script Date: 14.10.2012 19:39:30 ******/
CREATE DATABASE [Films]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'Films', FILENAME = N'D:\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\Films.mdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'Films_log', FILENAME = N'D:\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\Films_0.ldf' , SIZE = 3136KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
ALTER DATABASE [Films] SET COMPATIBILITY_LEVEL = 100
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [Films].[dbo].[sp_fulltext_database] @action = 'enable'
end
GO
ALTER DATABASE [Films] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [Films] SET ANSI_NULLS OFF
GO
ALTER DATABASE [Films] SET ANSI_PADDING OFF
GO
ALTER DATABASE [Films] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [Films] SET ARITHABORT OFF
GO
ALTER DATABASE [Films] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [Films] SET AUTO_CREATE_STATISTICS ON
GO
ALTER DATABASE [Films] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [Films] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [Films] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [Films] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [Films] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [Films] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [Films] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [Films] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [Films] SET DISABLE_BROKER
GO
ALTER DATABASE [Films] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [Films] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [Films] SET TRUSTWORTHY OFF
GO
ALTER DATABASE [Films] SET ALLOW_SNAPSHOT_ISOLATION OFF
GO
ALTER DATABASE [Films] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [Films] SET READ_COMMITTED_SNAPSHOT OFF
GO
ALTER DATABASE [Films] SET HONOR_BROKER_PRIORITY OFF
GO
ALTER DATABASE [Films] SET RECOVERY SIMPLE
GO
ALTER DATABASE [Films] SET MULTI_USER
GO
ALTER DATABASE [Films] SET PAGE_VERIFY CHECKSUM
GO
ALTER DATABASE [Films] SET DB_CHAINING OFF
GO
ALTER DATABASE [Films] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF )
GO
ALTER DATABASE [Films] SET TARGET_RECOVERY_TIME = 0 SECONDS
GO
USE [Films]
GO
/****** Object: Table [dbo].[Actors] Script Date: 14.10.2012 19:39:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
Скрипт создания таблиц, индексов и ограничений
CREATE TABLE [dbo].[Actors](
[actor_id] [int] NOT NULL,
[name] [varchar](50) NOT NULL,
[role_val] [int] NULL,
[oscar_val] [int] NULL,
CONSTRAINT [PK_Actors] PRIMARY KEY CLUSTERED
(
[actor_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Comments] Script Date: 14.10.2012 19:39:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Comments](
[comment_id] [int] NOT NULL,
[user_id] [int] NOT NULL,
[video_id] [int] NOT NULL,
[text] [varchar](max) NULL,
[datetime] [datetime2](7) NOT NULL,
[usr_rating] [tinyint] NULL,
CONSTRAINT [PK_Comments] PRIMARY KEY CLUSTERED
(
[comment_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Companies] Script Date: 14.10.2012 19:39:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Companies](
[company_id] [int] NOT NULL,
[name] [varchar](50) NOT NULL,
[creation_date] [datetime] NULL,
CONSTRAINT [PK_Companies] PRIMARY KEY CLUSTERED
(
[company_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Directors] Script Date: 14.10.2012 19:39:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Directors](
[director_id] [int] NOT NULL,
[name] [varchar](50) NOT NULL,
[film_val] [int] NULL,
[oscar_val] [int] NULL,
CONSTRAINT [PK_Directors] PRIMARY KEY CLUSTERED
(
[director_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Ganres] Script Date: 14.10.2012 19:39:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Ganres](
[ganre_id] [int] NOT NULL,
[name] [varchar](50) NOT NULL,
CONSTRAINT [PK_Ganres] PRIMARY KEY CLUSTERED
(
[ganre_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Users] Script Date: 14.10.2012 19:39:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Users](
[user_id] [int] NOT NULL,
[nickname] [varchar](50) NOT NULL,
[password] [varchar](50) NULL,
CONSTRAINT [PK_Users] PRIMARY KEY CLUSTERED
(
[user_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Vid_Actors] Script Date: 14.10.2012 19:39:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Vid_Actors](
[actor_id] [int] NULL,
[video_id] [int] NULL
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Vid_Companies] Script Date: 14.10.2012 19:39:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Vid_Companies](
[company_id] [int] NULL,
[video_id] [int] NULL
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Vid_Director] Script Date: 14.10.2012 19:39:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Vid_Director](
[director_id] [int] NULL,
[video_id] [int] NULL
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Vid_Ganres] Script Date: 14.10.2012 19:39:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Vid_Ganres](
[ganre_id] [int] NULL,
[video_id] [int] NULL
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Video] Script Date: 14.10.2012 19:39:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Video](
[video_id] [int] NOT NULL,
[cost] [int] NULL,
[title] [varchar](50) NOT NULL,
[year] [int] NULL,
CONSTRAINT [PK_Video] PRIMARY KEY CLUSTERED
(
[video_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
SET ANSI_PADDING ON
GO
/****** Object: Index [IX_Actors] Script Date: 14.10.2012 19:39:30 ******/
CREATE UNIQUE NONCLUSTERED INDEX [IX_Actors] ON [dbo].[Actors]
(
[name] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON
GO
/****** Object: Index [IX_Companies] Script Date: 14.10.2012 19:39:30 ******/
CREATE UNIQUE NONCLUSTERED INDEX [IX_Companies] ON [dbo].[Companies]
(
[name] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON
GO
/****** Object: Index [IX_Directors] Script Date: 14.10.2012 19:39:30 ******/
CREATE UNIQUE NONCLUSTERED INDEX [IX_Directors] ON [dbo].[Directors]
(
[name] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON
GO
/****** Object: Index [IX_Ganres] Script Date: 14.10.2012 19:39:30 ******/
CREATE UNIQUE NONCLUSTERED INDEX [IX_Ganres] ON [dbo].[Ganres]
(
[name] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON
GO
/****** Object: Index [IX_Users] Script Date: 14.10.2012 19:39:30 ******/
CREATE UNIQUE NONCLUSTERED INDEX [IX_Users] ON [dbo].[Users]
(
[nickname] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
/****** Object: Index [IX_Vid_Actors] Script Date: 14.10.2012 19:39:30 ******/
CREATE NONCLUSTERED INDEX [IX_Vid_Actors] ON [dbo].[Vid_Actors]
(
[actor_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
/****** Object: Index [IX_Vid_Actors_1] Script Date: 14.10.2012 19:39:30 ******/
CREATE NONCLUSTERED INDEX [IX_Vid_Actors_1] ON [dbo].[Vid_Actors]
(
[video_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
/****** Object: Index [IX_Vid_Companies] Script Date: 14.10.2012 19:39:30 ******/
CREATE NONCLUSTERED INDEX [IX_Vid_Companies] ON [dbo].[Vid_Companies]
(
[company_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
/****** Object: Index [IX_Vid_Companies_1] Script Date: 14.10.2012 19:39:30 ******/
CREATE NONCLUSTERED INDEX [IX_Vid_Companies_1] ON [dbo].[Vid_Companies]
(
[video_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
/****** Object: Index [IX_Vid_Director] Script Date: 14.10.2012 19:39:30 ******/
CREATE NONCLUSTERED INDEX [IX_Vid_Director] ON [dbo].[Vid_Director]
(
[director_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
/****** Object: Index [IX_Vid_Director_1] Script Date: 14.10.2012 19:39:30 ******/
CREATE NONCLUSTERED INDEX [IX_Vid_Director_1] ON [dbo].[Vid_Director]
(
[video_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
/****** Object: Index [IX_Vid_Ganres] Script Date: 14.10.2012 19:39:30 ******/
CREATE NONCLUSTERED INDEX [IX_Vid_Ganres] ON [dbo].[Vid_Ganres]
(
[ganre_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
/****** Object: Index [IX_Vid_Ganres_1] Script Date: 14.10.2012 19:39:30 ******/
CREATE NONCLUSTERED INDEX [IX_Vid_Ganres_1] ON [dbo].[Vid_Ganres]
(
[video_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Comments] WITH CHECK ADD CONSTRAINT [FK_Comments_Users] FOREIGN KEY([user_id])
REFERENCES [dbo].[Users] ([user_id])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Comments] CHECK CONSTRAINT [FK_Comments_Users]
GO
ALTER TABLE [dbo].[Comments] WITH CHECK ADD CONSTRAINT [FK_Comments_Video] FOREIGN KEY([video_id])
REFERENCES [dbo].[Video] ([video_id])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Comments] CHECK CONSTRAINT [FK_Comments_Video]
GO
ALTER TABLE [dbo].[Vid_Actors] WITH CHECK ADD CONSTRAINT [FK_Vid_Actors_Actors] FOREIGN KEY([actor_id])
REFERENCES [dbo].[Actors] ([actor_id])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Vid_Actors] CHECK CONSTRAINT [FK_Vid_Actors_Actors]
GO
ALTER TABLE [dbo].[Vid_Actors] WITH CHECK ADD CONSTRAINT [FK_Vid_Actors_Video] FOREIGN KEY([video_id])
REFERENCES [dbo].[Video] ([video_id])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Vid_Actors] CHECK CONSTRAINT [FK_Vid_Actors_Video]
GO
ALTER TABLE [dbo].[Vid_Companies] WITH CHECK ADD CONSTRAINT [FK_Vid_Companies_Companies] FOREIGN KEY([company_id])
REFERENCES [dbo].[Companies] ([company_id])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Vid_Companies] CHECK CONSTRAINT [FK_Vid_Companies_Companies]
GO
ALTER TABLE [dbo].[Vid_Companies] WITH CHECK ADD CONSTRAINT [FK_Vid_Companies_Video] FOREIGN KEY([video_id])
REFERENCES [dbo].[Video] ([video_id])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Vid_Companies] CHECK CONSTRAINT [FK_Vid_Companies_Video]
GO
ALTER TABLE [dbo].[Vid_Director] WITH CHECK ADD CONSTRAINT [FK_Vid_Director_Directors] FOREIGN KEY([director_id])
REFERENCES [dbo].[Directors] ([director_id])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Vid_Director] CHECK CONSTRAINT [FK_Vid_Director_Directors]
GO
ALTER TABLE [dbo].[Vid_Director] WITH CHECK ADD CONSTRAINT [FK_Vid_Director_Video] FOREIGN KEY([video_id])
REFERENCES [dbo].[Video] ([video_id])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Vid_Director] CHECK CONSTRAINT [FK_Vid_Director_Video]
GO
ALTER TABLE [dbo].[Vid_Ganres] WITH CHECK ADD CONSTRAINT [FK_Vid_Ganres_Ganres] FOREIGN KEY([ganre_id])
REFERENCES [dbo].[Ganres] ([ganre_id])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Vid_Ganres] CHECK CONSTRAINT [FK_Vid_Ganres_Ganres]
GO
ALTER TABLE [dbo].[Vid_Ganres] WITH CHECK ADD CONSTRAINT [FK_Vid_Ganres_Video] FOREIGN KEY([video_id])
REFERENCES [dbo].[Video] ([video_id])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Vid_Ganres] CHECK CONSTRAINT [FK_Vid_Ganres_Video]
GO
ALTER TABLE [dbo].[Actors] WITH CHECK ADD CONSTRAINT [CK_oscars_act] CHECK (([oscar_val]>=(0)))
GO
ALTER TABLE [dbo].[Actors] CHECK CONSTRAINT [CK_oscars_act]
GO
ALTER TABLE [dbo].[Actors] WITH CHECK ADD CONSTRAINT [CK_roles_act] CHECK (([role_val]>=(0)))
GO
ALTER TABLE [dbo].[Actors] CHECK CONSTRAINT [CK_roles_act]
GO
ALTER TABLE [dbo].[Comments] WITH CHECK ADD CONSTRAINT [CK_Rating] CHECK (([usr_rating]<(10) AND [usr_rating]>(0)))
GO
ALTER TABLE [dbo].[Comments] CHECK CONSTRAINT [CK_Rating]
GO
ALTER TABLE [dbo].[Companies] WITH CHECK ADD CONSTRAINT [CK_Company_create] CHECK (([creation_date]<getdate()))
GO
ALTER TABLE [dbo].[Companies] CHECK CONSTRAINT [CK_Company_create]
GO
ALTER TABLE [dbo].[Directors] WITH CHECK ADD CONSTRAINT [CK_film_val_dir] CHECK (([film_val]>=(0)))
GO
ALTER TABLE [dbo].[Directors] CHECK CONSTRAINT [CK_film_val_dir]
GO
ALTER TABLE [dbo].[Directors] WITH CHECK ADD CONSTRAINT [CK_oscar_val_dir] CHECK (([oscar_val]>=(0)))
GO
ALTER TABLE [dbo].[Directors] CHECK CONSTRAINT [CK_oscar_val_dir]
GO
ALTER TABLE [dbo].[Video] WITH CHECK ADD CONSTRAINT [CK_video_cost] CHECK (([cost]>=(0)))
GO
ALTER TABLE [dbo].[Video] CHECK CONSTRAINT [CK_video_cost]
GO
USE [master]
GO