Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Неделя 02 Лекция 1 (3).doc
Скачиваний:
3
Добавлен:
13.11.2019
Размер:
369.66 Кб
Скачать

3.3. Физическая модель базы данных «библиотека».

На первой лекции вашему вниманию была представлена логическая модель базы данных «Библиотека». Реализуем ее с помощью средств сервера InterBase. Имена базы данных, таблиц и полей таблиц выполним, переведя их русские названия на английский язык. В дальнейшем русские названия полей будут служить их заголовками в объектах пользовательского интерфейса.

Итак. Имя базы данных – LIBRARY.GBD. В таблице 3.2 приведены названия десяти таблиц, которые в нее входят согласно логической модели. В таблицах 3.3 – 3.12 приведены имена полей, типы данных и их размерность согласно спецификациям InterBase. Здесь же показаны ключевые поля, которые обеспечивают ссылочную целостность данных. Буквами “P” и “F” обозначены PRIMARY KEY (первичный ключ) и FOREIGN KEY (внешний ключ) соответственно. Для обеспечения ссылочной целостности первичный ключ должен корреспондироваться с внешним ключом другой (дочерней) таблицы. Данные связи показаны между таблицами на диаграмме (рис. 3.1).

Таблица 3.2.

Имена таблиц в базе данных LIBRARY.GBD.

№ п.п.

Наименование

Имя в LIBRARY.GBD

ЧИТАТЕЛИ

Readers

БИБЛИОТЕКАРИ

Librarians

КНИГИ

Books

ПАСПОРТНЫЕ ДАННЫЕ

PasportData

ТЕЛЕФОНЫ

Phones

АВТОРЫ КНИГ

BookAuthors

ИНВЕНТАРНЫЕ НОМЕРА КНИГ

BookInventaryNumbers

УЧЕТ ВЫДАЧИ КНИГ

BookGiveOutRecord

ТИПЫ ФОНДОВ КНИГ

BookFunds

ТИПЫ ТЕЛЕФОНОВ

PhoneTypes

Таблица 3.3.

Спецификация таблицы Readers (ЧИТАТЕЛИ).

№ п.п.

Заглавие

Имя поля

Тип

Длина

Ключ

Код

Code

INTEGER

P

Фамилия

FamilyName

CHAR

30

Имя

Name

CHAR

30

Отчество

Patronymic

CHAR

30

№ читательского билета

ReaderCardNumber

INTEGER

Код паспорта

PasportCode

INTEGER

F

Место основной работы

Job

CHAR

60

Должность

Post

CHAR

30

Примечания

Note

BLOB

Таблица 3.4.

Спецификация таблицы Librarians (БИБЛИОТЕКАРИ).

№ п.п.

Заглавие

Имя поля

Тип

Длина

Ключ

Код

Code

INTEGER

P

Табельный номер

ClockNumber

INTEGER

Фамилия

FamilyName

CHAR

30

Имя

Name

CHAR

30

Отчество

Patronymic

CHAR

30

Код паспорта

PasportCode

INTEGER

F

Должность

Post

CHAR

30

Домашний телефон

HomePhone

CHAR

7

Примечания

Note

BLOB

Таблица 3.5.

Спецификация таблицы Books (КНИГИ).

№ п.п.

Заглавие

Имя поля

Тип

Длина

Ключ

Код

Code

INTEGER

P

Название

Name

CHAR

200

Код автора

AuthorCode

INTEGER

F

Год издания

IssueYear

DATA

Тираж

Drawing

INTEGER

УДК

UDK

CHAR

20

Шифр

Cipher

CHAR

10

Примечания

Note

BLOB

Таблица 3.6.

Спецификация таблицы PasportData (ПАСПОРТНЫЕ ДАННЫЕ).

№ п.п.

Заглавие

Имя поля

Тип

Длина

Ключ

Код

Code

INTEGER

P

Серия паспорта

Series

CHAR

2

№ папорта

Number

INTEGER

Дата рождения

Birthday

DATE

Место рождения

BirthPlace

CHAR

30

Пол

Sex

CHAR

1

Место выдачи паспорта

IssuePlace

CHAR

100

Дата выдачи паспорта

IssueDate

DATE

Прописка

Note

BLOB

Таблица 3.7.

Спецификация таблицы Phones (ТЕЛЕФОНЫ).

№ п.п.

Заглавие

Имя поля

Тип

Длина

Ключ

Код читателя

ReaderCode

INTEGER

F

Код типа телефона

PhoneTypeCode

INTEGER

F

№ телефона

PhoneNumber

CHAR

20

Таблица 3.8.

Спецификация таблицы BookAuthors (АВТОРЫ КНИГ).

№ п.п.

Заглавие

Имя поля

Тип

Длина

Ключ

Код

Code

INTEGER

P

Фамилия

FamilyName

CHAR

30

Имя

Name

CHAR

30

Отчество

Patronymic

CHAR

30

Дата рождения

Birthday

DATE

Дата смерти

Deatheday

DATE

Краткая биография

ShortBiography

BLOB

Примечания

Note

BLOB

Таблица 3.9.

Спецификация таблицы BookInventaryNumbers (ИНВЕНТАРНЫЕ НОМЕРА КНИГ).

№ п.п.

Заглавие

Имя поля

Тип

Длина

Ключ

Код

Code

INTEGER

P

Код книги

BookCode

INTEGER

F

Код фонда

FundCode

INTEGER

F

Инвентарный номер

InventoryNumber

INTEGER

Стоимость

Cost

FLOAT

Рис. 3.1. Связи между таблицами базы данных LIBRARY.GBD.

Таблица 3.10.

Спецификация таблицы BookGiveOutRecord (УЧЕТ ВЫДАЧИ КНИГ).

№ п.п.

Заглавие

Имя поля

Тип

Длина

Ключ

Код

Code

INTEGER

P

Код читателя

ReaderCode

INTEGER

F

Код библиотекаря, выдавшего книгу

OutLibrarianCode

INTEGER

F

Код инвентарного номера книги

InventoryCode

INTEGER

F

Дата выдачи

IssueDate

DATE

Дата возврата

ReturnDate

DATE

Фактическая дата возврата

FactReturnDate

DATE

Код библиотекаря, принявшего книгу

InLibrarianCode

INTEGER

F

Таблица 3.11.

Спецификация таблицы BookFunds (ТИПЫ ФОНДОВ КНИГ).

№ п.п.

Заглавие

Имя поля

Тип

Длина

Ключ

Код

Code

INTEGER

P

Наименование

Name

CHAR

20

Таблица 3.12.

Спецификация таблицы PhoneTypes (ТИПЫ ТЕЛЕФОНОВ).

№ п.п.

Заглавие

Имя поля

Тип

Длина

Ключ

Код

Code

INTEGER

P

Наименование

Name

CHAR

20

В реализации физической модели базы данных нам поможет язык работы с базами данных – это язык структурированных запросов (Structured Query Language), или сокращенно – SQL.