|
Lucrarea
14
Oracle PL-SQL.
1. Limbajul PL-SQL
Exemplu:
CREATE TABLE stud (
cods VARCHAR(4) CONSTRAINT pk_cods PRIMARY KEY,
fac VARCHAR(2),
nume VARCHAR(42) CONSTRAINT nn_nume NOT NULL,
bursa NUMBER(8,0) DEFAULT 0, CONSTRAINT ck_bursa CHECK
(bursa>=0),
an_studiu NUMBER(1,0),
CONSTRAINT ck_an CHECK (an_studiu<7),
data_n DATE DEFAULT SYSDATE,
adresa VARCHAR(32)
);
Exemplu:
CREATE TABLE stud (
...
an_studiu NUMBER(1) DEFAULT 1,
CONSTRAINT an_valid CHECK (an_studiu BETWEEN 1 AND 6) ... ) ;
Exemplu:
INSERT INTO stud ( cods,
fac, nume, bursa, an_studiu )
VALUES ( '1440', 'AC', 'POPESCU IONEL', 500000,
3);
Exemplu:
SELECT * FROM stud WHERE
nume LIKE 'POP%';
SELECT * FROM STUD ORDER
BY Nume;
SELECT an_studiu,AVG(bursa)
FROM STUD GROUP BY an_studiu;
SELECT COUNT(*), MAX(bursa),
AVG(bursa), SUM(bursa)
FROM STUD WHERE bursa > 0;
SELECT an_studiu, COUNT(cods)
FROM stud GROUP BY an_studiu;
|
Exemplu:
Se va crea o tabela masini care va retine date despre masinile
detinute de studenti:
CREATE TABLE masini (
nr_mas VARCHAR(9) NOT NULL,
cods VARCHAR(4) ,
tip VARCHAR(24),
culoare VARCHAR(16) ,
nr_usi NUMBER(1,0) DEFAULT 4 );
Afisarea tuturor studentilor împreuna cu datele despre masinile
acestora se poate face prin comanda:
SELECT stud.nume, stud.an_studiu,
stud.bursa, mas.nr_mas, mas.tip
FROM stud, masini mas
WHERE stud.cods = mas.cods;
|
2. Probleme propuse
P1. Rulati exemplele prezentate în
acest capitol.
P2. Sa se
creeze o baza de date pentru gestionarea curselor de avion pe un aeroport.
Ea va contine urmatoarele tabele:
AVIOANE
· coda - cod avion pe 4 caractere, cheie primara
· tipa - tip avion pe 16 caractere
· nr_loc - numarul total de locuri din acel avion
CURSA
· codc - cod cursa pe 5 caractere, cheie primara
· coda - cod avion care efectueaza cursa
· loc_liber - numarul de locuri libere la cursa respectiva
· orap - ora plecarii, numar cu 2 zecimale pt. minute
· oras - ora sosirii
· orasp - oras de plecare
· orass - oras de sosire
· codp - cod pilot
PILOTI
· codp - cod pilot, cheie primara
· nume - nume pilot
· grad - gradul pilotului
PASAGERI
· buletin - nr buletin, cheie primara
· nume - nume pasager
· codc - cod cursa la care este înscris
· loc - numarul locului ocupat la acea cursa (numere 1 .. n)
Se cere:
1. Sa se adauge 4 curse, 4 avioane si 16 pasageri înscrisi la
cele 4 curse.
2. Sa se afiseze toate cursele sub forma: cod cursa, oras destinatie,
tip_avion, nr total locuri, nr locuri libere, nume pilot.
3. Sa se afiseze toti pasagerii care merg într-un anumit oras,
indiferent de cursa.
4. Sa se afiseze toti pasagerii grupati pe curse, ordonati alfabetic.
5. Sa se afiseze pasagerii care circula cu un anumit tip de avion, indiferent
de cursa.
©
s.l. dr. ing. Dan Pescaru '2004
|