Создание таблиц базы данных

Створення структури розподіленої бази даних

ХАІ.503.535.14В.050102, 1105079 ПЗ

Виконав студент гр. 535 Б Сабельніков І.В.Фамилия И.О.

10.02.2014

(підпис, дата)

Перевірив к.т.н. доцент кафедри 503

(науковий ступінь, вчене звання, посада)

Шостак А.В.

(підпис, дата) (П.І.Б.)

Харків 2014


Постановка задачи

Постановка задачи: на основании таблиц физической модели данных и бизнес-правил предметной области создать:

1. Скрипт создания таблиц БД.

2. Скрипт модификации таблиц БД.

3. Диаграмму БД.

4. Скрипт удаления таблиц БД.

5. Скрипт занесения информации в таблицы БД.

6. Скрипт изменения информации в таблицах БД.

7. Скрипт удаления информации из таблиц БД.

Для создания указанных скриптов использовать следующие команды языка определения данных DDL:

Создать объект Удалить объект Модифицировать объект
CREATE TABLE DROP TABLE ALTER TABLE

А также команды языка манипулирования данными DML.

Изменяют данные таблиц INSERT DELETE, TRUNCATE UPDATE

Введение ограничений на столбцы и таблицы осуществлять с использованием следующих предложений - NOT NULL, UNIQUE, PRIMARY KEY, CHECK, DEFAULT, CONSTRAINT, FOREING KEY.

Письменный отчет по лабораторной работе должен содержать:

1. Титульный лист, содержащий – название лабораторной работы, фамилию, имя, отчество, номер группы исполнителя, дату сдачи.

2. Скрипт создания таблиц БД.

3. Скрипт изменения таблиц БД.

4. Диаграмму БД.

5. Скрипт удаления таблиц БД.

6. Скрипт занесения информации в таблицы БД.

7. Скрипт обновления информации в таблицы БД.

8. Скрипт удаления информации из таблиц БД.

9. Примеры таблиц с данными, таблиц после изменения данных и т.п.

10. Выводы по лабораторной работе (в выводах отразить особенности построения модели, скриптов, и пути дальнейшей модернизации БД).


Создание таблиц базы данных

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

Листинг 1. Скрипт создания таблицы Account

USE [Tester]

SET ANSI_NULLS ON

SET QUOTED_IDENTIFIER ON

CREATE TABLE [dbo].[Account](

[Id] [int] IDENTITY(1,1) NOT NULL,

[Nick_Name] [nvarchar](10) NOT NULL,

[Full_Name] [nvarchar](25) NOT NULL,

[Account_Type] [tinyint] NOT NULL,

[Notes] [nvarchar](100) NULL,

CONSTRAINT [PK_Account] 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 [UN_Account_Nick] UNIQUE NONCLUSTERED

(

[Nick_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]

Листинг 2. Скрипт создания таблицы Question

USE [Tester]

SET ANSI_NULLS ON

SET QUOTED_IDENTIFIER ON

CREATE TABLE [dbo].[Question](

[Id] [tinyint] IDENTITY(1,1) NOT NULL,

[Name] [nvarchar](60) NOT NULL,

[Answers] [nvarchar](1000) NOT NULL,

[Right_Answers] [nvarchar](20) NOT NULL,

[Id_Test] [int] NOT NULL,

CONSTRAINT [PK_Question] 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]

) ON [PRIMARY]

Листинг 3. Скрипт создания таблицы Session

USE [Tester]

SET ANSI_NULLS ON

SET QUOTED_IDENTIFIER ON

CREATE TABLE [dbo].[Session](

[Id] [int] IDENTITY(1,1) NOT NULL,

[Id_Account] [int] NOT NULL,

[Id_Test] [int] NOT NULL,

[Passed_Questions] [nvarchar](1000) NULL,

[Answers] [nvarchar](1000) NULL,

[Start_Time] [datetime] NOT NULL,

CONSTRAINT [PK_Session] 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 [UN_Session_Account] UNIQUE NONCLUSTERED

(

[Id_Account] ASC

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

) ON [PRIMARY]

Листинг 4. Скрипт создания таблицы TestCase

USE [Tester]

SET ANSI_NULLS ON

SET QUOTED_IDENTIFIER ON

CREATE TABLE [dbo].[TestCase](

[Id] [int] IDENTITY(1,1) NOT NULL,

[Name] [nvarchar](20) NOT NULL,

[Description] [nvarchar](50) NULL,

[Id_Creator] [int] NOT NULL,

[Creation_Date] [datetime] NULL,

[Time_To_Answer] [time](0) NOT NULL,

[Questions_Amount] [tinyint] NOT NULL,

CONSTRAINT [PK_TestCase] 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 [UN_TestCase_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]

Листинг 5. Скрипт создания таблицы Type

USE [Tester]

SET ANSI_NULLS ON

SET QUOTED_IDENTIFIER ON

CREATE TABLE [dbo].[Type](

[Id] [tinyint] IDENTITY(1,1) NOT NULL,

[Name] [nvarchar](20) NOT NULL,

[Description] [nvarchar](100) NULL,

[Rights] [tinyint] NOT NULL,

CONSTRAINT [PK_Type] 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 [UN_Type_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]



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: