Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
61
Добавлен:
16.04.2013
Размер:
1.89 Mб
Скачать

18

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ

ЭЛЕКТРОННОЙ ТЕХНИКИ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)

Кафедра информатики и ПО ВС

Дисциплина “Базы данных и экспертные системы”

УТВЕРЖДАЮ

Зав. кафедрой,

профессор, д.т.н.

________ Шаньгин В.Ф.

“____”________ 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.

На основе схемы БД создается сама БД. Создавая БД, стремятся, чтобы при ее эксплуатации обеспечивались целостность БД и высокая скорость доступа к информации, хранящейся в БД.

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

Оставленные комментарии видны всем.