ÜLESANNE:
- Andmebaasinimi – raamatukogu
- tabelinimi, andmete sisestamiseks ja väljade nimed tabelis, nt. Loo tabel raamatu (raamatuID, raamatuNimi, raamatuHind),
raamatuBroneeri(raamatuID, ostjaNimi, ostjaPerenimi) - Loo tabel trigerite töö salvestamiseks. Näiteks tabel logi (logiID, kuupaev, andmed, kasutaja).
- Trigerinimed ja mida triger peab tegema seoses eelnevalt loodud tabeliga. – Insert, delete
- Kasutajanimi, kes saab töötada ainult varem loodud tabeliga (mitte logi tabel) – Kasutajanimi: Juht, parool: 123456, tabel: raamatuBroneri
LUUA DATABASE:
CREATE DATABASE raamatukogu;
USE raamatukogu;
LUUA TABLES:
CREATE TABLE raamatu(
raamatuID INT IDENTITY PRIMARY KEY,
raamatuNimi VARCHAR(60),
raamatuHind INT);
CREATE TABLE raamatuBroneeri(
raamatuID INT IDENTITY PRIMARY KEY,
ostjaNimi VARCHAR(60),
ostjaPerenimi VARCHAR(60));
CREATE TABLE logi(
logiID INT PRIMARY KEY IDENTITY(1,1),
kuupaev DATETIME,
sisestatudAndmed TEXT,
kasutaja VARCHAR(100));
CREATE TRIGGERS:
CREATE TRIGGER raamatuBroneeriLisamine
ON raamatuBroneeri --tabel, mis jälgitakse
FOR INSERT
AS
INSERT INTO logi(kuupaev, sisestatudAndmed, kasutaja)
SELECT
GETDATE(),
CONCAT('lisatud andmed ', inserted.ostjaNimi, ', ',inserted.ostjaPerenimi),
USER
FROM inserted
CREATE TRIGGER raamatuBroneeriKustutamine
ON raamatuBroneeri --tabel, mis jälgitakse
FOR DELETE
AS
INSERT INTO logi(kuupaev, sisestatudAndmed, kasutaja)
SELECT
GETDATE(),
CONCAT('lisatud Kustutamine: ', deleted.ostjaNimi, ', ',deleted.ostjaPerenimi),
USER
FROM deleted
CREATE TRIGGER raamatuBroneeriUuendamine
ON raamatuBroneeri --tabel, mis jälgitakse
FOR UPDATE
AS
INSERT INTO logi(kasutaja, kuupaev, sisestatudAndmed)
SELECT
GETDATE(),
CONCAT('Kustutatud andmed: ', deleted.ostjaNimi, ', ', deleted.ostjaPerenimi,
' Uued andmed: ',inserted.ostjaNimi, ', ', inserted.ostjaPerenimi),
USER
FROM deleted INNER JOIN inserted
ON deleted.raamatuId=inserted.raamatuId
KONTROLL TRIGGERS:
--kontrollimiseks lisame raamatuBroneeri
INSERT INTO raamatuBroneeri(ostjaNimi, ostjaPerenimi)
VALUES ('Martin', 'Sild');
SELECT * FROM raamatuBroneeri;
SELECT * FROM logi;
--kontrollimiseks kustutame raamatu tabelis raamatuBroneeri
DELETE FROM raamatuBroneeri
WHERE raamatuId=5;
SELECT * FROM raamatuBroneeri;
SELECT * FROM logi;
--kontrollimiseks uuendame raamatuBroneeri
SELECT * FROM raamatuBroneeri;
UPDATE raamatuBroneeri SET ostjaNimi='Hleb', ostjaPerenimi='Bronja'
WHERE raamatuId=3;
SELECT * FROM raamatuBroneeri;
SELECT * FROM logi;



CREATE USER:



Ta saab kirjutada käsud ainult tabelis raamatu Brooneeri;





