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

15. Пример проектирования рбд: создание илм и переход к длм.

В качестве предметной области-жители Зеленограда. Сформируем простую реляционную БД, где хранятся сведения для налоговой инспекции.

ИЛП

1. Описание объектов и связей между ними.

Диаграмма ER-типа:

Упрощения:

  1. Рассматриваются только те жители, которые имеют квартиру.

  2. Житель может быть зарегистрирован только в одной квартире.

  3. Учитываются только населенные квартиры, в которых зарегистрированы жители.

  4. В одной квартире могут быть зарегистрированы несколько жителей.

  5. Для одной квартиры один номер телефона.

  6. Не во всякой квартире может быть телефон.

  7. Имеются жители без источника дохода (дети).

  8. У одного жителя может быть несколько источников дохода.

  9. Разные виды дохода у разных жителей.

  10. Имеются виды доходов, которые не используются.

2. Лингвистические отношения

– описания всех терминов и понятий, которые используются при описании объектов.

Nom– порядковый номер.

KCategory– приватизированнаяP, неприватизированнаяN, коммун.K

Money- в как ед.

3. Алгоритмический набор показателей(атрибутов).

Граф взаимосвязей показателей.

4. Описание информационных потребностей пользователей

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

  1. Вывести список всех жителей с указ. общим доходом.

  2. Вывести список жителей, где общий доход >= налогооблагаемого min.

  3. Подсчитать налоги отдельных жителей и общую сумму налогов.

5. Ограничение целостности.

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

-Доход>0

-Значение KCategoryвыбиралось из списка(N,K,P)

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

ДЛП

Анализ СУБД, ознакомление со средствами проектирования БД, определение состава БД.

При выполнении ДЛП надо определить состав БД.

Определение состава БД и отношений

Принцип синтезирования:

В состав БД включают атрибуты всех сущностей + вычисляемый доход SumD.

БД состоит из 5 отношений:

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

FLAT (Adr, Skv, Nrooms, KCategory)

TPHONE (Ntel, TCategory, Adr)

PROFIT (Id, Source, Moneys)

HAVE_D(Nom, Id)

Таблица

БД

Атрибут

Тип

Размер

Допустимые

значения

Значение по

умолчанию

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

16 Сравнение однотабличной и многотабличной баз данных.

Могут возникать проблемы вставки, обновления, удаления.

Проблема вставки

В любой БД не должно быть полей с неопределенными или пустыми значениями.

Например: для однотабличной БД жителей Зеленограда, появляется новорожденный, у которого отсутствует источники дохода. Мы не можем внести его в таблицу, учитывая ограничение, приведенное выше. Для многотабличной БД: занесем в общую базу, указав, что источник дохода = 0.

Проблема обновления

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

Например: Петрова поменяла место жительства. Придется изменять адрес во всех строках, относящихся к фамилии Петрова. В спроектированной БД изменится значение адреса в одной строке таблицы PERSONи информация в таблицеFLAT.

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

В многотабличной БД ищем в таблице PERSONномер квартиры. Затем по номеру квартиры находим номер телефона и обновляем его.

Проблема удаления

Если житель лишится единственного источника дохода, то информация о нем будет удалена полностью. В многотабличной БД в таблице HAVEDобщий доход станет = 0, остальная информация сохранится.

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