AB halduse konspekt

AB kasutajate rollid:

  • AB kasutaja – tavakasutaja, mis saab muuta, lisada, filtreerida ja otsida vastavalt vajadusele.
  • AB programmeerija – loob funktsioonid ja protseduurid (trigerid).
  • DBA AB administraator – tagab, et õiged kasutajad saavad oma õigused.
  • AB projekteerija – loob tabeleid ja struktuuri.

DBA – AB administraator liigid:

  • Süsteemiadmin
  • AB arhitekt
  • AB analüütik
  • Data warehouse admin (админ хранилища данных) – andmeladu

DBA kaks peamist eesmärki (ülesanded):

  • Kasutajate toetus ja ligipääsu jagamine ja seadistamine.
  • AB Turvalisus ja jõudluse tagamine.

AB Turvalisus – 3 põhiaspekti

  • Andmete konfidentsiaalsus (confidentiality)
GRANT role to user [identified by pwd] [with grant option];

REVOKE role from user;
  • Andmete kättesaadavus (availability/доступность) – andmed me saame kätte õigel ajal ja õigel kasutajal.
  • Andmete terviklikkus (integrity/целестность) – usaldusväärne andmeallikad
RiskOhutuse aspekt
Inimlikud veadkonfidentsiaalsus, kättesaadavus, terviklikkus
Füüsilised vead (riistvara)terviklikkus, kättesaadavus
Operatsioonisüsteemi rikkedKättesaadavus, terviklikkus, Konfidentsiaalsus
Andmebaasisüsteemi rikkedKättesaadavus, terviklikkus, Konfidentsiaalsus

  • COMMIT – käsk, mida kasutatakse tavaliselt pärast mitmeid INSERT-, UPDATE- või DELETE-operatsioone, et tagada muudatuste salvestamine andmebaasi.
  • ROLLBACK – käsk, mida kasutatakse transaktsiooni poolt tehtud muudatuste tagasipööramiseks.
  • ROLLFORWARD – käsk, mida kasutatakse logifailides sisalduvate transaktsioonide edasiarendamiseks määratud asukohas.
  • Data Mining – (поиск скрытых шаблонов) protsess, kus otsitakse suurtest andmekogudest kasulikke mustreid ja infot.
  • Data Warehouse – suur andmeladu, kuhu kogutakse palju andmeid, et neid hiljem lihtsamalt vaadata ja kasutada.

GROUP BY – rühmitab andmed valitud veergude alusel, et teha kokkuvõtteid (nt SUM, COUNT).

SELECT Country, Gender, SUM(Salary) AS TotalSalary
FROM Employees
GROUP BY Country, Gender

UNION ALL – ühendab mitu päringut, säilitades kõik read, ka duplikaadid.

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 – võimaldab määrata, kuidas andmeid grupeeritakse, kasutades GROUPING SETS, ROLLUP või CUBE.

SELECT Country, Gender, SUM(Salary) AS TotalSalary
FROM Employees
GROUP BY
    GROUPING SETS
    (
        (Country, Gender),
        (Country),
        (Gender),
        ()
    )

ROLLUP – summerib hierarhiliselt valitud veergud.

SELECT Country, SUM(Salary) AS TotalSalary
FROM Employees
GROUP BY ROLLUP(Country)

CUBE – arvutab summad igas veerus/kombinatsioonis.

SELECT Continent, Country, City, SUM(SaleAmount) AS TotalSales
FROM Sales
GROUP BY CUBE(Continent, Country, City)

Erinevus ROLLUP ja CUBE – ROLLUP summerib hierarhiliselt valitud veergud, CUBE arvutab summad igas veerus/kombinatsioonis.

AB SQL-i võtmed

  1. Primary key
  2. Foreign key
  3. Unique key
  4. Simple key
  5. Composite key / Compound key
  6. Superkey
  7. Candidate key
  8. Alternate key

1. Primary key

Primary key on tabeli väli, mis unikaalselt määrab iga rea. Selle väärtus ei kordu ja ei tohi olla tühi.
Tavaliselt kasutatakse Primary key’ga Identity’t, mis genereerib väärtuse automaatselt.

Näide:

CREATE TABLE Turniir (
	TurniirID int PRIMARY KEY IDENTITY(1,1),
	TurniirNimi varchar(50),
);

2. Foreign key

Foreign key on tabeli väli, mis viitab teise tabeli primaarvõtmele. See loob seose kahe tabeli vahel ja aitab tagada, et andmed oleksid omavahel õigesti seotud.

Näide:

CREATE TABLE Võistlus (
	VoistlusID int PRIMARY KEY IDENTITY(1,1),
	VostlusNimi varchar(50),
	OsalejateArv int,
	TurniirID int FOREIGN KEY REFERENCES Turniir(TurniirID),
);

3. Unique key

Unique key on väli või väljade kombinatsioon, mille väärtused ei tohi korduda, kuid võivad olla tühjad (NULL). See tagab, et kõik väärtused selles veerus on andmebaasis ainulaadsed.

Näide:

CREATE TABLE Persons (
    ID int UNIQUE,
    LastName varchar(255),
    FirstName varchar(255),
    Age int
);

4. Simple key

Simple key on üksainus väli, mis toimib primaar või unikaalvõtmena.

Näide:

CREATE TABLE Opilased (
    opilaseId int PRIMARY KEY,
    eesnimi varchar(50),
    perenimi varchar(50)
);

5. Composite key / Compound key

Composite key/Compound key on võti, mis koosneb mitmest veerust, et üheselt identifitseerida iga rida, kuna üks veerg üksi ei ole unikaalne.

Näide:

CREATE TABLE KursuseleRegistreerumised (
    opilaseId int,
    kursuseId int,
    registreerumiseKuupaev date,
    PRIMARY KEY (opilaseId, kursuseId)
);

6. Superkey

Superkey on võti, mis ükskõik millise rea üheselt määrab, isegi kui mõned veerud selles võtmes pole vajalikud unikaalsuse tagamiseks.

Näide:

CREATE TABLE Student (
    studentId int,
    name varchar(50),
    address varchar(100),
    phone varchar(15), -- minimaalne superkey
    PRIMARY KEY (opilaseId)  -- minimaalne superkey
);

studentId – piisab iga õpilase tuvastamiseks.
studentId, phone – ka superkey, kuigi phone pole vajalik.

7. Candidate key

Candidate key on minimaalne võti, mis unikaalselt tuvastab iga rea tabelis.

Näide:

CREATE TABLE Student (
    studentId int,
    email varchar(100), -- candidate key
    name varchar(50),
    PRIMARY KEY (studentId)  -- candidate key
);

Candidate key selles tabelis: studentId ja email (kui iga e-post on unikaalne).
Mõlemad võivad toimida Primary key, aga kumbki ei sisalda üleliigseid veerge.

8. Alternate key

Alternate key on võti mis tahes Primary key, mida ei ole valitud esmaseks võtmeks.

CREATE TABLE CUSTOMERS(
   ID INT,
   NAME VARCHAR (20),
   AGE INT,
   AADHAAR_ID BIGINT, -- alternate key
   MOBILE_NO BIGINT, -- alternate key
   SALARY DECIMAL (18, 2),
   PRIMARY KEY(ID)      
);

Allikad:

Tabeli normaliseerimine