Министерство образования республики Беларусь
Учреждение образования
«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕР
СИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ»
Институт информационных технологий
Специальность: Информационные системы и технологии (в экономике)
КОНТРОЛЬНАЯ РАБОТА
по курсу «основы и лингвистическое обеспечение баз данных»
Вариант № 9
Студент-заочник 2 курса
группы № 982321
ФИО:
Адрес:
ул.
Тел.
Минск 2010
ВАРИАНТ 9. ПЕРЕМЕЩЕНИЕ И СПИСАНИЕ МАТЦЕННОСТЕЙ НА ПРЕДПРИЯТИИ
1. Разработайте с помощью ERwin логическую и физическую модели данных для проектируемой базы данных.
2. Создайте SQL-сценарий, который позволяет сгенерировать базу данных в формате MS SQL Server 2005, а также наполнить созданную базу данных конкретными данными.
-- Host : DELL\SQLEXPRESS
-- Database : склады
-- Version : Microsoft SQL Server 9.00.1399.06
CREATE DATABASE склады
ON PRIMARY
( NAME = склады,
FILENAME = 'D:\MSSQL\склады.mdf',
SIZE = 3 MB,
MAXSIZE = 10 MB,
FILEGROWTH = 3 MB )
LOG ON
( NAME = склады_log,
FILENAME = ' D:\MSSQL\склады_log.ldf',
SIZE = 1 MB,
MAXSIZE = 10 MB,
FILEGROWTH = 10 % )
COLLATE Cyrillic_General_CI_AS
GO
USE склады
GO
--
-- Definition for table акты_списания :
--
CREATE TABLE акты_списания (
номер_акта_списания int NOT NULL,
дата_акта_списания datetime NOT NULL,
основание_списания varchar(20) NULL,
номер_склада int NOT NULL,
количество int NOT NULL,
номер_материала int NOT NULL
)
GO
--
-- Definition for table мат_отв_лица :
--
CREATE TABLE мат_отв_лица (
номер_мат_отв_лица int NOT NULL,
фио varchar(20) NOT NULL,
должность varchar(20) NOT NULL
)
GO
--
-- Definition for table материалы :
--
CREATE TABLE материалы (
номер_материала int NOT NULL,
наим_материала varchar(20) NOT NULL,
ед_изм varchar(20) NULL,
цена int NOT NULL,
количество int NOT NULL,
номер_склада int NOT NULL
)
GO
--
-- Definition for table накладные :
--
CREATE TABLE накладные (
номер_накладной int NOT NULL,
дата_накладной datetime NOT NULL,
номер_нового_склада int NOT NULL,
номер_склада int NOT NULL,
количество int NOT NULL,
номер_материала int NOT NULL
)
GO
--
-- Definition for table склады :
--
CREATE TABLE склады (
номер_склада int NOT NULL,
наим_склада varchar(20) NOT NULL,
номер_мат_отв_лица int NOT NULL
)
GO
--
-- Definition for indices :
--
ALTER TABLE акты_списания
ADD CONSTRAINT XPKакты_списания
PRIMARY KEY CLUSTERED (номер_акта_списания)
GO
ALTER TABLE мат_отв_лица
ADD CONSTRAINT XPKмат_отв_лица
PRIMARY KEY CLUSTERED (номер_мат_отв_лица)
GO
ALTER TABLE материалы
ADD CONSTRAINT XPKматериалы
PRIMARY KEY CLUSTERED (номер_материала)
GO
ALTER TABLE накладные
ADD CONSTRAINT XPKнакладные
PRIMARY KEY CLUSTERED (номер_накладной)
GO
ALTER TABLE склады
ADD CONSTRAINT XPKсклады
PRIMARY KEY CLUSTERED (номер_склада)
GO
--
-- Definition for foreign keys :
--
ALTER TABLE акты_списания
ADD CONSTRAINT R_20 FOREIGN KEY (номер_склада)
REFERENCES склады (номер_склада)
ON UPDATE NO ACTION
ON DELETE NO ACTION
GO
ALTER TABLE акты_списания
ADD CONSTRAINT R_24 FOREIGN KEY (номер_материала)
REFERENCES материалы (номер_материала)
ON UPDATE NO ACTION
ON DELETE NO ACTION
GO
ALTER TABLE материалы
ADD CONSTRAINT R_22 FOREIGN KEY (номер_склада)
REFERENCES склады (номер_склада)
ON UPDATE NO ACTION
ON DELETE NO ACTION
GO
ALTER TABLE накладные
ADD CONSTRAINT R_19 FOREIGN KEY (номер_склада)
REFERENCES склады (номер_склада)
ON UPDATE NO ACTION
ON DELETE NO ACTION
GO
ALTER TABLE накладные
ADD CONSTRAINT R_23 FOREIGN KEY (номер_материала)
REFERENCES материалы (номер_материала)
ON UPDATE NO ACTION
ON DELETE NO ACTION
GO
ALTER TABLE склады
ADD CONSTRAINT R_18 FOREIGN KEY (номер_мат_отв_лица)
REFERENCES мат_отв_лица (номер_мат_отв_лица)
ON UPDATE NO ACTION
ON DELETE NO ACTION
GO
--
-- Data for table мат_отв_лица
--
INSERT INTO мат_отв_лица ( номер_мат_отв_лица , фио , должность )
VALUES
(1, N'Иванов А. М.', N'кладовщик')
GO
INSERT INTO мат_отв_лица ( номер_мат_отв_лица , фио , должность )
VALUES
(2, N'Петров О. П.', N'кладовщик')
GO
INSERT INTO мат_отв_лица ( номер_мат_отв_лица , фио , должность )
VALUES
(3, N'Сидоров А. Н.', N'ст. кладовщик')
GO
--
-- Data for table склады
--
INSERT INTO склады ( номер_склада , наим_склада , номер_мат_отв_лица )
VALUES
(1, N'склад №1', 3)
GO
INSERT INTO склады ( номер_склада , наим_склада , номер_мат_отв_лица )
VALUES
(2, N'склад №2', 3)
GO
INSERT INTO склады ( номер_склада , наим_склада , номер_мат_отв_лица )
VALUES
(3, N'склад №3', 2)
GO
INSERT INTO склады ( номер_склада , наим_склада , номер_мат_отв_лица )
VALUES
(4, N'склад №4', 1)
GO
--
-- Data for table материалы
--
INSERT INTO материалы ( номер_материала , наим_материала , ед_изм , цена , количество , номер_склада )
VALUES
(1, N'диз. топливо', N'лит.', 3070, 105, 1)
GO
INSERT INTO материалы ( номер_материала , наим_материала , ед_изм , цена , количество , номер_склада )
VALUES
(2, N'бензин', N'лит.', 3100, 52, 1)
GO
INSERT INTO материалы ( номер_материала , наим_материала , ед_изм , цена , количество , номер_склада )
VALUES
(3, N'масло', N'лит.', 1050, 40, 1)
GO
INSERT INTO материалы ( номер_материала , наим_материала , ед_изм , цена , количество , номер_склада )
VALUES
(4, N'розетка', N'шт.', 550, 210, 2)
GO
INSERT INTO материалы ( номер_материала , наим_материала , ед_изм , цена , количество , номер_склада )
VALUES
(5, N'лампа 100 вт', N'шт.', 980, 180, 2)
GO
INSERT INTO материалы ( номер_материала , наим_материала , ед_изм , цена , количество , номер_склада )
VALUES
(6, N'светильник', N'шт.', 22500, 90, 2)
GO
INSERT INTO материалы ( номер_материала , наим_материала , ед_изм , цена , количество , номер_склада )
VALUES
(7, N'раковина', N'шт.', 180000, 20, 3)
GO
INSERT INTO материалы ( номер_материала , наим_материала , ед_изм , цена , количество , номер_склада )
VALUES
(8, N'водонагреватель', N'шт.', 218000, 15, 3)
GO
INSERT INTO материалы ( номер_материала , наим_материала , ед_изм , цена , количество , номер_склада )
VALUES
(9, N'смеситель', N'шт.', 145600, 35, 3)
GO
INSERT INTO материалы ( номер_материала , наим_материала , ед_изм , цена , количество , номер_склада )
VALUES
(10, N'доска', N'м3', 140000, 20, 4)
GO
INSERT INTO материалы ( номер_материала , наим_материала , ед_изм , цена , количество , номер_склада )
VALUES
(11, N'вагонка', N'м3', 121300, 37, 4)
GO
INSERT INTO материалы ( номер_материала , наим_материала , ед_изм , цена , количество , номер_склада )
VALUES
(12, N'брус', N'м3', 64700, 28, 4)
GO
--
-- Data for table накладные
--
INSERT INTO накладные ( номер_накладной , дата_накладной , номер_нового_склада , номер_склада , количество , номер_материала )
VALUES
(1, '20101216', 2, 1, 10, 3)
GO
INSERT INTO накладные ( номер_накладной , дата_накладной , номер_нового_склада , номер_склада , количество , номер_материала )
VALUES
(2, '20100811', 3, 2, 15, 5)
GO
INSERT INTO накладные ( номер_накладной , дата_накладной , номер_нового_склада , номер_склада , количество , номер_материала )
VALUES
(3, '20101015', 4, 3, 7, 7)
GO
--
-- Data for table акты_списания
--
INSERT INTO акты_списания ( номер_акта_списания , дата_акта_списания , основание_списания , номер_склада , количество , номер_материала )
VALUES
(1, '20100620', N'брак', 3, 8, 8)
GO
INSERT INTO акты_списания ( номер_акта_списания , дата_акта_списания , основание_списания , номер_склада , количество , номер_материала )
VALUES
(2, '20100523', NULL, 2, 12, 5)
GO