Контрольная работа (вариант 5)
.docМинистерство образования Республики Беларусь
Учреждение образования
«Белорусский Государственный университет
информатики и радиоэлектроники»
Факультет непрерывного и дистанционного обучения
Кафедра экономической информатики
КОНТРОЛЬНАЯ РАБОТА
по дисциплине
Основы и лингвистическое обеспечение баз данных
Вариант № 5
Выполнил студент
Чак Наталья Николаевна
Группа №802321С, шифр № 05
E-mail: nataliamax@tut.by
Дата 2010-10-15
Подпись
2010
Задача.
Создать базу данных «СНАБЖЕНИЕ ПРЕДПРИЯТИЯ» (поставщики, договора, валюта, склады, материально ответственные, приходные накладные, приходные ордера, матценности).
Решение:
Создание базы данных будет осуществлено в СУБД Oracle 10g Release2. Основными критериями выбора Oracle Database в качестве системы управления базами данных это высокая производительность, наряду с надежностью.
База данных будет создана в схеме Снабжение предприятия (наименование в СУБД - SUPPLY). Все таблицы базы данных будут созданы в указанной схеме.
Скрипт на создание таблицы Валюта (наименование в СУБД – CURRENCY):
CREATE TABLE SUPPLY.CURRENCY
(
ID_CURR INTEGER, // Уникальный номер валюты
NAME_CURR CHAR(50 BYTE), // Полное наименование валюты
ABBREV_CURR CHAR(3 BYTE) // Сокращенное наименование валюты (аббревиатура)
)
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;
CREATE UNIQUE INDEX SUPPLY.CURRENCY_PK ON SUPPLY.CURRENCY
(ID_CURR)
LOGGING
TABLESPACE USERS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
NOPARALLEL;
ALTER TABLE SUPPLY.CURRENCY ADD (
CONSTRAINT CURRENCY_PK
PRIMARY KEY
(ID_CURR)
USING INDEX
TABLESPACE USERS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
));
В результате получим таблицу, в которую внесем некоторые данные:
Скрипт на создание таблицы Поставщики (наименование в СУБД – SUPPLIERS):
CREATE TABLE SUPPLY.SUPPLIERS
(
ID_SUPPL INTEGER, // Уникальный номер поставщика
NAME_SUPPL VARCHAR2(200 BYTE), // Наименование поставщика
UNN_SUPPL INTEGER, // УНН поставщика
ADDRESS VARCHAR2 150 BYTE) // Юридический адрес поставщика
CODE_TYPE INTEGER // Тип поставщика. Создан классификатор типов поставщика, таблица X_TYPE_SUPPLIERS
)
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;
CREATE UNIQUE INDEX SUPPLY.SUPPLIERS_PK ON SUPPLY.SUPPLIERS
(ID_SUPPL)
LOGGING
TABLESPACE USERS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
NOPARALLEL;
ALTER TABLE SUPPLY.SUPPLIERS ADD (
CONSTRAINT SUPPLIERS_PK
PRIMARY KEY
(ID_SUPPL)
USING INDEX
TABLESPACE USERS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
));
Создание классификатора типов поставщика, таблица X_TYPE_SUPPLIERS
CREATE TABLE SUPPLY.X_TYPE_SUPPLIERS
(
CODE_TYPE NUMBER,
TYPE_SUPPL VARCHAR2(40 CHAR)
)
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;
Создание таблицы Договора (наименование в СУБД – CONTRACT):
CREATE TABLE SUPPLY.CONTRACT
(
ID_CONTRACT INTEGER, // Уникальный номер договора
ID_SUPPL INTEGER, // Уникальный номер поставщика
NUM_CONTRACT NUMBER(22), // Номер договора
DATE_CONTRACT DATE // Дата договора
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;
CREATE UNIQUE INDEX SUPPLY.CONTRACT_PK ON SUPPLY.CONTRACT
(ID_CONTRACT)
LOGGING
TABLESPACE USERS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
NOPARALLEL;
ALTER TABLE SUPPLY.CONTRACT ADD (
CONSTRAINT CONTRACT_PK
PRIMARY KEY
(ID_CONTRACT)
USING INDEX
TABLESPACE USERS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
));
Создание таблицы Склады (наименование в СУБД – WAREHOUSE):
CREATE TABLE SUPPLY.WAREHOUSE
(
ID_WAREHOUSE INTEGER, // Уникальный номер склада
NAME CHAR(15), // Наименование склада
ADDRESS VARCHAR2(200) // Адрес склада
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
NOMONITORING;
ALTER TABLE SUPPLY.WAREHOUSE ADD (
CONSTRAINT WAREHOUSE_PK
PRIMARY KEY
(ID_WAREHOUSE));
Создание таблицы Материально ответственные (наименование в СУБД – RESPONSIBLE):
CREATE TABLE SUPPLY.RESPONSIBLE
(
ID_RESP INTEGER, // Уникальный номер ответственного
NAME VARCHAR2(60) // ФИО ответственного
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
NOMONITORING;
ALTER TABLE SUPPLY.RESPONSIBLE ADD (
CONSTRAINT RESPONSIBLE_PK
PRIMARY KEY
(ID_RESP));
Создание таблицы Матценности (наименование в СУБД - PRODUCT):
CREATE TABLE SUPPLY.PRODUCT
(
CODE_PRODUCT NUMBER,
NAME_PRODUCT VARCHAR2(50 CHAR)
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;
Создание таблицы Приходные накладные (наименование в СУБД - INVOICE):
CREATE TABLE SUPPLY.INVOICE
(
ID_SUPPL INTEGER, // Код поставщика
NUMBER_INVOICE CHAR(10 CHAR), // Номер накладной
DATE_INVOICE DATE, // Дата накладной
BILL INTEGER, // Счет
ID_CURR INTEGER, // Код валюты
ID_WAREHOUSE INTEGER, // Код склада
CODE_PRODUCT NUMBER, // Код товара
NUMBER_PRODUCT INTEGER, // Количество товара
PRICE_PRODUCT NUMBER, // Цена без учета НДС
VAT NUMBER, // НДС
ID_RESP INTEGER, // Код материально ответственного
ID_RECEPIENT INTEGER // Код получателя
)
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;