Помощь в написании студенческих работ
Антистрессовый сервис

Описание физической модели базы данных

РефератПомощь в написанииУзнать стоимостьмоей работы

В таблицах реализованы ограничения уникальности полей по полю «Name», указаны ключевые поля и соединения таблиц между собой при помощи связей 1: N и N: M. Также в некоторых таблицах имеются поля в которых описаны значения по умолчанию и реализованы ограничения целостности Cascade. Перейдем от логической модели базы данных к физической модели (рисунок 2). По физической модели сгенерируем схему… Читать ещё >

Описание физической модели базы данных (реферат, курсовая, диплом, контрольная)

Перейдем от логической модели базы данных к физической модели (рисунок 2). По физической модели сгенерируем схему базы данных в СУБД MSSQL Server. Схема БД показана на рисунке 3.

Физическая модель данных.

Рисунок 2 — Физическая модель данных.

На основании полученной схемы отношений с учетом особенностей реализации и типа полей была получена структура таблиц базы данных:

Таблица «Собственность учреждения» :

CREATE TABLE [dbo]. [tblAgency](.

[Id] [bigint]IDENTITY (1,1) NOT NULL,.

[Name] [varchar](50) NOT NULL,.

CONSTRAINT [PK_tblAgency]PRIMARY KEY NONCLUSTERED.

(.

[Id]ASC.

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],.

CONSTRAINT [U_tblAgency_Name]UNIQUE NONCLUSTERED.

(.

[Name]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]. [tblBuilding](.

[Id] [bigint]IDENTITY (1,1) NOT NULL,.

[Name] [varchar](50) NOT NULL,.

CONSTRAINT [PK_tblBuilding]PRIMARY KEY NONCLUSTERED.

(.

[Id]ASC.

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],.

CONSTRAINT [U_tblBuilding_Name]UNIQUE NONCLUSTERED.

(.

[Name]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]. [tblEnterpriseStructure](.

[Id] [bigint]IDENTITY (1,1) NOT NULL,.

[Name] [varchar](50) NOT NULL,.

[Career] [varchar](50) NOT NULL,.

[DirectorFIO] [varchar](50) NOT NULL,.

[Phone] [int]NOT NULL,.

CONSTRAINT [PK_tblEnterpriseStructure]PRIMARY KEY CLUSTERED.

(.

[Id]ASC.

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],.

CONSTRAINT [U_tblEnterpriseStructure_Name]UNIQUE NONCLUSTERED.

(.

[Name]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]. [tblProfitability](.

[Id] [bigint]IDENTITY (1,1) NOT NULL,.

[Name] [varchar](50) NOT NULL,.

CONSTRAINT [PK_tblProfitability]PRIMARY KEY NONCLUSTERED.

(.

[Id]ASC.

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],.

CONSTRAINT [U_Profitability_Name]UNIQUE NONCLUSTERED.

(.

[Name]ASC.

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY].

) ON [PRIMARY].

Схема описания базы данных в MS SQL Server.

Рисунок 3 — Схема описания базы данных в MS SQL Server.

Таблица «Специализация» :

CREATE TABLE [dbo]. [tblSpecialization](.

[Id] [bigint]IDENTITY (1,1) NOT NULL,.

[Name] [varchar](50) NOT NULL,.

CONSTRAINT [PK_tblSpecialization]PRIMARY KEY NONCLUSTERED.

(.

[Id]ASC.

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],.

CONSTRAINT [U_tblSpecialization_Name]UNIQUE NONCLUSTERED.

(.

[Name]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]. [tblSquare](.

[Id] [bigint]IDENTITY (1,1) NOT NULL,.

[Name] [varchar](50) NOT NULL,.

[Type] [varchar](50) NOT NULL,.

CONSTRAINT [PK_tblSquare]PRIMARY KEY CLUSTERED.

(.

[Id]ASC.

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],.

CONSTRAINT [U_tblSquare_Name]UNIQUE NONCLUSTERED.

(.

[Name]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]. [tblTransport](.

[Id] [bigint]IDENTITY (1,1) NOT NULL,.

[Name] [varchar](50) NOT NULL,.

[Type] [varchar](50) NOT NULL,.

CONSTRAINT [PK_tblTransport]PRIMARY KEY CLUSTERED.

(.

[Id]ASC.

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],.

CONSTRAINT [U_tblTransport_Name]UNIQUE NONCLUSTERED.

(.

[Name]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]. [tblPtu](.

[RegNumber] [bigint]IDENTITY (1,1) NOT NULL,.

[Name] [varchar](50) NOT NULL,.

[Address] [varchar](150) NULL,.

[Telephone] [int]NOT NULL,.

[Agency_Id] [bigint]NOT NULL,.

[Building_Id] [bigint]NOT NULL,.

[Square] [decimal](8, 2) NOT NULL,.

[Profitability_Id] [bigint]NOT NULL,.

CONSTRAINT [PK_tblPTU]PRIMARY KEY CLUSTERED.

(.

[RegNumber]ASC.

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],.

CONSTRAINT [U_tblPtu_Name]UNIQUE NONCLUSTERED.

(.

[Name]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]. [tblPtu]WITH CHECK ADD CONSTRAINT [FK_tblPtu_tblAgency]FOREIGN KEY ([Agency_Id]).

REFERENCES [dbo]. [tblAgency]([Id]).

Связь с табицей «Собственность здания» :

ALTER TABLE [dbo]. [tblPtu]WITH CHECK ADD CONSTRAINT [FK_tblPtu_tblBuilding]FOREIGN KEY ([Building_Id]).

REFERENCES [dbo]. [tblBuilding]([Id]).

Связь с табицей «Рентабельность» :

ALTER TABLE [dbo]. [tblPtu]WITH CHECK ADD CONSTRAINT [FK_tblPtu_tblProfitability]FOREIGN KEY ([Profitability_Id]).

REFERENCES [dbo]. [tblProfitability]([Id]).

Таблица для связи таблиц «Предпринимательские структуры» и «Учебное заведение» :

CREATE TABLE [dbo]. [tblPtuEnterpriseStructure](.

[Ptu_RegNumber] [bigint]NOT NULL,.

[EnterpriseStructure_Id] [bigint]NOT NULL,.

CONSTRAINT [PK_tblPtuEnterpriseStructure]PRIMARY KEY CLUSTERED.

(.

[Ptu_RegNumber]ASC,.

[EnterpriseStructure_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].

Связь с таблицей «Предпринимательские структуры» :

ALTER TABLE [dbo]. [tblPtuEnterpriseStructure]WITH CHECK ADD CONSTRAINT [FK_tblPtuEnterpriseStructure_tblEnterpriseStructure]FOREIGN KEY ([EnterpriseStructure_Id]).

REFERENCES [dbo]. [tblEnterpriseStructure]([Id]).

Связь с таблицей «Учебное заведение» :

ALTER TABLE [dbo]. [tblPtuEnterpriseStructure]WITH CHECK ADD CONSTRAINT [FK_tblPtuEnterpriseStructure_tblPtu]FOREIGN KEY ([Ptu_RegNumber]).

REFERENCES [dbo]. [tblPtu]([RegNumber]).

Таблица для связи таблиц «Специализация» и «Учебное заведение» :

CREATE TABLE [dbo]. [tblPtuSpec](.

[Spec_Id] [bigint]NOT NULL,.

[Ptu_RegNumber] [bigint]NOT NULL,.

[Groups_Count] [int]NOT NULL,.

[Students_Count] [int]NOT NULL,.

CONSTRAINT [PK_tblPtuSpec]PRIMARY KEY NONCLUSTERED.

(.

[Spec_Id]ASC,.

[Ptu_RegNumber]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]. [tblPtuSpec]WITH CHECK ADD CONSTRAINT [FK_tblPtuSpec_tblPtu]FOREIGN KEY ([Ptu_RegNumber]).

REFERENCES [dbo]. [tblPtu]([RegNumber]).

ON UPDATE CASCADE.

ON DELETE CASCADE.

Связь с таблицей «Специализация» :

ALTER TABLE [dbo]. [tblPtuSpec]WITH CHECK ADD CONSTRAINT [FK_tblPtuSpec_tblSpecialization]FOREIGN KEY ([Spec_Id]).

REFERENCES [dbo]. [tblSpecialization]([Id]).

Реализация значения по умолчанию для поля «Количество групп» :

ALTER TABLE [dbo]. [tblPtuSpec]ADD DEFAULT ((0)) FOR [Groups_Count].

Реализация значения по умолчанию для поля «Количество учащихся» :

ALTER TABLE [dbo]. [tblPtuSpec]ADD DEFAULT ((0)) FOR [Students_Count].

Таблица для связи таблиц «Занимаемые площади» и «Учебное заведение» :

CREATE TABLE [dbo]. [tblPtuSquare](.

[Ptu_RegName] [bigint]NOT NULL,.

[Square_Id] [bigint]NOT NULL,.

[Square] [decimal](6, 2) NOT NULL,.

CONSTRAINT [PK_tblPtuSquare]PRIMARY KEY CLUSTERED.

(.

[Ptu_RegName]ASC,.

[Square_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].

Связь с таблицей «Учебное заведение» :

ALTER TABLE [dbo]. [tblPtuSquare]WITH CHECK ADD CONSTRAINT [FK_tblPtuSquare_tblPtu]FOREIGN KEY ([Ptu_RegName]).

REFERENCES [dbo]. [tblPtu]([RegNumber]).

Связь с таблицей «Занимаемые площади» :

ALTER TABLE [dbo]. [tblPtuSquare]WITH CHECK ADD CONSTRAINT [FK_tblPtuSquare_tblSquare]FOREIGN KEY ([Square_Id]).

REFERENCES [dbo]. [tblSquare]([Id]).

Таблица для связи таблиц «Транспорт» и «Учебное заведение» :

CREATE TABLE [dbo]. [tblPtuTransport](.

[Transport_Id] [bigint]NOT NULL,.

[Ptu_RegNumber] [bigint]NOT NULL,.

[Amount] [int]NOT NULL,.

CONSTRAINT [PK_tblPtuTransport2]PRIMARY KEY CLUSTERED.

(.

[Transport_Id]ASC,.

[Ptu_RegNumber]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]. [tblPtuTransport]WITH CHECK ADD CONSTRAINT [FK_tblPtuTransport_tblPtu]FOREIGN KEY ([Ptu_RegNumber]).

REFERENCES [dbo]. [tblPtu]([RegNumber]).

Связь с таблицей «Транспорт» :

ALTER TABLE [dbo]. [tblPtuTransport]WITH CHECK ADD CONSTRAINT [FK_tblPtuTransport_tblTransport]FOREIGN KEY ([Transport_Id]).

REFERENCES [dbo]. [tblTransport]([Id]).

В таблицах реализованы ограничения уникальности полей по полю «Name», указаны ключевые поля и соединения таблиц между собой при помощи связей 1: N и N: M. Также в некоторых таблицах имеются поля в которых описаны значения по умолчанию и реализованы ограничения целостности Cascade.

Показать весь текст
Заполнить форму текущей работой