Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
451949.rtf
Скачиваний:
7
Добавлен:
21.11.2019
Размер:
25.36 Mб
Скачать

3. Построение концептуальной модели базы данных

Пользуясь построенной ER-диаграммой, разработаем концептуальную модель данных. При разработке ER-диаграммы были выделены в отдельные сущности зачетки, аттестация, тип стипендии, ученая степень, занимаемая студентом должность.

В результате имеем 9 таблиц. Определим для них первичные ключи.

Таблицы University, Department, Chair, Lecturer имеют первичные ключи, имя которых было образовано путем добавления к имени сущности выражения “ID”. Ключи имеют тип INTEGER ввиду того, что объем данных, которые могут содержаться в них, будет очень велик.

Такие таблицы как WeekType, Time, ChairType, имеют первичный ключ, название которого образовано по правилу, описанному выше, типа SMALLINT, поскольку данные в этих таблицах не будут изменяться с большой динамикой и как правило значения, хранящиеся в них, будут внесены однажды и без изменений.

Таблица Discipline имеет первичный ключ DisciplineNumber типа VARCHAR(20) для хранения символьного кода дисциплины.

Таблица Lecture имеет составной ключ, из полей GroupName, LecturerID, TimeID, WeekTypeID, DayOfWeekNumber.

В результате имеем следующую концептуальную модель:

Рис.2 Концептуальная модель.

4. Построение физической модели и создание базы данных

В разрабатываемой базе данных содержится 9 таблиц. Приведем описание каждой таблицы базы данных. Скрипты создания базы данных содержатся в приложении.

#

Название столбца

Тип данных

Ограничение

Комментарии

Discipline(Дисциплина)

1

DISCIPLINENUMBER

VARCHAR (20) NOT NULL

Первичный ключ

2

NAME

VARCHAR (250) NOT NULL

Название дисциплины

3

HOURS

SMALLINT NOT NULL

Количество часов

WeekType(Тип недели)

1

WEEKTYPEID

SMALLINT NOT NULL PRIMARY KEY

Первичный ключ

2

NAME

VARCHAR (100) NOT NULL

Название

Time(Начало пары)

1

TIMEID

SMALLINT NOT NULL PRIMARY KEY

Первичный ключ

2

HOUR

SMALLINT NOT NULL

Час начала пары

3

MINUTE

SMALLINT NOT NULL

Минута начала пары

ChairType(Тип кафедры)

1

CHAIRTYPEID

SMALLINT NOT NULL PRIMARY KEY

Первичный ключ

2

NAME

VARCHAR (250) NOT NULL

Название типа кафедры

University(Университет)

1

UNIVERSITYID

INTEGER NOT NULL PRIMARY KEY

Первичный ключ

2

NAME

VARCHAR (100) NOT NULL

3

ACCREDITATIONLEVEL

SMALLINT NOT NULL

Уровень аккредитации

4

CREATIONDATE

DATE NOT NULL

Дата создания

5

ADDRESS

VARCHAR (250)

Адрес ВУЗА

6

PHONE

VARCHAR (40)

Контактный телефон

Department(Факультет)

1

DEPARTMENTID

INTEGER NOT NULL PRIMARY KEY

Первичный ключ

2

UNIVERSITYID

INTEGER NOT NULL

Ссылка на таблицу University

3

NAME

VARCHAR (250) NOT NULL

Название

4

CREATIONDATE

DATE NOT NULL

Дата создания

Chair(Кафедра)

1

CHAIRID

INTEGER NOT NULL PRIMARY KEY

Первичный ключ

2

CHAIRTYPEID

SMALLINT NOT NULL

Ссылка на таблицу Chair

3

DEPARTMENTID

INTEGER

Ссылка на таблицу Department

4

NAME

VARCHAR (250) NOT NULL

Название

5

CREATIONDATE

DATE NOT NULL

Дата создания

Lecturer(Лектор)

1

LECTURERID

INTEGER NOT NULL PRIMARY KEY

Первичный ключ

2

CHAIRID

INTEGER NOT NULL

Ссылка на таблицу Chair

3

LASTNAME

VARCHAR (70) NOT NULL

Фамилия

4

FIRSTNAME

VARCHAR (70) NOT NULL

Имя

5

MIDDLENAME

VARCHAR (70) NOT NULL

Отчество

6

ACADEMICDEGREENAME

VARCHAR (120) NOT NULL

Ученая степень

7

POST

VARCHAR (250) NOT NULL

Занимаемая должность

Lecture(Лекция)

1

GROUPNAME

INTEGER NOT NULL PRIMARY KEY

Первичный ключ

2

LECTURERID

VARCHAR(20) NOT NULL PRIMARY KEY

Ссылка на таблицу Lecturer

3

DISCIPLINENUMBER

INTEGER NOT NULL

Ссылка на таблицу Discipline

4

TIMEID

SMALLINT NOT NULL PRIMARY KEY

Ссылка на таблицу Time

5

WEEKTYPEID

SMALLINT NOT NULL PRIMARY KEY

Ссылка на таблицу WeekType

6

DAYOFWEEKNUMBER

SMALLINT NOT NULL PRIMARY KEY

День недели

7

AUDITORIUM

VARCHAR (20) NOT NULL

Номер аудитории

8

BUILDINGNAME

VARCHAR (20) NOT NULL

Название корпуса

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