
- •Курсовой проект
- •Реферат
- •Содержание
- •Введение
- •Создание базы данных
- •Концептуальная модель базы данных «Магазин»
- •Создание базы данных в ms sql Server
- •Создание таблиц
- •Создание внешних ключей
- •Заполнение таблиц базы данных информацией
- •Выбор значений полей из таблиц бд для получения списка отгрузок
- •Разграничение прав доступа
- •Резервное копирование и восстановление
- •Использование команд backup и restore
- •Заключение
- •Список используемой литературы
Создание внешних ключей
Для того чтобы связать таблички необходимо создать внешние ключи. Создаем запросы при помощи процедуры ALTER TABLE:
Связываем таблицы «Договора» и «Покупатели» по столбцу «PurchaserID»:
ALTER TABLE Document ADD CONSTRAINT FK_Document_Purchaser
FOREIGN KEY(PurchaserID)
REFERENCES Purchaser(PurchaserID)
ON UPDATE NO ACTION
ON DELETE NO ACTION
GO
Связываем таблицу «Поставки» и «Договора» по столбцу «DocumentID»:
ALTER TABLE Delivery ADD CONSTRAINT FK_Delivery_Product
FOREIGN KEY(ProductID)
REFERENCES Product(ProductID)
ON UPDATE NO ACTION
ON DELETE NO ACTION
GO
Связываем таблицу «Накладные» и «Склады» по столбцу «StorageID»:
ALTER TABLE Bill ADD CONSTRAINT FK_Bill_Storage
FOREIGN KEY(StorageID)
REFERENCES Storage(StorageID)
ON UPDATE NO ACTION
ON DELETE NO ACTION
GO
Связываем таблицу «Накладные» и «Договора» по столбцу «DocumentID»:
ALTER TABLE Bill ADD CONSTRAINT FK_Bill_Document
FOREIGN KEY(DocumentID)
REFERENCES Document(DocumentID)
ON UPDATE NO ACTION
ON DELETE NO ACTION
GO
Связываем таблицу «Отгрузки» и «Покупатели» по столбцу «PurchaserID»:
ALTER TABLE Shipment ADD CONSTRAINT FK_Shipment_Purchaser
FOREIGN KEY(PurchaserID)
REFERENCES Purchaser(PurchaserID)
ON UPDATE NO ACTION
ON DELETE NO ACTION
GO
Связываем таблицу «Отгрузки» и «Договора» по столбцу «DocumentID»:
ALTER TABLE Shipment ADD CONSTRAINT FK_Shipment_Document
FOREIGN KEY(DocumentID)
REFERENCES Document(DocumentID)
ON UPDATE NO ACTION
ON DELETE NO ACTION
GO
Связываем таблицу «Отгрузки» и «Товары» по столбцу «ProductID»:
ALTER TABLE Shipment ADD CONSTRAINT FK_Shipment_Product
FOREIGN KEY(ProductID)
REFERENCES Product(ProductID)
ON UPDATE NO ACTION
ON DELETE NO ACTION
GO
Связываем таблицу «Отгрузки» и «Склады» по столбцу «StorageID»:
ALTER TABLE Shipment ADD CONSTRAINT FK_Shipment_Storage
FOREIGN KEY(StorageID)
REFERENCES Storage(StorageID)
ON UPDATE NO ACTION
ON DELETE NO ACTION
GO
Связываем таблицу «Отгрузки» и «Накладные» по столбцу «BillID»:
ALTER TABLE Shipment ADD CONSTRAINT FK_Shipment_Bill
FOREIGN KEY(BillID)
REFERENCES Bill(BillID)
ON UPDATE NO ACTION
ON DELETE NO ACTION
GO
Заполнение таблиц базы данных информацией
После успешного построения структуры базы данных в MS SQL Server – создания всех таблиц и ограничений, необходимо заполнить БД информацией. Множественное добавление записей в таблицу осуществляется с помощью операторов INSERT INTO и SELECT.
Запрос для добавления записей в таблицу «Покупатели»:
INSERT INTO Purchaser(INN,NamePurchaser,AdressPurchaser,PaymentAccount,Bank)
SELECT 1234567890,N'ОАО "Дриада"',N'ул.Гайдара 10',6300056,N'Сбербанк' UNION ALL
SELECT 1023456789,N' ОАО "Феникс"',N'ул.Фадеева 5',6300051,N'ВТБ' UNION ALL
SELECT 1092345678,N' ОАО "Биржа"',N'ул.Полевая 7',6300031,N'Trust' UNION ALL
SELECT 1098234567,N' ОАО "Афина"',N'ул.Революционная 153',6300073,N'Сбербанк' UNION ALL
SELECT 1098723456,N' ОАО "Франк"',N'ул.Киевская 2',6300071,N'ГазпромБанк'
GO
Заполнение таблицы «Договора»:
INSERT INTO Document(DateDocument,PurchaserID,SumDocument)
SELECT N'2012-04-09',1,150000 UNION ALL
SELECT N'2012-02-15',2,100000 UNION ALL
SELECT N'2012-09-25',3,200000 UNION ALL
SELECT N'2012-05-30',4,320000 UNION ALL
SELECT N'2012-07-01',5,250000
GO
Заполнение таблицы «Товары»:
INSERT INTO Product (NameProduct,Price,Unit,NDS)
SELECT N'Мука',50000,N'тонна',5 UNION ALL
SELECT N'Овсянка',50000,N'тонна',3 UNION ALL
SELECT N'Мука',50000,N'тонна',5 UNION ALL
SELECT N'Сахар',80000,N'тонна',8 UNION ALL
SELECT N'Крахмал',125000,N'тонна',7
GO
Заполнение таблицы «Погрузка»:
INSERT INTO Delivery(DocumentID,ProductID,DeliveryDate,MinDelivery,AmountDelivery,SumDelivery)
SELECT 1,1,N'2012-05-09',1,5,150000 UNION ALL
SELECT 2,2,N'2012-03-15',1,2,100000 UNION ALL
SELECT 3,3,N'2012-10-25',1,4,200000 UNION ALL
SELECT 4,4,N'2012-06-30',1,1,320000 UNION ALL
SELECT 5,5,N'2012-08-01',1,2,250000
GO
Заполнение таблицы «Склад»:
INSERT INTO Storage (NameStorage,ResponsiblePerson,AdressStorage)
SELECT N'Кубометр',N'Колесников В.А.',N'ул.Мичурина 1' UNION ALL
SELECT N'Сектор',N'Вершинина Т.П.',N'ул.Симферопольская 8' UNION ALL
SELECT N'Контейнер',N'Салов С.Н.',N'Волжский пр.103' UNION ALL
SELECT N'Поле',N'Сизова А.К.',N'ул.Гая 71' UNION ALL
SELECT N'Топаз',N'Мельников Б.Г.',N'ул.Масленникова 7'
Go
Заполнение таблица «Накладная»:
INSERT INTO Bill (AccountBill,StorageID,DateShipment,DocumentID,SumBill)
SELECT 5185,1,N'2012-09-05',1,150000 UNION ALL
SELECT 5731,2,N'2012-03-16',2,100000 UNION ALL
SELECT 3945,3,N'2012-08-25',3,200000 UNION ALL
SELECT 2147,4,N'2012-07-01',4,320000 UNION ALL
SELECT 6573,5,N'2012-08-02',5,250000
GO
Заполнение таблица «Отгрузка»:
INSERT INTO Shipment (PurchaserID,DocumentID,ProductID,StorageID,BillID)
SELECT 1,1,1,1,1 UNION ALL
SELECT 2,2,2,2,2 UNION ALL
SELECT 3,3,3,3,3 UNION ALL
SELECT 4,4,4,4,4 UNION ALL
SELECT 5,5,5,5,5
GO