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

Лабораторная работа № 5

Проектирование и создание базы данных

Цель работы: получить навыки проектирования и создания баз данных с использованием утилиты Database Desktop в системе Delphi.

Продолжительность работы - 4 ч.

Теоретические сведения Проектирование базы данных

Методику проектирования базы данных рассмотрим на примере выполнения учебного задания, по условию которого нужно спроектировать БД и разработать информационную систему для учета жителей и их доходов.

В БД должна храниться информация:

1) о жителях;

2) квартирах, занимаемых жителями;

3) телефонах, установленных в квартирах;

4) источниках и размерах доходов жителей.

В учебном задании объектами, представляющими интерес, являются ЖИТЕЛЬ, КВАРТИРА, ТЕЛЕФОН, ДОХОД. Описание каждого из объектов показано на рис.1. Связи между объектами отражаются на диаграмме ER-типа (рис.2).

В соответствии с методом проектирования БД на основе инфологической модели объекты и связи между ними представляются в БД пятью таблицами:

PERSON (Nom, FIO, Rdate, Pol, SumD, Adr)

FLAT (Adr, Skv, Nrooms, KCategory)

TPHONE (Ntel, TCategory, Adr)

PROFIT (Id, Source, Moneys)

HAVE_D(Nom, Id)

Рис.1. Описания объектов

Проектирование БД завершается оформлением схемы БД, в которой перечисляются входящие в БД таблицы, атрибуты (столбцы) таблиц и характеристики атрибутов (тип, длина, индексация (ключ) и др.). Схема БД составляется с учетом особенностей СУБД, которая будет выбрана для реализации БД.

Д

Рис.2. Диаграмма ER-типа

ля учебного задания выберем СУБД PARADOX. В этой СУБД имеется ряд типов данных, которые хорошо подходят в качестве типов атрибутов (столбцов) таблиц и позволяют адекватно представить специфику атрибутов (табл.1).

В таблице 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 и TCategory относятся к типу Alpha, а атрибут Adr должен иметь тот же тип Alpha, что и одноименные атрибуты в таблицах PERSON и FLAT.

Таблица 1

Некоторые типы данных субд paradox

Тип

Обозначение

Размер

Примечание

Alpha

A

1..255

Обычная текстовая информация, не превышающая 255 символов

Number

N

Числа с плавающей запятой

Money

$

Денежная сумма (аналог типа Number, сформатированный для отображения денежных сумм)

Short

S

Двухбайтовое целое

Long Integer

I

Четырехбайтовое целое

Date

D

Дата

Time

T

Время в мс от полуночи

TimeStamp

@

Комбинация даты и времени

Logical

L

Логический (True/False)

Autoincrement

+

Long Integer с автоматическим приращением единицы

Memo

M

1..240

Текст большого объема

В таблице 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.

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

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

Мы не исправляем ошибки в тексте (почему?), но будем благодарны, если вы все же напишите об ошибках.

Соседние файлы в папке version3