Poslední úpravy - Vyhledat:

SQL

O modelování

Power Designer

Oracle Data Modeler

Krátká videa DM

Zdroje...

edit SideBar

SQL /

CREATE TABLE

< Definièní pøíkazy | SQL postupnì | ALTER TABLE >

Tímto pøíkazem zalo¾íme v databázi novou tabulku. Musíme ji pojmenovat, pojmenovat její sloupce a urèit datové typy pro tyto sloupce. Seznam konkrétních mo¾ných datových typù naleznete v referenèní pøírùèce jazyka. Základní syntaxe:

  
      create table <jméno_tabulky> (<jméno_sloupce> <datový_typ>[,<jméno_sloupce> <datový_typ> ...]);

Základní syntaxe mù¾e být roz¹íøena o rùzná integritní omezení kladená na jednotlivé sloupce nabo jejich kombinaci. Omezení v¹ak mohou být definována i pøíkazem ALTER TABLE, jako¾ i pøidávání nebo zmìna sloupcù, tak¾e v na¹em pøíkladu zvolíme urèité rozdìlení tìchto definic.
Roz¹íøená syntaxe pøíkazu CREATE TABLE:

 
      create table <jméno_tabulky> (<jméno_sloupce> <datový_typ> [<omezení_tohoto_sloupce>]
                                   [,<jméno_sloupce> <datový_typ> [<omezení_tohoto_sloupce>] ...]
                                   [,<dal¹í_omezení> [,<dal¹í_omezení>...]] );

Mo¾ná omezení nepøesahující rámec tabulky:

  • PRIMARY KEY ... definice primárního klíèe tabulky
  • UNIQUE ... definice unikátního klíèe
  • NOT NULL ... sloupec nesmí být prázdný
  • DEFAULT <výraz> ... definice defaultní hodnoty pro sloupec

  • CHECK (<podmínky>) ... urèení podmínek, které musí splòovat pøípustné hodnoty èi kombinace hodnot ve sloupcích jednoho øádku tabulky

Omezení referenèní integrity uvedeme v kapitole ALTER TABLE.
Ka¾dé omezení mù¾e být pojmenováno klauzulí CONSTRAINT, syntaxe:

  
      constraint <jméno_omezení> <definice omezení>

Pøíklad: Zalo¾te tabulku OSOBA, definujte v¹echny její sloupce, a urèete její primární klíè. Urèete, ¾e jméno a pøíjmení musí být v záznamech vyplnìno. Urèete, ¾e ICQ i SKYPE musí být unikátní

        create table OSOBA (
        ID INT,
        JMEN VARCHAR2(50) not null,
        PRIJM VARCHAR2(50) not null,
        ULIC VARCHAR2(100),
        PSC CHAR(5),
        MEST VARCHAR2(100),
        ZEME VARCHAR2(100),
        EMAIL VARCHAR2(100),
        TEL1 VARCHAR2(13),
        TEL2 VARCHAR2(13),
        ICQ VARCHAR2(9),
        SKYPE VARCHAR2(150), 
        POZN CLOB,
        constraint PK_OSOBA primary key (ID),
        constraint AK_OSOBA_SKYPE unique (SKYPE),
        constraint AK_OSOBA_ICQ unique (ICQ)); 
Vlo¾te nìkolik øádkù do této nové tabulky. Zkou¹ejte jak fungují datové typy a omezení. O výsledku se v¾dy pøesvìdète pøíkazem SELECT. (Jak zaøídit "automatické èíslování" do pole ID mù¾ete vidìt v komplexním pøíkladu.)

Pøíklad: Zalo¾te tabulku KOMUNIKAT, definujte v¹echny její sloupce, a urèete její primární klíè. vymezte mo¾né hodnoty pro sloupec FORMA: o - osobní, t - telefonická, e - email, p - písemná. Definujte defaultní hodnotu pro sloupec DATE jako aktuání datum a èas.

        create table KOMUNIKAT (
        ID_OS INT,
        KDY DATE default sysdate,
        FORMA CHAR(1) check (FORMA in ('o','t','e','p')),
        OBSAH CLOB constraint OBSAH_NOT_NULL not null,
        ODKAZ VARCHAR2(100),
        constraint PK_KOMUNIKAT primary key (ID_OS,KDY));
Funkce sysdate v Oracle vrací aktuální datum a èas. Primární klíè této tabulky je slo¾en z kombinace sloupcù ID_OS a KDY (Vysvìtlení pro tuto volbu je, ¾e jedna osoba nemù¾e najednou komunikovat vícekrát. O tom, zda to tak skuteènì je, by se asi dalo diskutovat, ètenáøe prosíme o laskavou shovívavost. ) ODKAZ mù¾e obsahovat odkaz na dal¹í zdroj, napø dokument, email. Celý design tohoto pøíkladu je zjednodu¹en pro úèely výkladu jazyka SQL, není ukázkou ideálního návrhu.
Do této tabulky vkládejte data a¾ po zmìnách z pøíkladù z kapitoly ALTER TABLE.

< Definièní pøíkazy | SQL postupnì | ALTER TABLE >

Upravit - Historie - Tisk - Poslední úpravy - Vyhledat
Poslední úprava stránky: 28.03.2015, 18:16