AB kasutajate rollid:
-AB kasutaja - tavakasutaja, mis saab muuta lisada, filtreerida ja otsidavastavalt vajaduele
-Programmerija - loob funktsioonid ja protseduurid(trigerid)
-DBA -AB administrator - tagab,et õiged kasutajad saavad oma õigused
-AB projekteerija - loob tabelid ja sktruktuuri
DNA -AB administraator liigid:
*Süsteemiadmin
*AB arhitekt
*AB analüütik
*Data warehouse admin
DBA kaks peamist eesmarki:
1. kasutajate toetus ja ligipääsu jagamine ja seadistamine
2. AB turvalisus ja jõudluse tagamine
AB turvalisus - 3 põhipunkti:
*konfidentsiaalsus (confidentiality)
GRANT role to user [identified by pwd] [with grant option];
REVOKE role from user;
*kättesaadavus (availability) - andmed me saame kätte õigel kasutajal
*terviklikkus (integrity) - usaldusväärne andmeallikad
| Risk | Ohustuse aspekt |
| inimlikud vead | konfidentsiaalsus, kättesaadavus, terviklikkus |
| füüsilised vead | kättesaadavus, terviklikkus |
| operatsioonisüsteemi rikked | kättesaadavus, terviklikkus, konfidentsiaalsus |
| andmebaasisüsteemi rikked | kättesaadavus, terviklikkus, konfidentsiaalsus |
COMMIT - salvestab kõik tehtud muudatused andmebaasis püsivalt.
ROLLBACK- tühistab kõik muudatused, mis on tehtud alates viimasest COMMITist.
ROLLFORWARD - taastab andmebaasi varasemast varukoopiast logide abil kuni soovitud ajani.
Data Mining – поиск скрытых шаблонов – meetod peidetud mustrite ja teadmiste avastamiseks suurtest andmekogudest.
Data Warehouse – Хранилище данных - andmelao on suur andmekogu analüüsiks ja aruandluseks.
GROUP by – Rühmitamine
Select Country, Gender, Sum(Salary) as TotalSalary
From Employees
Group By Country, Gender
UNION ALL – Ühendab kahe päringu tulemused
Select Country, Gender, Sum(Salary) as TotalSalary
From Employees
Group By Country, Gender
UNION ALL
Select Country, NULL, Sum(Salary) as TotalSalary
From Employees
Group By Country
GROUPING – viitab sellele, kas nimekirjas olevad veerud on kokku arvutatavad läbi GROUP BY. GROUPING tagastab 1 või 0 mitte kokku arvutatavas tulemuses.
Select Continent, Country, City, SUM(SaleAmount) AS TotalSales,
GROUPING(Continent) AS GP_Continent,
GROUPING(Country) AS GP_Country,
GROUPING(City) AS GP_CITY
FROM Sales
GROUP BY ROLLUP(Continent, Country, City)
ROLLUP – on SQL serveris kokkuarvutatav operaator
Select Continent, Country, City, SUM(SaleAmount) AS TotalSales,
GROUPING(Continent) AS GP_Continent,
GROUPING(Country) AS GP_Country,
GROUPING(City) AS GP_CITY
FROM Sales
GROUP BY ROLLUP(Continent, Country, City)
CUBE- sql serveris loob olukorra, kus genereeritakse kõik kombinatsioonid täpsustatud veerus GROUP BY CUBE().
SELECT Country, Gender, SUM(Salary) as TotalSalary
FROM Employees
GROUP BY Cube(Country,Gender)
Erinevus ROLLUP ja CUBE – ROLLUP summerib hierarhillselt valitud veerud, CUBE arvutab summad igas veerus/kombinatsioonis
Primary Key (primaarvõti)
Mis see on:
Primaarvõti on väli , mis ainult ja üheselt määrab iga rea tabelis.
Ühes tabelis saab olla vaid üks primaarvõti ja selles veerus ei tohi olla tühje väärtusi.
CREATE TABLE Students (
StudentID INT PRIMARY KEY,
Nimi VARCHAR(50),
Vanus INT
);

Siin on StudentID primaarvõti.
Foreign Key (võõrvõti)
Mis see on:
Võõrvõti on väli, mis viitab mõne teise tabeli primaarvõtmele, et luua nende vahel seos.
See aitab andmebaasil tagada, et viidatud andmed tõesti eksisteerivad .
CREATE TABLE Customers (
CustomerID INT PRIMARY KEY,
Nimi VARCHAR(100),
Linn VARCHAR(50)
);
CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
CustomerID INT,
Kuupäev DATE,
Summa DECIMAL(10,2),
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);

Tabelis Orders on veerg CustomerID võõrvõti, mis viitab Customers tabeli CustomerID.
Unique Key (unikaalvõti)
Mis see on:
Unikaalvõti tagab, et kaks rida ei saa omada sama väärtust selles veerus, kuid erinevalt primaarvõtmest võib siin olla NULL-väärtus.
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
Email VARCHAR(100) UNIQUE
);

Email on unikaalvõti – igal töötajal on oma kordumatu e-posti aadress.
Mille poolest erineb:
Primaarvõtit saab olla ainult üks, unikaalvõtmeid aga mitu.
Simple Key (lihtvõti)
Mis see on:
Lihtvõti koosneb ainult ühest veerust. Kui see veerg tagab kordumatuse, saab seda kasutada võtmena.
Näide:
CREATE TABLE StudentsSimple (
StudentID INT PRIMARY KEY,
Nimi VARCHAR(50),
Vanus INT,
Linn VARCHAR(50)
);

StudentID tabelis Students on lihtvõti, sest üks veerg piisab rea tuvastamiseks.
Composite Key(Liitvõti )
Mis see on:
Liitvõti koosneb mitmest veerust, mis koos tagavad kordumatuse, kuigi eraldi võetuna ükski neist ei ole unikaalne.
Näide:
CREATE TABLE Grades (
StudentID INT,
CourseID VARCHAR(20),
Hinne INT,
PRIMARY KEY (StudentID, CourseID)
);

Siin on (StudentID, CourseID) liitvõti — kumbki üksi ei ole piisav, aga koos tuvastavad rea.
Mille poolest erineb:
Lihtvõti = üks veerg, liitvõti = mitu veergu koos.
Compound Key (Kombineeritud võti)
Mis see on:
Koosneb mitmest veerust. Mõnikord kasutatakse mõlemat terminit samas tähenduses.
Kompoundvõti aitab hallata keerukamaid seoseid, näiteks registreeringuid, kus kirjet määravad mitu veergu korraga.
CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
Kuupäev DATE
);
CREATE TABLE Products (
ProductID INT PRIMARY KEY,
Nimi VARCHAR(100),
Hind DECIMAL(10,2)
);
CREATE TABLE OrderDetails (
OrderID INT,
ProductID INT,
Kogus INT,
PRIMARY KEY (OrderID, ProductID),
FOREIGN KEY (OrderID) REFERENCES Orders(OrderID),
FOREIGN KEY (ProductID) REFERENCES Products(ProductID)
);
Orders

Products

OrderDetails

Superkey (Sõltvõti)
Mis see on:
Sõltvõti (superkey) on ükskõik milline veergude kombinatsioon, mis tagab rea kordumatuse.
See võib sisaldada ka liigseid välju.
INSERT INTO Employees (EmployeeID, Isikukood, Nimi, Email) VALUES
(1, '49806120234', 'Anna', 'anna@firma.ee'),
(2, '38804120111', 'Karl', 'karl@firma.ee');
SELECT EmployeeID, Nimi FROM Employees;

Kui EmployeeID on unikaalne, siis (EmployeeID , Nimi) on samuti superkey – kuigi Nimi pole vajalik.
Mille poolest erineb:
Supervõti võib sisaldada üleliigseid veerge, samas kui kandidaatvõti on minimaalne.
Candidate Key (Kandidaatvõti)
Mis see on:
Kandidaatvõti on miinimum-võtmete kogum, mis võiks olla primaarvõti.
Tabelis võib olla mitu kandidaati, aga primaarvõtmena valitakse neist ainult üks.
Näide:
CREATE TABLE Users (
UserID INT PRIMARY KEY,
Isikukood VARCHAR(20) UNIQUE,
Email VARCHAR(100) UNIQUE,
Nimi VARCHAR(50)
);

UserID, Isikukood ja Email võivad kõik olla kandidaatvõtmed.
Mille poolest erineb:
Kandidaatvõti on „võimalik primaarvõti“. Kui üks valitakse primaarvõtmeks, jäävad teised alternatiivvõtmeteks.
9. Alternatiivvõti (Alternate Key)
Mis see on:
Alternatiivvõti on kandidaatvõti, mida ei valitud primaarvõtmeks.
CREATE TABLE Users (
UserID INT PRIMARY KEY,
Isikukood VARCHAR(20) UNIQUE,
Email VARCHAR(100) UNIQUE,
Nimi VARCHAR(50)
);
SELECT UserID, Email, Isikukood FROM Users;

Kui UserID on primaarvõti, siis Email on alternatiivvõti.
Mille poolest erineb:
Alternatiivvõti täidab sama unikaalsuse rolli, aga ei ole põhiline võti.