Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Základní obeznámení s jazykem SQL Databázové systémy.

Podobné prezentace


Prezentace na téma: "Základní obeznámení s jazykem SQL Databázové systémy."— Transkript prezentace:

1 Základní obeznámení s jazykem SQL Databázové systémy

2 Číselné datové typy Název typuPopisIntervalBez znaménka TINYINT celé číslo – 1B -128 do 1270 – 255 SMALLINT celé číslo – 2B -23768 do 327670 – 56535 MEDIUMINT celé číslo – 3B -8388608 do 8388607 0 – 16777215 INT celé číslo – 4B -2147483648 do 21474836470 – 4294967295 BIGINT celé číslo – 8B -9223372036854775808 do 922337203685477580 7 0 – 18446744073709550615 FLOAT(M,D) malé reálné číslo – 4B Liší se podle použitých hodnot. - DOUBLE(M,D) velké reálné číslo – 8B Liší se podle použitých hodnot. - DECIMAL(M,D)Hodnota M + 2B Liší se podle použitých hodnot. -

3 Textové datové typy Název datového typuMaximální velikostPřidělená paměť CHAR(X)255 Bdélka v B VARCHAR(X)255 Bdélka+1 B TINYTEXT255 Bdélka+1 B TINYBLOB255 Bdélka+2 B TEXT65535 Bdélka+2 B BLOB65535 Bdélka+2 B MEDIUMTEXT1,6 MBdélka+3 B MEDIUMBLOB1,6 MBdélka+3 B LONGTEXT4,2 GBdélka+4 B LONGBLOB4,2 GBdélka+4 B

4 Datum a čas TypVelikostPopis DATE3 bajtydatum ve formátu YYYY-MM-DD DATETIM8 bajtůdatum ve formátu YYYY-MM-DD HH:MM:SS TIME3 bajtyčas ve formátu HH:MM:SS TIMESTAMP4 bajtyve formátu YYYYMMDDHHMMSS (hodnoty končí v roce 2037) ENUM1 nebo 2 bajtyvýčet jenž označuje, že sloupec může nabýt jen jednu z povolen. hodnot SET1 – 8 bajtůvýčet jenž označuje, že sloupec může nabýt více povolených hodnot

5 Modifikátory AUTO_INCREMENT – (automatické číslo) definuje datový typ pole, který při přidání nového záznamu do tabulky automaticky uloží jedinečné číslo o jedničku větší než předchozí. Nedovolí uložit už jednou použitou hodnotu, i když záznam s touto hodnotou byl již z databáze odstraněn. Modifikátor AUTO_INCREMENT lze použít pouze u polí s celočíselnými hodnotami. ZEROFILL – používá se k zobrazení vedoucích nul u čísel, která jsou založena na šířce zobrazení, tj. vyžadují určitý počet číslic. Chceme-li číslo 23 zobrazit jako 000023, musíme pole deklarovat jako INT(6) ZEROFILL. BINARY – umožňuje ukládání textových informací jako binárních řetězců. Řetězce uložené v binárním formátu rozlišují velikost písmen. To se projeví také na třídění těchto polí. DEFAULT – umožňuje určit hodnotu pole, jehož hodnota nebude při uložení záznamu (řádku) známá. Výchozí hodnotou používanou v systému MySQL je NULL. Hodnota NULL je dosazována do všech prázdných polí, kromě polí typu ENUM.

6 Integritní omezení NULL a NOT NULL – určují, zda je zadání hodnoty do příslušného pole povinné. PRIMARY KEY – primární klíč je pole, jehož hodnota jedinečným způsobem identifikuje každý záznam tabulky. UNIQUE – omezující podmínka jedinečnosti vynucuje integritu entity klíčem, který není primární. Zajišťuje, aby do sloupců s omezující podmínkou jedinečnosti nebyly vloženy duplicitní hodnoty. UNSIGNED – označuje neznaménkový číselný typ.

7 Vytvoření databáze CREATE DATABASE název_databáze; Výpis seznamu existujících databází na serveru MySQL: SHOW databases; Výběr databáze, kterou chceme používat: - moje_db USE test;

8 Vytvoření tabulky CREATE TABLE název_tabulky ( jméno_sloupce1 TYP [integritní omezení], jméno_sloupce2 TYP [integritní omezení],...); Ověření existence vytvořené tabulky: SHOW TABLES; SHOW COLUMNS FROM název_tabulky; neboDESCRIBE název_tabulky;

9 Vkládání záznamů INSERT INTO název_tabulky (sloupec1, sloupec4, …) VALUES (hodnota1, hodnota4, …); nebo INSERT INTO tabulka VALUES(hodnota1, hodnota2, …); Vkládání několika záznamů najednou : INSERT INTO název_tabulky (sloupec1, sloupec4, …) VALUES (hodnota11, hodnota41, …), (hodnota12, hodnota42, …), (hodnota13, hodnota43, …);

10 Zobrazení vložených dat Pro zobrazení dat v tabulce se používá základní výběrový příkaz SELECT: SELECT * FROM název_tabulky;

11 Aktualizace dat UPDATE název_tabulky SET sloupec = ’hodnota’; Pro změnu více hodnot se používá zápis: UPDATE název_tabulky SET sloupec1 = ’hodnota1’, sloupec2 = ’hodnota2’,…; Použití klauzule WHERE: UPDATE název_tabulky SET sloupec1 = ’hodnota1’ WHERE sloupec2 = ’hodnota2’;

12 Odstraňování dat Pro účely odstraňování dat se používá příkaz DELETE: DELETE FROM název_tabulky WHERE sloupec = ’hodnota’; POZOR! – po odstranění záznamu už není možné záznam obnovit. Je dobré mít data pro jistotu zálohovaná. Při odstraňování dat je nutné používat podmínku WHERE, jinak se může stát, že z tabulky odstraníte všechna data! Chcete-li zajistit větší bezpečnost před nechtěným odstraněním záznamů, můžete použít klauzuli LIMIT, která omezí počet odstraňovaných záznamů: DELETE FROM název_tabulky WHERE sloupec = ’hodnota’LIMIT 1;

13 Změna struktury Základní příkaz, který se používá pro jakoukoliv manipulaci s existující tabulkou je: ALTER TABLE název_tabulky vlastní příkaz pro aktualizaci; V případě, že v tabulce již nějaká data jsou, lze použít následující příkaz: ALTER TABLE název_tabulky ADD COLUMN jméno_sloupce typ_sloupce [ integritní omezení]; Přidání sloupců do tabulky

14 Úprava definice sloupců Základní příkaz: ALTER TABLE název_tabulky CHANGE COLUMN staré_jméno_sloupce nové_jméno_sloupce typ_sloupce [integritní omezení]; Máme-li nějaký sloupec, jehož hodnoty už opravdu nepotřebujeme, jednoduše jej smažeme následujícím příkazem: ALTER TABLE název_tabulky DROP COLUMN jméno_sloupce [CASCADE] Mazání sloupců

15 Přejmenování sloupce Máme dvě možnosti. První možnost je rychlejší a využijeme v ní již známý příkaz : ALTER TABLE název_tabulky CHANGE COLUMN staré_jméno_sloupce nové_jméno_sloupce typ_sloupce [integritní omezení]; Druhá možnost je obecnější a je potřeba provést ji v několika krocích. Nejprve musíme vytvořit nový sloupec, zkopírovat hodnoty ze starého sloupce do nového a smazat starý sloupec : ALTER TABLE název_tabulky ADD COLUMN jméno_sloupce typ_sloupce [integritní omezení]; UPDATE název_tabulky SET staré_jméno_sloupce = nové_jméno_sloupce; ALTER TABLE název_tabulky DROP staré_jméno_sloupce;

16 Přejmenování tabulky Změna názvu tabulky je možná v MySQL následovně: ALTER TABLE název_tabulky RENAME AS nový_název_tabulky; DROP TABLE název_tabulky; Pokud provedeme příkaz DROP TABLE, tak přijdeme o všechna data, která v mazané tabulce byla uložena. DROP DATABASE název_databáze; Pokud provedeme příkaz DROP DATABASE, tak přijdeme o všechny tabulky a data, která v databáze byla uložena. Odstranění tabulky Odstranění databáze

17 Vazby mezi tabulkami Reprezentace vazby 1:N ZAMESTNANEC: ID_ZAM JMENO PRIJMENI ROD_CISLO ODDELENI FUNKCE 1 Jan Nový 751015/2352 10 127 2 Petr Novák 780401/4421 15 121 3 Ivan Nováček 650906/1566 10 156 4 Pavel Novotný 740205/3566 20 127 ODDELENI: FUNKCE: ID_ODD NAZEV ID_FNFUNKCE PLAT 10 sklad 121 vedoucí 21500 15 centrála 127 technik 15000 20 počítačový sál156 správce 17500

18 CREATE TABLE oddeleni (id_odd INTEGER, nazev VARCHAR(20), PRIMARY KEY (id_odd)); CREATE TABLE funkce (id_fn INTEGER, funkce VARCHAR(10), plat FLOAT(10) DEFAULT 8000, PRIMARY KEY (id_fn)); CREATE TABLE zamestnanec (id_zam INTEGER, jmeno VARCHAR(10), prijmeni VARCHAR(20), rod_cislo VARCHAR(11) NOT NULL, oddeleni INTEGER, funkce INTEGER, PRIMARY KEY (id_zam), FOREIGN KEY (oddeleni) REFERENCES oddeleni (id_odd), FOREIGN KEY (funkce) REFERENCES funkce (id_fn));

19 Reprezentace vazby M:N ZAMESTNANEC: ID_ZAM JMENO PRIJMENI ROD_CISLO 1 Jan Nový 751015/2352 2 Petr Novák 780401/4421 3 Ivan Nováček 650906/1566 4 PavelNovotný 740205/3566 FUNKCE:VYKON_FUNKCE: ID_FUN NAZEVCISLO_ZAM CISLO_FUN 121 vedoucí1 127 127 technik2 121 156 správce3 156 2 127

20 CREATE TABLE zamestnanec (id_zam INTEGER, jmeno VARCHAR(10), prijmeni VARCHAR(20), rod_cislo VARCHAR(11) NOT NULL, PRIMARY KEY (id_zam)); CREATE TABLE funkce (id_fn INTEGER, nazev VARCHAR(10), PRIMARY KEY (id_fn)); CREATE TABLE vykon_funkce (cislo_zam INTEGER, cislo_fn INTEGER, PRIMARY KEY (cislo_zam, cislo_fn), FOREIGN KEY (cislo_zam) REFERENCES zamestnanec (id_zam), FOREIGN KEY (cislo_fn) REFERENCES funkce (id_fn));

21 Zadání: Vytvořte databázi SUDIJNI_AGENDA, která bude obsahovat tabulky: Student: id_st, jmeno, prijmeni, obor, rocnik, vek, st_prumer Predmet: id_pr, nazev_pr, mistnost, id_uc Zapis: id_st, id_pr Ucitel: id_uc, jmeno, prijmeni, katedra Tabulky naplňte cvičebními daty (cca 5-10 zaznamu v každé!)


Stáhnout ppt "Základní obeznámení s jazykem SQL Databázové systémy."

Podobné prezentace


Reklamy Google