Kurti arba keisti lentelių ir indeksai naudojant duomenų apibrėžimo užklausą

Pastaba: Norėtume jums kuo greičiau pateikti naujausią žinyno turinį jūsų kalba. Šis puslapis išverstas automatiškai, todėl gali būti gramatikos klaidų ar netikslumų. Mūsų tikslas – padaryti, kad šis turinys būtų jums naudingas. Gal galite šio puslapio apačioje mums pranešti, ar informacija buvo naudinga? Čia yra straipsnis anglų kalba, kuriuo galite pasinaudoti kaip patogia nuoroda.

Galite kurti ir modifikuoti lenteles, apribojimų, indeksus ir "Access" ryšių rašyti duomenų apibrėžimo užklausos SQL rodinys. Šiame straipsnyje paaiškinama duomenų apibrėžimo užklausos ir kaip juos naudoti, kurti lenteles, apribojimų, indeksus ir ryšius. Šiame straipsnyje taip pat gali padėti jums nuspręsti, kada naudoti duomenų apibrėžimo užklausa.

Šiame straipsnyje

Apžvalga

Kurti arba modifikuoti lentelės

Indekso kūrimas

Apribojimą arba ryšio kūrimas

Apžvalga

Skirtingai nei kitos prieigos užklausos, duomenų apibrėžimo užklausą gauti duomenis. Vietoj to, duomenų apibrėžimo užklausa naudoja duomenų aprašų kalba kurti, keisti arba naikinti duomenų bazės objektus.

Pastaba: Duomenų aprašymo kalba (DDL) yra struktūrinių užklausų kalbos (SQL).

Duomenų apibrėžimo užklausos gali būti labai patogu. Reguliariai galite pašalinti ir iš naujo sukurti savo duomenų bazės schemą dalis tik vykdydami kai kurias užklausas. Apsvarstykite galimybę naudoti duomenų apibrėžimo užklausą, jei esate susipažinęs su SQL sakinių ir planuojate panaikinti ir iš naujo sukurti konkretaus lenteles, apribojimų, indeksus ar ryšių.

Įspėjimas: Norėdami modifikuoti duomenų bazės objektus naudojant duomenų apibrėžimo užklausos gali būti rizikinga, nes veiksmų nepridedami patvirtinimo dialogo languose. Jei padarysite klaidą, galite prarasti duomenis arba netyčia keisti lentelės dizaino. Būkite atsargūs, kai naudojate duomenų apibrėžimo užklausą modifikuoti duomenų bazės objektus. Jei dar nesate palaikymą, kurį naudojate duomenų bazę, rasite iš duomenų bazės administratoriaus, prieš vykdant užklausą duomenų apibrėžimo.

Svarbu: Padaryti atsarginę kopiją, bet lentelių susijusių prieš vykdant užklausą duomenų apibrėžimo.

DDL raktažodžius

Raktažodžių

Naudokite

CREATE

Sukurti rodyklės ar lentelę, kurios dar nėra.

ALTER

Modifikuoti esamą lentelę arba stulpelį.

DROP

Naikinti esamą lentelę, stulpelį arba apribojimą.

ADD

Į lentelę įtraukti stulpelį ar apribojimą.

COLUMN

Naudokite su įtraukti, keisti, arba palikite

CONSTRAINT

Naudokite su įtraukti, keisti, arba palikite

INDEX

Naudojamas kurti

TABLE

Naudokite keisti, kurti arba NUMESTI

Puslapio viršus

Kurti arba modifikuoti lentelės

Norėdami sukurti lentelę, galite naudoti komandą kurti lentelę. LENTELĖS kūrimas komandos sintaksė yra tokia:

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

Tik reikia kurti lentelę komandą elementai komandą kurti lentelę items ir lentelės pavadinimą, bet paprastai norite apibrėžti kelis laukus arba kitus aspektus lentelę. Naudokite šį paprastą pavyzdį.

Tarkime, kad norite sukurti lentelės pavadinimą, metus ir kainą naudotų automobilių, kad planuojate įsigyti saugoti. Norite leisti iki 30 simbolių vardo ir 4 simbolių metų. Duomenų apibrėžimo užklausos naudojimas norint sukurti lentelę, atlikite šiuos veiksmus:

Pastaba: Pirmą kartą, gali reikėti įgalinti turinį, tam, kad duomenų aprašymo užklausa paleisti duomenų bazę:

  • Pranešimų juostoje spustelėkite Įgalinti turinį.

Lentelės kūrimas

  1. Skirtuko kūrimas grupėje makrokomandos ir kodas spustelėkite Užklausos dizainas.

  2. Uždarykite dialogo langą Lentelės rodymas.

  3. Skirtuko dizainas grupėje Užklausos tipas spustelėkite Duomenų apibrėžimo.

    Dizaino tinklelyje yra paslėpta, ir rodoma SQL rodinio objektų skirtuko lapą.

  4. Įveskite šį SQL sakinį:

    KURTI lentelę automobilių (vardas TEXT(30), metų TEXT(4), valiutos kaina)

  5. Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.

Keisti lentelės

Norėdami modifikuoti lentelę, galite naudoti, keisti lentelės komanda. Pridėti, keisti arba numesti (šalinti) stulpelius arba apribojimų, galite naudoti "" komandą keisti lentelės. "" Komandą keisti lentelės sintaksė yra tokia:

ALTER TABLE table_name predicate

kur tarinys gali būti bet kurį iš šių veiksmų:

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

ADD CONSTRAINT multifield_constraint

ALTER COLUMN field type[(size)]

DROP COLUMN field

DROP CONSTRAINT constraint

Tarkime, kad norite įtraukti 10 simbolių teksto lauką, kurį norite saugoti informaciją apie kiekvieną automobilio sąlygą. Galite atlikti šiuos veiksmus:

  1. Skirtuko kūrimas grupėje makrokomandos ir kodas spustelėkite Užklausos dizainas.

  2. Uždarykite dialogo langą Lentelės rodymas.

  3. Skirtuko dizainas grupėje Užklausos tipas spustelėkite Duomenų apibrėžimo.

    Dizaino tinklelyje yra paslėpta, ir rodoma SQL rodinio objektų skirtuko lapą.

  4. Įveskite šį SQL sakinį:

    KEISTI lentelės automobilių įtraukti stulpelio sąlyga TEXT(10)

  5. Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.

Puslapio viršus

Indekso kūrimas

Kurti indeksą į esamą lentelę, naudokite komandą kurti INDEKSĄ. RODYKLĖS kūrimas komandos sintaksė yra tokia:

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

Tik būtinų elementų yra kurti INDEKSĄ komandą, pavadinimas indeksą, argumento įjungta, lentelės, kurioje yra laukai, kurį norite įtraukti į indeksą, pavadinimą ir laukų sąrašas turi būti įtraukti į indeksą.

  • Rodyklės sukurti mažėjimo tvarka, kuri gali būti naudinga, jei dažnai paleisti užklausas, ieškokite viršuje reikšmės indeksuotų laukų arba DESC argumentas priežastys rūšiuoti indeksuotų laukų mažėjimo tvarka. Pagal numatytuosius nustatymus indekso sukuriamas didėjimo tvarka.

  • SU pagrindinis argumentas nustatyta indeksuotų lauką arba laukus, pirminis raktas lentelės.

  • Argumento su DISALLOW NULL sukelia rodyklės reikia įvesti reikšmę indeksuotų laukų – tai yra neleidžiama neapibrėžtų reikšmių.

Tarkime, kad lentelėje, vadinamoje automobilių laukais, saugoti, pavadinimą, metams, kainos ir sąlygos naudotų automobilių, kad planuojate įsigyti. Taip pat Tarkime, kad lentelėje tapo didelių ir dažnai yra metų lauko užklausų. Galite sukurti indeksą metų lauke, kad užklausas pateikti rezultatus, kur kas sparčiau, naudodami šią procedūrą:

  1. Skirtuko kūrimas grupėje makrokomandos ir kodas spustelėkite Užklausos dizainas.

  2. Uždarykite dialogo langą Lentelės rodymas.

  3. Skirtuko dizainas grupėje Užklausos tipas spustelėkite Duomenų apibrėžimo.

    Dizaino tinklelyje yra paslėpta, ir rodoma SQL rodinio objektų skirtuko lapą.

  4. Įveskite šį SQL sakinį:

    KURTI INDEKSĄ YearIndex įjungta automobilių (metų)

  5. Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.

Puslapio viršus

Apribojimą arba ryšio kūrimas

Apribojimą nustato loginės sąlygos lauko arba laukų derinį turi atitikti įdėjus reikšmes. Pvz., UNIKALAUS apribojimo neleidžia suvaržytas laukas priims dubliuotų esamą reikšmę, lauko reikšmė.

Ryšio yra apribojimas, kuris nurodo į lauką Reikšmės tipas arba derinį, norint nustatyti, ar reikšmė gali būti įterptos suvaržytas lauko arba laukų derinį kitos lentelės laukai. Norėdami nurodyti, kad apribojimą ryšio nenaudoti specialusis raktinį žodį.

Norėdami sukurti apribojimą, galite naudoti sąlygą apribojimą lentelėje sukurti arba keisti komandos. Yra dviejų rūšių apribojimą sąlygų sąrašas: kurti apribojus vieną lauką, o kitą kurti keleto laukų.

Vieno lauko apribojimų

Vieno lauko apribojimo sąlygoje iš karto matyti aprašą, lauką, kad jį apribojimų, sintaksė yra tokia:

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

Tarkime, kad lentelėje, vadinamoje automobilių laukais, saugoti, pavadinimą, metams, kainos ir sąlygos naudotų automobilių, kad planuojate įsigyti. Taip pat Tarkime, kad dažnai nepamirškite įvesti reikšmę automobilio sąlygą, ir, kad visada norite įrašyti šią informaciją. Galite sukurti apribojimą sąlyga lauką, neleidžiama palikite lauką tuščią, naudojant šią procedūrą:

  1. Skirtuko kūrimas grupėje makrokomandos ir kodas spustelėkite Užklausos dizainas.

  2. Uždarykite dialogo langą Lentelės rodymas.

  3. Skirtuko dizainas grupėje Užklausos tipas spustelėkite Duomenų apibrėžimo.

    Dizaino tinklelyje yra paslėpta, ir rodoma SQL rodinio objektų skirtuko lapą.

  4. Įveskite šį SQL sakinį:

    KEISTI lentelės automobilių pakeisti stulpelio sąlyga teksto apribojimą ConditionRequired NOT NULL

  5. Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.

Dabar tarkime, kad, po kurio laiko pastebėsite, sąlyga lauką, kuris turėtų būti taip pat yra daug panašių reikšmių. Pvz., kai kurie automobilių yra sąlyga reikšmė yra prastos ir kiti turi vertė yra netinkamos.

Pastaba: Jei norite su keletu likusius veiksmus, kai suklastoti duomenų įtraukimas į automobilių lentelę, kurią sukūrėte atlikdami ankstesnius veiksmus.

Po to, galite išvalyti reikšmes, kad jos būtų labiau atitinka, galite sukurti lentelę, pavadintą CarCondition, naudojant vieną lauką, pavadinta sąlygai visas reikšmes, kurį norite naudoti su sąlyga automobilių:

  1. Skirtuko kūrimas grupėje makrokomandos ir kodas spustelėkite Užklausos dizainas.

  2. Uždarykite dialogo langą Lentelės rodymas.

  3. Skirtuko dizainas grupėje Užklausos tipas spustelėkite Duomenų apibrėžimo.

    Dizaino tinklelyje yra paslėpta, ir rodoma SQL rodinio objektų skirtuko lapą.

  4. Įveskite šį SQL sakinį:

    KURTI lentelę CarCondition (TEXT(10)) sąlygos

  5. Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.

  6. Lentelės pirminio rakto kūrimas naudojant sakiniu keisti lentelę:

    KEISTI lentelės CarCondition pakeisti stulpelio sąlyga teksto apribojimą CarConditionPK pirminis raktas

  7. Norėdami įterpti reikšmes iš lauko sąlygos automobilių lentelės į naują CarCondition lentelę, Surinkite šiuos SQL SQL rodinio objektų skirtuko:

    ĮTERPTI į CarCondition SELECT DISTINCT sąlyga automobilių;

    Pastaba: Atlikdami šį veiksmą SQL sakinio yra yra papildymo užklausa. Skirtingai nei duomenų apibrėžimo užklausa, papildymo užklausą baigiasi kabliataškiu.

  8. Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.

Ryšio kūrimas naudojant apribojimą

Kad būtų reikalaujama, bet naują reikšmę sąlyga automobilių lentelės laukas atitinka reikšmę CarCondition lentelės lauką sąlyga, galite tada sukurti ryšį tarp CarCondition ir automobilių laukas, pavadintas sąlyga, naudodami šiuos veiksmus tvarka:

  1. Skirtuko kūrimas grupėje makrokomandos ir kodas spustelėkite Užklausos dizainas.

  2. Uždarykite dialogo langą Lentelės rodymas.

  3. Skirtuko dizainas grupėje Užklausos tipas spustelėkite Duomenų apibrėžimo.

    Dizaino tinklelyje yra paslėpta, ir rodoma SQL rodinio objektų skirtuko lapą.

  4. Įveskite šį SQL sakinį:

    KEISTI lentelės automobilių pakeisti stulpelio sąlyga teksto apribojimą FKeyCondition nuorodos CarCondition (sąlyga)

  5. Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.

Kelių laukų apribojimų

Kelių laukų apribojimo sąlygoje galima naudoti tik už lauko apibrėžimo sąlygos ir sintaksė yra tokia:

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}]}

Apsvarstykite automobilių lentelės pateiktame pavyzdyje. Tarkime, kad norite įsitikinkite, kad dviejų įrašų lentelėje automobilių pačios reikšmės pavadinimas, metų, sąlygos ir kaina. Galite sukurti UNIKALŲ apribojimą, kuris taiko šiuos laukus, naudojant šią procedūrą:

  1. Skirtuko kūrimas grupėje makrokomandos ir kodas spustelėkite Užklausos dizainas.

  2. Uždarykite dialogo langą Lentelės rodymas.

  3. Skirtuko dizainas grupėje Užklausos tipas spustelėkite Duomenų apibrėžimo.

    Dizaino tinklelyje yra paslėpta, ir rodoma SQL rodinio objektų skirtuko lapą.

  4. Įveskite šį SQL sakinį:

    KEISTI lentelės automobilių įtraukti apribojimą NoDupes unikalus (pavadinimą, metus, būklė, kaina)

  5. Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.

Puslapio viršus

Tobulinkite savo „Office“ įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijunkite prie „Office Insider“ dalyvių

Ar ši informacija buvo naudinga?

Dėkojame už jūsų atsiliepimus!

Dėkojame už jūsų atsiliepimą! Panašu, kad gali būti naudinga jus sujungti su vienu iš mūsų „Office“ palaikymo agentų.

×