699
.pdfALTER TABLE [dbo].[Gro] WITH CHECK ADD CONSTRAINT [FK_Gro_fac] FOREIGN KEY([Cfc])
REFERENCES [dbo].[fac] ([Cfc]) GO
ALTER TABLE [dbo].[Gro] CHECK CONSTRAINT [FK_Gro_fac] GO
ALTER TABLE [dbo].[Gro] WITH CHECK ADD CONSTRAINT [FK_Gro_Fob] FOREIGN KEY([Cu])
REFERENCES [dbo].[Fob] ([Cu]) GO
ALTER TABLE [dbo].[Gro] CHECK CONSTRAINT [FK_Gro_Fob] GO
ALTER TABLE [dbo].[Gro] WITH CHECK ADD CONSTRAINT [FK_Gro_napr] FOREIGN KEY([Cna])
REFERENCES [dbo].[napr] ([Cna]) GO
ALTER TABLE [dbo].[Gro] CHECK CONSTRAINT [FK_Gro_napr] GO
CREATE UNIQUE NONCLUSTERED INDEX [gr] ON [dbo].[Gro]
(
[Cfc] ASC, [Course] ASC, [Cu] ASC, [Cna] ASC, [Cgr] 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]
241
GO
Общежитие
CREATE TABLE [dbo].[obsh](
[Cob] [tinyint] IDENTITY(1,1) NOT NULL, [ob] [varchar](30) NOT NULL,
[adr] [varchar](30) NOT NULL, [upr] [varchar](30) NULL, [tel] [varchar](20) NULL,
CONSTRAINT [PK_obsh] PRIMARY KEY CLUSTERED
(
[Cob] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Абитуриент
CREATE TABLE [dbo].[abit](
[Cab] [tinyint] IDENTITY(1,1) NOT NULL, [FIO] [varchar](60) NOT NULL,
[Cgr] [varchar](10) NULL, [adr] [varchar](70) NULL, [fact_adr] [varchar](70) NULL, [tel] [varchar](50) NULL, [Natt] [varchar](50) NULL, [Csl] [tinyint] NULL,
[Crg] [tinyint] NULL, [Cob] [tinyint] NULL, [datap] [date] NULL,
CONSTRAINT [PK_abit] PRIMARY KEY CLUSTERED
(
[Cab] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
242
GO
ALTER TABLE [dbo].[abit] WITH CHECK ADD CONSTRAINT [FK_abit_Gro] FOREIGN KEY([Cgr])
REFERENCES [dbo].[Gro] ([Cgr]) GO
ALTER TABLE [dbo].[abit] CHECK CONSTRAINT [FK_abit_Gro] GO
ALTER TABLE [dbo].[abit] WITH CHECK ADD CONSTRAINT [FK_abit_obsh] FOREIGN KEY([Cob])
REFERENCES [dbo].[obsh] ([Cob]) GO
ALTER TABLE [dbo].[abit] CHECK CONSTRAINT [FK_abit_obsh] GO
ALTER TABLE [dbo].[abit] WITH CHECK ADD CONSTRAINT [FK_abit_reg] FOREIGN KEY([Crg])
REFERENCES [dbo].[reg] ([Crg]) GO
ALTER TABLE [dbo].[abit] CHECK CONSTRAINT [FK_abit_reg] GO
ALTER TABLE [dbo].[abit] WITH CHECK ADD CONSTRAINT [FK_abit_School] FOREIGN KEY([Csl])
REFERENCES [dbo].[School] ([Csl]) GO
ALTER TABLE [dbo].[abit] CHECK CONSTRAINT [FK_abit_School] GO
Студент
243
CREATE TABLE [dbo].[stud](
[Cst] [tinyint] IDENTITY(1,1) NOT NULL, [FIO] [varchar](60) NOT NULL,
[Cgr] [varchar](10) NULL, [adr] [varchar](70) NULL, [fact_adr] [varchar](70) NULL, [tel] [varchar](50) NULL, [Nstudbil] [varchar](50) NULL, [Crg] [tinyint] NULL,
[Cob] [tinyint] NULL, [datap] [date] NULL,
CONSTRAINT [PK_stud] PRIMARY KEY CLUSTERED
(
[Cst] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
ALTER TABLE [dbo].[stud] WITH CHECK ADD CONSTRAINT [FK_stud_Gro] FOREIGN KEY([Cgr])
REFERENCES [dbo].[Gro] ([Cgr]) GO
ALTER TABLE [dbo].[stud] CHECK CONSTRAINT [FK_stud_Gro] GO
ALTER TABLE [dbo].[stud] WITH CHECK ADD CONSTRAINT [FK_stud_obsh] FOREIGN KEY([Cob])
REFERENCES [dbo].[obsh] ([Cob]) GO
ALTER TABLE [dbo].[stud] CHECK CONSTRAINT [FK_stud_obsh] GO
244
ALTER TABLE [dbo].[stud] WITH CHECK ADD CONSTRAINT [FK_stud_reg] FOREIGN KEY([Crg])
REFERENCES [dbo].[reg] ([Crg]) GO
ALTER TABLE [dbo].[stud] CHECK CONSTRAINT [FK_stud_reg]
Предметы
CREATE TABLE [dbo].[pred](
[Cpr] [tinyint] IDENTITY(1,1) NOT NULL, [pred] [varchar](50) NOT NULL,
CONSTRAINT [PK_pred] PRIMARY KEY CLUSTERED
(
[Cpr] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Кафедра
CREATE TABLE [dbo].[kafed](
[Ckaf] [tinyint] IDENTITY(1,1) NOT NULL, [kaf] [varchar](70) NOT NULL,
[tel] [varbinary](20) NULL, [Ccp] [tinyint] NULL,
CONSTRAINT [PK_kafed] PRIMARY KEY CLUSTERED
(
[Ckaf] 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
245
ALTER TABLE [dbo].[kafed] WITH CHECK ADD CONSTRAINT [FK_kafed_corp] FOREIGN KEY([Ccp])
REFERENCES [dbo].[corp] ([CCp]) GO
ALTER TABLE [dbo].[kafed] CHECK CONSTRAINT [FK_kafed_corp]
Должность преподавателя
CREATE TABLE [dbo].[dolj](
[Cdl] [tinyint] IDENTITY(1,1) NOT NULL, [Dolj] [varchar](50) NOT NULL,
CONSTRAINT [PK_dolj] PRIMARY KEY CLUSTERED
(
[Cdl] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Преподаватель
CREATE TABLE [dbo].[prep](
[Cprep] [tinyint] IDENTITY(1,1) NOT NULL, [fam] [varchar](60) NOT NULL,
[dolj] [tinyint] NULL, [uchst] [varchar](50) NULL,
CONSTRAINT [PK_prep] PRIMARY KEY CLUSTERED
(
[Cprep] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Кафедра-преподаватель-должность
CREATE TABLE [dbo].[Kaf_prep](
246
[Ckaf] [tinyint] NOT NULL, [Cprep] [tinyint] NOT NULL, [Cdolj] [tinyint] NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Kaf_prep] WITH CHECK ADD CONSTRAINT [FK_Kaf_prep_dolj] FOREIGN KEY([Cdolj])
REFERENCES [dbo].[dolj] ([Cdl]) GO
ALTER TABLE [dbo].[Kaf_prep] CHECK CONSTRAINT [FK_Kaf_prep_dolj]
GO
ALTER TABLE [dbo].[Kaf_prep] WITH CHECK ADD CONSTRAINT [FK_Kaf_prep_kafed] FOREIGN KEY([Ckaf])
REFERENCES [dbo].[kafed] ([Ckaf]) GO
ALTER TABLE [dbo].[Kaf_prep] CHECK CONSTRAINT [FK_Kaf_prep_kafed]
GO
ALTER TABLE [dbo].[Kaf_prep] WITH CHECK ADD CONSTRAINT [FK_Kaf_prep_prep] FOREIGN KEY([Cprep])
REFERENCES [dbo].[prep] ([Cprep]) GO
ALTER TABLE [dbo].[Kaf_prep] CHECK CONSTRAINT [FK_Kaf_prep_prep]
GO
Создадим уникальный индекс kaf для полей – внешних ключей преподаватель, кафедра, должность
247
CREATE UNIQUE NONCLUSTERED INDEX [kaf] ON [dbo].[Kaf_prep]
(
[Ckaf] ASC,
[Cprep] ASC,
[Cdolj] 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
Расписание для преподавателей, студентов, абитуриенов
CREATE TABLE [dbo].[Rasp]( [Cpr] [tinyint] NOT NULL,
[Cprep] [tinyint] NOT NULL, [Cgr] [varchar](10) NOT NULL, [d1] [date] NOT NULL,
[t1] [time](7) NULL, [clock] [int] NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Rasp] WITH CHECK ADD CONSTRAINT [FK_Rasp_Gro] FOREIGN KEY([Cgr])
REFERENCES [dbo].[Gro] ([Cgr]) GO
ALTER TABLE [dbo].[Rasp] CHECK CONSTRAINT [FK_Rasp_Gro] GO
ALTER TABLE [dbo].[Rasp] WITH CHECK ADD CONSTRAINT [FK_Rasp_pred] FOREIGN KEY([Cpr])
REFERENCES [dbo].[pred] ([Cpr])
248
GO
ALTER TABLE [dbo].[Rasp] CHECK CONSTRAINT [FK_Rasp_pred] GO
ALTER TABLE [dbo].[Rasp] WITH CHECK ADD CONSTRAINT [FK_Rasp_prep] FOREIGN KEY([Cprep])
REFERENCES [dbo].[prep] ([Cprep]) GO
ALTER TABLE [dbo].[Rasp] CHECK CONSTRAINT [FK_Rasp_prep] GO
CREATE UNIQUE NONCLUSTERED INDEX [Clock_prep] ON [dbo].[Rasp]
(
[Cpr] ASC, [Cprep] ASC, [Cgr] ASC, [d1] 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
Оклад преподавателя
CREATE TABLE [dbo].[Oklad](
[Cok] [tinyint] IDENTITY(1,1) NOT NULL, [Cdolj] [tinyint] NULL,
[Oklad] [int] NOT NULL,
CONSTRAINT [PK_Oklad] PRIMARY KEY CLUSTERED
(
[Cok] ASC
249
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Oklad] WITH CHECK ADD CONSTRAINT [FK_Oklad_dolj] FOREIGN KEY([Cdolj])
REFERENCES [dbo].[dolj] ([Cdl]) GO
ALTER TABLE [dbo].[Oklad] CHECK CONSTRAINT [FK_Oklad_dolj]
GO
CREATE UNIQUE NONCLUSTERED INDEX [okl] ON [dbo].[Oklad]
(
[Cok] ASC,
[Cdolj] 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
CREATE TABLE [dbo].[WPr_st](
[Cnum] [bigint] IDENTITY(1,1) NOT NULL, [Cprep] [tinyint] NOT NULL,
[Cst] [tinyint] NOT NULL, [data] [date] NOT NULL, [workst] [varchar](50) NULL, [mark] [tinyint] NULL,
250