Sunteți pe pagina 1din 18

Catedra Informatica Aplicata

Programatorul este creatorul de universuri


pentru care doar el este responsabil.

la disciplina „Asistenta pentru Baze de Date”


în cadru „Lucrului individual”

Tema:”Elaborarea bazei de date „Cazare”

A EFECTUAT: A VERIFICAT:

Chişinău 2016
Sarcina
Sa se elaboreze proiectul pentru Baza de Date,,Cazare’’ cu urmatorul continut:
1.Sarcina
2.Introducere(1-2 pag.o tema si se descrie)
3.Proiectarea conceptuala(se descriu toti pasii de proiectare si actiunea fiecaruia
descrisa in proiect model)
4.Schema Bazei de date (manual)
5.Crearea Bazei de Date(se descriu instructiunile de definire DLL si se anexeaza pentru
crearea Bazei de Date)
6.Selectarea Bazei de Date
7.Viziuni
8.Proceduri,functii,tranzactii

2
Cuprins:
Proiectarea Bazei de date 4
Schema BD 4
Elaborarea proiectului 5
Crearea Bazei de date 5
Inserarea Datelor 6
Afisarea tabelelor 7
Rezultatele executiei 7
Crearea tabelelor 7
Modificarea datelor 8
Interogarea Bazei de date 8
Implementarea BD 15
Vederi. 15
Indecşi.............................................................................................................................................16

Triggere............................................................................................................................................17

Concluzie 18
Bibliografie 18

3
Introducere

Am avut de creat o Bază de Date cu tema Cazare care are ca scop ducerea evidentei unui
hotel.Evidenta clientilor din acest hotel cere respectarea urmatoarelor cerinte:

a)In hotel sunt clienti,care sunt identificati prin cod si nume


b)Fiecare client este identificat prin id_client,nume,prenume,adresa,telefon.
C)Fiecare angajat este identificat prin:id_angajat,nume,prenume,serviciul,adresa,telefonul.
Clientii inchiriaza camera,datele sunt identificate prin:id,etaj,tipul,pretul,factura,data.

Aplicatia respectiva folosind meniuri,rapoarte,formulare si subprograme,realizeaza la solicitarea


utilizatorului urmatoarele functionalitati:
Ce client a inchiriat camera X in perioada D
Lista camerelor care sunt inchiriate
Lista angajatilor care deservesc aceasta retea de hoteluri
Facturile cu datele generale despre inchirierea camerelor

Proiectarea Bazei de date


Lista de date :

NR Denumirea datelor Tip/ lungime


ord

1 Nume client Char(25)


2 Prenume client Char(50)
3 Adresa client Char(100)
4 Telefon Char(50)
5 Nume angajat Char(50)
6 Prenume angajat Char(50)
7 Id_angajat Char(50)
8 Id_client Char(10)
data date
8 salariu Decimal(8,2)

1. Proiectarea bazei de date

Metodologia proiectării bazei de date se compune din două etape mari:


1. Proiectarea logică, în care proiectantul decide asupra structurii logice a bazei de date
2. Proiectarea fizică, în care proiectantul decide cum se va implementa structura logică în sistemul de
gestiune a bazelor de date (SGBD).

Etape de urmat în proiectare:


Etapa 1. Proiectarea logică a bazei de date relaţionale: Crearea unui model conceptual local, pentru
vederile utilizatorilor
Etapa 2. Crearea şi validarea modelului logic local
Etapa 3. Crearea şi validarea modelului logic global de date

4
Etapa 4. Proiectarea fizică şi implementarea bazei de date relaţionale
Etapa 5. Proiectarea şi implementarea reprezentării fizice
Etapa 6. Proiectarea şi implementarea unui mecanism de securitate
Etapa 7. Verificarea sistemului operaţional

Proiectarea logică a bazei de date se divide în trei paşi mari:


1. Primul pas are ca obiectiv, descompunerea proiectării sistemului informatic în vederi, care se pot
discuta cu utilizatorii sistemului.
2. Modelul de date astfel creat, se validează prin normalizare şi prin tranzacţii în pasul doi.
3. În final, se generează modelul global al întreprinderii, care este la rândul lui validat şi verificat cu
ajutorul utilizatorului sistemului.

2.1. Proiectarea conceptuală


Proiectarea conceptuala/principiala, sau designul conceptual, este acea parte a procesului de design în
care se trece la elaborarea unei solutii de principiu prin:
·      identificarea problemelor esentiale, prin abstractizare;
·      stabilirea structurii functiilor;
·      cautarea celor mai adecvate principii de lucru si a modului de combinare a acestora.
 Designul conceptual determina principiul unei solutii.
Solutiile sau proiectele bazate pe metode traditionale nu pot da satisfactie totala în situatiile în care
cheia problemei o detine o metoda sau o tehnologie noua, un nou material, noi descoperiri stiintifice
etc.

2.2. Culegerea datelor

Culegerea datelor se crează un tabel ce conţine tote datele găsite şi de care este necesar a se
afla în BD
1. Adunarea tuturor tipurilor de informații pe care le înregistrați în baza de date, în scopul obţinerii
de informaţiile necesare , documente în scopul primirii de decizii care ar îmbunătăţi
managmentul întreprinderii Pentru a găsi şi organiza informaţiile necesare, începeți cu
informațiile existente.
2. Pe măsură ce pregătiţi lista, nu vă faceți griji dacă nu este perfectă din prima încercare. În
schimb, treceți în listă fiecare element la care vă gândiți.
3. Luaţi în considerare tipurile de rapoarte sau de liste poștale pe care doriți să le obțineți din baza
de date. Proiectarea mentală a rapoartelor și a listelor poștale pe care doriți să le creați vă ajută la
identificarea elementelor de care veți avea nevoie în baza de date. Este logic să se construiască
un prototip al fiecărui raport sau listare de ieșire și să se ia în considerare elementele necesare
pentru a produce raportul.
4. Trebuie să se țină cont de faptul că informațiile trebuie despărțite în cele mai mici părți utile. În
cazul unui nume, pentru ca numele de familie să fie ușor disponibil, se va despărți numele în
două părți  — Nume și Prenume.

Proiectul conceptual de nivel înalt se realizeaza pe baza cerintelor definite în prima etapa de
proiectare si se reprezinta, în general printr-o diagrama Entitate-Relaţie (extinsa)

Schema conceptuală reprezintă o descriere concisă (Expus pe scurt) a datelor utilizatorului,


incluzând descrierea detaliată a tipurilor de date, a relaţiilor şi restricţiilor acestora. Deoarece până la
acest moment nu se includ detalii de implementare, rezultatele pot fi comunicate utilizatorilor, chiar
5
dacă sunt nespecializaţi în domeniu, şi analizate de aceştia pentru eliminarea eventualelor conflicte
care pot apărea.
Proiectarea schemei conceptuale

Este realizată de către echipa de proiectare a sistemului de administrare a bazei de date.


Punctul de plecare în proiectarea structurii conceptuale îl reprezintă colecţiile de date, stabilite în
modelul logic proiectat, când s-a realizat totodată şi schiţarea unui prim model conceptual de
ansamblu al datelor. Proiectarea schemei conceptuale cuprinde activităţile, definirea detaliată a
colecţiilor de date, revizuirea legăturilor dintre colecţii, rafinarea modelului conceptual al datelor,
transpunerea modelului conceptual al datelor.

2.3. Proiectarea logică

În faza de proiectare logica a unei baze de date se realizeaza schema conceptuala globală şi
schemele conceptuale (vederile) externe pentru sistemul SGBD ales, pornind de la schema
conceptuală si schemele externe de nivel înalt independente de SGBD, proiectate în faza precedenta.
SAU:
Proiectarea logică a bazelor de date este procesul de constituire a unui model al informaţiilor
utilizate în cadrul sistemului informaţional al companiei, bazat pe un anumit model de date, dar
independent de sistemul de gestiune al bazelor de date, precum şi de alte consideraţii de ordin fizic.
Principalele etape ale proiectării logice a bazelor de date cuprind:
- constituirea şi validarea unui model de date logic local pentru fiecare vedere a utilizatorului
- constituirea şi validarea unui model de date logic global

Pentru asigurarea acestor obiective se vor parcurge următorii paşi:


1. Transpunerea modelului de date conceptual local în modelul de date logic local:
2. Extragerea relaţiilor
3. Validarea modelului prin normalizarea relaţiilor
4. Validarea modelului conform tranzacţiilor utilizatorului
5. Desenarea diagramei entitate relaţie
6. Definirea constrângerilor de integritate
7. Validarea modelului împreună cu utilizatorul

Faţă de cele de mai sus putem spune că activităţile asociate rafinării unui model de date conceptual
pentru a obţine un model de date logic includ:
● eliminarea relaţiilor de tip n:m, eliminarea relaţiilor complexe,
● eliminarea relaţiilor recursive,
● eliminarea relaţiilor cu atribute trazitive ,
● eliminarea atributelor cu valori multiple,
● reexaminarea relaţiilor de tip 1:1 şi
● eliminarea relaţiilor redundante.
În ceea ce priveşte extragerea relaţiilor se vor identifica relaţiile tari şi slabe, relaţiile binare (1:1 şi
1:n), relaţii de tip superclasă/subclasă şi se vor documenta relaţiile şi atributele cheilor străine.
Modelul de date logic poate fi validat prin utilizarea tehnicii de normalizare şi conform tranzacţiilor
pe care trebuie să le accespte acesta.
2.4. Normalizarea bazei de date

6
Chiar daca toate etapele de pana aici au fost parcurse cu maxima atentie, exista un numar de probleme
care pot sa apara in cazul unor operatii de actualizare in baza de date, probleme care risca sa
compromita integritatea datelor. Este vorba despre asa-zisele anomalii de actualizare, datorate
dependentelor functionale nedorite. Evitarea acestor anomalii se face printr-un proces numit
normalizare, avand o fundamentare formala riguroasa.

Prima formă normală presupune că există o singură valoare la fiecare intersecție dintre un rând și o
coloană din tabel, și niciodată o listă de valori. De exemplu, nu poate exista un câmp denumit Preț în
care să plasați mai multe prețuri. Dacă priviți intersecția dintre un rând și o coloană ca pe o celulă,
atunci fiecare celulă poate conține o singură valoare.

A doua formă normală necesită ca fiecare coloană care nu este cheie să depindă complet de cheia
primară, nu doar de o parte a cheii. Această regulă se aplică când se utilizează o cheie primară care
conține mai multe coloane.

A treia formă normală necesită ca fiecare coloană care nu este cheie să depindă de întreaga cheie
primară, dar și ca toate coloanele care nu sunt chei să fie reciproc independente.

Schema BD
Schema conceptuală reprezintă o descriere concisă (Expus pe scurt) a datelor utilizatorului,
incluzând descrierea detaliată a tipurilor de date, a relaţiilor şi restricţiilor acestora.

Eliminarea relaţiilor cu atribute


În cazul în care în modelul de date este reprezentată o relaţie cu atribute (relaţie barată), ea
trebuie să fie descompusă pentru a identifica o entitate.
Eliminarea atributelor cu valori multiple
Un atribut cu valori multiple conţine mai multe valori pentru o singură entitate. În cazul când
modelul de date conceptual este reprezentat un atribut cu valori multiple, el trebuie descompus pentru
a identifica o entitate.
Eliminarea relaţiilor redundante
O relaţie este redundantă dacă aceeaşi informaţie poate fi obţinută prin intermediul altor
relaţii. Relaţiile redundante nu sunt necesare, acestea trebuie eliminate, fapt care se realizează după ce
se analizează semnificaţia fiecărei relaţii dintre entităţi. In final rezultă o simplificare a modelulului
de date conceptual.
Desenarea diagramei entitate – relaţie (ERD) îmbunătăţite
Obiectivul acestei etape constă în desenarea unei diagrame Entitate-Relaţie (ER) care să fie o
reprezentare fizică a modelului conceptual al beneficiarului.

Anagajati
Id_angajat Nume Prenume Adresa Telefon Salariu Data Varsta Limbi Functia
angajarii straine

7
Clienti

Id_client Nume Prenume Adresa Telefon

Id_camera Etaj Tip_camera Pret Dotare


Hotel
Rezervare

Id_rezervare Id_camera Id_client Data_inceput Nr_de zile

Fisa Personala
Id_angajat Nume Prenume Functia Id_client Observatie

Elaborarea proiectului

Elaborarea proiectului constă în executarea următorilor paşi:


● Proiectarea BD;
● Crearea BD;
● Culegerea textului MC Word

Crearea Bazei de date


Pentru a crea o baza de date, se foloseste comanda:

● CREATE DATABASE nume_db;

Unde "nume_db" este numele bazei de date care va fi creata.


Inainte de a crea un tabel sau a lucra cu alte comenzi intr-o baza de date, trebuie sa intram
in baza de date existenta, acest lucru se face folosind comanda:

● USE nume_db;

Unde "nume_db" este numele bazei de date. Cu aceeasi comanda "USE nume_db" se
schimba si baza de date in care vrem sa lucram.

● CREATE TABLE tabel (coloana tip, coloana tip, …);

Unde "tabel" este numele tabelului, "coloana" este numele unei coloane, "tip" este tipul
datelor incluse în coloana, se poate specifica un numar nedefinit de coloane.

 În afara tipului de date, intre paranteze, puteti specifica si alte atribute optionale ale unei
coloane:

8
● NOT NULL - Fiecare rând trebuie sa contina o valoare a coloanei asociate; valorile nule nu sunt
permise.
● DEFAULT valoare - Daca nu este data o valoare a coloanei asociate, se va presupune valoarea
specificata.
● PRIMARY KEY - Coloana asociata este cheia primara a tabelului care o contine.

Stergerea unui tabel sau a unei coloane este un act irevocabil, datele fiind definitiv
sterse.
Pentru a sterge un tabel, scrieti urmatoarea comanda:

● DROP TABLE tabel;

Unde "tabel" este numele tabelului care va fi sters.


Dupa crearea unui tabel, îl puteti modifica prin emiterea unei comenzi "ALTER
TABLE", care are mai multe forme.
● ALTER TABLE tabel DROP coloana;
Unde "tabel" este numele tabelului care va fi modificat, iar "coloana" este numele
coloanei care va fi stearsa.
● ALTER TABLE tabel ADD coloana tip [optiuni];

Unde "tabel" este numele tabelului care va fi modificat, "coloana" este numele coloanei
care va fi adaugata, "tip" este tipul noii coloane, iar "[optiuni]" constituie toate
optiunile dorite, precum PRIMARY KEY.

CREATE DATABASE Dana11


USE Dana11
Go
drop table ANGAJAT
CREATE TABLE ANGAJAT(
Id_angajat CHAR(50)NOT NULL,
Nume CHAR(50) NOT NULL,
Prenume CHAR(50) NOT NULL,
Adresa CHAR(50) NOT NULL,
Telefon CHAR(50)NOT NULL,
Salariu CHAR(50)NOT NULL,
Data_angajarii date NOT NULL,
Varsta CHAR(50) NOT NULL,
Limbi_straine CHAR(50),
Functia CHAR(50)NOT NULL
);

CREATE TABLE CLIENT(


Id_client CHAR(60) PRIMARY KEY,
Nume CHAR(50) NOT NULL,
Prenume CHAR(50) NOT NULL,
Adresa_rezidentiala CHAR(50) NOT NULL,
Telefon CHAR(50) NOT NULL
);

CREATE TABLE HOTEL(


Id_camera CHAR(60) PRIMARY KEY,
Etaj char(50) NOT NULL,
Tip_camera CHAR(50) NOT NULL,
Pret char(50) NOT NULL,
9
Dotare CHAR(50) NOT NULL
);
CREATE TABLE REZERVARE(
Id_rezervare CHAR(60) PRIMARY KEY,
Id_camera char(50) NOT NULL,
Id_client CHAR(50) NOT NULL,
Data_inceput char(50) NOT NULL,
Nr_zile CHAR(50) NOT NULL
);

DROP TABLE FISA_PERSONALA


CREATE TABLE FISA_PERSONALA(
Id_angajat CHAR(100) NULL,
Nume CHAR(100) not NULL,
Prenume CHAR(100) not NULL,
Functia CHAR(100) not NULL,
Id_client CHAR(100) NOT NULL,
Observatie CHAR(100) NOT NULL
);

Inserarea Datelor
insert into
ANGAJAT(Id_angajat,Nume,Prenume,Adresa,Telefon,Salariu,Data_angajarii,Varsta,Limb
i_straine,Functia)
values('111','Cernei','Filip','str.Sarmizegetusa','078454454','3000','2017/10/3',
'45','Rusa','operator');
insert into
ANGAJAT(Id_angajat,Nume,Prenume,Adresa,Telefon,Salariu,Data_angajarii,Varsta,Limb
i_straine,Functia)
values('222','Cernei','Aurelia','str.Sarmizegetusa','078454455','3500','4/10/2017
','20','Rusa','chelnerita')
insert into
ANGAJAT(Id_angajat,Nume,Prenume,Adresa,Telefon,Salariu,Data_angajarii,Varsta,Limb
i_straine,Functia)
values('333','Cernei','Ion','str.Sarmizegetusa','078454454','3600','2008/04/24','
45','Rusa/francza','chelner')

insert into CLIENT(Id_client,Nume,Prenume,Adresa_rezidentiala,Telefon)


VALUES('01','Abalasei','Ioan','Str. Savenilor 27, bl M1, Botosani',
'0745342435');
insert into CLIENT(Id_client,Nume,Prenume,Adresa_rezidentiala,Telefon)
VALUES('02', 'Braham','Matei','Str. George Enescu 27, bl M4, Dorohoi,
Botosani','068456345');
insert into CLIENT(Id_client,Nume,Prenume,Adresa_rezidentiala,Telefon)
VALUES('03', 'Condrea', 'Andreea', 'Str. Aleea Arcului ','078678678')
insert into CLIENT(Id_client,Nume,Prenume,Adresa_rezidentiala,Telefon)
VALUES('04', 'Atitinei','Mihai','Str. Aleea Scolii1 27, bl F1,
Botosani','0715875487')
insert into CLIENT(Id_client,Nume,Prenume,Adresa_rezidentiala,Telefon)
VALUES('05','Cristea','Anca','Str. Piata Revolutiei 13, bl N1,
Botosani','078788778')

insert into HOTEL(Id_camera,Etaj,Tip_camera,Pret,Dotare)


VALUES('1', '1','Camera single','100','Mini-bar, acces internet, telefon,
tv,baie');
insert into HOTEL(Id_camera,Etaj,Tip_camera,Pret,Dotare)
VALUES('2', '1','apartament','150','Mini-bar, acces internet, telefon,
tv,,baie');
insert into HOTEL(Id_camera,Etaj,Tip_camera,Pret,Dotare)

10
VALUES('3', '1','camara single','100','Mini-bar, acces internet, telefon,
tv,baie');
insert into HOTEL(Id_camera,Etaj,Tip_camera,Pret,Dotare)
VALUES('4', '1','apartamant','150','Mini-bar, acces internet, telefon, tv,baie');
insert into HOTEL(Id_camera,Etaj,Tip_camera,Pret,Dotare)
VALUES('8', '2','camera nuptiala','200','buna')

insert into REZERVARE(Id_rezervare,Id_camera,Id_client,Data_inceput,Nr_zile)


VALUES('1000','001','01', '23.04.2008','3');
insert into REZERVARE(Id_rezervare,Id_camera,Id_client,Data_inceput,Nr_zile)
VALUES('1004', '002', '02', '25.04.2008', '3')
insert into REZERVARE(Id_rezervare,Id_camera,Id_client,Data_inceput,Nr_zile)
VALUES('1008','003','03', '25.04.2008', '3');
insert into REZERVARE(Id_rezervare,Id_camera,Id_client,Data_inceput,Nr_zile)
VALUES('1010', '004', '04', '22.04.2008', '5');

insert into FISA_PERSONALA(Id_angajat,Nume,Prenume,Functia,Id_client,Observatie)


VALUES('111','Ungureanu','Tiberiu','Receptionist','005','receptionist slab
pregatit')
insert into FISA_PERSONALA(Id_angajat,Nume,Prenume,Functia,Id_client,Observatie)
VALUES('222','Rotaru','Tudose','Bucatar','006',' Multumiri bucatareselor')
insert into FISA_PERSONALA(Id_angajat,Nume,Prenume,Functia,Id_client,Observatie)
VALUES('333','Vatavu','Ion','Chelner','008','Chelneri slab pregatiti')

Afisarea tabelelor se efectueaza cu ajutorul Instructiunii SELECT in SQL care permite, regasirea


datelor din baza de date.
select *from FISA_PERSONALA
select *from REZERVARE
select *from HOTEL
select *from CLIENT
select *from ANGAJAT

Rezultatele executiei
Crearea tabelelor

Tabelul Angajat

Tabelul clienti

11
Tabelul hotel

Tabelul Fisa_personala

Tabelul hoteluri

Interogarea Bazei de date

Clauza SELECT listeaza coloanele pentru afisare astfel incat este esentiala o Proiectie.

Clauza FROM specifica tabela implicata.

1) Clauza where se utilizează pentru a filtra înregistrările.

Clauza where este folosita pentru a extrage doar acele înregistrări care îndeplinesc o condiție
specificată.

Where si selectarea mai multor campuri

SELECT client.nume, client.prenume, rezervare.nr_zile


FROM CLIENT, REZERVARE
WHERE client.id_client=rezervare.id_client AND rezervare.nr_zile=3 ;

SELECT*
FROM hotel
WHERE Tip_camera LIKE '%Cameră nupţială%';

1) 2) And

12
Operatorul And afiseaza o inregistrare in cazul in care toate conditiile separate de And sunt
adevarate.
SELECT client.nume, client.prenume, rezervare.nr_zile
FROM CLIENT, REZERVARE
WHERE client.id_client=rezervare.id_client AND rezervare.nr_zile=3 ;

SELECT client.nume, client.prenume, rezervare.data_inceput


FROM CLIENT, REZERVARE
WHERE client.id_client=rezervare.id_client AND data_inceput LIKE
'%2008/04/25%';
2) Or
Operatorul Or afiseaza o inregistrare in cazul in care din toate conditiile separate de Or una
este adevarata.

3) Not si combinatii

Operatorul afiseaza o inregistrare in cazul in care conditia este adevarata.

4) Update
Update se utilizeaza pentru actualizare.

5) Delete
Delete se utilizeaza pentru stergere.

6) Min,Max
Functiile min,max reprezinta functiile care calculeaza valoare minima,respectiv valoarea
maxima.

7) Count,Avg,Sum
Functia COUNT numara cimpurile date,AVG calculeaza media si SUM calculeaza suma.

8) Like
Operatorul LIKE este utilizat într-o clauză WHERE pentru a căuta un model specificat
într-o coloană.

9) IN

Operatorul IN vă permite să specificați mai multe valori într-o clauză WHERE.

10) Between
Operatorul BETWEEN selectează valori într-un anumit interval. Valorile pot fi
numere, text sau date.

11) Aliases
Aliasurile SQL sunt utilizate pentru a da o masă sau o coloană într-un tabel, un nume
temporar.

12) INNER JOIN


INNER JOIN selectează înregistrările care au valori care se potrivesc în ambele
tabele.
13
13) LEFT JOIN
LEFT JOIN selectează toate înregistrările din tabelul din stinga,si cele potrivite
din dreapta.

14) RIGHT JOIN


RIGHT JOIN selecteaza toate inregistrarile din partea dreapta,si cele potrivite din partea
stinga.

15) Union
Operatorul UNION este utilizat pentru a combina rezultatele mai multor declaratii SELECT

16) Group By
Declarația GROUP BY este adesea utilizat cu funcții agregate (COUNT, MAX, MIN, USM, AVG) la
grupa rezultatul-set de una sau mai multe coloane..

17) Having
Clauza HAVING a fost adăugat la SQL, deoarece cuvântul cheie WHERE nu a putut fi
utilizat cu funcții agregate.

18) Order by
Order by se utilizeaza pentru a putea ordona rezultatele dupa un cimp anume.

Implementarea BD
Vederi.

create view Rezervari AS

SELECT CLIENT.Nume,CLIENT.Prenume, CLIENT.Id_client, REZERVARE.Id_rezervare,


REZERVARE.Data_inceput, REZERVARE.Nr_zile
FROM REZERVARE
INNER JOIN CLIENT
ON REZERVARE.Id_client = CLIENT.Id_client
Select*from Rezervari

14
Setul dinamic:

Abalasei Ioan 01
1000 2008-04-23 3

Braham Matei 02
1004 2008-05-21 3

Condrea Andreea 03
1008 2008-04-05 3

Atitinei Mihai 04
1010 2008-04-21 5

create view vedere AS


SELECT CLIENT.Nume, CLIENT.Prenume, CLIENT.Id_client,
REZERVARE.Nr_zile
FROM CLIENT INNER JOIN
REZERVARE ON CLIENT.Id_client = REZERVARE.Id_client where nr_zile=3

Setul dinamic:

Abalasei Ioan 01
3

Braham Matei 02
3

Condrea Andreea 03
3

Diagrama

15
Indecşi
CREATE INDEX Client

ON client(Nume,Prenume,Patronimic)

DROP INDEX Client ON Client;

Triggere

Folosind un declanșator DDL bazat pe bază de date

Următorul exemplu utilizează un declanșator DDL pentru a împiedica renunțarea la


orice sinonim dintr-o bază de date.

USE DANA1;
GO
IF EXISTS (SELECT * FROM sys.triggers
WHERE parent_class = 0 AND name = 'safety')
DROP TRIGGER safety
16
ON DATABASE;
GO
CREATE TRIGGER safety
ON DATABASE
FOR DROP_SYNONYM
AS
RAISERROR ('You must disable Trigger "safety" to drop synonyms!',10, 1)
ROLLBACK
GO
DROP TRIGGER safety
ON DATABASE;
GO
SELECT

SELECT TE.*
FROM sys.trigger_events AS TE
JOIN sys.triggers AS T
ON T.object_id = TE.object_id
WHERE T.parent_class = 0
AND T.name = 'safety'

GO

Crearea USER

CREATE LOGIN dana


WITH PASSWORD = 'i6egmi';
USE DANA1;
CREATE USER dana FOR LOGIN dana;

GO

Concluzie

In baza acestui lucru individual am facut cunostinta cu etapele de proiectare a unei Baze de Date.Mi-
am aplicat in practica cunostintele acumulate la lectia de Asistenta pentru Baze de Date.Am aplicat in
practica nu numai cunostintele de la orele de studiu,ci si informatii de pe internet.In cadrul acestei
lucrari am elaborat o baza de date ce are ca scop evidenta unui hotel.Am folosit instructiunile si
functiile de creare,inserare,selectare,deasemenea am lucrat cu vederile si diagramele.Aceasta lucrare a
fost o incercare pentru mine pentru a-mi testa cunostintele si a intelege mai bine care este scopul
acestei lucrari.

Bibliografie

1) https://ro.wikipedia.org/wiki/Baz%C4%83_de_date
17
2) http://www.db.agepi.md/
3) http://www.scritub.com/stiinta/informatica/baze-de-date/Arhitectura-unei-baze-de-date21246.php
4) http://www.scritub.com/stiinta/informatica/Proiect-de-atestat-Baze-de-dat2436231322.php
5) http://www.supraten.md/ro/index.aspx
6) http://econstruct.md/ro/materiale-de-constructii
7) https://ro.wikipedia.org/wiki/Microsoft_SQL_Server
8) https://www.progress.com/tutorials/ado-net/code-examples-sql-server

18

S-ar putea să vă placă și

  • Soarele
    Soarele
    Document1 pagină
    Soarele
    Edy Eduard
    Încă nu există evaluări
  • Tea
    Tea
    Document8 pagini
    Tea
    Iulia
    Încă nu există evaluări
  • Merkle Hellman
    Merkle Hellman
    Document7 pagini
    Merkle Hellman
    Iulia
    Încă nu există evaluări
  • Operatii Galois
    Operatii Galois
    Document3 pagini
    Operatii Galois
    Iulia
    Încă nu există evaluări
  • Albina
    Albina
    Document10 pagini
    Albina
    Iulia
    Încă nu există evaluări