Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания_заоч / !Практика / Пример описания БД.doc
Скачиваний:
43
Добавлен:
21.05.2015
Размер:
1.58 Mб
Скачать

3.3 Создание логической структуры реляционной бд по правилам нормализации

Рассмотрим каждую из таблиц на предмет возможных повторений блоков данных и полей.

Для начала рассмотрим таблицу Сотрудники Автомагазина. Некоторые поля (название организации, адрес организации с почтовым индексом и названием города, телефон, факс (если есть), электронный адрес (если есть)) будут постоянно повторяться, т.к. все сотрудники работают в одной и той же организации. Поэтому выделим отдельную таблицу Сведения об Автомагазине:

  • название организации,

  • адрес организации с почтовым индексом и названием города,

  • телефон,

  • факс (если есть),

  • электронный адрес (если есть).

Директор Автомагазина является заказчиком и данные о нем отображаются в платежных поручениях, товарных накладных, счет - фактурах. Поэтому выделим таблицу Заказчик, которая будет содержать следующие данные:

  • наименование организации,

  • адрес организации с почтовым индексом и названием города,

  • фамилия, имя, отчество,

  • расчетный счет,

  • ИНН,

  • код ОКОНХ,

  • код ОКПО.

Таблица Сотрудники Автомагазина в результате преобразований примет вид (для продавцов не нужно указывать расчетный счет, код ОКОНХ, код ОКПО, т.к. они не участвуют в банковских операциях):

  • фамилия, имя, отчество,

  • ИНН,

  • должность.

Рассмотрим теперь таблицы Банк поставщика и Банк заказчика. Они содержат похожие поля. Поэтому объединим эти таблицы в одну с названием Банки, а в каждую из таблиц, где указывается информация о банках, введем новое поле БИК (Код банка), по которому будем связываться с таблицей Банки.

В таблице Оптовые закупки есть поля, которые содержат набор перечисленных через запятую данных (сведения о поставщике, сведения о заказчике, банки поставщика и заказчика, информация о грузоотправителе и грузополучателе). Чтобы избежать постоянного введения многочисленных данных, преобразуем эту таблицу следующим образом:

Для начала выделим новую таблицу Грузопередатчики:

  • наименование организации,

  • адрес организации,

  • тип грузопередатчика,

  • код грузопередатчика.

А в таблице Оптовые закупки заменим поля Грузоотправитель и Грузополучатель полем Код грузопередатчика.

Для связи таблиц Оптовые закупки и Банки введем поле БИК (Код банка) в таблицу Оптовые закупки вместо полей Банк поставщика и сведения о нем и Банк заказчика и сведения о нем.

Для связи таблиц Оптовые закупки и Поставщики введем поле ИНН поставщика (Код поставщика) в таблицу Оптовые закупки (вместо поля Поставщик и сведения о нем). Напомним, что таблица Поставщики уже содержит поле ИНН.

Для связи таблиц Оптовые закупки и Заказчик введем поле ИНН заказчика (Код заказчика) в таблицу Оптовые закупки (вместо поля Заказчик и сведения о нем).

Заметим, что все поля таблиц Документы и Товары повторяются в таблице Оптовые закупки. Поэтому разобьем таблицу Оптовые закупки на таблицы Информация о документах и Товары по документу и их характеристики, одновременно заменяя поля Поставщик товара и сведения о нем, Заказчик и сведения о нем, Банк поставщика и сведения о нем, Банк заказчика и сведения о нем, Информация о грузоотправителе и Информация о грузополучателе соответствующими кодами:

Информация о документах:

Товары по документу и их характеристики:

номер документа,

дата документа,

к платежному поручению №,

к платежному поручению дата,

код документа,

ИНН поставщика,

ИНН заказчика,

код грузоотправителя,

код грузополучателя,

БИК,

сумма платежа.

наименование товара,

единица измерения,

количество товара,

цена за единицу товара,

стоимость товара без налога,

сумма налога,

налоговая ставка,

акциз,

стоимость товара с налогом,

производитель,

код документа,

номер грузовой таможенной декларации.

Новое поле Код документаслужит для связи таблицИнформация о документах и Товары по документу и их характеристики, поскольку данные обеих таблиц отображаются в документах, пришедших вместе с товаром.

Рассмотрим таблицу Товары по документу и их характеристики. В ней есть поля Стоимость товара без налога, Стоимость товара с налогом, Налоговая ставка, которые приводят к лишним расчетам, усложняя, таким образом, работу сотрудников Автомагазина. Достаточно знать цену за единицу товара, количество товара, сумму налога и акциз, чтобы посчитать общую стоимость (сумму платежа). Поля Производитель и Наименование товара содержат справочную информацию и поэтому их можно выделить в отдельную таблицуСправочник Товаров:

  • наименование товара,

  • производитель,

  • код товара.

Новое поле Код товараслужит для связи таблицСправочник ТоваровиТовары по документу и их характеристики, в которую тоже необходимо ввести это поле. ТаблицаТовары по документу и их характеристикипосле преобразований будет содержать следующие данные:

  • код товара,

  • код документа,

  • единица измерения,

  • цена за единицу товара,

  • количество товара,

  • сумма налога,

  • акциз.

После получения товара от поставщика, заказчик доставляет товар в Автомагазин и сдает продавцу. Для регистрации этого процесса служит таблица Прием товаров в Автомагазин. Некоторые поля в этой таблице содержат данные о товарах, которые уже отражены в таблицахСправочник Товаров и Товары по документу и их характеристики. Для связи таблиц и получения необходимой информации о товарах служит полеКод товара, которое введем и в таблицуПрием товаров в Автомагазин. Поле Сотрудник, получивший товар содержит набор перечисляемых данных. Чтобы избежать введения многочисленных данных введем полеКод сотрудникав таблицыСотрудники АвтомагазинаиПрием товаров в Автомагазин. Теперь таблицаСотрудники Автомагазинабудет выглядеть так:

  • фамилия, имя, отчество,

  • код сотрудника,

  • ИНН,

  • должность.

После преобразований таблица Прием товаров в Автомагазинбудет содержать следующие данные:

  • код товара,

  • количество товара,

  • код сотрудника, получившего товар,

  • код документа,

  • дата приема.

Перейдем теперь к таблице Розничные продажи. Информация о проданном товаре отражена в таблицахСправочник товаров и Товары по документу и их характеристики, для связи с которыми служит полеКод товара. Введем это поле в таблицуРозничные продажи. Информация о сотрудниках, отпускающих товар, представлена в таблицеСотрудники Автомагазина, для связи с которой служит полеКод сотрудника. Введем это поле в таблицуРозничные продажи. После преобразований таблицаРозничные продажипримет вид:

  • код товара,

  • количество товара,

  • код сотрудника,

  • № чека,

  • дата продажи.

В результате в базе данных будут созданы следующие таблицы:

  • Сведения об Автомагазине,

  • Сотрудники Автомагазина,

  • Заказчик,

  • Поставщики,

  • Банки,

  • Грузопередатчики,

  • Информация о документах,

  • Товары по документу и их характеристики,

  • Справочник товаров,

  • Прием товаров в Автомагазин,

  • Розничные продажи.

Соседние файлы в папке !Практика