AB halduse konspekt

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 veadkonfidentsiaalsus, kättesaadavus, terviklikkus
füüsilised veadkättesaadavus, terviklikkus
operatsioonisüsteemi rikkedkättesaadavus, terviklikkus, konfidentsiaalsus
andmebaasisüsteemi rikkedkä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.

Kasutatud allikad