Преобразование отношений в таблицы



На логическом уровне проектирования мы получили следующие отношения (п. 2.3):

1) ТОВАР;

2) ПОСТАВЩИК;

3) ЕД_ИЗМ;

4) ПОСТАВКА;

5) ЗАКУПКА;

6) РАСХОД.

На физическом уровне проектирования преобразуем полученные отношения в таблицы. При этом следует отметить, что имена таблиц совпадают с именами отношений, поскольку это не противоречит корпоративным правилам.

 

Преобразование атрибутов в поля таблицы

Рассмотрим атрибуты отношений:

1) Отношение ТОВАР имеет следующие атрибуты: КодТовара, НаименованиеТовара, Примечание.

Каждому атрибуту отношения ТОВАР ставим в соответствие столбец таблицы. В результате получим таблицу с именем ТОВАР и следующими полями: КодТовара, НаименованиеТовара, Примечание.

Таким образом, таблица ТОВАР имеет 3 поля, поле КодТовара – ключевое.

2) Отношение ПОСТАВЩИК имеет следующие атрибуты: КодПоставщика, НазваниеПоставщика, ЮрАдрес, ФизАдрес, Телефон, ОбращатьсяК.

Каждому атрибуту отношения ПОСТАВЩИК ставим в соответствие столбец таблицы. В результате получим таблицу с именем ПОСТАВЩИК и следующими полями: КодПоставщика, НазваниеПоставщика, ЮрАдрес, ФизАдрес, Телефон, ОбращатьсяК.

Поле КодПоставщика – ключевое.

3) Отношение ЕД_ИЗМ имеет атрибуты: КодЕдИзм, НазваниеЕдИзм.

Каждому атрибуту отношения Ед_ИЗМ ставим в соответствие столбец таблицы. В результате получим таблицу с именем ЕД_ИЗМ и следующими полями: КодЕдИзм, НазваниеЕдИзм. Поле КодЕдИзм – ключевое.

4) Отношение ПОСТАВКА имеет атрибуты: КодПоставки, КодПоставщика, КодТовара, Количество, КодЕдИзм, ЦенаЗаЕд, ДатаПоставки, Принял;

Каждому атрибуту отношения ПОСТАВКА ставим в соответствие столбец таблицы. В результате получим таблицу с именем ПОСТАВКА и следующими полями: КодПоставки, КодПоставщика, КодТовара, Количество, КодЕдИзм, ЦенаЗаЕд, ДатаПоставки, Принял.

В итоге таблица ПОСТАВКА имеет 8 полей. Поле КодПоставки – ключевое.

5) Отношение ЗАКУПКА имеет следующие атрибуты: КодЗакупки, КодПоставщика, КодТовара, КодЕдИзм, Количество, ЦенаЗаЕд, ДатаЗаказа.

Каждому атрибуту отношения ЗАКУПКА ставим в соответствие столбец таблицы. В результате получим таблицу с именем ЗАКУПКА и следующими полями: КодЗакупки, КодПоставщика, КодТовара, КодЕдИзм, Количество, ЦенаЗаЕд, ДатаЗаказа.

Поле КодЗакупки – ключевое.

6) Отношение РАСХОД имеет атрибуты: КодОперации, КодТовара, Количество, КодЕдИзм, ДатаОперации, Отдел.

Каждому атрибуту отношения РАСХОД ставим в соответствие столбец таблицы. В результате получим таблицу с именем РАСХОД и следующими полями: КодОперации, КодТовара, Количество, КодЕдИзм, ДатаОперации, Отдел

Поле Операции – ключевое.

 

Преобразование доменов в типы данных

1) ТОВАР (КодТовара, НаименованиеТовара, Примечание);

1.1)Dom (КодТовара) = {00,01,02, …2147483647};

В соответствие этому логическому домену выбираем тип данных – числовой. Размер поля – длинное целое. Это поле не может принимать неопределенное значение, является обязательным.

1.2) Dom (НаименованиеТовара) = {x | string ( x )}, где string – определяет строку, длиной до 255 символов.

Для этого домена выбираем тип данных – текстовый.

1.3) Dom (Примечание) = {x | string ( x )}, где string – определяет строку, длиной до 255 символов.

Для этого домена выбираем тип данных – текстовый.

2) ПОСТАВЩИК (КодПоставщика, НазваниеПоставщика, ЮрАдрес, ФизАдрес, Телефон, ОбращатьсяК);

2.1) Dom (КодПоставщика) = {00,01,02, …2147483647};

Для этого логического домена выбираем тип данных – числовой. Размер поля – длинное целое. Это поле не может принимать неопределенное значение, является обязательным.

2.2) Dom (НазваниеПоставщика) = {x | string ( x )}, где string – определяет строку, длиной до 255 символов.

В соответствие этому логическому домену выбираем тип данных – текстовый.

 2.3) Dom (ЮрАдрес) = {x | string ( x )}, где string – определяет строку, длиной до 255 символов.

Для этого домена выбираем тип данных – текстовый.

 2.4) Dom (ФизАдрес) = {x | string ( x )}, где string – определяет строку, длиной до 255 символов.

Для этого домена выбираем тип данных – текстовый.

2.5) Dom (Телефон) = {x | string ( x )}, где string – определяет строку, длиной до 255 символов.

2.6) Dom (ОбращатьсяК) = {x | string ( x )}, где string – определяет строку, длиной до 255 символов.

Для этого домена выбираем тип данных – текстовый.

 

3) ЕД_ИЗМ (КодЕдИзм, НазваниеЕдИзм);

 3.1) Dom (КодЕдИзм) = {00,01,02, …2147483647};

В соответствие этому логическому домену выбираем тип данных – числовой. Размер поля – длинное целое. Это поле не может принимать неопределенное значение, является обязательным.

 3.2) Dom (НазваниеЕдИзм) = {x | string ( x )}, где string – определяет строку, длиной до 255 символов;

В соответствие этому логическому домену выбираем тип данных – текстовый.

 

4) ПОСТАВКА (КодПоставки, КодПоставщика, КодТовара, Количество, КодЕдИзм, ЦенаЗаЕд, ДатаПоставки, Принял);

4.1) Dom (КодПоставки) = {00,01,02, …2147483647};

Для этого домена выбираем тип данных – числовой. Размер поля – длинное целое. Это поле не может принимать неопределенное значение, является обязательным.

 4.2) Dom (КодПоставщика) = {00,01,02, …2147483647};

Для этого домена выбираем тип данных – числовой.

 4.3) Dom (КодТовара) = {00,01,02, …2147483647};

Для этого домена выбираем тип данных – числовой.

 4.4) Dom (Количество) = {00,01,02, …2147483647};

Для этого домена выбираем тип данных – числовой.

4.5) Dom (КодЕдИзм) = {00,01,02, …2147483647};

Для этого домена выбираем тип данных – числовой.

 4.6) Dom (ЦенаЗаЕд) = {x | Money ( x )}, где Money – определяет денежный тип данных;

Для домена выбираем денежный тип данных.                                     

 4.7) Dom (ДатаПоставки) = {x | Date ( x )}, где x >01.01.2005;

Преобразуем домен в тип данных Дата/время.

 4.8) Dom (Принял) = {x | string ( x )}, где string – определяет строку, длиной до 255 символов.

В соответствие этому логическому домену выбираем тип данных – текстовый.

 

5) ЗАКУПКА (КодЗакупки, КодПоставщика, КодТовара, КодЕдИзм, Количество, ЦенаЗаЕд, ДатаЗаказа);

 5.1) Dom (КодЗакупки) = {00,01,02, …2147483647};

Для этого домена выбираем тип данных – числовой. Размер поля – длинное целое. Это поле не может принимать неопределенное значение, является обязательным.

 5.2) Dom (КодПоставщика) = {00,01,02, …2147483647};

Для этого логического домена выбираем тип данных – числовой.

 5.3) Dom (КодТовара) = {00,01,02, …2147483647};

Для этого домена выбираем тип данных – числовой.

 5.4) Dom (КодЕдИзм) = {00,01,02, …2147483647};

Для этого домена выбираем тип данных – числовой.

 5.5) Dom (Количество) = {00,01,02, …2147483647};

Для этого домена выбираем тип данных – числовой.

 5.6) Dom (ЦенаЗаЕд) = {x | Money ( x )}, где Money – определяет денежный тип данных;

Для домена выбираем денежный тип данных.                                 

 5.7) Dom (ДатаЗаказа) = {x | Date ( x )}, где x >01.01.2005;

Преобразуем домен в тип данных Дата/время.

 

6) РАСХОД (КодОперации, КодТовара, Количество, КодЕдИзм, ДатаОперации, Отдел)

 6.1) Dom (КодОперации) = {00,01,02, …2147483647};

В соответствие этому логическому домену выбираем тип данных – числовой. Размер поля – длинное целое. Это поле не может принимать неопределенное значение, является обязательным.

 6.2) Dom (КодТовара) = {00,01,02, …2147483647};

Преобразуем домен в тип данных Числовой.

  6.3) Dom (Количество) = {00,01,02, …2147483647};

Для домена выбираем числовой тип данных.       

 6.4) Dom (КодЕдИзм) = {00,01,02, …2147483647};

Для этого домена выбираем тип данных – числовой.

 6.5) Dom (ДатаОперации) = {x | Date ( x )}, где x >01.01.2005;

Для домена выбираем тип данных Дата/Время.       

 6.6) Dom (Отдел) = {x | string ( x )}, где string – определяет строку, длиной до 255 символов.

В соответствие этому логическому домену выбираем тип данных – текстовый.

 

 

ПРОЕКТНЫЕ РЕШЕНИЯ ПО СИСТЕМЕ ПЛАНИРОВАНИЯ ЗАКУПОК и размещение заказов поставщикам


Дата добавления: 2019-07-17; просмотров: 101; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!