0% found this document useful (0 votes)
21 views10 pages

Lab2 BD

Uploaded by

Stefan Ionescu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views10 pages

Lab2 BD

Uploaded by

Stefan Ionescu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 10

-- EX1

--CREATE TABLE departamente(


-- id_departament NUMBER(2) not NULL,
-- denumire_departament VARCHAR2(30),
-- telefon VARCHAR2(10)
--);

--CREATE TABLE grila_salariu (


-- grad NUMBER(2),
-- nivel_inferior NUMBER,
-- nivel_superior NUMBER
--);

--CREATE TABLE angajati (


-- id_angajat NUMBER(4) NOT NULL,
-- nume VARCHAR2(30),
-- prenume VARCHAR2(30),
-- functie VARCHAR2(20),
-- id_sef NUMBER(4),
-- data_angajarii DATE DEFAULT SYSDATE,
-- salariu NUMBER(7, 2) DEFAULT 2000,
-- comision NUMBER(7, 2),
-- id_departament NUMBER
--)

--EX2 Să se adauge chei primare si chei străine pentru tabelele


de la Ex. 1. Pentru tabela departamente să se adauge o
constrângere unique pentru coloana denumire_departament.
Pentru tabela angajati sa se adauge o constrângere unique
pentru coloanele nume și prenume.

--PRIMARY KEYS
alter table departamente add constraint pk_departamente primary
key(id_departament);
alter table grila_salariu add constraint ok_grila primary key (grad);
alter table angajati add constraint ok_angajati primary key (id_angajat);

-- Foreign Keys

alter table angajati add constraint fk_ang__dep foreign key (id_departament)


references departamente(id_departament);
alter table angajati add constraint fk_ang__ang foreign key (id_sef) references
angajati(id_angajat);

--Unique

alter table departamente add constraint uq_denumire unique (denumire_departament);


alter table angajati add constraint uq_nume unique (nume, prenume);

-- DROP TABLES

drop table angajati;


drop table departamente;
drop table grila_salariu
EX3

CREATE TABLE departamente(


id_departament NUMBER(2) not NULL,
denumire_departament VARCHAR2(30),
telefon VARCHAR2(10)
);

CREATE TABLE grila_salariu (


grad NUMBER(2),
nivel_inferior NUMBER,
nivel_superior NUMBER
);

CREATE TABLE angajati (


id_angajat NUMBER(4) NOT NULL,
nume VARCHAR2(30),
prenume VARCHAR2(30),
functie VARCHAR2(20),
id_sef NUMBER(4),
data_angajarii DATE DEFAULT SYSDATE,
salariu NUMBER(7, 2) DEFAULT 2000,
comision NUMBER(7, 2),
id_departament NUMBER
);

-- EX2
--PRIMARY KEYS
alter table departamente add constraint pk_departamente primary
key(id_departament);
alter table grila_salariu add constraint pk_grila primary key (grad);
alter table angajati add constraint pk_angajati primary key (id_angajat);

-- Foreign Keys

alter table angajati add constraint fk_ang__dep foreign key (id_departament)


references departamente(id_departament);
alter table angajati add constraint fk_ang__ang foreign key (id_sef) references
angajati(id_angajat);

--Unique

alter table departamente add constraint uq_denumire unique (denumire_departament);


alter table angajati add constraint uq_nume unique (nume, prenume);

-- DROP TABLES

drop table angajati;


drop table departamente;
drop table grila_salariu;

-- EX3

insert into grila_salariu(1, 1, 1000);


insert into grila_salariu(1, 1001, 2000);

insert into departamente values(10, 'Proiectare Software', '3212121');


insert into departamente values(20, 'Asigurarea Calitatii', '3212122');
insert into departamente values(10, 'Resurse Umane', '3212123');
insert into departamente values(30, 'Proiectare Software', '3212124');

insert into angajati(id_angajat, nume, prenume, functie)


values(1001, 'Ionescu', 'Ion', 'Director');
insert into angajati(nume, prenume, functie)
values('Ionescu', 'Ionel', 'Programator');
insert into angajati(id_angajat, nume, prenume, functie, id_sef, id_departament)
values(1002, 'Ionescu', 'Ionel', 'Programator', 1001, 1024, 10);

constraint fk_licenses_drivers_drivers foreign key(id_driver) fk_tabela din care


plec_tabela in care ajung foreign key(coloana de pe care plec)
references tabela incare
ajung(coloana_in_care_ajung)
references drivers(id_driver)

// exercitii

create table producers(


id_producer number,
name varchar2(50),
constraint pk_producers primary key(id_producer)
);

desc producers;
select constraint_name from all_constraints
where table_name = 'PRODUCERS';

create table car_types(


id_type number,
type varchar2(50),
constraint pk_car_types primary key(id_type)
);

desc car_types
select constraint_name from all_constraints
where table_name = 'CAR_TYPES';

create table cars (


id_car number,
id_producer number,
id_type number,
registration_no varchar2(50),
year number,
constraint pk_id_car primary key(id_car),
constraint fk_cars_producers foreign key (id_producer)
references producers(id_producer),
constraint fk_cars_car_types foreign key (id_type)
references car_type(id_type),
);

desc cars
select constraint_name from all_constraints
where table_name = 'CARS';

create table drivers(


id_driver number,
id_Car number,
date number(3),
constraint pk_drivers primary key(id_driver)
);

desc drivers
select constraint_name from all_constraints
where table_name = 'DRIVERS'

create table cars_drivers(


id_driver number,
id_license number,
"date" number,
constraint pk_cars_drivers primary key(id_driver, id_car),
constraint fk_cars_cars_drivers foreign key (id_driver)
references drivers(id_driver),
constraint fk_cars_drivers_cars foreign key (id_car)
references cars(id_car),
);

desc car_drivers
select constraint_name from all_constraints
where table_name = 'CAR_DRIVERS'

create table drivers(


id_driver number,
name varchar(30),
age number
constraint pk_drivers primary key(id_driver),
constraint fk_licenses_drivers_drivers foreign key(id_driver)
references drivers(id_driver)
);

desc drivers
select constraint_name from all_constraints
where table_name = 'DRIVERS'

create table licenses(


id_license number,
type varchar(50),
constraint pk_licenses primary key(id_license),
)

alter table licenses_drivers add constraint fk_licenses_drivers_licenses


foreign key id_license references licenses(id_license);

// ex1

create table users(


id number,
username varchar2(50),
password varchar2(50),
constraint pk_users primary key(id)
);
desc users
select constraint_name from all_constraints
where table_name = 'USERS';

create table comments(


id number,
article_comment varchar2(50),
idarticle number,
iduser number,

constraint pk_comments primary key(id),


constraint fk_comments_users foreign key(iduser)
references users(id)
);

desc comments
select constraint_name from all_constraints
where table_name = 'COMMENTS';

create table tags(


id number,
tagname varchar2(50),
constraint pk_tags primary key(id)
);

desc tags
select constraint_name from all_constraints
where table_name = 'TAGS';

create table articles(


id number,
iduser number,
title varchar(50),
content varchar(50),
constraint pk_articles primary key(id),
constraint fk_articles_users foreign key(iduser)
references users(id)
);

desc articles
select constraint_name from all_constraints
where table_name = 'ARTICLES';

alter table comments add constraint fk_comments_articles foreign key(idarticle)


references articles(id);

create table tags_articles(


idarticle number,
idtag number,
constraint pk_tags_articles primary key(idarticle, idtag),
constraint fk_tags_articles_tags foreign key(idtag)
references tags(id),
constraint fk_tags_articles_articles foreign key(idarticle)
references articles(id)
);

desc tags_articles
select constraint_name from all_constraints
where table_name = 'TAGS_ARTICLES';

// EX2

create table recipes(


id_recipe number,
title varchar2(50),
instructions varchar2(50),
constraint pk_recipes primary key(id_recipe)
);

desc recipes
select constraint_name from all_constraints
where table_name = 'RECIPES';

create table link(


id_recipe number,
id_ingredient number,
quantity number,
mu varchar2(50),
constraint pk_link primary key(id_recipe, id_ingredient),
constraints fk_link_recipes foreign key(id_recipe)
references recipes(id_recipe)
);

desc link
select constraint_name from all_constraints
where table_name = 'LINK';

create table categories(


id_category number,
category varchar2(50),
constraint pk_categories primary key(id_category)
);

desc categories
select constraint_name from all_constraints
where table_name = 'CATEGORIES'

create table ingredients(


id_ingredient number,
id_category number,
ingredient varchar2(50),
constraint pk_ingredients primary key(id_ingredient),
constraint fk_ingredients_categories foreign key(id_category)
references categories(id_category)
);

desc ingredients
select constraint_name from all_constraints
where table_name = 'INGREDIENTS';

alter table link add constraint fk_link_ingredients foreign key(id_ingredient)


references ingredients(id_ingredient)

// RECAP TEST
create table comments(
id number,
article_comment varchar2(50),
idarticle number,
iduser number,
constraint pk_comments primary key(id)
);

desc comments
select constraint_name from all_constraints
where table_name = 'COMMENTS'

create table users(


id number,
username varchar2(50),
password varchar2(50),
constraint pk_users primary key(id)
);

desc users
select constraint_name from all_constraints
where table_name = 'USERS'

alter table comments add constraint fk_comments_users foreign key(iduser)


references users(id)

create table tags(


id number,
tagname varchar2(50),
constraint pk_tags primary key(id)
);

desc tags
select constraint_name from all_constraints
where table_name = 'TAGS'

create table tags_articles(


idarticle number,
idtag number,
constraint pk_tags_articles primary key(idarticle, idtag),
constraint fk_tags_articles_tags foreign key(idtag)
references tags(id)
);

desc tags_articles
select constraint_name from all_constraints
where table_name = 'TAGS_ARTICLES'

create table articles(


id number,
iduser number,
title varchar2(50),
content varchar2(50),
constraint pk_articles primary key(id),
constraint fk_articles_users foreign key(iduser)
references users(id)
);
desc articles
select constraint_name from all_constraints
where table_name = 'ARTICLES'

alter table comments add constraint fk_comments_articles foreign key(idarticle)


references articles(id);

alter table tags_articles add constraint fk_tags_articles_articles foreign


key(idarticle)
references articles(id);

--insert into articles(id, iduser, title, constent) values(10, 1, 'Humulesti',


'Copilarii');

--select * from articles

insert into users(id, username, password) values(10, 'Mihai', 'basma');

select * from users;

insert into articles(id, iduser, title, constent) values(1, 10, 'Humulesti',


'Copilarii');

select * from articles;

insert into tags(id, tagname) values(1, 'Boris');

select * from tags;

insert into tags_articles(idarticle, idtag) values(1, 1);

select * from tags_articles;

insert into comments(id, article_comment, idarticle, iduser) values(12, 'Noice', 1,


10);

select * from comments

-- EX 2

create table recipes(


id_recipe number,
title varchar2(50),
instructions varchar2(50),
constraint pk_recipes primary key(id_recipe)
);

desc recipes
select constraint_name from all_constraints
where table_name = 'RECIPES';

create table ingredients(


id_ingredient number,
id_category number,
ingredient varchar2(50),
constraint pk_ingredients primary key(id_ingredient)
);
desc ingredients
select constraint_name from all_constraints
where table_name = 'INGREDIENTS';

create table categories(


id_category number,
category varchar2(50),
constraint pk_categories primary key(id_category)
);

desc categories
select constraint_name from all_constraints
where table_name = 'CATEGORIES';

alter table ingredients add constraint fk_ingredients_categories foreign key


(id_category)
references categories(id_category)

desc ingredients
select constraint_name from all_constraints
where table_name = 'INGREDIENTS';

create table link(


id_recipe number,
id_ingredient number,
quantity number,
mu varchar2(50),
constraint pk_link primary key(id_recipe, id_ingredient),
constraint fk_link_recipes foreign key(id_recipe)
references recipes(id_recipe),
constraint fk_link_ingredients foreign key(id_ingredient)
references ingredients(id_ingredient)
);

desc link
select constraint_name from all_constraints
where table_name = 'LINK';

insert into recipes(id_recipe, title, instructions) values(1, 'PASTA CARBONARA',


'EGGS');

select * from recipes

insert into categories(id_category, category) values(1, 2);

select * from categories

insert into ingredients(id_ingredient, id_category, ingredient) values(1, 1,


'CHILLI');

select * from ingredients

insert into link(id_recipe, id_ingredient, quantity, mu) values(1, 1, 50, 'NOT A


COW');

select * from link

You might also like