Võtid

PRIMARY KEY – põhivõti/esimene võti

PRIMARY KEY – on tabeli veerg või veergude rühm, mis identifitseerib ainulaadselt iga tabeli rea. Primary key ei tohi olla dubleeritud, mis tähendab, et sama väärtus ei tohi tabelis esineda rohkem kui üks kord. Tabelis ei tohi olla rohkem kui üks primary key.

Tabelis Lennuk kasutatakse lennukID-d esmase võtmena, et identifitseerida iga lennukit unikaalselt.
Igal kirjel peab olema erinev ID – dubleerimised ei ole lubatud.

CREATE TABLE Lennuk (
    lennukID INT AUTO_INCREMENT,   -- Iga lennuki unikaalne ID
    mudel VARCHAR(50),             -- Lennuki mudeli nimi
    istekohtade_arv INT,           -- Istekohtade arv lennukis
    PRIMARY KEY (lennukID)         -- Põhivõti (primary key)
);

Esmase võtme määratlemise reeglid:

  • Kaks rida ei tohi omada sama esmase võtme väärtust.
  • Igal real peab olema esmase võtme väärtus.
  • Esmase võtme väli ei tohi olla tühi.
  • Esmase võtme veeru väärtust ei tohi kunagi muuta ega uuendada, kui mõni välisvõti viitab sellele esmasele võtmele.

ALTERNATE KEY – alternatiivne võti

ALTERNATE KEYS on tabeli veerg või veergude rühm, mis identifitseerib tabeli iga rea üheselt. Tabelil võib olla mitu esmavõtme valikut, kuid esmavõtmeks saab määrata ainult ühe. Kõiki võtmeid, mis ei ole esmavõtmed, nimetatakse alternatiivseteks võtmeteks.

LennukAlternate’is on lennukID esmane võti, registreerimis_number aga alternatiivne võti – teine unikaalne identifikaator, mida ei valitud esmaseks.

CREATE TABLE LennukAlternate (
    lennukID INT AUTO_INCREMENT,       -- Põhivõti
    registreerimis_number VARCHAR(20) UNIQUE,  -- Alternatiivvõti
    PRIMARY KEY (lennukID)
);

CANDIDATE KEY – kandidaata võti

CANDIDATE KEY SQL-is – on atribuutide kogum, mis identifitseerib tabelis olevad tuplid üheselt. Kandidaatvõti on supervõti, millel ei ole korduvaid atribuute. Esmane võti tuleks valida kandidaatvõtete hulgast. Igal tabelil peab olema vähemalt üks kandidaatvõti. Tabelil võib olla mitu kandidaatvõtit, kuid ainult üks esmane võti.

Kandidaatvõtme omadused:

  • See peab sisaldama unikaalseid väärtusi.
  • SQL-is võib kandidaatvõtmel olla mitu atribuuti.
  • See ei tohi sisaldada nullväärtusi.
  • See peaks sisaldama minimaalset arvu välju, et tagada unikaalsus.
  • See peab identifitseerima unikaalselt iga tabeli kirje.

LennukCandidate’is on nii lennukID kui ka registreerimis_number kandidaatvõtmed.
Mõlemat võiks kasutada esmase võtmena – me valisime lennukID.

CREATE TABLE LennukCandidate (
    lennukID INT AUTO_INCREMENT,       -- Võimalik põhivõti
    registreerimis_number VARCHAR(20), -- Teine võimalik võti
    PRIMARY KEY (lennukID),            -- Valitud põhivõtmena
    UNIQUE (registreerimis_number)     -- Kandidaatvõti (teine võimalus)
);

(see sait oli selle hea näide)

FOREIGN KEY – VÄLISVÕTI

FOREIGN KEY – on veerg, mis loob seose kahe tabeli vahel. Välisvõtme eesmärk on säilitada andmete terviklikkus ja võimaldada navigeerimist kahe erineva entiteedi vahel. See toimib kahe tabeli vahelise ristviitena, kuna viitab teise tabeli põhivõtmele.

Tabelis LennuGraafik on lennukID välisvõtmena, mis viitab tabelile Lennuk.
See loob seose, mille kohaselt iga lend peab kuuluma olemasoleva lennuki juurde.

CREATE TABLE LennuGraafik (
    lendID INT AUTO_INCREMENT,     -- Lennu graafiku ID
    lennukID INT,                  -- Seos Lennuk tabeliga
    kuupaev DATE,                  -- Lennu kuupäev
    PRIMARY KEY (lendID),          -- Põhivõti
    FOREIGN KEY (lennukID) REFERENCES Lennuk(lennukID) -- Võõrvõti
);

Selles DBMS-i näites on meil kaks tabelit: õpetajad ja osakonnad koolis. Siiski pole võimalik näha, milline otsing toimib millises osakonnas.

Selles tabelis saame lisada välisvõtme Deptcode õpetaja nimele ja luua seose kahe tabeli vahel.

Seda kontseptsiooni tuntakse ka kui viite terviklikkust.

COMPOUND KEY – KOMPOSIITVÕTI

COMPOUND KEY – on kaks või enam atribuuti, mis võimaldavad teil kindlalt ära tunda konkreetse kirje. On võimalik, et iga veerg ei ole andmebaasis iseenesest unikaalne. Kuid kombineerituna teise veeruga või veergudega muutub komposiitvõtete kombinatsioon unikaalseks. Komponentvõtme eesmärk andmebaasis on kindlalt identifitseerida iga kirje tabelis.

LennuMeeskondis moodustavad lendID ja pilootID koos liitvõtme.
See identifitseerib üheselt, milline piloot on millisele lennule määratud.

CREATE TABLE LennuMeeskond (
    lendID INT,                    -- Lennu ID
    pilootID INT,                  -- Piloodi ID
    PRIMARY KEY (lendID, pilootID) -- Liitvõti (compound key)
);

COMPOSITE KEY – KOMPOSIITVÕTI

COMPOSITE KEY – on kahe või enama veeru kombinatsioon, mis identifitseerib tabelis unikaalselt ridu. Veergude kombinatsioon tagab unikaalsuse, kuigi individuaalselt unikaalsust ei tagata. Seetõttu kombineeritakse need, et identifitseerida tabelis unikaalselt kirjed.

Erinevus liitvõtme ja komposiitvõtme vahel on selles, et liitvõtme mis tahes osa võib olla võõrvõti, kuid komposiitvõti võib olla või mitte olla võõrvõtme osa.

CREATE TABLE LennuAjad (
    lennukID INT,                  -- Lennuki ID
    kuupaev DATE,                  -- Lennu kuupäev
    PRIMARY KEY (lennukID, kuupaev) -- Koosne (composite) võti
);

LennuAjadis kasutab komposiitvõti kahte veergu: lennukID ja kuupäev.
Koos muudavad need iga kirje unikaalseks – üks lennuk võib lennata mitu päeva, kuid mitte kaks korda samal päeval.

SUPER KEY – SUPERVÕTI

SUPER KEY – Ühe või mitme atribuudi (veeru) kogum, mis võimaldab tuplit (kirjet) üheselt identifitseerida, on tuntud kui supervõti. See võib sisaldada lisatunnuseid, mis ei ole unikaalsuse seisukohalt olulised, kuid mis siiski identifitseerivad rea üheselt. Näiteks STUD_NO, (STUD_NO, STUD_NAME) jne.

  • Supervõti on ühe või mitme võtme rühm, mis identifitseerib tabelis ridade unikaalsuse. See toetab NULL-väärtusi ridades.
  • Supervõti võib sisaldada lisatunnuseid, mis ei ole unikaalsuse tagamiseks vajalikud.
  • Näiteks, kui veerg „STUD_NO” suudab üliõpilast unikaalselt identifitseerida, moodustab sellele „SNAME” lisamine ikkagi kehtiva supervõtme, kuigi see ei ole vajalik.

LennukSuperkey’s võimaldavad nii lennukID kui ka registreerimis_number identifitseerida iga kirje unikaalselt.
Iga veergude kombinatsioon, mis tagab unikaalsuse, nimetatakse supervõtmeks.

CREATE TABLE LennukSuperkey (
    lennukID INT,
    registreerimis_number VARCHAR(20),
    mudel VARCHAR(50),
    PRIMARY KEY (lennukID)         -- See on üks võimalik supervõti
);

UNIQUE KEY – UNIKAALNE VÕTI

UNIQUE KEY – tagab, et kõik veeru või veergude rühma väärtused on kogu tabelis unikaalsed. Lisaks, kui unikaalset võtit rakendatakse mitmele veerule korraga, peab iga nende veergude väärtuste kombinatsioon olema kogu tabelis unikaalne.

Unikaalsete võtmete teine omadus on see, et erinevalt primaarvõtmetest võivad need sisaldada NULL-väärtusi, mis võivad olla unikaalsed. Duplikaatidest mitte-null-väärtused ei ole aga lubatud.

Vaadakem näiteks tabelit nimega Student, kasutades käsku desc, et näidata veergu unikaalse võtmega:

desc Student;
+-----------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+-------------+------+-----+---------+-------+
| id | int(11) | YES | UNI | NULL | |
| name | varchar(60) | YES | | NULL | |
| national_id | bigint(20) | NO | | NULL | |
| birth_date | date | YES | | NULL | |
| enrollment_date | date | YES | | NULL | |
| graduation_date | date | YES | | NULL | |
+-----------------+-------------+------+-----+---------+-------+

Siin on veeru id märgitud UNI-võtmega, mis näitab, et tegemist on unikaalse võtmega. Lisaks näeme veeru Null all märget YES, mis tähendab, et veerg id võib sisaldada NULL-väärtusi.

teine naide:

Tabelis Piloot on isikukood märgitud unikaalseks, mis tähendab, et kahel piloodil ei saa olla sama isikukoodi.
See tagab andmete järjepidevuse, ilma et see oleks esmane võti.

CREATE TABLE Piloot (
    pilootID INT AUTO_INCREMENT,   -- Piloodi ID
    isikukood VARCHAR(11) UNIQUE,  -- Iga piloodi isikukood on unikaalne
    nimi VARCHAR(100),             -- Piloodi nimi
    PRIMARY KEY (pilootID)         -- Põhivõti
);

SIMPLE KEY – LIHTSAM VÕTI

SIMPLE KEY – on üksik atribuut või veerg, mis identifitseerib tabelis iga rea või kirje üheselt. Näiteks võib üliõpilase ID olla lihtne võti üliõpilaste tabelis, kuna kahel üliõpilasel ei saa olla sama ID-d. Lihtsat võtit nimetatakse ka esmaseks võtmeks ja sellel on tavaliselt mõned piirangud, näiteks ei lubata nullväärtusi ega dubleeritud väärtusi. Lihtsat võtit võivad teised tabelid viidata ka välisvõtmena, et luua nende vahel seos.

Tabel Lennujaam kasutab lihtsat võtit – ühte veergu (jaamID) – oma põhivõtmena.
Iga lennujaam on identifitseeritud ühe unikaalse ID-ga

CREATE TABLE Lennujaam (
    jaamID INT AUTO_INCREMENT,     -- Lennujaama ID
    jaama_nimi VARCHAR(100),       -- Lennujaama nimi
    linn VARCHAR(100),             -- Linn
    PRIMARY KEY (jaamID)           -- Lihtvõti (üks veerg)
);

Allikad

Objektide süntaks ja struktuur

Kuidas JavaScript sellega töötab?

Javascripti objektid on võimsad andmestruktuurid, mis võimaldavad teil organiseerida seotud andmeid ühte üksusesse. Objektid koosnevad võtmes-väärtuses paaridest, kus võti on sõne (string) ja väärtus võib olla mis tahes Javascripti andmetüüp (arv, sõne, massiiv, funktsioon jne). Objektid pakuvad suurepärast viisi andmete struktureerimiseks ja manipuleerimiseks. Igapäevaelus võime objekte kohata mitmel viisil. Siin on mõned näited, kus objekte võib leida:

  1. E-kaubandus – Veebipoodides kasutatakse objekte toodete esindamiseks, millel on omadused nagu nimi, hind, laoseis, kirjeldus, kategooria jne.
  2. Hotelli broneeringud – Hotellid kasutavad objekte broneeringute esindamiseks, kus iga broneeringu objekt võib sisaldada andmeid nagu kliendi nimi, kuupäevad, toa tüüp, hinnaarvutused jne.
  3. Autod – Iga auto võib olla objekt, millel on erinevad atribuudid nagu mark, mudel, värv, mootori maht, registrinumber jne.
  4. Õpilased – Iga õpilane võiks olla objekt, millel on omadused nagu nimi, vanus, klass, hinded, osalemised, tegevused jne.

Javascripti programmides on võimalik vajaduse korral luua ise kohandatud objekte, samuti kasutada sisseehitatud objekte, mis on Javascripti enda poolt pakutavad objektid. Mõned sisseehitatud on näiteks:

  1. Math objekt sisaldab matemaatilisi funktsioone ja konstante. Seda kasutatakse sageli matemaatiliste arvutuste tegemiseks, nagu ümardamine, ruutjuur, trigonomeetria funktsioonid jne.
  2. Date objekt võimaldab töötada kuupäevade ja kellaaegadega. Selle abil saab luua uusi kuupäevaobjekte, saada juurde kuupäeva komponente (nagu päev, kuu, aasta) ja teha erinevaid toiminguid kuupäevade vahel.
  3. Array objekt on sisseehitatud objekt, mida kasutatakse massiivide loomiseks ja manipuleerimiseks. See sisaldab mitmeid meetodeid, mis võimaldavad massiividega töötada, nagu elemendi lisamine, eemaldamine, sorteerimine, filtreerimine jne.
  4. String objekt sisaldab meetodeid, mis võimaldavad töötada sõnedega. Näiteks, saate kasutada meetodeid nagu length (pikkuse saamine), toUpperCase (suurte tähtede kasutamine), substring (alamstringi võtmine) jne.
  5. Object objekt on JavaScripti alusobjekt, mida kasutatakse kõikide objektide baasina. Selle meetodeid saab kasutada objektide loomiseks, omaduste lisamiseks ja juurdepääsuks, objektide kopeerimiseks jne.

Objekti loomine

Objekti süntaks koosneb võtme-väärtuse paari paaridest, kus võti on sõne ja väärtus võib olla mis tahes Javascripti andmetüüp. Selles näites on loodud objekt nimega “auto”, millel on järgmised omadused (properties):

Objekti süntaks koosneb võtme-väärtuse paari paaridest, kus võti on sõne ja väärtus võib olla mis tahes Javascripti andmetüüp. Selles näites on loodud objekt nimega “auto”, millel on järgmised omadused (properties):

let auto = {
mark: "Toyota",
mudel: "Corolla",
aasta: 2022,
varv: "punane",
lisavarustus: ["kliimaseade", "elektriaknad", "navigatsioonisüsteem"]
};
// calling
console.log(auto);

Väljastamiseks trüki välja kogu objekt:

console.log(auto.mark); // Output: "Toyota"
console.log(auto.mudel); // Output: "Corolla"
console.log(auto.aasta); // Output: 2022
console.log(auto.varv); // Output: "punane"
console.log(auto.omadused); // Output: ["kliimaseade", "elektriaknad", "navigatsioonisüsteem"]

Objekti meetodid ja this kasutamine

Objektid Javascriptis võivad sisaldada mitte ainult omadusi, vaid ka meetodeid. Meetodid on objekti funktsioonid, mis võivad manipuleerida objekti omadustega või teostada muid toiminguid objekti kontekstis. this võtmesõna kasutatakse meetodite sees, et viidata objektile, mille sees meetod on kutsutud. Tekitame eelmisele auto objektile meetodi, mis kuvab auto täispika nime. Selleks, et meetod saaks kasutada sama objekti omadusi, siis tuleb kasutada this võtmesõna.

let autoOM = {
    //omadused
    mark: "Toyota",
    mudel: "Corolla L",
    aasta: 2022,
    varv: "punane",
    omadused: ["kliimaseade", "elektriaknad", "navigatsioonisüsteem"],

    //meetodid
    taisnimi: function() {
        return this.mark + " " + this.mudel;
    }
};

console.log(autoOM.taisnimi());

Meetodi lühendamine

Uus Javascript ES6 lubab nüüd meetodi panna kirja ka lühemalt.

//meetodid
  taisnimi() {
    return this.mark + " " + this.mudel;
  }

Kui omadused on massiivis, siis kasuta for või forEach tsüklit.

let auto = {
  //omadused
  mark: "Toyota",
  mudel: "Corolla L",
  aasta: 2022,
  varv: "punane",
  omadused: ["kliimaseade", "elektriaknad", "navigatsioonisüsteem"],

  //meetodid
  taisnimi() {
    return this.mark + " " + this.mudel;
  },

  kuvaOmadused() {
    this.omadused.forEach(omadus => console.log(omadus));  
  }
};

auto.kuvaOmadused();

Objektide massiivid

Objektide massiiv on JavaScriptis andmete struktuur, mis koosneb mitmest objektist, mis on järjestatud indeksi alusel. Iga objekt on võti-väärtuse paaride kogum, kus võti on unikaalne ja väärtus on võti-väärtuse paari andmed. Objektide massiiv võib sisaldada mitmesuguseid andmetüüpe, sealhulgas teksti (string), numbreid, tõeväärtusi (boolean), funktsioone, muid objekte jne.

Objektide massiivi loomine ja kuvamine

Objektide massiivi loomine on suhteliselt lihtne. Alustame näiteks autode andmete salvestamisega. Iga auto on esindatud objektina, mis sisaldab teavet auto margi, mudeli ja tootmisaasta kohta.

let autod = [
  { mark: 'Toyota', mudel: 'Corolla', aasta: 2007 },
  { mark: 'Honda', mudel: 'Civic', aasta: 2012 },
  { mark: 'Tesla', mudel: 'Model 3', aasta: 2019 }
];

console.log(autod);

Kui soovime näha konkreetse auto andmeid, saame viidata auto positsioonile massiivis (pidage meeles, et massiivide indekseerimine algab 0-st)

console.log(autod[0]);

Ja selles objektis saan elemendid kätte “punkti-süntaksiga”, nagu eespool

console.log(autod[0].mark);

Kõikide mudelite nägemiseks kasutame jällegi forEach tsüklit

let autod = [
  { mark: 'Toyota', mudel: 'Corolla', aasta: 2007 },
  { mark: 'Honda', mudel: 'Civic', aasta: 2012 },
  { mark: 'Tesla', mudel: 'Model 3', aasta: 2019 }
];


autod.forEach((auto) => {
  console.log(`
    Mark: ${auto.mark},
    Mudel: ${auto.mudel},
    Aasta: ${auto.aasta}
    `);
});

Objekti massiivi meetodid

JavaScripti massiivide meetodid on kasutatavad nii tavaliste massiivide kui ka objektide massiivide puhul. Sellised meetodid nagu push()pop()shift()unshift()splice()slice(), forEach(), map()filter()reduce()sort(), jne. on kõik kasutatavad sõltumata sellest, kas massiiv sisaldab lihtsaid andmetüüpe (näiteks stringid või numbrid) või keerukamaid andmeid (näiteks objekte või isegi teisi massiive).

Seda seetõttu, et JavaScriptis on massiivid objektid ning nii lihtsate andmetüüpide kui ka objektide hoiustamine massiivides toimub ühtemoodi. Andmete tüüp, mida massiiv sisaldab, ei mõjuta massiivide meetodeid. Näiteks uute objektide lisamine objektide massiivi push ja unshift abil.

let autod = [
    { mark: 'Toyota', mudel: 'Corolla', aasta: 2007 },
    { mark: 'Honda', mudel: 'Civic', aasta: 2012 },
    { mark: 'Tesla', mudel: 'Model 3', aasta: 2019 },
    { mark: 'BMW', mudel: '320i', aasta: 2015 },
    { mark: 'Ford', mudel: 'Focus', aasta: 2020 }
];

//Lisab uue objekti massiivi lõppu
autod.push({ mark: 'BMW', mudel: '320i', aasta: 2015 });
autod.unshift({ mark: 'Ford', mudel: 'Focus', aasta: 2020 });

Meetod splice ühaegselt kustutab ja lisab.

massiiv.splice(
  {start indeks},
  {mitu eemaldada},
  {mida lisada}
);

Näiteks

//Eemaldab esimese objekti
autod.splice(0,1);
//Lisab objekti alates teisest indeksist, ei kustutata midagi
autod.splice(1,0,{ mark: 'Audi', mudel: 'A4', aasta: 2018 });

Massiivist otsimine

Objektide massiivist otsimiseks kasutame find meetodit, mis tahab käivitamiseks funktsiooni. Kasutame noolfunktsiooni, kuna see lühem.

//Otsimine
let otsing = autod.find(auto=>auto.aasta > 2018);
console.log(otsing);

Antud meetod leiab esimese vaste ja tagastab selle. Kui vastust ei leita, siis tuleb undefined. Mitme tingimuse seadmiseks kasuta && märke

//Otsimine
let otsing = autod.find(auto=>auto.aasta > 2018 && auto.mark === "Tesla");
console.log(otsing);

Kuna find leiab vaid ühe tulemuse, siis mitme vastuse saamiseks kasuta filter meetodit. Filter loob massiivist uue massiivi ja väljastab tingimustele vastavad elemendid.

Näiteks meil on arvud ja soovime sealt saada paarisarve

let arvud = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

const filtreeritud = arvud.filter(arv => arv % 2 === 0);
console.log(filtreeritud);

Autode puhul saame pöörduda näiteks auto.aasta poole ja filtreerida need, mis on uuemad kui 2018

//Filtreerimine
let filter = autod.filter(auto=>auto.aasta > 2018);
console.log(filter);

Massiivi sorteerimine

Viimase meetodina vaatame sorteerimist sort. Lihtsalt sorteerimine objektide massivii puhul õigesti ei tööta. Seepärast peame kasutama võrdlusfunktsiooni.

autod.sort((a, b) => a.aasta - b.aasta);
console.log(autod);

Siin on (a, b) => a - b võrdlusfunktsioon, mis ütleb sort()-ile, et järjestada numbrid nende tegelike numbri väärtuste, mitte stringiväärtuste järgi. Funktsioon a - b tagastab negatiivse väärtuse, kui a on väiksem kui b, positiivse väärtuse, kui a on suurem kui b, ja 0, kui a ja b on võrdsed – just see, mida sort() vajab oma elementide õigesti järjestamiseks.

Ülesanne

Raamatu objekt

1. Loo objekt raamat, millel on vähemalt kolm omadust: pealkiriautoraasta.

let raamat = { 
  pealkiri: 'kuritegu ja karistus', 
  autor: 'Fyodor Dostoevsky', 
  aasta: 1866
};

2. Lisa meetod, mis kuvab esimese raamatu kirjelduse.

console.log(raamat.pealkiri);

Vastus:

3. Lisa meetod, mis muudab väljaandmise aastat ja prindi tulemused konsooli.

kuritegu ja karistus muudetud aasta 2020

let raamat = { 
  pealkiri: 'Kuritegu ja karistus', 
  autor: 'Fyodor Dostoevsky', 
  aasta: 1866
};

raamat.muudaAasta = function() {
  this.aasta = 2020;
  console.log(this.aasta);
};

raamat.muudaAasta();

Raamatukogu

1. Loo objekt raamatukogu, mille omaduseks on raamatud (massiiv raamatutest).

let raamatukogu = [
  { pealkiri: 'läänerindel on kõik vaikne', autor: 'Erih Remark', aasta: 1928},
  { pealkiri: 'Sipsik', autor: 'Eno Raud', aasta: 1962},
  { pealkiri: 'Jevgeni Onegin', autor: 'Aleksandr Pushkin', aasta: 1833}
];

2. Lisa meetod, mis kuvab kõik raamatud kenasti konsoolis.

raamatukogu.forEach((raamatud) => {
  console.log(`
    Pealkiri: ${raamatud.pealkiri},
    Autor: ${raamatud.autor},
    Aasta: ${raamatud.aasta}
    `);
});

3. Lisa meetod, mis lisab uue raamatu.

raamatukogu.push({ pealkiri: 'midagi', autor: 'keegi', aasta: 2025 });

4. Lisa meetod, mis kuvab raamatukogu raamatute koguarvu.

console.log(raamatukogu.length)

5. Lisa meetod, mis arvutab, mitu raamatut on ilmunud pärast 2000. aastat.

let filter = raamatukogu.filter(raamatukogu=>raamatukogu.aasta > 2000);
console.log(filter.length);

6. Koosta oma meetod ja kirjuta mida meetod tähendab

raamatukogu.forEach((raamatud) => {
  console.log(`
    Pealkiri: ${raamatud.pealkiri + " - " + raamatud.autor},
    Aasta: ${raamatud.aasta}
    `);
});
Raamatute andmed

Raamatute andmed

Ja see on töö leht link:

https://khusseintakhmazov24.thkit.ee/HTMLtood/ramatukogu/ramatukogu.html

valik plugin

Christmasify on lihtne kasutada jõuluteemaline plugin, mis lisab teie WordPressi veebilehele lund, jõuluvana, kaunistusi, muusikat ja kauni jõuluteemalise kirjatüübi. Kõik efektid on lülitatavad, nii et saate valida need, mis teile meeldivad! :DDD

Nagu öeldud, on see lihtne kasutada, nii et ma näitan teile, kuidas!

Pärast selle pistikprogrammi allalaadimist ilmub see vasakpoolsesse menüüsse, mis näeb välja järgmine:

seadistada:


Klõpsake lihtsalt soovitud valikutele:

Siin saate valida erinevaid valikuid lumekestest aktiveerimise kuupäevani ja aegumiseni, kui soovite, et plugin lõpetaks töö:

lumekristallid:

Muusika:

stiilid

erinevad asjad

(Ja jah, ka sina saad neid toetada)

eksemplar:

ja rõõmsat jõuluaega!

AB haldus konspekt

AB kasutajate rollid:

-AB kasutaja - tavakasutaja, mis saab muuta, lisada, filtreerida ja otsida vastavalt vajadusele

-AB programmerija -loob funktsioonid protseduurid (trigerid)

- DBA - AB administratoor - tagab, et õiged kasutajad saavad oma õigused

- AB projekteerija - loob tabeleid ja AB struktuuri
DBA -AB administratoor liigid:
*süsteemiadmin
*AB arhitekt
*AB analüütik
*Data warehouse admin -  админ хранилище данных (admeladu)
DBA kaks peamist eesmärki (ülesanded):
1. kasutajate toetus ja ligipääsu jagamine ja seadistamine
2. 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 samme kätte õigel ajal ja õigel kasutajal
*andmete terviklikkus(integrity) - целостность - usaldusväärne andmeallikad
RiskOhutuse aspekt
Inimlikud veadkonfidentsiaalsus, kättesaadavus, terviklikkus
füüsilised vead (riistvara – hardware)kättesaadavus, terviklikkus
operatsioonisüsteemi rikkedkättesaadavus, terviklikkus, konfidentsiaalsus
andmebaasisüsteemi rikkedkättesaadavus, terviklikkus, konfidentsiaalsus
-COMMIT -COMMIT-käsku kasutatakse kõigi praeguse tehingu käigus tehtud muudatuste salvestamiseks andmebaasi. Kui tehing on kinnitatud, muutuvad muudatused püsivaks. 

-ROLLBACK - Kui tekib viga, näiteks päringu probleem, saate ROLLBACK-i abil tühistada kõik tehingu käigus tehtud muudatused

-ROLLFORWARD - käsk taastab andmebaasi, rakendades andmebaasi logifailidesse salvestatud tehinguid.

-Data mining - väärtuslike mustrite ja järelduste avastamine suurte andmekogumite põhjal, kasutades masinõppe, statistika ja andmebaasisüsteemide meetodeid.

-Data warehouse - on erinevatest allikatest integreeritud andmete keskne hoidla. Need hoiavad praeguseid ja varasemaid andmeid, mis on organiseeritud viisil, mis on optimeeritud andmete analüüsimiseks, aruannete koostamiseks ja integreeritud andmete põhjal järelduste tegemiseks.

GROUP BY - lause rühmitab samade väärtustega read kokkuvõtete ridadeks, näiteks „leia klientide arv igas riigis”

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;

UNION ALL - käsk ühendab kahe või enama SELECT-lause tulemusjoukonna (lubab dubleeritud väärtusi)

SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;

GROUPING - Määrab, kas GROUP BY loendis olev veeruavaldis on agregeeritud või mitte

SELECT SalesQuota, SUM(SalesYTD) 'TotalSalesYTD', GROUPING(SalesQuota) AS 'Grouping'
FROM Sales.SalesPerson
GROUP BY SalesQuota WITH ROLLUP;
GO

- ROLLUP - operaator täiustab GROUP BY-klausli võimekust, võimaldades arvutada veergude kogumi vahe- ja kogusummasid.

select COALESCE(Department, 'Total') as Department SUM(Salary)
from Employee1
Group By ROLLUP (Department);

- CUBE - on GROUP BY-klausli laiendus, mis võimaldab genereerida kõik võimalikud rühmade kombinatsioonid määratud veergude jaoks, sealhulgas vahesummad ja kogusumma.

SELECT state, SUM(salary) AS salary
FROM salary_reports
GROUP BY CUBE(state)
ORDER BY state;

Erunevus ROLLUP and CUBE - ROLLUP teeb kokkuvõtte GROUP BY-klauslis kasutatud veergude hierarhia alusel. CUBE rühmitab kõikide väärtuste kombinatsioonide järgi. / Rollup summerib hierarhiliselt valitud veergud CUBE, arvatub summad igas veerus/kombinatrsioonis

Võtid

PRIMARY KEY – põhivõti/esimene võti

PRIMARY KEY – on tabeli veerg või veergude rühm, mis identifitseerib ainulaadselt iga tabeli rea. Primary key ei tohi olla dubleeritud, mis tähendab, et sama väärtus ei tohi tabelis esineda rohkem kui üks kord. Tabelis ei tohi olla rohkem kui üks primary key.

Selles näites on StudID esmane võti:

Esmase võtme määratlemise reeglid:

  • Kaks rida ei tohi omada sama esmase võtme väärtust.
  • Igal real peab olema esmase võtme väärtus.
  • Esmase võtme väli ei tohi olla tühi.
  • Esmase võtme veeru väärtust ei tohi kunagi muuta ega uuendada, kui mõni välisvõti viitab sellele esmasele võtmele.

ALTERNATE KEY – alternatiivne võti

ALTERNATE KEYS on tabeli veerg või veergude rühm, mis identifitseerib tabeli iga rea üheselt. Tabelil võib olla mitu esmavõtme valikut, kuid esmavõtmeks saab määrata ainult ühe. Kõiki võtmeid, mis ei ole esmavõtmed, nimetatakse alternatiivseteks võtmeteks.

Selles tabelis on StudID, Roll No ja Email kvalifitseeritud esmaseks võtmeks. Kuna StudID on esmane võti, muutuvad Roll No ja Email alternatiivseks võtmeks.

CANDIDATE KEY – kandidaata võti

CANDIDATE KEY SQL-is – on atribuutide kogum, mis identifitseerib tabelis olevad tuplid üheselt. Kandidaatvõti on supervõti, millel ei ole korduvaid atribuute. Esmane võti tuleks valida kandidaatvõtete hulgast. Igal tabelil peab olema vähemalt üks kandidaatvõti. Tabelil võib olla mitu kandidaatvõtit, kuid ainult üks esmane võti.

Kandidaatvõtme omadused:

  • See peab sisaldama unikaalseid väärtusi.
  • SQL-is võib kandidaatvõtmel olla mitu atribuuti.
  • See ei tohi sisaldada nullväärtusi.
  • See peaks sisaldama minimaalset arvu välju, et tagada unikaalsus.
  • See peab identifitseerima unikaalselt iga tabeli kirje.

Kandidaatvõti Näide: Antud tabelis on Stud ID, registreerimisnumber ja e-post kandidaatvõtmed, mis aitavad meil tabelis õpilase andmeid üheselt identifitseerida.

(see sait oli selle hea näide)

FOREIGN KEY – VÄLISVÕTI

FOREIGN KEY – on veerg, mis loob seose kahe tabeli vahel. Välisvõtme eesmärk on säilitada andmete terviklikkus ja võimaldada navigeerimist kahe erineva entiteedi vahel. See toimib kahe tabeli vahelise ristviitena, kuna viitab teise tabeli põhivõtmele.

Näide:

Selles DBMS-i näites on meil kaks tabelit: õpetajad ja osakonnad koolis. Siiski pole võimalik näha, milline otsing toimib millises osakonnas.

Selles tabelis saame lisada välisvõtme Deptcode õpetaja nimele ja luua seose kahe tabeli vahel.

Seda kontseptsiooni tuntakse ka kui viite terviklikkust.

COMPOUND KEY – KOMPOSIITVÕTI

COMPOUND KEY – on kaks või enam atribuuti, mis võimaldavad teil kindlalt ära tunda konkreetse kirje. On võimalik, et iga veerg ei ole andmebaasis iseenesest unikaalne. Kuid kombineerituna teise veeruga või veergudega muutub komposiitvõtete kombinatsioon unikaalseks. Komponentvõtme eesmärk andmebaasis on kindlalt identifitseerida iga kirje tabelis.

Näide:

Selles näites ei saa OrderNo ja ProductID olla primaarvõti, kuna need ei identifitseeri kirjet üheselt. Siiski võiks kasutada Order ID ja Product ID liitvõtit, kuna see identifitseerib iga kirje üheselt.

COMPOSITE KEY – KOMPOSIITVÕTI

COMPOSITE KEY – on kahe või enama veeru kombinatsioon, mis identifitseerib tabelis unikaalselt ridu. Veergude kombinatsioon tagab unikaalsuse, kuigi individuaalselt unikaalsust ei tagata. Seetõttu kombineeritakse need, et identifitseerida tabelis unikaalselt kirjed.

Erinevus liitvõtme ja komposiitvõtme vahel on selles, et liitvõtme mis tahes osa võib olla võõrvõti, kuid komposiitvõti võib olla või mitte olla võõrvõtme osa.

SUPER KEY – SUPERVÕTI

SUPER KEY – Ühe või mitme atribuudi (veeru) kogum, mis võimaldab tuplit (kirjet) üheselt identifitseerida, on tuntud kui supervõti. See võib sisaldada lisatunnuseid, mis ei ole unikaalsuse seisukohalt olulised, kuid mis siiski identifitseerivad rea üheselt. Näiteks STUD_NO, (STUD_NO, STUD_NAME) jne.

  • Supervõti on ühe või mitme võtme rühm, mis identifitseerib tabelis ridade unikaalsuse. See toetab NULL-väärtusi ridades.
  • Supervõti võib sisaldada lisatunnuseid, mis ei ole unikaalsuse tagamiseks vajalikud.
  • Näiteks, kui veerg „STUD_NO” suudab üliõpilast unikaalselt identifitseerida, moodustab sellele „SNAME” lisamine ikkagi kehtiva supervõtme, kuigi see ei ole vajalik.

Näide: Vaadake tabelit STUDENT

Supervõti võiks olla kombinatsioon STUD_NO ja PHONE, kuna see kombinatsioon identifitseerib üliõpilase üheselt.

UNIQUE KEY – UNIKAALNE VÕTI

UNIQUE KEY – tagab, et kõik veeru või veergude rühma väärtused on kogu tabelis unikaalsed. Lisaks, kui unikaalset võtit rakendatakse mitmele veerule korraga, peab iga nende veergude väärtuste kombinatsioon olema kogu tabelis unikaalne.

Unikaalsete võtmete teine omadus on see, et erinevalt primaarvõtmetest võivad need sisaldada NULL-väärtusi, mis võivad olla unikaalsed. Duplikaatidest mitte-null-väärtused ei ole aga lubatud.

Vaadakem näiteks tabelit nimega Student, kasutades käsku desc, et näidata veergu unikaalse võtmega:

desc Student;
+-----------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+-------------+------+-----+---------+-------+
| id | int(11) | YES | UNI | NULL | |
| name | varchar(60) | YES | | NULL | |
| national_id | bigint(20) | NO | | NULL | |
| birth_date | date | YES | | NULL | |
| enrollment_date | date | YES | | NULL | |
| graduation_date | date | YES | | NULL | |
+-----------------+-------------+------+-----+---------+-------+

Siin on veeru id märgitud UNI-võtmega, mis näitab, et tegemist on unikaalse võtmega. Lisaks näeme veeru Null all märget YES, mis tähendab, et veerg id võib sisaldada NULL-väärtusi.

SIMPLE KEY – LIHTSAM VÕTI

SIMPLE KEY – on üksik atribuut või veerg, mis identifitseerib tabelis iga rea või kirje üheselt. Näiteks võib üliõpilase ID olla lihtne võti üliõpilaste tabelis, kuna kahel üliõpilasel ei saa olla sama ID-d. Lihtsat võtit nimetatakse ka esmaseks võtmeks ja sellel on tavaliselt mõned piirangud, näiteks ei lubata nullväärtusi ega dubleeritud väärtusi. Lihtsat võtit võivad teised tabelid viidata ka välisvõtmena, et luua nende vahel seos.

Allikad

Juhtlis ja veebikalkulator

JS piltidega töö

Random pilti näitamine


Vastus:
Summa:

Veebikalkulator: emojikon






aeg

Muusika

Muusikaküsimustik

Muusikaküsimustik

Milliseid muusikuid/bände sa tead?



Mida arvad muusika kuulamisest koolis?
Kui mitu tundi päevas sa muusikat kuulad?
Kas sa kuulad raadiot?
Milliseid raadiojaamu sa tead?
Millist muusikat sa kõige rohkem kuulad?




AB haldus konspekt

AB kasutajate rollid:

-AB kasutaja - tavakasutaja, mis saab muuta, lisada, filtreerida ja otsida vastavalt vajadusele

-AB programmerija -loob funktsioonid protseduurid (trigerid)

- DBA - AB administratoor - tagab, et õiged kasutajad saavad oma õigused

- AB projekteerija - loob tabeleid ja AB struktuuri
DBA -AB administratoor liigid:
*süsteemiadmin
*AB arhitekt
*AB analüütik
*Data warehouse admin -  админ хранилище данных (admeladu)
DBA kaks peamist eesmärki (ülesanded):
1. kasutajate toetus ja ligipääsu jagamine ja seadistamine
2. 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 samme kätte õigel ajal ja õigel kasutajal
*andmete terviklikkus(integrity) - целостность - usaldusväärne andmeallikad
RiskOhutuse aspekt
Inimlikud veadkonfidentsiaalsus, kättesaadavus, terviklikkus
füüsilised vead (riistvara – hardware)kättesaadavus, terviklikkus
operatsioonisüsteemi rikkedkättesaadavus, terviklikkus, konfidentsiaalsus
andmebaasisüsteemi rikkedkättesaadavus, terviklikkus, konfidentsiaalsus
- COMMIT - tähendab, et praeguses tehingus tehtud muudatused muutuvad püsivaks ja muutuvad nähtavaks teistele sessioonidele - означает, что изменения, внесенные в текущей транзакции, становятся постоянными и видны другим сеансам

- ROLLBACK - tühistab kõik praeguse tehinguga tehtud muudatused - отменяет все изменения, внесенные текущей транзакцией

- ROLLFORWARD - taastab andmebaasi, rakendades andmebaasi logifailidesse salvestatud tehinguid - восстанавливает базу данных путем применения транзакций, которые записаны в файлах журнала базы данных

- Data Mining – поиск скрытых шаблонов – on protsess, mille käigus ekstraktitakse ja leitakse mustreid suurtest andmekogumitest, kasutades selleks masinõppe, statistika ja andmebaasisüsteemide ristumiskohas olevaid meetodeid - это процесс извлечения и поиска закономерностей в огромных массивах данных с использованием методов, лежащих на стыке машинного обучения, статистики и систем баз данных

- Data Warehouse – Хранилище данных - on tsentraliseeritud andmehoidla, mis salvestab struktureeritud andmeid - является централизованным хранилищем, в котором хранятся структурированные данные