Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет БД.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
12.88 Mб
Скачать

Тема 3 Проектирование структуры таблиц при использовании case-средства erwin и консоли sql Server Management Studio

Задание 1

Выполните обратное проектирование вашей базы данных. Просмотрите графическую структуру созданных таблиц. Сохраните в отчете по практике. Должна получиться следующая схема, если все было правильно выполнено:

Результат выполнения задания рисунок 3.19

Рисунок 3.19 Схема БД

Задание 2

Создайте отчет о структуре таблиц в HTML формате следующего вида:

Результат выполнения задания рисунок 3.20

Рисунок 3.20 Oтчет о структуре таблиц в HTML формате

Задание 3

Создайте логическую/физическую модель БД для SQL Server 2005. В логической модели создайте сущности Студенты, Учебный план, Дисциплины, Сводная ведомость и Кадровый состав. Содержание атрибутов каждой сущности смотреть далее.

Результат выполнения задания рисунок 3.21

Рисунок 3.21 Модель БД

Задание 4

Сущность Студенты содержит атрибуты:

  • Студент_ид - идентификатор студента, ключевое поле;

  • Фамилия – фамилия студента, строковый тип размером 30 символов, не должен быть пустым;

  • Имя – имя студента, строковый тип размером 15 символов, не должен быть пустым;

  • Отчество – отчество студента, строковый тип размером 20 символов, не должен быть пустым;

  • Паспорт – серия и паспорт студента, строковый тип 12 символов, не должен быть пустым;

  • Группа – номер группы, строковый тип размером 6 символов, не должен быть пустым;

  • Адрес – адрес проживания студента, строковый тип размером 30 символов;

  • Телефон – номер телефона студента, строковый тип размером 10 символов.

Результат выполнения задания рисунок 3.22

Рисунок 3.22 Создание сущности Студенты

Задание 5

Создайте составной инверсный ключ по полям Фамилия, Имя, Отчеств.

Результат выполнения задания рисунок 3.23

Рисунок 3.23 Создание ключей

Задание 6

Создайте уникальный индекс по полю Паспорт

Результат выполнения задания рисунок 3.24

Рисунок 3.24 Создание уникального индекса

Задание 7

Настройте, что бы сущности выглядели следующим образом:

Результат выполнения задания рисунок 3.25

Рисунок 3.25 Результат настройки сущности

Задание 7

Проиндексируйте поле Группа, определив самостоятельно, каким по смыслу он должен быть Альтернативным или Инверсным.

Результат выполнения задания рисунок 3.26

Рисунок 3.26 Демонстрация поля группы

Задание 8

Сущность Учебный_план содержит атрибуты:

  • План_ид - идентификатор учебного плана, ключевое поле;

  • Семестр – семестр, в котором преподают ту или иную дисциплину, числовой тип, значение не должно быть пустым;

  • Количество_часов – количество часов отведенных на изучение дисциплины, числовой тип;

Результат выполнения задания рисунок 3.27

Рисунок 3.27 Сущность Учебный план

Задание 9

Сущность Дисциплины содержит атрибуты:

  • Дисциплина_ид - идентификатор дисциплины, ключевое поле;

  • Наименование – наименование изучаемой дисциплины, строковый тип размером 20 символов, не должен быть пустым, уникальный.

Результат выполнения задания рисунок 3.28

Рисунок 3.28 Сущность Дисциплины

Задание 10

Сущность Сводная_ведомость содержит атрибуты:

  • Оценка – оценка по дисциплине полученная студентом, числовой тип, значение не должно быть пустым и должно находиться в интервале от 1 до 5;

  • Дата_сдачи – дата и время получения оценки, тип дата-время, значение не должно быть пустым, по умолчанию текущая дата.

Результат выполнения задания рисунок 3.29

Рисунок 3.29 Сущность Сводная_ведомость

Задание 11

Сущность Кадровый_состав содержит атрибуты:

  • Работник_ид - идентификатор преподавателя, ключевое поле;

  • Фамилия – фамилия преподавателя, строковый тип размером 30 символов, не должен быть пустым;

  • Имя – имя преподавателя, строковый тип размером 15 символов, не должен быть пустым;

  • Отчество – отчество преподавателя, строковый тип размером 20 символов, не должен быть пустым;

  • Должность – должность работника колледжа, строковый тип размером 20 символов, не должен быть пустым;

  • Кафедра – кафедра, на которой работает работник колледжа, строковый тип размером 20 символов, не должен быть пустым;

  • Адрес – адрес работника, строковый тип размером 30 символов;

  • Телефон – телефон работника, строковый тип размером 10 символов.

Результат выполнения задания рисунок 3.30

Рисунок 3.30 Сущность Кадровый_состав

Задание 12

Выполните прямое проектирование созданной структуры таблиц на сервер в свою БД.

Код:

CREATE DEFAULT Количество

AS 36

go

CREATE RULE Оценка

AS @col BETWEEN 1 AND 5

go

CREATE RULE Семестр

AS @col BETWEEN 1 AND 10

go

CREATE TABLE Дисциплины

( Дисциплины_ид integer IDENTITY (1,1) ,

Наименование varchar(20) NOT NULL )

go

ALTER TABLE Дисциплины

ADD CONSTRAINT XPKДисциплины PRIMARY KEY CLUSTERED (Дисциплины_ид ASC)

go

ALTER TABLE Дисциплины

ADD CONSTRAINT Название UNIQUE (Наименование ASC)

Go

CREATE TABLE Кадровый_состав

( Работник_ид integer IDENTITY (1,1) ,

Фамилия varchar(30) NOT NULL ,

Имя varchar(15) NOT NULL ,

Отчество varchar(20) NOT NULL ,

Должность varchar(20) NOT NULL ,

Кафедра varchar(20) NOT NULL ,

Адрес varchar(30) NULL ,

Телефон varchar(10) NULL )

go

ALTER TABLE Кадровый_состав

ADD CONSTRAINT XPKКадровый_состав PRIMARY KEY CLUSTERED (Работник_ид ASC)

go

CREATE TABLE Сводная_ведомость

( Оценка integer NOT NULL ,

Дата_сдачи datetime NOT NULL ,

Дисциплины_ид integer NULL ,

Студент_ид integer NULL )

go

CREATE TABLE Студенты

( Фамилия varchar(30) NOT NULL ,

Студент_ид integer IDENTITY (1,1) ,

Имя varchar(15) NOT NULL ,

Отчество varchar(20) NOT NULL ,

Паспорт varchar(12) NULL ,

Группа varchar(6) NULL ,

Адрес varchar(30) NULL ,

Телефон varchar(10) NULL )

go

ALTER TABLE Студенты

ADD CONSTRAINT XPKСтуденты PRIMARY KEY CLUSTERED (Студент_ид ASC)

go

ALTER TABLE Студенты

ADD CONSTRAINT ogr2 UNIQUE (Группа asc)

go

CREATE TABLE Учебный_план

( План_ид integer IDENTITY (1,1) ,

Семестр integer NOT NULL ,

Количество_часов integer NULL ,

Дисциплины_ид integer NOT NULL ,

Работник_ид integer NOT NULL )

go

ALTER TABLE Учебный_план

ADD CONSTRAINT XPKУчебный_план PRIMARY KEY CLUSTERED (План_ид ASC,Дисциплины_ид ASC,Работник_ид ASC)

go

CREATE NONCLUSTERED INDEX Семестр ON Учебный_план

( Семестр ASC)

go

exec sp_bindefault 'Количество', 'Учебный_план.Количество_часов'

go

exec sp_bindrule 'Оценка', 'Сводная_ведомость.Оценка'

go

ALTER TABLE Сводная_ведомость

ADD CONSTRAINT R_11 FOREIGN KEY (Студент_ид) REFERENCES Студенты(Студент_ид)

ON DELETE NO ACTION

ON UPDATE NO ACTION

go

ALTER TABLE Сводная_ведомость

ADD CONSTRAINT R_12 FOREIGN KEY (Дисциплины_ид) REFERENCES Дисциплины(Дисциплины_ид)

ON DELETE NO ACTION

ON UPDATE NO ACTION

go

exec sp_bindrule 'Семестр', 'Студенты.Студент_ид'

go

exec sp_bindrule 'Семестр', 'Учебный_план.Семестр'

go

ALTER TABLE Учебный_план

ADD CONSTRAINT R_14 FOREIGN KEY (Дисциплины_ид) REFERENCES Дисциплины(Дисциплины_ид)

ON DELETE NO ACTION

ON UPDATE NO ACTION

go

ALTER TABLE Учебный_план

ADD CONSTRAINT R_15 FOREIGN KEY (Работник_ид) REFERENCES Кадровый_состав(Работник_ид)

ON DELETE NO ACTION

ON UPDATE NO ACTION

go

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]