Uspořádaná množina informací.
Databáze využívající principů relační algebry (relačního kalkulu).
Studenti |
---|
UČO |
Jméno |
Příjmení |
Věk |
UČO | Jméno | Příjmení | Věk |
---|---|---|---|
1234567 | Tomáš | Novák | 20 |
6543210 | Jan | Holý | 35 |
1648721 | Lukáš | Zavadil | 22 |
Unikátní hodnota, která jednoznačně identifikuje záznam v tabulce.
UČO | Jméno | Příjmení | Věk |
---|---|---|---|
1234567 | Tomáš | Novák | 20 |
6543210 | Jan | Holý | 35 |
1648721 | Lukáš | Zavadil | 22 |
Slouží k definování pravidel, která omezují či definují způsob použití databáze/tabulek.
Tabulky mohou mít souvislost či vztah.
smallint | -32768 to +32767 |
integer | -2147483648 to +2147483647 |
bigint | -9223372036854775808 to +9223372036854775807 |
real | 6 decimal digits precision |
double | 15 decimal digits precision |
character varying(n) |
varchar(n) |
character(n) |
char(n) |
text |
boolean | TRUE / FALSE |
timestamp |
date |
time |
point |
line |
box |
path |
polygon |
circle |
Datový záznam je v 1. NF, když jsou všechny jeho komponenty atomické (tj. atributy nejsou složené datové struktury).
Čti: Co položka to jeden údaj. Ne více informací v jedné položce.
Zakazník |
---|
id (PK) |
jmeno |
prijmeni |
adresa |
Zakazník |
---|
id (PK) |
jmeno |
prijmeni |
ulice |
mesto |
psc |
Datový záznam je v 2. NF, pokud je v 1. NF a každá neklíčová položka (atribut) v záznamu je plně funkčně závislá na každém kandidátním klíči.
Čti: Každý atribut souvisí s celým kandidátním (primárním) klíčem. Ne pouze s jeho součástí.
Hodnoceni studenta |
---|
uco (PK) |
kod_predmetu (PK) |
znamka |
nazev predmetu |
Hodnoceni studenta |
---|
uco (PK) |
kod_predmetu (PFK) |
znamka |
Predmet |
---|
kod_predmetu (PK) |
nazev_predmetu |
Datový záznam je ve 3.NF, pokud je ve 2.NF a každý atribut je funkčně závislý na klíči a pouze na klíči.
Čti: Neexistuje atribut, který není závislý na primárním klíči.
Kniha |
---|
isbn (PK) |
nazev |
autor_ilustrace |
vek_autora |
Kniha |
---|
isbn (PK) |
nazev |
id_autora |
Autor |
---|
id (PK) |
vek_autora |
Datový záznam je ve 4.NF, pokud je ve 3.NF a v datových záznamech nejsou podmíněné funkční závislosti.
Čti: Neobsahuje hodnoty NULL.
CREATE TABLE nazev_tabulky
(
nazev_sloupce INT,
nazev_sloupce_2 VARCHAR(10)
);
CREATE TABLE zamestnanci
(prijmeni TEXT, mesto VARCHAR(10), vek INT);
prijmeni (TEXT) | mesto (VARCHAR(10)) | vek (INT) |
---|
ALTER TABLE nazev_tabulky
ADD COLUMN jmeno_sloupce TEXT;
ALTER TABLE zamestnanci ADD COLUMN jmeno TEXT;
jmeno (TEXT) | prijmeni (TEXT) | mesto (VARCHAR(10)) | vek (INT) |
---|
INSERT INTO nazev_tabulky
(sloupec1, sloupec2, sloupec3)
VALUES
(hodnota1, hodnote2, hodnota2);
INSERT INTO zamestnanci (jmeno, prijmeni, mesto, vek)
VALUES ('Jan', 'Novak', 'Brno', 62);
jmeno (TEXT) | prijmeni (TEXT) | mesto (VARCHAR(10)) | vek (INT) |
---|---|---|---|
Jan | Novak | Brno | 62 |
SELECT sloupec1, sloupec2 FROM nazev_tabulky;
SELECT * FROM nazev_tabulky;
SELECT sloupec1, sloupec2 FROM nazev_tabulky WHERE sloupec1 = hodnota1;
SELECT jmeno FROM zamestnanci;
SELECT * FROM zamestnanci;
SELECT jmeno, vek FROM zamestnanci WHERE prijmeni = 'Novak';