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

Даталогическая модель

В соответствии с приведенной структурой, внутренняя схема разрабатываемой базы данных представлена в табл. 4.38 – 4.43.

Таблица 4.38

Группа товара/E1

Group

Имя атрибута

Имя колонки

Имя домена

Тип данных

Признак обязательности

Ключи

Правило удаления

Код группы

IdGroup

Номер

Integer

Not null

PK

Название

Name

Имя

Varchar (50)

Not null

AK

Базовый код группы

IdBaseGrp

Номер

Integer

Null

FK

Group;

cascade

Описание

Description

Описание

Varchar (256)

Null

Описание таблицы на SQL:

Create table Group (

IdGroup integer not null,

Name varchar (50) not null,

IdBaseGrp integer,

Description varchar (256),

Primary key (IdClient)

);

Задание внешних ключей, ссылающихся на эту же таблицу, зависит от используемой СУБД. Возможно, потребуется использовать предложение ALTER TABLE (изменить таблицу [1, 16]):

Alter table Group

Foreign key (IdBaseGrp) references Group on delete cascade;

Commit;

Таблица 4.39

Товар/E2

Goods

Имя атрибута

Имя колонки

Домен

Тип данных

Признак обязательности

Ключи

Правило удаления

Код товара

IdGoods

Номер

Integer

Not null

PK

Название

Name

Имя

Varchar (50)

Not null

AK1

Артикул

Article

Символический номер

Varchar (40)

Not null

AK2

Код группы

IdGroup

Номер

Integer

Not null

FK

Group; restrict

Номер сертификата качества

Certificate

Номер

Integer

Null

Фирма-производитель

Producer

Имя

Varchar (50)

Not null

Описание

Description

Описание

Varchar (256)

Null

Описание таблицы на SQL:

Create table Goods (

IdGoods integer not null,

Name varchar (50) not null,

Article varchar (40) not null,

IdGroup integer not null,

Certificate integer,

Producer varchar (50) not null,

Description varchar (256),

Primary key (IdGoods),

Foreign key (IdGroup) references Group on delete restrict

);

Commit;

Таблица 4.40

Продажа/E3

Sale

Имя атрибута

Имя колонки

Имя домена

Тип данных

Признак обязательности

Ключи

Правило удаления

Номер продажи

IdSale

Номер

Integer

Not null

PK

Номер списка цен

IdPriceList

Номер

Integer

Not null

FK

Pricelist; restrict

Дата продажи

SaleDate

Дата

Date

Not null

Время выписки

Extract

Время

Time

Not null

Время оплаты

Payment

Время

Time

Null

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

Receipt

Время

Time

Null

Описание таблицы на SQL:

Create table Sale (

IdSale integer not null,

IdPriceList integer not null,

SaleDate date not null,

Extract time not null,

Payment time,

Receipt time,

Primary key (IdSale),

Foreign key (IdPriceList) references Pricelist on delete restrict

);

Commit;

Таблица 4.41

Список цен/E4

Pricelist

Имя атрибута

Имя колонки

Имя домена

Тип данных

Признак обязательности

Ключи

Правило удаления

Номер списка цен

IdPricelist

Номер

Integer

Not null

PK

Категория

Category

Имя

Varchar (50)

Not null

Дата

PLDate

Дата

Date

Not null

Описание таблицы на SQL:

Create table Pricelist (

IdPricelist integer not null,

Category varchar (50) not null,

PLDate date not null,

Primary key (IdPricelist),

);

Commit;

Таблица 4.42

Товар в списке цен/E5

PricelistItem

Имя атрибута

Имя колонки

Имя домена

Тип данных

Признак обязательности

Ключи

Правило удаления

Номер списка цен

IdPLItem

Номер

Integer

Not null

PK.1; FK1

Pricelist; restrict

Код товара

IdGoods

Номер

Integer

Not null

PK.2; FK2

Goods; restrict

Цена

Price

Денежная сумма

Decimal (6,2)

Not null

Описание таблицы на SQL:

Create table PricelistItem (

IdPLItem integer not null,

IdGoods integer not null,

Price decimal (6,2) not null,

Primary key (IdPLItem, IdGoods),

Foreign key (IdPLItem) references Pricelist on delete restrict,

Foreign key (IdGoods) references Goods on delete restrict

);

Commit;

Таблица 4.43

Товар в продаже/E6

SaleItem

Имя атрибута

Имя колонки

Имя домена

Тип данных

Признак обязательности

Ключи

Правило удаления

Номер продажи

IdSale

Номер

Integer

Not null

PK.1; FK1

Sale; restrict

Код товара

IdGoods

Номер

Integer

Not null

PK.2; FK2

Goods; restrict

Количество

Qty

Число

Integer

Not null

Описание таблицы на SQL:

Create table SaleItem (

IdSale integer not null,

IdGoods integer not null,

Qty integer not null,

Primary key (IdSale, IdGoods),

Foreign key (IdSale) references Sale on delete restrict,

Foreign key (IdGoods) references Goods on delete restrict

);

Commit;

Можно привести еще и схему базы данных:

Группа товара (Код группы, Название, Базовый код группы (FK), Описание)

Товар (Код товара, Название (AK1), Артикул (AK2), Код группы (FK), Номер сертификата качества, Фирма-производитель, Описание)

Продажа (Номер продажи, Номер списка цен (FK), Дата продажи, Время выписки, Время оплаты, Время получения)

Список цен (Номер списка, Категория, Дата)

Товар в списке цен (Номер списка цен (FK1), Код товара (FK2), Цена)

Товар в продаже (Номер продажи (FK1), Код товара (FK2), Количество)

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