You are on page 1of 4

Lënda: Inxhinieri softuerike e avancuar AAB Parapërgatitje për kollukfiumin e parë

Detyra 1)

Të modelohet një ER-Diagram që ruan informacion rreth një ekipi (skuadre) sporti.
Duhet të ruani ndeshjet e luajtura, pikët në çdo ndeshje, lojtarët në çdo ndeshje
si dhe një statistikë pikësh që ka fituar çdo lojtar individualisht për çdo ndeshje.
Pikët sezonale duhet të modelohen si atribut i derivuar.

ZGJIDHJA:

Fleta 1 nga 4 fletë


Lënda: Inxhinieri softuerike e avancuar AAB Parapërgatitje për kollukfiumin e parë

Detyra 2)

Të modelohet ER-diagrami i një sistemi për menaxhimin e kurseve që ofron një


institucion.
Sistemi duhet të jetë në gjendje që ti ruaj shënimet e kursit, ku më të rëndësishmet
janë: emri, data e fillimit, kohëzgjatja, numri maksimal i vendeve dhe çmimi. Gjatë
proçesit të regjistrimit, për kandidatët ruhen këto të dhëna: nrpersonal, emri,
mbiemri, data e lindjes si dhe numri i telefonit për kontakt eventual. Secilit
kandidat i lejohet të merr pjesë në më tepër se një kurs (por jo njëkohësisht). Një
kurs lejohet që të mbahet prej më tepër se një instruktori, për të cilin ruhen këto të
dhëna: emri, thirrja akademike, paga dhe data e punësimit.

ZGJIDHJA:

Fleta 2 nga 4 fletë


Lënda: Inxhinieri softuerike e avancuar AAB Parapërgatitje për kollukfiumin e parë

Detyra 3)

Të shkruhet një query i cili shfaqë emrin, mbiemrin dhe notën e studentave të
cilët kanë notën mesatare maksimale. Rezultati duhet të jetë i radhitur bazuar në
emrin e studentit prej shkronjës “Z” kah shkronja “A”.

ZGJIDHJA:

SELECT emri, mbiemri, notamesatare AS nota


FROM studentat
WHERE notamesatare = (SELECT MAX(notamesatare) FROM studentat)
ORDER BY emri DESC

Fleta 3 nga 4 fletë


Lënda: Inxhinieri softuerike e avancuar AAB Parapërgatitje për kollukfiumin e parë

Detyra 4)

Përmes një triggeri të monitorohet tabela e studentave, dhe nëse fshihet një
student nga tabela, atëherë i njejti të shtohet te tabela e logut.

CREATE TABLE IF NOT EXISTS studentat_log(


id SERIAL PRIMARY KEY,
emri VARCHAR(70) NOT NULL,
mbiemri VARCHAR(70) NOT NULL,
nrindeksit VARCHAR(20),
telefoni VARCHAR(30) NOT NULL,
notamesatare DECIMAL(5, 2),
UNIQUE(nrindeksit)
);

CREATE OR REPLACE FUNCTION log() RETURNS trigger LANGUAGE plpgsql AS


$$
BEGIN
INSERT INTO studentat_log(emri, mbiemri, nrindeksit, telefoni,
notamesatare) VALUES
(OLD.emri, OLD.mbiemri, OLD.nrindeksit, OLD.telefoni,
OLD.notamesatare);
RETURN OLD;
END;
$$

CREATE TRIGGER krijoLogStudentash AFTER DELETE ON studentat


FOR EACH ROW
EXECUTE FUNCTION log();

DELETE FROM studentat WHERE id = 1;

SELECT * FROM studentat_log;

Fleta 4 nga 4 fletë

You might also like