Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Контрольная работа (вариант №9).doc
Скачиваний:
40
Добавлен:
01.04.2014
Размер:
157.18 Кб
Скачать

Министерство образования республики Беларусь

Учреждение образования

«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕР

СИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ»

Институт информационных технологий

Специальность: Информационные системы и технологии (в экономике)

КОНТРОЛЬНАЯ РАБОТА

по курсу «основы и лингвистическое обеспечение баз данных»

Вариант № 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