Office
Přihlásit se

Vytváření nebo změny tabulek nebo indexů pomocí definičního dotazu

Poznámka: Snažíme se pro vás co nejrychleji zajistit aktuální obsah nápovědy ve vašem jazyce. Tato stránka byla přeložena automaticky a může obsahovat gramatické chyby nebo nepřesnosti. Naším cílem je to, aby pro vás byl její obsah užitečný. Mohli byste nám prosím dát ve spodní části této stránky vědět, jestli vám informace v článku pomohly? Pokud byste se rádi podívali na jeho anglickou verzi, najdete ji tady.

Můžete vytvořit a upravit tabulek, omezení, indexy a relace v aplikaci Access sestavením definiční dotazy v zobrazení SQL. Tento článek vysvětluje definiční dotazy a jak je lze používat k vytváření tabulek, omezení, indexy a relace. Tento článek taky můžete se rozhodnout, kdy použít definičního dotazu.

V tomto článku

Základní informace

Vytvoření nebo úprava tabulky

Vytvoření indexu

Vytvoření omezení nebo relace

Základní informace

Na rozdíl od jiných Accessových dotazech definičního dotazu nenačte data. Místo toho definiční dotaz používá Data Definition Language vytvářet, upravovat a odstraňovat databázových objektů.

Poznámka: Jazyk DDL (Data Definition) je součástí systému jazyka SQL (Structured Query).

Definiční dotazy může být velmi užitečné. Můžete pravidelně odstraňte a znovu vytvořte díly schématu databáze pouze spuštěním některé dotazy. Zvažte použití definičního dotazu, pokud máte zkušenosti s příkazy SQL a chcete odstranit a znovu vytvořit určitý tabulek, omezení, indexy a relace.

Upozornění: Pomocí definičního dotazů při úpravě databázových objektů může být riskantní, protože akce nejsou doprovázeny potvrzení dialogových oknech. Pokud uděláte chybu, může dojít ke ztrátě dat nebo omylem změnit designu tabulky. Dávejte při použití definičního dotazu k úpravám objektů v databázi. Pokud nejste zodpovědný za údržbu databáze, kterou používáte, můžete obraťte se na správce databáze před spuštěním definičního dotazu.

Důležité informace: Vytvořte záložní kopii všechny tabulky zahrnuté před spuštěním definičního dotazu.

DDL klíčová slova

Klíčové slovo

Odkaz

CREATE

Vytvořte index nebo tabulky, který ještě neexistuje.

ALTER

Upravte existující tabulky nebo sloupce.

DROP

Odstranění existující tabulky, sloupce nebo omezení.

ADD

Přidání sloupce nebo omezení do tabulky.

COLUMN

Pomocí přidání, změna, nebo PŘETÁHNĚTE

CONSTRAINT

Pomocí přidání, změna, nebo PŘETÁHNĚTE

INDEX

Příkazem Vytvořit

TABLE

Pomocí ALTER, vytvoření, nebo PŘETÁHNĚTE

Začátek stránky

Vytvoření nebo úprava tabulky

Pokud chcete vytvořit tabulku, použijte příkaz CREATE TABLE. Příkaz CREATE TABLE má tuto syntaxi:

CREATE TABLE table_name 
(field1 type [(size)] [NOT NULL] [index1]
[, field2 type [(size)] [NOT NULL] [index2]
[, ...][, CONSTRAINT constraint1 [, ...]])

Pouze požadované prvky příkaz CREATE TABLE jsou samotný příkaz CREATE TABLE a název tabulky, ale obvykle budete chtít definovat některá pole a další aspekty v tabulce. Zvažte tento jednoduchý příklad.

Předpokládejme, že chcete vytvořit tabulku pro uložení název, rok a cena automobilů, které jsou zvažovat koupit. Chcete povolit až 30 znaků pro název a 4 znaky v roce. Vytvoření tabulky pomocí definičního dotazu, postupujte takto:

Poznámka: Může Nejdřív musíte povolit obsah databáze, aby data definičního dotazu:

  • Na panelu zpráv klikněte na Povolit obsah.

Vytvoření tabulky

  1. Na kartě Vytvoření klikněte ve skupině makra a kód na tlačítko Návrh dotazu.

  2. Zavřete dialogové okno Zobrazit tabulku.

  3. Na kartě Návrh klikněte ve skupině Typ dotazu klikněte na Definiční.

    Skryté návrhové mřížky a zobrazí kartu objektu zobrazení SQL.

  4. Zadejte následující příkaz SQL:

    Vytvoření tabulky automobilů (jméno TEXT(30), rok TEXT(4), cena MĚNA)

  5. Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.

Změna tabulky

Chcete-li upravit tabulku, použijte příkaz ALTER TABLE. Příkaz ALTER TABLE slouží k přidání, úprava nebo přetáhnout (odebrat) sloupce nebo omezení. Příkaz ALTER TABLE má tuto syntaxi:

ALTER TABLE table_name predicate

kde lze predikát některý z následujících akcí:

ADD COLUMN field type[(size)] [NOT NULL] [CONSTRAINT constraint]

ADD CONSTRAINT multifield_constraint

ALTER COLUMN field type[(size)]

DROP COLUMN field

DROP CONSTRAINT constraint

Předpokládejme, že chcete přidat 10 znacích textové pole pro uložení informací o stavu každý auta. Můžete udělat toto:

  1. Na kartě Vytvoření klikněte ve skupině makra a kód na tlačítko Návrh dotazu.

  2. Zavřete dialogové okno Zobrazit tabulku.

  3. Na kartě Návrh klikněte ve skupině Typ dotazu klikněte na Definiční.

    Skryté návrhové mřížky a zobrazí kartu objektu zobrazení SQL.

  4. Zadejte následující příkaz SQL:

    Příkaz ALTER tabulky automobilů přidat sloupec podmínka TEXT(10)

  5. Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.

Začátek stránky

Vytvoření indexu

Vytvoření indexu založeného na existující tabulky, použijte příkaz CREATE INDEX. Příkaz CREATE INDEX má tuto syntaxi:

CREATE [UNIQUE] INDEX index_name
ON table (field1 [DESC][, field2 [DESC], ...])
[WITH {PRIMARY | DISALLOW NULL | IGNORE NULL}]

Pouze povinných elementů jsou CREATE INDEX příkaz název index, argument zapnuto, název tabulky obsahující pole, která chcete rejstřík a seznam polí mají být součástí indexu.

  • Příčiny DESC argument index byly vytvořeny v sestupném pořadí, které mohou být užitečné, pokud je často spouštění dotazů, vyhledejte nejvyšší nebo nejnižší hodnoty indexovaném poli nebo který indexovaném poli v sestupném pořadí řazení Ve výchozím nastavení se vytvoří rejstřík ve vzestupném pořadí.

  • Argument s primární zavádí indexované jedno nebo více polí jako Primární klíč tabulky.

  • Argument s DISALLOW NULL způsobí indexu vyžadovat zadání hodnoty pro indexovaném poli – to znamená, nejsou povolené hodnoty null.

Předpokládejme, že máte v tabulce s názvem automobilů s poli, s uloženým název, rok, cena a podmínky, které jsou zvažovat koupit automobilů. Předpokládejme také, že v tabulce stal velkých a často obsahovat pole rok v dotazech. Vytvoření indexu na základě roku pole pro váš dotazů vracel výsledky pro rychleji pomocí následujícího postupu:

  1. Na kartě Vytvoření klikněte ve skupině makra a kód na tlačítko Návrh dotazu.

  2. Zavřete dialogové okno Zobrazit tabulku.

  3. Na kartě Návrh klikněte ve skupině Typ dotazu klikněte na Definiční.

    Skryté návrhové mřížky a zobrazí kartu objektu zobrazení SQL.

  4. Zadejte následující příkaz SQL:

    Vytvoření indexu YearIndex dál automobilů (rok)

  5. Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.

Začátek stránky

Vytvoření omezení nebo relace

Omezení zavádí logické podmínku, která pole nebo kombinaci polí musí být splněné po vložení hodnoty. Například jedinečnosti zabrání omezené pole přijetí hodnota, která by duplicitní existující hodnotu pro pole.

Relace je typ omezení, které odkazuje na hodnoty pole nebo kombinaci polí v jiné tabulce a zjistit, jestli můžete vložit hodnotu v poli s omezením nebo kombinaci polí. Vyznačení, že je omezení relace nepoužíváte speciálních klíčových slov.

Pokud chcete vytvořit omezení, použili jste klauzule CONSTRAINT v příkaz CREATE TABLE nebo ALTER TABLE. Existují dva typy klauzule CONSTRAINT: jeden pro vytváření omezení na jedno pole a jiné pro vytváření omezení na základě více polí.

Omezení jednom poli

Klauzule CONSTRAINT jednom poli následuje definici pole it omezuje a má tuto syntaxi:

CONSTRAINT constraint_name {PRIMARY KEY | UNIQUE | NOT NULL |
REFERENCES foreign_table [(foreign_field)]
[ON UPDATE {CASCADE | SET NULL}]
[ON DELETE {CASCADE | SET NULL}]}

Předpokládejme, že máte v tabulce s názvem automobilů s poli, s uloženým název, rok, cena a podmínky, které jsou zvažovat koupit automobilů. Předpokládejme také, že často nezapomeňte zadat hodnotu auta podmínku a vždy chcete zaznamenat tyto informace. Můžete vytvořit omezení na základě podmínky pole, které brání nechte pole prázdné, pomocí následujícího postupu:

  1. Na kartě Vytvoření klikněte ve skupině makra a kód na tlačítko Návrh dotazu.

  2. Zavřete dialogové okno Zobrazit tabulku.

  3. Na kartě Návrh klikněte ve skupině Typ dotazu klikněte na Definiční.

    Skryté návrhové mřížky a zobrazí kartu objektu zobrazení SQL.

  4. Zadejte následující příkaz SQL:

    Příkaz ALTER tabulky automobilů ALTER sloupec podmínka TEXT omezení ConditionRequired není NULL

  5. Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.

Předpokládejme, že po chvíli zjistíte, aby byly v poli podmínky, které by měl být stejný počet podobné hodnoty. Například některé z automobilů mají podmínce hodnotu špatnou a ostatní mají hodnota Chybná.

Poznámka: Pokud chcete sledovat spolu s zbývající postupy, přidání některé falešné dat do tabulky auta, který jste vytvořili v předchozích kroků.

Po vyčištění hodnot, aby byly jednotnější, můžete vytvořit tabulku s názvem CarCondition, jedno pole s názvem podmínky, která obsahuje všechny hodnoty, které chcete použít pro podmínku automobilů:

  1. Na kartě Vytvoření klikněte ve skupině makra a kód na tlačítko Návrh dotazu.

  2. Zavřete dialogové okno Zobrazit tabulku.

  3. Na kartě Návrh klikněte ve skupině Typ dotazu klikněte na Definiční.

    Skryté návrhové mřížky a zobrazí kartu objektu zobrazení SQL.

  4. Zadejte následující příkaz SQL:

    Vytvoření tabulky CarCondition (podmínka TEXT(10))

  5. Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.

  6. Vytváření primárního klíče pro tabulku pomocí příkazu ALTER TABLE:

    Příkaz ALTER CarCondition ALTER SLOUPCI podmínka TEXT omezení CarConditionPK PRIMÁRNÍHO klíče tabulky

  7. Vložit hodnoty z pole Podmínka automobilů tabulky do nové tabulky CarCondition, do kartu objektu zobrazení SQL zadejte následující příkaz SQL:

    Vložit tabulku do vyberte DISTINCT CarCondition podmínka z automobilů;

    Poznámka: Příkaz SQL v tomto kroku je Přidávací dotaz. Na rozdíl od definičního dotazu přidávací dotaz má na konci středníkem.

  8. Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.

Vytvoření relace pomocí omezení

Vyžadovat, aby všechny nové hodnota zahrnuli podmínku pole tabulky automobilů odpovídá podmínku pole v tabulce CarCondition, můžete pak vytvoření relace mezi CarCondition a automobilů na pole s názvem podmínky, pomocí následující Postup:

  1. Na kartě Vytvoření klikněte ve skupině makra a kód na tlačítko Návrh dotazu.

  2. Zavřete dialogové okno Zobrazit tabulku.

  3. Na kartě Návrh klikněte ve skupině Typ dotazu klikněte na Definiční.

    Skryté návrhové mřížky a zobrazí kartu objektu zobrazení SQL.

  4. Zadejte následující příkaz SQL:

    Příkaz ALTER tabulky automobilů ALTER sloupec podmínka TEXT omezení FKeyCondition odkazy CarCondition (stav)

  5. Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.

Omezení více polích

Klauzule CONSTRAINT více polích lze použít pouze mimo klauzuli definice pole a má tuto syntaxi:

CONSTRAINT constraint_name 
{PRIMARY KEY (pk_field1[, pk_field2[, ...]]) |
UNIQUE (unique1[, unique2[, ...]]) |
NOT NULL (notnull1[, notnull2[, ...]]) |
FOREIGN KEY [NO INDEX] (ref_field1[, ref_field2[, ...]])
REFERENCES foreign_table
[(fk_field1[, fk_field2[, ...]])] |
[ON UPDATE {CASCADE | SET NULL}]
[ON DELETE {CASCADE | SET NULL}]}

Zvažte jiný příklad, který používá tabulce automobilů. Předpokládejme, že chcete mít jistotu, že dva záznamy v tabulce automobilů mít stejnou sadu hodnot pro název, rok, podmínky a cena. Můžete například vytvořit JEDINEČNÝ omezení, která se týká těchto polí pomocí následujícího postupu:

  1. Na kartě Vytvoření klikněte ve skupině makra a kód na tlačítko Návrh dotazu.

  2. Zavřete dialogové okno Zobrazit tabulku.

  3. Na kartě Návrh klikněte ve skupině Typ dotazu klikněte na Definiční.

    Skryté návrhové mřížky a zobrazí kartu objektu zobrazení SQL.

  4. Zadejte následující příkaz SQL:

    ZMĚNIT tabulky automobilů přidat omezení NoDupes jedinečné (jméno, rok, stavu, cena)

  5. Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.

Začátek stránky

Rozšiřte své dovednosti s Office
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×