Преобразование отношений в таблицы
На логическом уровне проектирования мы получили следующие отношения (п. 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!