Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
knight / глава3.doc
Скачиваний:
14
Добавлен:
16.04.2013
Размер:
420.35 Кб
Скачать

Дипломный проект Полтарацкий А.В.

Глава 3.

  1. Технический проект.

В данном разделе рассматривается структура базы данных и процесс ее проектирования, а также механизмы, с помощью которых происходит обращение к данным и поддержка их целостности.

    1. Конфигурация технических средств.

Требования к составу и параметрам технических средств соответствуют требованиям к программному продукту - системе моделирования макроэкономики.

Минимально необходимое оборудование:

PC Pentium 120;

RAM 16 MB;

HDD 50 MB свободных;

Monitor color SVGA.

Рекомендуемое оборудование:

PC Pentium 133 МГц;

RAM 32 MB;

HDD 30 MB свободных;

Monitor Color SVGA;

Необходимое программное обеспечение:

ОС Windows’95;

Машина баз данных Borland DataBase Engine 4.0;

Приложение Система моделирования макроэкономики.

    1. Даталогическая модель базы данных.

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

Все объекты и связи между объектами в нашем случае можно выразить следующими соотношениями:

  • экономическая модель(обозначение модели, описание модели, путь к базе данных модели, название файла ограничений) - таблица Model;

  • экономический параметр(обозначение параметра в модели, описание параметра);

  • индекс(обозначение индекса, минимальное значение индекса, максимальное значение, шаг изменения);

  • версия расчета модели(номер версии, обозначение модели, комментарий по версии);

  • зависимость экономического параметра от индексов(обозначение параметра, обозначение индекса);

  • зависимость значения переменной от версии расчета (обозначение параметра, обозначение индекса, значение индекса, номер версии, значение переменной). Данную связь можно представить двумя таблицами, которые описываются следующими отношениями:

  1. Различные сочетания индексов в переменной(обозначение параметра, обозначение индекса, значение индекса, номер сочетания индексов).

  2. Значение параметра(обозначение экономической переменной, значение переменной, порядковый номер в переменной, номер версии расчета).

В приведенных отношениях номер сочетания индексов и порядковый номер в переменной - это одно и то же. Данное разбиение позволяет избежать избыточности - таблица, построенная на первом отношении будет содержать не изменяющиеся данные и, если в модель не добавлять новых переменных, будет служить неким неизменяемым справочником.

На основе описаний сущностей и их связей построим модель базы данных по методу IDEF1 (рис.3.1):

рис. 3.1.

Данная модель полностью удовлетворяет требованиям разрабатываемой системы. Ниже приведен SQL-скрипт для создания структуры базы данных данной модели:

drop domain T_DOMAIN_CHR;

create domain T_DOMAIN_CHR as CHAR(10) ;

drop domain T_DOMAIN_INT;

create domain T_DOMAIN_INT as NUMERIC ;

drop domain T_DOMAIN_CHR_SHORT;

create domain T_DOMAIN_CHR_SHORT as CHAR(1) ;

drop domain T_DOMAIN_CHR_LONG;

create domain T_DOMAIN_CHR_LONG as CHAR(50) ;

/* =================================================== */

/* Table: MODEL */

/*=================================================== */

create table MODEL

(

ID CHAR(10),

REMARK CHAR(10),

PATH CHAR(10),

MFILE CHAR(10)

);

/* ================================================== */

/* Table: INDEXES */

/*================================================== */

create table INDEXES

(

IID CHAR(10) not null,

MN T_DOMAIN_INT,

MX T_DOMAIN_INT,

STEP T_DOMAIN_INT,

constraint PK_INDEXES primary key (IID)

);

/* ================================================== */

/* Table: VERSION */

/* ================================================== */

create table VERSION

(

NUM T_DOMAIN_INT not null,

REMARK T_DOMAIN_CHR_LONG,

constraint PK_VERSION primary key (NUM)

);

/* ================================================= */

/* Table: PARAMS */

/* ================================================= */

create table PARAMS

(

ID T_DOMAIN_CHR not null,

REMARK T_DOMAIN_CHR_LONG,

constraint PK_PARAMS primary key (ID)

);

/* ================================================= */

/* Table: PARAM */

/* ================================================= */

create table PARAM

(

ID CHAR(10),

IID CHAR(10),

IID_VALUE T_DOMAIN_INT,

NUM T_DOMAIN_INT not null,

constraint PK_PARAM primary key (NUM)

);

/* ================================================= */

/* Index: IDX6 */

/* ================================================= */

create ASC index IDX6 on PARAM (ID, NUM, IID);

/* ================================================= */

/* Table: INTER */

/* ================================================== */

create table INTER

(

ID T_DOMAIN_CHR not null,

IID T_DOMAIN_CHR,

INFORM T_DOMAIN_INT,

KIND T_DOMAIN_CHR_SHORT

);

/* ================================================ */

/* Table: VAR_VALUE */

/* ================================================ */

create table VAR_VALUE

(

ID CHAR(10),

NUM T_DOMAIN_INT,

ID_VALUE T_DOMAIN_CHR_LONG,

VER T_DOMAIN_INT

);

alter table PARAM

add constraint FK_REF_3 foreign key (ID)

references PARAMS;

alter table PARAM

add constraint FK_REF_5 foreign key (IID)

references INDEXES;

alter table INTER

add constraint FK_REF_6 foreign key (ID)

references PARAMS;

alter table INTER

add constraint FK_REF_7 foreign key (IID)

references INDEXES;

alter table VAR_VALUE

add constraint FK_REF_2 foreign key (ID)

references PARAMS;

alter table VAR_VALUE

add constraint FK_REF_4 foreign key (VER)

references VERSION;

alter table VAR_VALUE

add constraint FK_REF_1 foreign key (NUM)

references PARAM;

На уровне таблиц это выглядит следующим образом:

Список таблиц

Имя

Кодовое название

Экономическая модель

MODEL

Версии расчета модели

VERSION

Взаимосвязи индексов и параметров

INTER

Значения переменных

VAR_VALUE

Индексы модели

INDEXES

Связи параметров со значениями

PARAM

Экономические параметры

PARAMS

Таблица Экономическая модель

Список полей

Имя

Кодовое название

Тип

Первичный ключ

Название файла ограничений

MFILE

CHAR(10)

Нет

Обозначение модели

ID

CHAR(10)

Нет

Описание модели

REMARK

CHAR(10)

Нет

Путь к БД модели

PATH

CHAR(10)

Нет

Таблица Версии расчета модели

Список полей

Имя

Кодовое название

Тип

Первичный ключ

Комментарии к версии

REMARK

CHAR(50)

Да

Номер версии

NUM

NUMERIC

Нет

Список индексов

Кодовое название

Поле

Сортировка

IDX3

NUM

По возрастанию

Таблица Взаимосвязи индексов и параметров

Список полей

Имя

Кодовое название

Тип

Первичный ключ

Вид

KIND

CHAR(1)

Нет

Индекс

IID

CHAR(10)

Нет

Параметр

ID

CHAR(10)

Нет

Порядок следования

INFORM

NUMERIC

Нет

Список индексов

Кодовое название

Поля

Сортировка

IDX4

ID IID

По возрастанию По возрастанию

Таблица Значения переменных

Список полей

Имя

Кодовое название

Тип

Первичный ключ

Значение параметра

ID_VALUE

CHAR(50)

Нет

Комбинация индексов

NUM

NUMERIC

Нет

Параметр

ID

CHAR(10)

Нет

Номер версии

VER

NUMERIC

Нет

Список индексов

Кодовое название

Поля

Сортировка

IDX2

VER ID NUM

По возрастанию По возрастанию

По возрастанию

Таблица Индексы модели

Список полей

Имя

Кодовое название

Тип

Первичный ключ

Шаг

STEP

NUMERIC

Нет

Индекс

IID

CHAR(10)

Да

Макс

MX

NUMERIC

Нет

Мин

MN

NUMERIC

Нет

Список индексов

Кодовое название

Поля

Сортировка

IDX5

IID

По возрастанию

Таблица Связи параметров со значениями

Список полей

Имя

Кодовое название

Тип

Первичный ключ

Значение индекса

IID_VALUE

NUMERIC

Нет

Индекс

IID

CHAR(10)

Нет

Комбинация индексов

NUM

NUMERIC

Да

Параметр

ID

CHAR(10)

Нет

Список индексов

Кодовое название

Поля

Сортировка

IDX6

ID NUM IID

По возрастанию По возрастанию По возрастанию

Таблица Экономические параметры

Список полей

Имя

Кодовое название

Тип

Первичный ключ

Комментарий

REMARK

CHAR(50)

Нет

Параметр

ID

CHAR(10)

Да

Список индексов

Кодовое название

Поля

Сортировка

IDX1

ID

По возрастанию

Ниже приведен текст трех основных триггеров:

Список триггеров

Таблица

Триггер

INTER

ti_inter

PARAM

ti_param

VAR_VALUE

ti_var_value

триггер ti_inter

Имя таблицы: Взаимосвязи индексов и параметров Код: INTER триггер: ti_inter тип: InsertTrigger , Default Trigger

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