
- •1. Проектирование бд
- •2. Обеспечение целостности бд
- •3. Обеспечение быстрого доступа к информации
- •4. Создание базы данных
- •4.1. Создание каталогов
- •4.2. Создание псевдонима для бд
- •4.3. Проверка наличия драйвера субд
- •4.4. Описание структуры таблиц
- •5. Лабораторное задание
- •6. Порядок выполнения лабораторной работы
- •7. Требования к отчету
- •8. Варианты заданий
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ
ЭЛЕКТРОННОЙ ТЕХНИКИ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)
Кафедра информатики и ПО ВС
Дисциплина “Базы данных и экспертные системы”
УТВЕРЖДАЮ
Зав. кафедрой,
профессор, д.т.н.
________ Шаньгин В.Ф.
“____”________ 2000 г.
Лабораторная работа
ПРОЕКТИРОВАНИЕ И СОЗДАНИЕ БАЗЫ ДАННЫХ
Разработал
доцент Илюшечкин В.М.
Москва - 2000
Лабораторная работа
ПРОЕКТИРОВАНИЕ И СОЗДАНИЕ БАЗЫ ДАННЫХ
Цель работы:получить навыки проектирования и создания баз данных с использованием утилиты Database Desktop в системе Delphi.
1. Проектирование бд
Методику проектирования базы данных (БД) рассмотрим на примере выполнения учебного задания, по условию которого нужно спроектировать БД и разработать информационную систему для учета жителей и их доходов.
В БД должна храниться информация:
1) о жителях,
2) о квартирах, занимаемых жителями,
3) о телефонах, установленных в квартирах,
4) об источниках и размерах доходов жителей.
В учебном задании объектами, представляющими интерес, являются ЖИТЕЛЬ, КВАРТИРА, ТЕЛЕФОН, ДОХОД. Описание каждого из объектов показано на рис.1. Связи между объектами отражаются на диаграмме ER-типа (рис.2).
ЖИТЕЛЬ КВАРТИРА
S
Порядковый
S
Nom
номер
Adr
Адрес
жителя
D
S
FIO
ФИО
SkvПлощадь
квартиры
(кв.м)
S
S
Rdate ДатаNrooms Количество
рождения
комнат
S
D
Pol
Пол:М
- мужскойKCategoryКатегория квартиры:
Ж
- женский
П - приватизир.
D
Н
- неприват.
SumD Общий
доход
К - коммунальн.
Рис.1. Описания объектов.
ТЕЛЕФОН ДОХОД
S
S
Ntel
НомерIdИдентификатор
телефона
дохода
D
S
TCategory
КатегорияSourceНазвание
источника
телефона:
дохода
О
- обычный D
Д
- спаренныйMoneysРазмер
С
- сотовый
дохода
Рис.1. Описания объектов (продолжение).
ЖИВЕТ
ИМЕЕТ_Т
ЖИТЕЛЬ . .КВАРТИРА.ТЕЛЕФОН
Nom, ...Adr, ...Ntel, ...
ИМЕЕТ_Д
ДОХОД .
Id, ...
Рис.2. Диаграмма ER-типа.
В соответствии с правилами, рассматриваемыми на лекциях, объекты и связи между ними представляются в БД пятью таблицами:
PERSON(Nom, FIO, Rdate, Pol, SumD, Adr)
FLAT (Adr, Skv, Nrooms, KCategory)
TPHONE(Ntel, TCategory, Adr)
PROFIT(Id, Source, Moneys)
HAVE_D(Nom,Id)
Проектирование БД завершается оформлением схемы БД, в которой перечисляются входящие в БД таблицы, атрибуты (столбцы) таблиц и характеристики атрибутов (тип, длина, индексация (ключ) и др.). Схема БД составляется с учетом особенностей СУБД, которая будет выбрана для реализации БД.
Для учебного задания выберем СУБД PARADOX. В этой СУБД имеется ряд типов данных, которые хорошо подходят в качестве типов атрибутов (столбцов) таблиц и позволяют адекватно представить специфику атрибутов (табл.1).
Таблица 1
Некоторые типы данных СУБД PARADOX
Тип |
Обозначение |
Размер |
Примечание |
Alpha |
A |
1..255 |
Обычная текстовая информация, не превышающая 255 символов |
Number |
N |
|
Числа с плавающей запятой |
Money |
$ |
|
Денежная сумма (аналог типа Number, сформатированный для отображения денежных сумм) |
Short |
S |
|
2-х байтовое целое |
Long Integer |
I |
|
4-х байтовое целое |
Date |
D |
|
Дата |
Time |
T |
|
Время в мс от полуночи |
TimeStamp |
@ |
|
Комбинация даты и времени |
Logical |
L |
|
Логический (True/False) |
Autoincrement |
+ |
|
Long Integer с автоматическим приращением единицы |
Memo |
M |
1..240 |
Текст большого объема |
В таблице PERSON атрибут Nom обозначает порядковый номер жителя и используется для однозначной идентификации жителя. Чтобы порядковые номера жителей различались, номер жителя, вновь включаемого в таблицу PERSON, должен быть на 1 больше номера предыдущего жителя. Такая установка номера будет происходить автоматически, если атрибут Nom будет типа Autoincrement. Атрибуты FIO, Pol, Adr содержат текстовую информацию и могут быть типа Alpha. Атрибут Rdate должен быть типа Date. Атрибут SumD целесообразно отнести к типу Money.
В таблице FLATатрибут Adr должен иметь тот же тип Alpha, что и одноименный атрибут в таблице PERSON. Атрибут Skv обозначает площадь квартиры, задаваемую числом с дробной частью, которое относится к типу Number. Атрибут Nrooms может быть типа Short. Атрибут KCategory будет типа Alpha.
В таблице TPHONEатрибут Ntel обозначает номер телефона, задаваемый последовательностью символов, и поэтому имеет тип Alpha. Атрибут TCategory относится к типу Alpha, а атрибут Adr должен иметь тот же тип Alpha, что и одноименные атрибуты в таблицах PERSON и FLAT.
В таблице PROFIT атрибут Id используется для идентификации различныхвидов доходов(вид дохода - сочетание названия источника и размера дохода). Двух одинаковых видов доходов в таблице PROFIT быть не должно, и для автоматического обеспечения уникальности значения атрибута Id его целесообразно отнести к типу Autoincrement. Атрибуты Source и Moneys относятся к типам Alpha и Money соответственно.
В таблице HAVE_Dатрибуты Nom и Id должны быть типа Long Integer, поскольку их значения являются копиями значений одноименных атрибутов в таблицах PERSON и PROFIT соответственно. Схема БД приведена в табл. 2.
Таблица 2
Схема БД для учебного задания
Таблица БД |
Атрибут |
Тип |
Размер |
Допустимые значения |
Значение по умолчанию |
PERSON |
Nom FIO Rdate Pol SumD Adr |
Autoincrement Alpha Date Alpha Money Alpha |
30
1
30 |
М,Ж |
0 |
FLAT |
Adr Skv Nrooms KCategory |
Alpha Number Short Alpha |
30
1 |
>=0 0..4 П,Н,К |
0 0 Н |
TPHONE |
Ntel TCategory Adr |
Alpha Alpha Alpha |
8 1 30 |
###–#### О,Д,С |
О |
PROFIT |
Id Source Moneys |
Autoincrement Alpha Money |
20
|
>=0 |
0 |
HAVE_D |
Nom Id Comment |
Long Integer Long Integer Alpha |
30 |
>0 >0 |
|
Обратите внимание, что в схеме БД список атрибутов таблицы HAVE_D дополнен атрибутом Comment типа Alpha, чтобы при необходимости иметь возможность записать дополнительную информацию (комментарий) о виде дохода Id, который имеется у жителя с номером Nom.
На основе схемы БД создается сама БД. Создавая БД, стремятся, чтобы при ее эксплуатации обеспечивались целостность БД и высокая скорость доступа к информации, хранящейся в БД.