Автор работы: Пользователь скрыл имя, 20 Декабря 2012 в 13:51, курсовая работа
Объект исследования и разработки – автоматизированная система по учету доставки почты.
Цель работы – получить навыки разработки информационной и даталогической моделей для конкретной предметной области, освоить основные принципы работы в СУБД Microsoft Visual FoxPro и InterBase.
Разработаны инфологическая и даталогическая модели базы данных. На их основе разработана и реализована база данных для персональной СУБД Visual FoxPro и серверной SQL-ориентированной СУБД InterBase.
3.4 Описание логической модели
3.4.1 Описание атрибутов
Все атрибуты, их описание и тип, приведем в виде таблиц.
Таблица 3.1 – Почтовое отправление
Содержание атрибутов |
Тип |
Уникальность |
Обязательность для заполнения |
Прочие ограничения |
Почтовый идентификатор |
Числовой |
+ |
+ |
|
Вес |
Числовой |
- |
+ |
|
Дата отправления |
Дата |
- |
+ |
|
Ценность |
Числовой |
- |
+ |
|
Номер отправителя |
Числовой |
- |
+ |
|
Номер получателя |
Числовой |
- |
+ |
|
Код тарифа |
Целый |
- |
+ |
Таблица 3.2 – Отправитель
Содержание атрибутов |
Тип |
Уникальность |
Обязательность для заполнения |
Прочие ограничения |
Номер отправителя |
Числовой |
+ |
+ |
|
Ф.И.О. |
Текстовый |
- |
+ |
|
Адрес |
Текстовый |
- |
+ |
|
Индекс |
Числовой |
- |
+ |
Таблица 3.3 – Получатель
Содержание атрибутов |
Тип |
Уникальность |
Обязательность для заполнения |
Прочие ограничения |
Номер получателя |
Числовой |
+ |
+ |
|
Ф.И.О. |
Текстовый |
- |
+ |
|
Адрес |
Текстовый |
- |
+ |
|
Индекс |
Числовой |
- |
+ |
Таблица 3.4 – Тариф
Содержание атрибутов |
Тип |
Уникальность |
Обязательность для заполнения |
Прочие ограничения |
Код тарифа |
Числовой |
+ |
+ |
|
Название тарифа |
Текстовый |
- |
+ |
|
Название города |
Текстовый |
- |
+ |
|
Срок доставки |
Текстовый |
- |
+ |
|
Тип отправления |
Текстовый |
- |
+ |
|
Цена |
Числовой |
- |
+ |
|
Код услуги |
Целый |
- |
+ |
Таблица 3.5 – Услуга
Содержание атрибутов |
Тип |
Уникальность |
Обязательность для заполнения |
Прочие ограничения |
Код услуги |
Целый |
+ |
+ |
|
Название услуги |
Текстовый |
- |
+ |
|
Описание услуги |
Текстовый |
- |
+ |
Таблица 3.6 – Отслеживание почтовых отправлений
Содержание атрибутов |
Тип |
Уникальность |
Обязательность для заполнения |
Прочие ограничения |
Операция |
Текстовый |
- |
+ |
|
Атрибут операции |
Текстовый |
- |
+ |
|
Дата |
Дата |
- |
+ |
|
Код ОПС |
Числовой |
- |
+ |
|
Почтовый идентификатор |
Числовой |
- |
+ |
Таблица 3.7 – Справочник мест проведения операций
Содержание атрибутов |
Тип |
Уникальность |
Обязательность для заполнения |
Прочие ограничения |
Код ОПС |
Целый |
+ |
+ |
|
Название ОПС |
Текстовый |
- |
+ |
|
Тип ОПС |
Текстовый |
- |
+ |
|
Телефон |
Числовой |
- |
- |
|
Режим работы |
Текстовый |
- |
- |
|
Индекс |
Числовой |
- |
+ |
|
Адрес |
Текстовый |
- |
+ |
3.4.2 Правила поддержки ссылочной целостности для связей
Ссылочная целостность требует правильности значений внешнего ключа (совпадение со значением первичного ключа или пустое значение). В правилах поддержки ссылочной целостности задается реакция на попытки нарушения этих требований. Основными реакциями являются:
Зададим способ поддержки обязательных связей в виде таблицы.
Таблица 3.8 – Способ поддержки обязательных связей
Родительская сущность |
Дочерняя сущность |
Тип действия при | ||
модификации записи в родительской сущности |
удалении записи из родительской сущности |
добавлении записи в дочернюю сущность | ||
1 |
2 |
3 |
4 |
5 |
Услуга |
Тариф |
каскадное изменение в дочерней сущности |
Запрещается удалять записи в родительской таблице, если в дочерней таблице имеется хотя бы одна запись, содержащая ссылку на удаляемую запись |
запрещается новая запись, если ее идентификатор не соответствует ни одному из родительской |
Тариф |
Почтовое отправление |
каскадное изменение в дочерней сущности |
Запрещается удалять записи в родительской таблице, если в дочерней таблице имеется хотя бы одна запись, содержащая ссылку на удаляемую запись |
запрещается новая запись, если ее идентификатор не соответствует ни одному из родительской |
Почтовое отправление |
Отслеживание почтовых отправлений |
каскадное изменение в дочерней сущности |
Запрещается удалять записи в родительской таблице, если в дочерней таблице имеется хотя бы одна запись, содержащая ссылку на удаляемую запись |
запрещается новая запись, если ее идентификатор не соответствует ни одному из родительской |
Отправитель |
Почтовое отправление |
каскадное изменение в дочерней сущности |
Запрещается удалять записи в родительской таблице, если в дочерней таблице имеется хотя бы одна запись, содержащая ссылку на удаляемую запись |
запрещается новая запись, если ее идентификатор не соответствует ни одному из родительской |
Продолжение Таблицы 3.8 – Способ поддержки обязательных связей
1 |
2 |
3 |
4 |
5 |
Получатель |
Почтовое отправление |
каскадное изменение в дочерней сущности |
Запрещается удалять записи в родительской таблице, если в дочерней таблице имеется хотя бы одна запись, содержащая ссылку на удаляемую запись |
запрещается новая запись, если ее идентификатор не соответствует ни одному из родительской |
Справочник мест проведения операции |
Отслеживание почтовых отправлений |
каскадное изменение в дочерней сущности |
Запрещается удалять записи в родительской таблице, если в дочерней таблице имеется хотя бы одна запись, содержащая ссылку на удаляемую запись |
запрещается новая запись, если ее идентификатор не соответствует ни одному из родительской |
4 Физическое проектирование
4.1 Физическое проектирование для СУБД Visual FoxPro
Графическое представление БД Visual FoxPro (распечатка окна Конструктора БД) представлено на рисунке 4.1.
Рисунок 4.1 – Графическое представление БД в Visual FoxPro
В таблице 4.1 приведены данные, введенные для описания полей созданных таблиц.
Таблица 4.1 – Описание полей таблиц
Таблица |
Описания полей | ||
Name |
Type |
Width | |
1 |
2 |
3 |
4 |
pocht_otpr (Почтовое отправление |
pocht_id |
Numeric |
14 |
ves |
Numeric |
10 | |
date_otpr |
Date |
8 | |
cennost |
Numeric |
10 | |
num_otpravitel |
Numeric |
10 | |
num_poluchatel |
Numeric |
10 | |
kod_tarif |
Integer |
4 | |
otpravitel (Отправитель) |
num_otpravitel |
Numeric |
10 |
fio_otpr |
Character |
50 | |
adres_otpr |
Character |
50 | |
idx_otpr |
Numeric |
6 | |
poluchatel (Получатель) |
num_poluch |
Numeric |
10 |
fio_poluch |
Character |
5 | |
adres_poluch |
Character |
50 | |
idx_poluch |
Numeric |
6 | |
usluga (Услуга) |
kod_usl |
Integer |
4 |
nazv_usl |
Character |
50 | |
opisanie_u |
Memo |
||
tarif (Тариф) |
kod_tarif |
Integer |
4 |
nazv_t |
Character |
30 | |
gorod |
Character |
20 | |
srok_dost |
Character |
10 | |
tip_otpravl |
Character |
20 | |
stoimost |
Numeric |
10 | |
kod_usl |
Integer |
4 | |
otsl_pocht_otpr (Отслеживание почтовых |
operachiya |
Character |
20 |
atribut_op |
Character |
10 | |
date_op |
Date |
8 | |
kod_ops |
Numeric |
10 | |
pocht_id |
Numeric |
14 | |
spr_mest_op (Справочник мест проведения операций) |
kod_ops |
Numeric |
10 |
nazv_ops |
Character |
30 | |
tip_ops |
Character |
10 | |
telephon |
Numeric |
10 | |
rejim_rab |
Character |
50 | |
idx_ops |
Numeric |
6 | |
adres_ops |
Character |
50 |
В таблице 4.2 приведены данные, задающие индексы для создаваемых таблиц.
Таблица 4.2 – Описание индексов таблиц
Таблица |
Описания индексов | ||
Name |
Type |
Expression | |
pocht_otpr |
pocht_id |
Primary |
pocht_id |
date_otpr |
Regular |
date_otpr | |
num_poluchatel |
Regular |
num_poluchatel | |
num_otpravitel |
Regular |
num_otpravitel | |
kod_tarif |
Regular |
kod_tarif | |
otpravitel |
num_otpravitel |
Primary |
num_otpravitel |
poluchatel |
num_poluchatel |
Primary |
num_poluchatel |
usluga |
kod_usl |
Primary |
kod_usl |
spr_mest_op |
kod_ops |
Primary |
kod_ops |
otsl_pocht_otpr |
pocht_id |
Regular |
pocht_id |
kod_ops |
Regular |
kod_ops | |
tarif |
kod_usl |
Regular |
kod_usl |
kod_tarif |
Primary |
kod_tarif |
В таблице 4.3 приведены данные, описывающие реализованные ограничения целостности данных в таблицах.
Таблица 4.3 – Описание ограничений целостности данных в таблицах
Таблица |
Содержание ограничения |
Вкладка задания ограничения |
Задание ограничения |
1 |
2 |
3 |
4 |
pocht_otpr |
Наличие всех данных обязательно |
Fields |
Rule: .NOT. empty
Message: "Введите данные" |
otpravitel |
Наличие всех данных обязательно |
Fields |
Rule: .NOT. empty
Message: "Введите данные" |
poluchatel |
Наличие всех данных обязательно |
Fields |
Rule: .NOT. empty
Message: "Введите данные" |
usluga |
Наличие всех данных обязательно |
Fields |
Rule: .NOT. empty
Message: "Введите данные" |
spr_mest_op |
Наличие всех данных обязательно, кроме номера телефона и режима работы |
Fields |
Rule: .NOT. empty
Message: "Введите данные" |
otsl_pocht_otpr |
Наличие всех данных обязательно |
Fields |
Rule: .NOT. empty
Message: "Введите данные" |
tarif |
Наличие всех данных обязательно |
Fields |
Rule: .NOT. empty
Message: "Введите данные" |
Информация о работе Разработка базы данных по доставке почты