Ministerul Educației, Culturii și Cercetării
al Republicii Moldova
Lucrare de studiu individual Nr. 1
Disciplina:Sisteme de gestiune a bazelor de date
Tema: Activitatea unei companii, unui club ș.a
A realizat: Lupăcescu Denis
Grupa: W-2021
A verificat: Petrovschi Andreea
1
Cuprins
Descrierea .............................................................. 3
Schema .................................................................... 4
Listingul de creare și inserare a datelor........ 5
Interogările ........................................................... 10
Crearea indecșilor................................................ 15
Concluzie ............................................................... 15
2
Descrierea BD
Pentru această bază, am ales să realizez o bază de date
pentru un club de fotbal. Toate datele au fost selectate
corect de la un club de fotbal Real Madrid existent,
puteți verifica și singuri. În această bază de date am
creat 3 tabele care conțin puțină informație despre
club.
Schema bazei
3
Listingul de creare și inserare a datelor în BD
4
A fost creată baza de date “footbal_club”
Folosium use database_name, pentru a folosi baza de
date.
Crearea și înserarea datelor în primului tabel.
Tabelul footbal_club_
Rezultatul.
Tabelul nr.2
Tabelul jucatori
Crearea:
5
Înserarea datelor:
Rezultatul:
6
Tabelul nr.3
Tabelul stadion
Crearea:
Înserare:
Rezultat:
7
Ultimul tabel. Tabelul nr.4
Tabelul antrenori.
Crearea:
Înserarea datelelor:
Rezultat:
8
Interogări:
Prima interogare:
Tipul between, aici vom afișa jucătorii clubului care
au salariu între 10.000.000$ și 20.000.000$
Rezultat:
A 2 interogare:
A 2 interogare va fi cu tipul like.
9
Vom afișa jucătorii clubului, numele ai căruia se
încep cu M și E.
Rezultat:
A 3 interogare:
În a 3 interogare, vom afișa jucătorii care au numele
Luka și antrenorii care au familia Ancelotti.
Rezultat:
A 4 interogare:
În a 4 interogare vom număra cu ajutorul la count,
câți jucători sunt în total.
10
La rezultat primim 20 de jucători.
A 5 interogare:
În a 5 interogare cu ajutorul la avg, vom afla vârsta
medie a jucătorilor din club.
La rezultat vedem că vârsta medie este de aproape 28
de ani.
A 6 interogare:
În a 6 interogare cu ajutorul la max și min, vom afla
cea mai mare și cea mai mică experiență a
antrenorilor.
11
În rezultat primim:
Antrenorul cu cea mai mică experiență este
Raul Valbuena.
Antrenorul cu cea mai mare experiență este Carlo
Ancelotti.
A 7 interogare:
În a 7 interogare vom face update unui jucător al
clubului la salariu și strada care locuiește.
Înainte de update:
După:
12
A 8 interogare:
Aici cu ajutorul la order, vom afișa antrenorii în
ordine crescătoare după vârstă.
Rezultat:
A 9 interogare:
În a 9 interogare vom însera un jucător nou în tabelul
jucatori:
Cum vedem la rezultat, s-a introdus un jucător nou.
13
În a 10 interogare, putem vedea câți ani de experiență
au antrenorii împreună ( doar că nu știu unde se poate
aplica, dar pentru exemplu este bine)
Rezultat:
Crearea indecișilor
14
Concluzie:
În concluzie pot spune că lucrarea mi s-a părut
interesantă, mi-am reamintit cum să lucrez cu un
tabel, și am mai aflat ceva nou căutând rezolvarea
problemelor cu care m-am întâlnit. Sper că lucrările
care le vom avea în viitor vor fi și mai interesante.
Cod
use football_club;
DROP TABLE IF EXISTS football_club_;
create table football_club_(
presedintele char(50) primary key not null,
denumire_stadion char(50) not null,
15
nr_mediu_de_fani int not null,
victorii int not null
);
insert into football_club_ values
('Florentino_Perez', 'Santiago_Bernabeu', 23800000,
76);
DROP TABLE IF EXISTS jucatori;
create table jucatori (
id int primary key not null,
nume char(50) not null,
prenume char(50) not null,
an_nastere int not null,
varsta int not null,
salariu int not null,
adresa char(50) not null
);
insert into jucatori values
(1, 'Benzema', 'Karim', 1987, 35, 8000000,
'Plaza_Del_Rey_14'),
16
(2, 'Gareth', 'Bale', 1989, 33, 3120000, 'Castelao_3'),
(3, 'Luka', 'Modric', 1985, 36, 1050000,
'Avendano_64'),
(4, 'Eden', 'Hazard', 1991, 31, 2000000,
'Avda_Andalucia_98'),
(5, 'Marco', 'Asensio', 1996, 26, 6000000,
'Fuente_del_Gallo_62'),
(6, 'Vinicius', 'Junior', 2000, 21, 5500000,
'Estrela_57'),
(7, 'Marcelo', 'Viera', 1988, 33, 21000000,
'Castelao_9'),
(8, 'Isco', 'Alarcon', 1992, 29, 13000000,
'Fuentanueva_99'),
(9, 'Carlos', 'Casemiro', 1992, 29, 10500000,
'Los_ilanos_2'),
(10, 'Tibo', 'Courtois', 1992, 29, 7200000,
'Casa_de_Postas_24'),
(11, 'David', 'Alaba', 1992, 29, 9000000, 'Villena_87'),
(12, 'Rodrigo', 'DeSilva', 2001, 21, 5000000,
'Angosto_92'),
(13, 'Daniel', 'Carvajal', 1992, 29, 14000000,
'Arana_68'),
(14, 'Luka', 'Jovic', 1997, 24, 12000000,
'Explanda_30'),
17
(15, 'Eduardo', 'Camavinga', 2002, 19, 2000000,
'Escuadro_50'),
(16, 'Eder', 'Militao', 1998, 24, 7000000,
'Enparantza_50'),
(17, 'Lucas', 'Vasques', 1991, 30, 1220000, 'Cano_87'),
(18, 'Federico', 'Valverde', 1998, 23, 31320000,
'Catolicos_57'),
(19, 'Andrey', 'Lunin', 1999, 23, 6000000,
'Iradier_64'),
(20, 'Tony', 'Kroos', 1990, 32, 10400000,
'Reisenor_64');
DROP TABLE IF EXISTS antrenori;
create table antrenori(
id int primary key not null,
nume char(50) not null,
prenume char(50) not null,
an_nastere int not null,
experienta int not null,
position char(50) not null
);
insert into antrenori values
18
(1, 'Carlo', 'Ancelotti', 1959, 20, 'antrenor_principal'),
(2, 'Davide', 'Ancelotti', 1989, 9, 'antrenor_asistent'),
(3, 'Luis', 'Llopis', 1969, 15, 'antrenor_de_portari'),
(4, 'Javier', 'Mallo', 1978, 12, 'Antrenor_de_fitness'),
(5, 'Antonio', 'Pintus', 1962, 11,
'Antrenor_de_fitness'),
(6, 'Simeone', 'Montanaro', 1972, 8, 'Sef_analist'),
(7, 'Franceso', 'Mauri', 1988, 8, 'Antrenor_terapeut'),
(8, 'Jose', 'Carlos', 1980, 13,
'Antrenor_de_recuperare'),
(9, 'Raul', 'Valbuena', 1978, 6, 'Analist_de_meciuri');
DROP TABLE IF EXISTS stadion;
create table stadion(
denumire char(50) not null,
cantitatea int not null,
adresa char(50) not null
);
insert into stadion values
('Santiago_Bernabeu', 81044, 'Concha_Espina_1'),
('Alfredo_Di_Stefano', 6000, 'Alejandro_Sota_88');
19
-- select * from jucatori where salariu between
10000000 and 20000000;
-- select * from jucatori where nume like 'm%';
-- select * from jucatori where nume like 'e%';
-- select * from jucatori where nume = 'Luka';
-- select * from antrenori where prenume =
'Ancelotti';
-- select count(id) from jucatori;
-- elect avg(varsta) from jucatori;
-- select sum(experienta) from antrenori;
-- select nume, prenume, min(experienta) from
antrenori;
-- select nume, prenume, max(experienta) from
antrenori;
20
-- update jucatori
-- set adresa = 'Salzillo_19', salariu = '22000000'
-- where id = 1;
-- select * from antrenori
-- order by an_nastere;
-- insert into jucatori(id, nume, prenume, an_nastere,
varsta, salariu, adresa)
-- values (21, 'Ferlan', 'Mendy', 1995, 26, 6000000,
'Domingo_1');
create index idx_nume on jucatori(nume);
create index idx_prenume on jucatori(nume);
create index idx_nastere on jucatori(an_nastere);
create index idx_age on jucatori(varsta);
create index idx_salary on jucatori(salariu);
create index idx_adress on jucatori(adresa);
create index idx_numea on antrenori(nume);
create index idx_prenumea on antrenori(prenume);
21
create index idx_ann on antrenori(an_nastere);
create index idx_exp on antrenori(experienta);
22