Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД(final version).doc
Скачиваний:
5
Добавлен:
17.11.2019
Размер:
667.14 Кб
Скачать

7.Нормализация таблиц.

Артикул товара

101

2507

8221

725

426

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

KLEO S60

ModeVlies D11T

PLATINUM Standard 8мм класс АС4/32 красное дерево

DYNAMIC clic2clic класс АС4/32

Вишня

Валик велюровый со станком 20 см

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

упак.

рулон

кв.м.

кв.м.

шт.

Закупочная цена, руб

160.00

653.00

265.00

360.00

25.00

Цена реализации, руб

225.00

881.00

325.00

401.00

29.00

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

Клеи

Виниловые обои

Паркет

Ламинат

Инструмент малярный

Количество единиц товара на складе

20

47

190

120

52

Поставщик адрес

г. Ростов-на-Дону, ул. Малиноского, 11

г.Краснодар, ул.Королева, 5

г. Краснодар, ул. Королева, 5

г. Краснодар, ул. Королева, 5

г. Ростов-на-Дону, ул. Малиноского, 11

Поставщик ФИО или название организации

ООО «Даймонд»

ОАО «Эмпилс»

ОАО «Эмпилс»

ОАО «Эмпилс»

ООО «Даймонд»

Поставщик банковские реквизиты

4576436745325

762562346245

762562346245

762562346245

4576436745325

Договор начало

21.10.2009

01.01.2006

08.03.2006

01.01.2009

21.10.2005

Договор конец

21.10.2014

01.10.2012

23.08.2012

01.10.2015

21.10.2015

Дополнительная информация

договор на поставку товара

договор на поставку товара

договор на поставку товара

договор на поставку товара

договор на поставку товара

Имя производителя

KLEO

Erismann

PLATINUM

PLATINUM

ООО «РусСтрой»

Адрес Производителя

Швеция, г.Хельсинборг, ул. Кроненбурн, 43

Германия, г.Мюнхен, ул. Беккерштрассе, 24

Германия, г. Дрезден, ул. Люфтваффе, 1

Германия, г. Дрезден, ул. Люфтваффе, 1

Россия, г. Новороссийск, ул. Маяковского, 8

Наименование отдела

Клеи

Обои

Напольные покрытия

Напольные покрытия

Инструменты

Пусть изначально имеется одна таблица, в которой собраны все данные:

Нормализация таблиц:

1) Поля «Адрес Поставщика» и «Адрес Производителя» содержат делимую информацию

2) Поля «Группа товара», «Наименование Поставщика», «Адрес Поставщика», «Телефон Поставщика», «Банковские реквизиты Поставщика», «ИНН Поставщика», «№ лицензии Поставщика», «№ Договора», «Начало действия договора», «Конец действия договора», «Дополнительная информация», «Имя производителя», «Шифр производителя», «Наименование отдела», «Единица измерения» содержат повторяющуюся информацию

3) Для таблиц необходимо выбрать первичный ключ

Выполнение нормализации:

а) Поле «Группа товара» выделить в отдельную таблицу - «Группы товара». Для связи с таблицей «Товар» добавим поле «Код группы товара»

б) Поле «Наименование отдела» выделить в отдельную таблицу - «Отделы магазина». Для связи с таблицей «Товар» добавим поле «Код отдела»

в) Поля «№ Договора», «Начало действия договора», «Конец действия договора», «Дополнительная информация» выделить в отдельную таблицу - «Договоры». Для связи с таблицей «Товар» испозуем поле «№ договора»

г) Поля «Имя производителя», «Шифр производителя», «Адрес производителя» выделить в отдельную таблицу - «Производители». Для связи с таблицей «Товар» используем поле «Шифр производителя»

д) Поля «Количество единиц товара на складе» выделить в отдельную таблицу - «Склад». Для связи с таблицей будем использовать поле «Артикул товара»

е) Поле «Единица измерения» выделить в отдельную таблицу «Единицы измерения»

4)

Для таблицы «Товар» первичным ключом будет являться поле «Артикул товара»

Для таблицы «Поставщики» - поле «№ лицензии»

Для таблицы «Склад» - поле «Артикул товара»

Для таблицы «Договоры» - поле «№ договора»

Для таблицы «Производители» - поле «Шифр производителя»

Для таблицы «Группы товара» - поле «Код группы»

Для таблицы «Отделы магазина» - поле «Код отдела»

Для таблицы «Единица измерения» - поле «Код единицы измерения»

Обозначения в базе данных:

Товар – tovar,

Артикул товара – id,

Поставщик – supplier,

Лицензия – license,

Склад - storage,

Договор – dogovor,

Производитель – producer,

Шифр производителя – id_producer,

Сотрудник – employee,

Должность – position,

Группа товара – group,

Код группы – id_group,

Отдел магазина – department,

Единица измерения – unit.

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

Рис. Физическая модель базы данных.

8. SQL – запросы:

  1. Выбор данных из таблицы department

SELECT [department], [name] FROM [department] order by department

department

name

1

Клеи

2

Обои

  1. Выбор данных из таблицы tovar

select [id], [name], [pricez], [pricer] from tovar order by id desc

id

name

pricez

pricer

8221

PLATINUM Standart 8мм класс AC4/32 красное дерево

265

325

2507

ModeVlies D11T

653

881

  1. Выбор данных из таблицы employee

SELECT [id_employee], [surname], [passport], [id_position] FROM [employee] order by id_employee

id_employee

surname

passport

id_position

1

Вассерман А. А.

502345632

1

2

Жижко Т. Н.

364785983

2

  1. Выбор данных из таблиц tovar, group

SELECT id_group,name FROM tovar

UNION

SELECT id_group, name FROM group

order by id_group desc

5

DYNAMIC clic2clic класс AC4/32 вишня

5

Ламинат

  1. Выбор данных из таблицы producer

SELECT [id_producer], [name], [address] FROM [producer] order by id_producer

id_producer

name

address

1

KLEO

Швеция, г.Хельсинборг, ул. Кроненбурн, 43

2

Erismann

Германия, г.Мюнхен, ул. Беккерштрассе, 24

  1. Выбор данных из таблиц group, department

SELECT department, name FROM group

UNION

SELECT department, name FROM department

order by name desc

department

name

4

Паркет

2

Обои

  1. Выбор данных из таблицы supplier

SELECT [name], [licence], [address], [bank] FROM [supplier] order by licence

Name

licence

address

bank

ООО «Даймонд»

10438592

г. Ростов-на-Дону, ул. Малиноского, 11

4576436745325

ОАО «Эмпилс»

23567523

г.Краснодар, ул.Королева, 5

762562346245

  1. Выбор данных из таблиц tovar, producer

SELECT id_producer,name FROM tovar

UNION

SELECT id_producer, name FROM producer

order by name desc

4

ООО «РусСтрой»

4

Валик велюровый со станком 20 см

  1. Выбор данных из таблицы unit

SELECT [id_unit], [name] FROM [unit] order by id_unit

id_unit

name

1

шт.

2

упак.

  1. Выбор данных из таблицы employee

SELECT [surname], [id_employee], [id_position] FROM [employee] order by surname desc

Шабаш Г. И.

15

7

Петрὀвич Д. П.

5

4

  1. Выбор данных из таблицы tovar

SELECT [id], [name], [pricez], [pricer], [id_unit], [id_group], [licence], [id_producer] FROM [tovar] order by id

Id

name

pricez

pricer

id_unit

id_group

licence

id_producer

101

KLEO S60

160

225

2

1

10438592

1

426

Валик велюровый со станком 20 см

25

29

1

3

23563432

4

  1. Выбор данных из таблицы department

SELECT [department], [name] FROM [department] order by name desc

2

Обои

4

Напольные покрытия

  1. Выбор данных из таблицы dogovor

SELECT [licence], [info], [id_employee] FROM dogovor order by [licence]

licence

info

id_employee

10438592

договор на поставку товара

7

23563432

договор на поставку товара

8

  1. Выбор данных из таблицы tovar

select [id], [name], [pricez], [pricer] from tovar order by pricer desc

id

name

pricez

pricer

2507

ModeVlies D11T

653

881

725

DYNAMIC clic2clic класс AC4/32 вишня

360

401

  1. Выбор данных из таблицы storage

SELECT [id], [amount] FROM [storage] order by id

Id

amount

101

20

426

52

  1. Выбор данных из таблицы storage

SELECT [id], [amount] FROM [storage] order by id desc

id

amount

8221

190

2507

47

  1. Выбор данных из таблицы position

SELECT [id_position], [name] FROM [position] order by id_position

id_position

name

1

Директор

2

Бухгалтер

  1. Выбор данных из таблицы supplier

SELECT [name], [licence], [address] FROM [supplier] order by bank desc

name

licence

address

ОАО «Эмпилс»

23567523

г.Краснодар, ул.Королева, 5

ООО «Даймонд»

10438592

г. Ростов-на-Дону, ул. Малиноского, 11

  1. Выбор данных из таблицы group

SELECT [id_group], [name], [department] FROM [group] order by id_group

id_group

name

department

1

Клеи

1

2

Виниловые обои

2

  1. Выбор данных из таблиц dogovor, employee

SELECT id_employee,surname FROM employee

UNION

SELECT id_employee,info FROM dogovor

order by id_employee desc

id_employee

surname

15

Шабаш Г. И.

14

Загорулько А. Д.

  1. Выбор данных из таблицы dogovor

SELECT [date_begin], [date_end], [licence], [info], [id_employee] FROM [dogovor]

date_begin

date_end

licence

info

id_employee

21.10.2009

21.10.2014

10438592

договор на поставку товара

7

01.01.2006

01.10.2012

23563432

договор на поставку товара

8

  1. Выбор данных из таблиц position, employee

SELECT id_position,name FROM position

UNION

SELECT id_employee,surname FROM employee

order by id_position desc

id_position

name

15

Шабаш Г. И.

14

Загорулько А. Д.

  1. Выбор данных из таблицы producer

SELECT [id_producer], [name], [address] FROM [producer] order by id_producer

id_producer

name

address

1

KLEO

Швеция, г.Хельсинборг, ул. Кроненбурн, 43

2

Erismann

Германия, г.Мюнхен, ул. Беккерштрассе, 24

  1. Выбор данных из таблицы employee

SELECT [id_position], [surname], [passport], [id_employee] FROM [employee] order by id_position desc

id_position

surname

passport

id_employee

7

Загорулько А. Д.

332532523

14

7

Шабаш Г. И.

358292392

15

  1. Выбор данных из таблицы dogovor

SELECT [id_employee], [licence], [info] FROM [dogovor] order by id_employee

id_employee

licence

info

7

10438592

договор на поставку товара

8

23563432

договор на поставку товара

  1. Выбор данных из таблицы dogovor

SELECT [id_employee], [licence], [info] FROM [dogovor] order by id_employee desc

id_employee

licence

info

11

64353234

договор на поставку товара

10

24235236

договор на поставку товара

  1. Выбор данных из таблицы employee

SELECT [id_position], [surname], [passport], [id_employee] FROM [employee] order by id_position

id_position

surname

passport

id_employee

1

Вассерман А. А.

502345632

1

2

Жижко Т. Н.

364785983

2

  1. Выбор данных из таблицы producer

SELECT [id_producer], [name], [address] FROM [producer] order by id_producer desc

id_producer

name

address

4

ООО «РусСтрой»

Россия, г. Новороссийск, ул. Маяковского, 8

3

PLATINUM

Германия, г. Дрезден, ул. Люфтваффе, 1

  1. Выбор данных из таблиц position, employee

SELECT id_position,name FROM position

UNION

SELECT id_employee,surname FROM employee

order by id_position

id_position

name

1

Вассерман А. А.

1

Директор

  1. Выбор данных из таблицы dogovor

SELECT [date_begin], [date_end], [licence], [info], [id_employee] FROM [dogovor] order by licence desc

date_begin

date_end

licence

info

id_employee

2005-10-21

2015-10-21

64353234

договор на поставку товара

11

2009-01-01

2015-10-01

24235236

договор на поставку товара

10

  1. Выбор данных из таблиц dogovor, employee

SELECT id_employee,surname FROM employee

UNION

SELECT id_employee,info FROM dogovor

order by id_employee

id_employee

surname

1

Вассерман А. А.

2

Жижко Т. Н.

  1. Выбор данных из таблицы group

SELECT [id_group], [name], [department] FROM [group] order by id_group desc

id_group

name

department

5

Ламинат

4

4

Паркет

4

  1. Выбор данных из таблицы supplier

SELECT [name], [licence], [address] FROM [supplier] order by bank

name

licence

address

ООО «Даймонд»

10438592

г. Ростов-на-Дону, ул. Малиноского, 11

ОАО «Эмпилс»

23567523

г.Краснодар, ул.Королева, 5

  1. Выбор данных из таблицы position

SELECT [id_position], [name] FROM [position] order by id_position desc

7

Охранник

6

Уборщица

  1. Выбор данных из таблицы storage

SELECT [id], [amount] FROM [storage] order by id

id

amount

101

20

2507

47

  1. Выбор данных из таблицы storage

SELECT [id], [amount] FROM [storage] order by id desc

id

amount

8221

190

2507

47

  1. Выбор данных из таблицы tovar

select [id], [name], [pricez], [pricer] from tovar order by pricer

id

name

pricez

pricer

426

Валик велюровый со станком 20 см

25

29

101

KLEO S60

160

225

  1. Выбор данных из таблицы dogovor

SELECT [licence], [info], [id_employee] FROM dogovor order by [licence] desc

licence

info

id_employee

64353234

договор на поставку товара

11

24235236

договор на поставку товара

10

  1. Выбор данных из таблицы department

SELECT [department], [name] FROM [department] order by name

department

name

3

Инструменты

1

Клеи

  1. Выбор данных из таблицы tovar

SELECT [id], [name], [pricez], [pricer], [id_unit], [id_group], [licence], [id_producer] FROM [tovar] order by id desc

id

name

pricez

pricer

id_unit

id_group

licence

id_producer

8221

PLATINUM Standart 8мм класс AC4/32 красное дерево

265

325

4

4

64353234

3

2507

ModeVlies D11T

653

881

3

2

24235236

2

  1. Выбор данных из таблицы employee

SELECT [surname], [id_employee], [id_position] FROM [employee] order by surname

surname

id_employee

id_position

Байда Л. П.

13

6

Бублик В. В.

8

5

  1. Выбор данных из таблицы unit

SELECT [id_unit], [name] FROM [unit] order by id_unit desc

id_unit

name

5

кг.

4

кв.м

  1. Выбор данных из таблиц tovar, producer

SELECT id_producer,name FROM tovar

UNION

SELECT id_producer, name FROM producer

order by name

id_producer

name

3

DYNAMIC clic2clic класс AC4/32 вишня

2

Erismann

  1. Выбор данных из таблицы supplier

SELECT [name], [licence], [address], [bank] FROM [supplier] order by licence desc

name

licence

address

bank

ОАО «Эмпилс»

23567523

г.Краснодар, ул.Королева, 5

762562346245

ООО «Даймонд»

10438592

г. Ростов-на-Дону, ул. Малиноского, 11

4576436745325

  1. Выбор данных из таблиц group, department

SELECT department, name FROM group

UNION

SELECT department, name FROM department

order by name

department

name

2

Виниловые обои

3

Инструменты

  1. Выбор данных из таблицы producer

SELECT [id_producer], [name], [address] FROM [producer] order by id_producer desc

id_producer

name

address

4

ООО «РусСтрой»

Россия, г. Новороссийск, ул. Маяковского, 8

3

PLATINUM

Германия, г. Дрезден, ул. Люфтваффе, 1

  1. Выбор данных из таблиц tovar, group

SELECT id_group,name FROM tovar

UNION

SELECT id_group, name FROM group

order by id_group

id_group

name

1

KLEO S60

1

Клеи

  1. Выбор данных из таблицы employee

SELECT [id_employee], [surname], [passport], [id_position] FROM [employee] order by id_employee desc

id_employee

surname

passport

id_position

15

Шабаш Г. И.

358292392

7

14

Загорулько А. Д.

332532523

7

  1. Выбор данных из таблицы tovar

select [id], [name], [pricez], [pricer] from tovar order by id

id

name

pricez

pricer

101

KLEO S60

160

225

426

Валик велюровый со станком 20 см

25

29

  1. Выбор данных из таблицы department

SELECT [department], [name] FROM [department] order by department desc

department

name

4

Напольные покрытия

3

Инструменты