relacijske podatkovne baze Flashcards

1
Q

relacijske podatkovne baze

A
  • Entitetno-relacijski model (ER)
  • SQL
    o DCL – grand, revoke
    o DDL – Create, alter, drop
    o DML – insert, update, delete
    o DQL – select
    o TCL – commit, rollback
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Podatki oblikovanja konceptualnega modela PB:

A
  • Podatkovna analiza in zbiranje zahtev
  • Opredelitev skupin uporabnikov in področij uporabe
  • Analiza operativnega okolja
  • Ime in opis entitete
  • Arhiviranje
  • Oblikovanje ER modela
  • Čimbolj razširjen ER model
  • Upoštevamo zahteve naročnika
    ▪ Entiteta, Ključ, Atribut, Relacija, Kardinalnost (1:1, 1:M, M:N)
  • Normalizacija
    -Zagotavlja da entitete ne vsebujejo redundantnih ali dvoumnih podatkov
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Koraki izdelave ER- modela

A
  • Definiramo namen PB
  • Poiščemo in organiziramo informacije
  • Oblikujemo E-R model
    o Definiramo entitete
    o Definiramo razmerje med entitetami
    o Definiramo kardinalnost
  • 1:1
  • 1:M
  • M:N
    o Definiramo primarne ključe
    o Definiramo obvezne opcijske atribute
  • Normalizacija
    o Zagotavlja da entitete ne vsebujejo redundantnih ali dvoumnih podatkov
    o
  • Popravljanje E-R modela
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

SQL skupine ukazov:

A

DCL – Data Control Language (GRANT, REVOKE)
DDL – Data Definition Language (CREATE, ALTER, DROP, TRUNCATE)
DML – Data Manipulation Language (INSERT, UPDATE, DELETE, MERGE)
DQL – Data Query Language (SELECT)
TCL – Transaction Control Language (COMMIT, ROLLBACK, SAVEPOINT)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

CRUD operacije:

A

CREATE (CREATE, INSERT)
READ (SELECT)
UPDATE (UPDATE)
DELETE (DELETE)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

SQL sintaksa:

A

Stavki se vedno končajo s podpičjem
NE uporabljamo šumnikov
Na začetku besede NE uporabljamo posebnih znakov
Velike/male črke niso pomembne za ukazne besede (select == SeLeCT)
SQL ukazne besede pišemo z VELIKIMI črkami (SELECT, CREATE,
WHERE)
Stringi so v enojnih narekovajih

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

SQL Ustvarjanje uporabnikov (Potrebujemo pravice)

A

Ustvarjanje uporabnika in njegovega gesla: CREATE USER ‘uporabnik’ @
‘lokacija’ IDENTIFIED BY ‘geslo’;
CREATE USER ‘kevin’@’198.51.100.0/255.255.255.0’ IDENTIFIED BY
‘tukajjegeslo69’;
Spreminjanje gesla za uporabnika: SET PASSWORD FOR ‘kevin’@’%’ =
novo_geslo’;
ALTER USER ‘kevin’@’%’ IDENTIFIED BY ‘novo_geslo’;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

SQL – Dodajanje pravic uporabnikom

A

GRANT/REVOKE pravica ON baza.tabela TO ‘uporabnik’@’lokacija’;
Pravice, ki jih lahko ima uporabnik:——–
ALL PRIVILEGES
CREATE
DROP
DELETE
INSERT
SELECT
UPDATE
GRANT OPTION
Brisanje uporabnika: DROP USER ‘uporabnik’ @ ‘localhost’;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

SQL – DDL stavki

A

Ustvarimo podatkovno bazo: CREATE DATABASE (IF NOT EXISTS) ime_baze;
Izbrišemo podatkovno bazo: DROP DATABASE (IF EXISTS) ime_baze;
Pregled obstoječih baz: SHOW DATABASES;
Uporaba podatkovne baze (na začetku vsakega pisanja SQL kode): USE
ime_baze;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

PRO TIPS PRI KREIRANJU TABEL:

A
  • ID (Primarni ključ) mora VEDNO imeti NOT NULL, ker je prisoten v VSAKI
    tabeli
    -ID-ju (Primarnem ključu) dodamo AUTO_INCREMENT, da se nam
    avtomatsko kreira po vrsti od 1 dalje (yay, ne rabim vpisovat vsakega ID-ja
    pri insertu)
    -Podatkovni tipi naj bodo pls jasni in smiselni (INT, CHAR, VARCHAR(),
    DATE, DATETIME, BOOL, FLOAT, DOUBLE)
    -Dolžina VARCHAR() naj bo reasonable (ne preveč nizka in ne preveč
    visoka)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Podatkovni tipi v SQL

A

Numerični podatkovni tipi
Časovni podatkovni tipi
Znakovni podatkovni tipi
Prostorski podatkovni tipi

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Numerični podatkovni tipi:

A

INT – Celo število
DECIMAL (M, D) – Decimalna števila. Prva cifra pove koliko je števk, drugo
pa število števk za decimalno vejico (npr. cena)
FLOAT (M, D) – Podobno kot DECIMAL, s tem da ne rabimo vpisat cifer v
oklepaje)
BOOL – T(1), F(0) – vsebina je lahko ali »true« ali »false« oz. 1 ali 0

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Časovno podatkovni tipi:

A

DATE – YYYY-MM-DD
DATETIME – YYYY-MM-DD HH:MM:SS
TIME – HH:MM:SS
TIMESTAMP – Računanje razlike med dvema časoma (hrani se kot št.
Sekund)
YEAR – Letnice med 1901 in 2155

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Znakovni podatkovni tipi:

A

VARCHAR(N) – Celotna beseda, s številom v oklepaju določimo dolžino te
besede. Dolžina je dinamična (String)
CHAR – Podobno kot VARCHAR, ampak je dolžina fiksna
TEXT – Daljša besedila
ENUM() – Vsaki številki določimo vrednosti npr. 1-small, 2-medium, 3-large,
potem napišemo ENUM(‘S’,’M’,’L’)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Omejitve/Constraints

A

Primarni ključ – Enolično definira vsako vrstico podatkov v tabeli- Privzeto vključuje NOT NULL in UNIQUE, v pisanju kode določimo še
AUTO_INCREMENT- Poimenujemo kot ID_ime_tabele- Nikoli ne sme biti NULL (Torej NOT NULL)
Tuji ključ – Atribut ene tabele, ki kaže na primarni ključ druge tabele (z njim
povezujemo tabele – brainrot za razumet ampak je simple)-Če tabela stoji za sebe in ni povezana z nobeno drugo, nimamo tujega ključa- Ena tabela lahko ima infinite tujih ključev- Tuj ključ se pojavi tam, kjer je v E-R modelu M pri povezavi 1:M (wtf je tota
razlaga)- Podatkovni tip tujega ključa mora biti enak kot pri primarnem ključu na katerega
se sklicujemo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Brisanje podatkov in tabel

A

Izbrišemo podatke iz tabele, ohranijo pa se stolpci oz. imena vrstic: TRUNCATE
TABLE ime_tabele;
Izbrišemo celotno tabelo: DROP TABLE (IF EXISTS) ime_tabele;

17
Q

Vnašanje podatkov – INSERT INTO

A

Implicitni vnos:
- Vrednosti morajo biti v enakem vrstnem redu, kot so stolpci v tabeli (Razen
ID, ker smo gangsterji in smo dali AUTO_INCREMENT in damo NULL)
- Ne rabimo navajati vseh stolpcev, katerim želimo vnest vrednosti
Eksplicitni vnos:
- Navedemo ime stolpca, v katerega vpisujemo vrednosti—
- Vrednosti ne rabijo biti v enakem vrstnem redu, kot so stolpci v tabeli
- Navedemo samo tiste stolpce, pri katerih želimo vnesti vrednosti
tukaj pa primarne ključe čisto preskočimo (ker smo še večji gangsterji ko
prej)

18
Q

Brisanje podatkov

A

– DELETE FROM student WHERE ID_student=3

19
Q

Posodabljanje podatkov

A

UPDATE predmet SET Naziv_predmeta=
‘Podatkovne baze’ WHERE ID_predmet=1;