Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otchet.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.36 Mб
Скачать

Белорусский государственный университет информатики и радиоэлектроники

Кафедра систем управления

ОТЧЕТ ПО ЛАБОРАТОРНЫМ РАБОТАМ

По предмету: ИОСУ

Разработка БД

2 Вариант

Проверила: Крупская М.А

Выполнил: студент группы 322402

Жарский Д.А

Минск 2016

Лабораторная работа №1

  1. Создать собственную базу данных по полученному варианту. Варианты заданий приведены в Приложении 1 при этом:

  • создать таблицы;

  • создать ограничения;

  • создать индексы, синонимы, последовательности;

  • внести данные в таблицы, где необходимо в качестве первичных ключей использовать псевдостолбцы созданных последовательностей.

Последовательности:

CREATE SEQUENCE seqWorkers

INCREMENT BY 1

START WITH 1;

CREATE SEQUENCE seqClients

INCREMENT BY 1

START WITH 1;

CREATE SEQUENCE seqProviders

INCREMENT BY 1

START WITH 1;

CREATE SEQUENCE seqFuels

INCREMENT BY 1

START WITH 1;

CREATE SEQUENCE seqInvoices

INCREMENT BY 1

START WITH 1;

CREATE SEQUENCE seqSales

INCREMENT BY 1

START WITH 1;

Таблицы

CREATE TABLE zh_orders (kz INTEGER not null,

customer VARCHAR(22) not null,

kp integer not null ,

data date not null unique,

primary key (kz)

);

CREATE TABLE zh_creator (nc INTEGER not null,

adress VARCHAR(22) not null,

tel_no integer not null ,

primary key (nc)

);

CREATE TABLE zh_materials (km INTEGER not null,

nazv_ma VARCHAR2(22) not null,

cvet VARCHAR2(15) not null check(cvet ='black' or cvet ='blue' or cvet ='yellow' or cvet ='green' or cvet ='grey' or cvet ='white' or cvet ='brown') ,

primary key (km)

);

CREATE TABLE zh_catolog(

kp INTEGER not null,

km INTEGER not null,

name VARCHAR(22) not null ,

nc INTEGER not null,

cost integer not null,

amount integer,

primary key (kp)

);

ALTER TABLE zh_orders add constraint c1 foreign key (kp) references zh_catolog;

ALTER TABLE zh_catolog add constraint c2 foreign key (km) references zh_materials;

ALTER TABLE zh_catolog add constraint c3 foreign key (nc) references zh_creator;

АВТОИНКРИМЕНТ ЗАКАЗОВ

create sequence orders_kz

start with 1

increment by 1

nomaxvalue;

create or replace trigger kz_in

before insert on zh_orders

for each row

begin

if :new.kz is null then

select orders_kz.nextval into :new.kz from dual;

end if;

end;

/

АВТОИНКРИМЕНТ МАТЕРИАЛОВ

create sequence materials_inc

start with 1

increment by 1

nomaxvalue;

create or replace trigger km_in

before insert on zh_materials

for each row

begin

if :new.km is null then

select materials_inc.nextval into :new.km from dual;

end if;

end;

/

ЗАПОЛНЕНИЕ

insert into zh_materials values (null , 'pork skin', 'black');

insert into zh_creator values ( 1, 'per. gagarina12-10', 1313133);

insert into zh_catolog values (1, 1, 'sumka la normale', 1, 9.99, 8);

insert into zh_orders values ( null, 'petrov', 1, 12-06-2010);

доделано:

alter table zh_orders add kolichestvo integer;

create public synonym zakazy for zh_orders;

create index index_cvet on zh_materials (cvet);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]