Tabulky – Dokumentace k RedDatabaseSQLBook 0.1

Tabulka je nejdůležitějším a nejsložitějším objektem relační databáze. Tabulky ukládají všechna databázová data zpracovávaná klientskými programy. Všechny řádky tabulky mají stejnou strukturu. Počet řádků v tabulce je libovolný. Tabulka může obsahovat alespoň jeden sloupec. Uživatelská data jsou uložena v tabulkách vytvořených uživatelem pomocí příkazu CREATE TABLE a upravených příkazem ALTER TABLE. Systémová data (metadata popisující databázové objekty) jsou uložena v systémových tabulkách, které se vytvářejí automaticky při počátečním vytvoření databáze. Databáze může obsahovat maximálně 32640 uživatelských tabulek.

Vytváření tabulek

Syntaxe pro příkaz pro vytvoření tabulky je:

CREATE TABULKA Název tabulky> [EXTERNÍ [FILE] ''] (určení sloupec> [, určení sloupec> | omezení tabulky>> . ]) [SQL BEZPEČNOST DEFINER | VYVOLÁVATEL>]; 

Název tabulky musí být jedinečný mezi názvy databázových tabulek, uložených procedur a pohledů definovaných v dané databázi.

Tabulka může obsahovat alespoň jeden sloupec a prakticky libovolný počet omezení sloupců a omezení tabulky. Popisy sloupců a omezení pro jednu tabulku jsou uzavřeny v závorkách a odděleny čárkami.

Volitelná klauzule SQL SECURITY určuje kontext, ve kterém bude k tabulce přistupováno. Klíčové slovo INVOKER (výchozí hodnota) určuje, že tabulka je volána s oprávněními aktuálního uživatele. Zadání klíčového slova DEFINER znamená, že tabulka je volána s oprávněními k databázovým objektům jejího vlastníka (tvůrce). Výchozí hodnotu na úrovni databáze lze změnit pomocí příkazu SQL SECURITY ALTER DATABASE SET DEFAULT.

Novou tabulku může vytvořit administrátor nebo uživatel s oprávněním VYTVOŘIT TABULKU. Uživatel, který tabulku vytvoří, se stává jejím vlastníkem.

Definice regulárního sloupce tabulky

Syntaxe popisu sloupce tabulky:

určení obvyklý sloupec> ::= Název sloupec> Typ data> | Název doména>> [DEFAULT doslovný> | NULL | kontext variabilní>>] [NENÍ NULL] [omezení sloupec>] [COLLATE objednávat třídění>] 

Sloupec musí mít název, který je jedinečný pouze v této tabulce. Ostatní tabulky mohou mít sloupce se stejným názvem.

Sloupec musí být zadán buď datovým typem, nebo názvem domény, jejíž vlastnosti budou do sloupce zkopírovány.

Pokud se při vytváření sloupce tabulky odkazuje na doménu obsahující klauzuli CHECK a při popisu sloupce je také zadáno omezení CHECK, výsledná podmínka pro sloupec je konjunkcí (logický operátor AND) obou podmínek.

Pokud při popisu sloupce tabulky není zadána základní doména, ale je zadán datový typ, systém pro takový sloupec stále vytvoří systémovou doménu s jedinečným názvem a umístí do ní všechny charakteristiky popsané pro daný sloupec.

Volitelná klauzule DEFAULT definuje výchozí hodnotu pro sloupec – jedná se o hodnotu, která bude sloupci přiřazena, pokud sloupec a jeho hodnota nebudou zadány v příkazu INSERT při přidávání nového řádku do tabulky. Výchozí hodnota se použije pouze při provádění příkazu INSERT a neovlivní provedení příkazu UPDATE. Pokud sloupec není zadán v příkazu pro úpravu dat, jeho hodnota se jednoduše nezmění.

READ
Gladioli: výsadba a péče v otevřeném terénu, jak skladovat v zimě

Výchozí hodnota může být literál, hodnota NULL nebo kontextová proměnná. Pokud výchozí hodnota není explicitně nastavena v příkazu definice sloupce, předpokládá se hodnota NULL. Použití jakýchkoli výrazů ve výchozí hodnotě není povoleno.

Například následující sloupec DATE má výchozí hodnotu data na serverovém počítači v době provedení příkazu INSERT:

. DATE_C DATA DEFAULT CURRENT_DATE, . 

Pokud uživatel při vkládání nového řádku do této tabulky nezadá datum, systém tam umístí aktuální datum ze serveru.

Volitelná klauzule NOT NULL určuje, že sloupci nelze v příkazu INSERT nebo UPDATE přiřadit hodnotu null. Tato klauzule je povinná pro sloupec, který je součástí primárního klíče tabulky.

Například v tabulce pro vyhledávání zemí v našem příkladu je primárním klíčem kód země. Z tohoto důvodu je deklarován s klauzulí NOT NULL:

TRESKOVÁ ZEMI CHAR(3) NENÍ NULL, /* Kód země */ . OMEZENÍ PK_COUNTRY PRIMÁRNÍ KEY (TRESKOVÁ ZEMI), . 

Omezení sloupce se zapíše ihned po definování ostatních charakteristik sloupce. Existují čtyři typy omezení sloupce:

  • primární klíč ( PRIMARY KEY ),
  • unikátní klíč (UNIQUE),
  • cizí klíč (REFERENCÍ),
  • omezení hodnoty sloupce (CHECK).

Syntaxe omezení sloupců:

omezení sloupec> ::= [OMEZENÍ Název omezení>] UNIKÁTNÍ [návrh POUŽITÍ>] | PRIMÁRNÍ KEY [návrh POUŽITÍ>] | REFERENCE Název tabulky> [(Název sloupec>)] [návrh POUŽITÍ>] [ON DELETE NE AKCE | CASCADE | SET DEFAULT | SET NULL >] [ON UPDATE NE AKCE | CASCADE | SET DEFAULT | SET NULL >] | KONTROLA (stav sloupec>) > návrh POUŽITÍ> ::= POUŽITÍ [ASC[KONEC] | DESC[KONEC]] INDEX Název index> 

Volitelná klauzule CONSTRAINT určuje název omezení sloupce. Pokud není zadán žádný název, systém přiřadí omezení systémový název, například INTEG_28. Doporučuje se, abyste omezením sloupců přiřadili smysluplné názvy. To usnadní odkazování na omezení pomocí zadaného názvu při změně charakteristik tabulky. Název omezení musí být jedinečný mezi všemi názvy omezení sloupců a/nebo názvy omezení tabulek ve všech tabulkách v databázi, stejně jako mezi názvy indexů vytvořených uživatelem.

Klauzule USING umožňuje zadat název indexu pro podporu odpovídajícího omezení primárního, jedinečného nebo cizího klíče a určit jeho řazení – buď vzestupně ( ASCENDING ), nebo sestupně ( DESCENDING ). Pokud řazení není zadáno, předpokládá se ASCENDING, vzestupně. Pokud není index zadán (není zadána klauzule USING ), bude automaticky vytvořen index s názvem tohoto omezení, pokud je zadán název omezení, nebo se systémovým názvem, pokud nebyl název omezení zadán v klauzuli CONSTRAINT.

READ
Jak správně skladovat sušené ovoce doma ze sušičky v chladničce: podmínky a lhůty skladování

Omezení UNIQUE definuje jedinečný klíč. Při přidávání nového řádku do tabulky nebo změně stávajícího řádku musí být hodnota sloupce s takovým omezením v tabulce jedinečná, tj. nesmí existovat jiný řádek se stejnou hodnotou pole „unikátní“. Jedinou výjimkou z tohoto pravidla je případ, kdy má jedinečný klíč hodnotu NULL. V tabulce může být libovolný počet řádků s jedinečnou hodnotou klíče rovnou NULL.

Omezení PRIMARY KEY definuje primární klíč. Na rozdíl od jedinečného klíče může mít tabulka pouze jeden primární klíč.

Primární klíč je jedinečný – v tabulce nemohou být dva různé řádky se stejnou hodnotou primárního klíče.

Sloupec, který je primárním klíčem, musí být popsán klauzulí NOT NULL – nemůže mít prázdnou hodnotu.

Pro jedinečný a primární klíč systém automaticky vytvoří odpovídající index. Pokud byl v klauzuli CONSTRAINT v popisu jedinečného klíče zadán název omezení, bude tento název přiřazen indexu (pokud nebyl v klauzuli USING zadán jiný název), jinak index obdrží systémový název.

Omezení REFERENCES definuje cizí klíč. Cizí klíč musí mít hodnotu NULL nebo musí odkazovat na primární či jedinečný klíč v jiné nebo stejné tabulce. „Odkazy“ jednoduše znamenají, že v nadřazené tabulce musí existovat řádek, který má stejnou hodnotu primárního nebo jedinečného klíče jako cizí klíč v podřízené tabulce.

Primární nebo jedinečný klíč se často označuje jako nadřazené klíče.

Klauzule REFERENCES určuje název tabulky (hlavní, nadřazené), na jejíž primární/jedinečný klíč odkazuje cizí klíč podřízené, dceřiné, tabulky, a název primárního/jedinečného klíče v hlavní, nadřazené, tabulce, na který odkazuje odpovídající klíč podřízené tabulky.

Klauzule ON DELETE určuje, co se stane se záznamy podřízené tabulky, když je smazán odpovídající řádek hlavní nadřazené tabulky:

  • ŽÁDNÁ AKCE — nebude provedena žádná akce. Bude vrácena chybová zpráva. Klientská aplikace musí situaci sama opravit a zkusit to znovu.
  • KASKÁDA – všechny záznamy v podřízené tabulce, které mají stejné hodnoty cizího klíče jako primární (jedinečná) hodnota nadřazeného klíče smazaného řádku nadřazené tabulky, by měly být automaticky smazány.
  • SET DEFAULT — Sloupec cizího klíče všech odpovídajících řádků v podřízené tabulce je nastaven na výchozí hodnotu uvedenou v klauzuli DEFAULT sloupce deklarovaného jako cizí klíč. V této situaci by klientský program měl obvykle podniknout další kroky k zajištění konzistence dat. Pokud pro sloupec cizího klíče není zadána výchozí hodnota, je sloupci přiřazena hodnota NULL.
  • SET NULL – Hodnoty cizích klíčů všech odpovídajících řádků v podřízené tabulce se nastaví na prázdnou hodnotu NULL. Toto nezpůsobí narušení integrity dat, protože pro cizí klíč je povolena prázdná hodnota.

Systém také automaticky vytvoří index pro cizí klíč. Pokud byl v klauzuli CONSTRAINT v popisu cizího klíče zadán název omezení, bude tento název přiřazen automaticky vytvořenému indexu. Doporučuje se, aby každému takovému omezení byl explicitně přiřazen název.

READ
Araucaria - je možné pěstovat exotický jehličnan v zemi | V květinové zahradě ()

Klauzule USING umožňuje zadat jiný název indexu pro podporu omezení cizího klíče.

Omezení CHECK pro sloupec je podobné doméně.

Při vytváření tabulky jsou sloupce implicitně číslovány. První vytvořený sloupec je číslo jedna, další je číslo dva atd. Obecně řečeno, pořadí sloupců v tabulce není nijak zvlášť důležité, s výjimkou případů, kdy příkaz INSERT explicitně neurčuje seznam sloupců. Číslo libovolného sloupce v tabulce však můžete změnit a přesunout ho z jedné pozice na druhou.

Definování počítaného sloupce

Vypočítaný sloupec je určen klauzulí COMPUTED BY.

VÝPOČET [BY] (výraz>) 

Pole je nejmenší pojmenovaná informace, která je uložena v databázi a je s ní zacházeno jako s jednou entitou.

Pole může být reprezentováno číslem, písmeny nebo kombinací obou (text). Například v telefonním seznamu se používají pole příjmení a iniciály, adresy, telefonní čísla, tzn. 3 textová pole (za text se považuje i telefonní číslo).

Záznam je kolekce polí, která odpovídají jednomu objektu. Například účastník PBX bude odpovídat záznamu 3 polí.

Soubor je sbírka záznamů souvisejících s konkrétní funkcí. Jednoduchým případem reprezentace databáze je tedy soubor.

Typy polí

Všechna data v databázi jsou rozdělena do typů. Informace v polích, která patří do 1 sloupce (domény), mají stejný typ. Tento přístup umožňuje počítači řídit vstupní informace.

Mezi hlavní typy databázových polí patří:

  • symbolický (text) – pole může standardně uložit až 256 znaků;
  • numerický, obsahující numerická data různých formátů, která se používají k provádění výpočtů;
  • datum/čas – obsahuje hodnoty data a času;
  • peněžní – používá peněžní hodnoty a číselná data (až 15 celých číslic a 4 zlomkové číslice);
  • poznámka – může obsahovat až $2^$ znaků ($2^ = 65536$);
  • počítadlo – speciální číselné pole, ve kterém je každému záznamu přiřazeno jedinečné číslo;
  • logický – ukládá 1 ze 2 hodnot: true nebo false;
  • OLE objekt (Object Linking and Embedding – technologie pro vložení a propojení objektu) – pole může obsahovat libovolný objekt: tabulku, textový dokument, výkres, zvukovou nahrávku nebo jiná data v binárním formátu, vložená nebo propojená s DBMS;
  • hypertextový odkaz – obsahuje řetězec písmen a čísel, který představuje adresu webové stránky nebo webové stránky;
  • Průvodce vyhledáváním – vytvoří pole, které nabízí výběr hodnot ze seznamu nebo již obsahuje sadu konstantních hodnot.

“Tabulky. Základní pojmy DB»
Autorská pomoc s tématem práce
Slevy na vaši první objednávku
Shromáždil více než 72 000 autorů akademických prací

Vlastnosti DB polí

Pomocí DB polí můžete definovat nejen strukturu DB, ale také skupinové vlastnosti dat, která se zapisují do buněk, které patří do každého z polí.

Mezi hlavní vlastnosti polí databázových tabulek v Microsoft Access DBMS patří:

  • názvy polí – určují, jak přistupovat k datům polí při automatických operacích s databází (standardně jsou názvy polí používány jako záhlaví sloupců tabulky);
  • typy polí – definujte typy dat obsažených v polích;
  • velikosti polí – určují maximální délku dat, která lze do daného pole umístit (ve znacích);
  • formáty polí – definovat způsoby formátování dat v buňkách polí;
  • vstupní masky – definují formu zadávání dat do polí (nástroj pro automatizaci zadávání dat);
  • podpisy – definujte záhlaví sloupců tabulek polí (pokud podpis není uveden, použije se jako záhlaví sloupce vlastnost Název pole);
  • výchozí hodnoty jsou hodnoty, které se zadávají do buněk pole automaticky (nástroj pro automatizaci zadávání dat).
  • hodnotové podmínky – omezení, která kontrolují platnost zadávání dat (nástroj pro automatizaci vstupu používaný pro číselné, měnové nebo datové typy dat);
  • chybová hlášení – automaticky se vydávají textové zprávy při zadání chybných údajů (kontrola chyb se provádí automaticky při zadání vlastnosti Value Condition);
  • povinná pole – definujte povinná pole, která se mají vyplnit při vyplňování databáze;
  • prázdné řetězce – umožňuje zadat data prázdných řetězců (platí pouze pro textová data);
  • indexovaná pole – slouží k urychlení operací souvisejících s vyhledáváním nebo řazením záznamů podle hodnoty uložené v tomto poli, slouží také ke kontrole duplicit, čímž se automaticky eliminuje duplicita dat.
READ
Existuje norma pro tlak vody ve vodovodním systému dodavatelské organizace?

Vlastnosti polí se liší v závislosti na typech dat v nich uložených. Výše uvedené vlastnosti pole tedy platí hlavně pro textové pole. Pole jiných typů mohou mít přidány své vlastní vlastnosti. Například důležitou vlastností pro reálná čísla je počet číslic za desetinnou čárkou. U obrázků, zvukových nahrávek, videoklipů a dalších objektů OLE na mnoha z výše uvedených vlastností vůbec nezáleží.

objekty DBMS

DBMS má svou vlastní strukturu a skládá se ze základních objektů, které se používají při jeho tvorbě a práci s ním.

Tabulka jako objekt DBMS

  1. Otevřeme okno DB (obr. 3). Levý panel okna obsahuje ovládací prvky pro volání všech 7 typů objektů programu. Začněme vytvářet tabulku výběrem ovládacího prvku Tabulka.
  1. Pravý panel obsahuje seznam tabulek dostupných v databázi a ovládací prvky pro vytvoření nové tabulky. Chcete-li vytvořit tabulku ručně, použijte ikonu Vytvořit tabulku v režimu návrhu.
  2. Při vytváření tabulky se doporučuje zadat klíčové pole, které pomůže uspořádat vztahy mezi tabulkami. Chcete-li nastavit pole klíče, klikněte pravým tlačítkem na jeho název a z kontextové nabídky, která se otevře, vyberte Pole klíče.
  3. Jakmile je struktura tabulky vytvořena, formulář se zavře, tabulka se uloží do pole dotazu s názvem, poté se zpřístupní v hlavním okně databáze, odkud ji lze v případě potřeby otevřít.
  4. Vytvořená tabulka se otevře v okně DB poklepáním na její ikonu. Nová tabulka obsahuje pouze názvy sloupců, které charakterizují její strukturu. Při vyplňování tabulky se pomocí ukazatele myši umístí vstupní kurzor do požadované buňky. Přechod na další buňku se provádí stisknutím klávesy TAB. Přechod na další záznam se provede po vyplnění poslední buňky.

Spodní část tabulky obsahuje panel navigačních tlačítek, který je vhodné použít při pohybu po stole s velkým počtem záznamů. Pro začínající uživatele Microsoft Access je nepohodlné, že se data nemusí vždy celá vejít do buněk tabulky. Šířku sloupců lze změnit přetažením jejich okrajů. Využívají také automatické formátování sloupců “podle obsahu”, kdy je ukazatel myši umístěn na hranici mezi sloupci (v řádku záhlaví sloupců), po změně tvaru je třeba dvakrát kliknout.

READ
Jak odemknout pračku Bosch? Proč se dvířka po vyprání neotevřou a jak zámek odstranit?

Data se ukládají automaticky při vyplňování tabulky. Pokud bylo rozložení tabulky upravováno při práci s ní, DBMS vás požádá o potvrzení, že chcete tyto změny uložit.

Pokud potřebujete změnit strukturu tabulky, budete ji muset otevřít v režimu návrhu.

S jasným vývojem struktury tabulek ve fázi návrhu DB dochází k jejich vytvoření pomocí konstruktoru poměrně rychle a efektivně.

Vytváření vztahů mezi tabulkami

S dobře promyšlenou databázovou strukturou a plánovaným propojením mezi tabulkami se pak vytváření relačních vztahů mezi tabulkami provádí zcela jednoduše. V tomto případě se veškerá práce provádí pomocí myši ve speciálním okně Datové schéma, které se otevře tlačítkem na panelu nástrojů nebo příkazem Služba — Datové schéma.

Výsledný mezitabulkový vztah se objeví v okně Data Schema jako čára, která spojuje dvě pole z různých tabulek. V tomto případě je jedna tabulka hlavní a druhá související. Hlavní je propojen pomocí svého klíčového pole, které je v datovém schématu zobrazeno tučně. Vztah mezi tabulkami zajišťuje integritu dat a automatizuje úlohy údržby databáze.

Toto připojení také umožňuje:

  • eliminovat možnost mazání nebo změny údajů v klíčovém poli hlavní tabulky, pokud je toto pole propojeno s libovolnými poli jiných tabulek;
  • nebo to udělat tak, že při mazání (nebo změně) údajů v klíčovém poli hlavní tabulky budou automaticky smazány nebo změněny odpovídající údaje v polích souvisejících tabulek.

Chcete-li nakonfigurovat vlastnosti připojení, musíte v okně Data Schema vybrat řádek, který spojuje pole 2 tabulek, kliknout na něj pravým tlačítkem a v kontextové nabídce, která se otevře, vybrat příkaz Upravit připojení, po kterém se otevře dialogové okno Upravit připojení. Pokud je v tomto okně zaškrtnuto pouze políčko Zajistit integritu dat, nemůžete odstranit data z pole klíče hlavní tabulky. Pokud jsou zaškrtávací políčka Kaskádová aktualizace souvisejících polí a Kaskádové odstranění souvisejících záznamů zaškrtnuta společně, je povoleno upravovat a mazat data v klíčovém poli hlavní tabulky, ale změny budou provedeny automaticky v související tabulce.

Účelem vytváření relačních vazeb mezi tabulkami je tedy na jedné straně ochrana dat a na druhé straně automatizace změn ve více tabulkách najednou, když jsou změny provedeny v jedné tabulce.

Rate article
Add a comment

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: