
- •Тема 1 Проектирование базы данных
- •Тема 2 Проектирование структуры таблиц при использовании языка Transact-sql
- •Тема 3 Проектирование структуры таблиц при использовании case-средства erwin и консоли sql Server Management Studio
- •Тема 4 sql Server Management Studio
- •Тема 5 Выборка данных из бд
- •Тема 6 Объединение таблиц
- •Тема 7 Вложенные запросы
- •Тема 8 использование оператора exists, case, any и all
- •Тема 9 Запросы на добавление, удаление и изменение записей. Работа с тригирами и транзакциями
- •Тема 10 Проектирование клиентской части приложения
- •Тема 11 Создание отчетов
- •Тема 12 Создание справки и инсталляционного пакета
Тема 4 sql Server Management Studio
Задание 1
Создать таблицу Prodavec, хранит информацию о продавцах, которые реализуют товар:
Kod_Prodovca - идентификатор продавца, автоинкрементное ключевое поле;
Fam – фамилия продавца, строковый тип размером 30 символов, не должен быть пустым;
Ima – имя продавца, строковый тип размером 15 символов, не должен быть пустым;
Otch – отчество продавца, строковый тип размером 20 символов, может быть пустым;
Adres – адрес продавца, строковый тип размером 30 символов;
Tel – телефон продавца, строковый тип размером 10 символов.
Komission – комиссионные продавцов, числовой тип, значения не могут быть пустыми;
Результат выполнения задания рисунок 4.31
Рисунок 4.31 Создание таблицы Prodavec
Задание 2
Добавьте ограничение Ogr_sto для поля Komission – значения не могут быть меньше 100 руб, по умолчанию 150 руб.
Код запроса:
alter table Prodavec
add constraint org_sto default(150) for komission
alter table Prodavec
add constraint org_sto1 check(komission < 100)
Задание 3
Создайте составной индекс Ind_FIO по полям Fam, Ima, Otch.
Код запроса:
create unique index Ind_FIO on Prodavec(Fam,Ima,Otch
Задание 4
Создайте таблицу Pokupatel, хранит информацию об юридических лицах и физических лицах, совершающие покупки:
Kod_Pokupatela - идентификатор покупателя, автоинкрементное ключевое поле начинается с 2 с шагом 3;
Nazvanie_Ima – название покупателя, строковый тип размером 20 символов, не должен быть пустым;
Adres – адрес покупателя, строковый тип размером 20 символов
Tel - телефон покупателя, строковый тип размером 10 символов.
Результат выполнения задания рисунок 4.32
Рисунок 4.32 Создание таблицы Pokupatel
Задание 5
Создайте уникальный индекс Ind_U_Nazvanie по полю Nazvanie_Ima.
Код запроса:
create unique index ind_u_nazvanie on Pokupatel(Nazvanie_ima)
Задание 6
Создать пользовательское умолчание Umol_Reyting равное 3.
Код запроса:
create default Umol_Reyting as 3
Задание 7
Создать пользовательский тип данных Polz_Tip_Reyting, числовой тип, не может содержать пустых значений, по умолчанию пользовательское умолчание Umol_Reyting.
Код запроса:
Create type Polz_Tip_Reyting from int not null
Задание 8
Создать таблицу Postavchik, хранит информацию о поставщиках товара:
Kod_Postavchika - идентификатор поставщика, автоинкрементное ключевое поле;
Nazvanie – название поставщика, строковый тип размером 20 символов, не должен быть пустым;
Gorod – адрес поставщика, указывается город, строковый тип размером 20 символов;
Reyting - балл, указывающий уровень предпочтения данного поставщика перед другими. Более высокий балл указывают на большее предпочтение (рейтинг). Подключите пользовательский тип данных Polz_Tip_Reyting.
Результат выполнения задания рисунок 4.33
Рисунок 4.33 Создание таблицы Postavchik
Задание 9
Создайте уникальный индекс Ind_U_Nazvanie_P обратной сортировки по полю Nazvanie.
create unique index Idn_U_Nazvanie_P on Postovchik(Nazvanie desc)
Задание 10
Создайте таблицу Sklad, хранит информацию о товаре, имеющемся на складе:
Kod_Tovara_S - идентификатор товара, автоинкрементное ключевое поле;
Naimenovanie – наименование товара, имеющегося на складе, строковый тип размером 15 символов, не может быть пустым;
Kol – количество имеющего товара на складе, числовой тип, не может быть пустым и не может хранить отрицательные значения;
Cena – цена товара, денежный тип, не может быть пустым;
Na_summu – сумма товара хранящегося на складе, вычисляемое поле (Kol*Cena);
Kod_Postavchika – код поставщика, поставляющий товар, числовой тип, не может быть пустым.
Результат выполнения задания рисунок 4.34
Рисунок 4.34 Создание таблицы Sklad
Задание 11
Создайте таблицу Pokupka, хранит информации об операциях покупки товара покупателями:
Kod_Pokupki - идентификатор операции продажи товара, автоинкрементное ключевое поле;
Kod_Prodovca - код продавца, реализующий товар, числовой тип, не может быть пустым;
Kod_Pokupatela - код покупателя, приобретающий товар, числовой тип, не может быть пустым;
Результат выполнения задания рисунок 4.35
Рисунок 4.35 Создание таблицы Pokupka
Задание 12
Установите между созданными таблицами ссылочную целостность.
Код запроса:
alter table pokupka
add constraint fk1 foreign key (Kod_prodovca) references Prodavec
alter table pokupka
add constraint fk2 foreign key (Kod_Pokupatela) references Pokupatel
alter table sklad
add constraint fk3 foreign key (Kod_postavchika) references Postovchik
Задание 13
Создать таблицу Kuplenniy_Tovar, хранит информацию о купленном товаре:
Kod_Kuplennogo_Tovara – идентификатор товара, автоинкрементное ключевое поле;
Kod_Pokupki - код покупки из таблицы Pokupka, числовой тип, не может быть пустым;
Kod_Tovara_S - код товара на складе, числовой тип, не может быть пустым;
Kol – количество товара приобретенного покупателем, не может быть пустым и отрицательным;
Cena – цена реализованного товара, денежный тип, не может быть пустым;
Na_summu – сумма реализованного товара, вычисляемое поле (Kol*Cena).
Результат выполнения задания рисунок 4.36
Рисунок 4.36 Создание таблицы Kuplenniy_Tovar
Задание 14
Добавьте поле Data_Pokupki в таблицу Pokupka.
Код запроса:
alter table pokupka
add Data_pokupki datetime
Задание 15
Физическая схема
Результат выполнения задания рисунок 4.37
Рисунок 4.37 Физическая схема