Lentelių ar indeksų kūrimas arba modifikavimas naudojant duomenų apibrėžimo užklausą

Svarbu :  Šis straipsnis išverstas naudojant mašininį vertimą, žr. atsakomybės atsisakymą. Su šio straipsnio versija anglų kalba galite susipažinti čia .

Microsoft Office Access 2007, ji yra lengvai kurti ir keisti lentelių ir apribojimų, indeksai dizaino rodinyje ir ryšių kūrimas naudojant ryšių langas. Taip pat galite kurti ir modifikuoti šiuos pačios organizacijos rašyti duomenų apibrėžimo užklausos SQL rodinys.

Šiame straipsnyje aprašoma duomenų apibrėžimo užklausos ir parodo, kaip naudoti tokios užklausos, kurti lenteles, indeksai, apribojimų ir ryšius. Šiame straipsnyje taip pat gali padėti jums nuspręsti, kada naudoti duomenų apibrėžimo užklausa.

Ką norite daryti?

Sužinokite, kada naudoti duomenų aprašo užklausa

Lentelės kūrimas arba modifikavimas

Rodyklės kūrimas

Apribojimo ar ryšio kūrimas

Sužinokite, kada naudoti duomenų aprašo užklausa

Skirtingai nei kitos užklausų duomenų apibrėžimo užklausos nuskaityti duomenis. Dauguma užklausų naudojimas duomenų manipuliuoti kalbos (DML), kurį sudaro struktūrinių užklausų kalbos (SQL) komandas, kurie nurodo, kaip sujungti ir manipuliuoti duomenų rezultatams, kurį norite gauti duomenis iš esamos duomenų bazės objektų. Duomenų apibrėžimo užklausos naudoja duomenų aprašymo kalba (DDL), kurią sudaro SQL komandos, nustatyti duomenų bazės objektus, saugoti arba rodyklės duomenis ir valdyti vartotojų prieigą prie duomenų bazės objektų SQL komandas. Office Access 2007, duomenų apibrėžimo užklausos apibrėžia arba keičia duomenų bazės objekto aprašą.

Bendroji informacija, turite naudoti grafinių dizaino sąsajos, Office Access 2007 numato (pavyzdžiui, dizaino rodinyje ir lange ryšiai), kurti lenteles, apribojimų, indeksus ir ryšius. Tačiau jei turite lenteles, kurias jūs reguliariai panaikinti ir iš naujo sukurti, naudodami šios sąsajos gali tapti laiko. Naudojant duomenų apibrėžimo užklausą, galite įrašyti užklausą, tada paleiskite jį dar kartą, kai reikia. Apsvarstykite galimybę naudoti duomenų apibrėžimo užklausos tik tada, jei esate susipažinęs su SQL sakinių ir, jei planuojate panaikinti ir iš naujo sukurti tam tikrą lentelėse, apribojimų ar indeksai reguliariai.

Svarbu : Duomenų bazės objektus modifikuoti naudojate duomenų apibrėžimo užklausos gali būti rizikinga, nes veiksmų nepridedami patvirtinimo dialogo langus. 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 jūsų duomenų bazės objektus. Jei dar nesate atsakingas už, kurį naudojate duomenų bazę, turėtumėte pasitarti su duomenų bazės administratorius prieš vykdydami duomenų apibrėžimo užklausa. Be to, ji verta padaryti atsarginę kopiją, lentelėms, kuriame esate tokių užklausą.

Puslapio viršus

Lentelės kūrimas arba modifikavimas

Norėdami kurti lentelę naudokite komandą CREATE TABLE. Komandos CREATE TABLE sintaksė:

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

Tik reikia kurti LENTELĘ komandą elementai yra pati komanda kurti LENTELĘ, lentelės pavadinimas, bent vieną lauką ir kiekvieno lauko duomenų tipą. Pažvelkime į paprastą.

Tarkime, norite sukurti lentelę naudotų automobilių, kuriuos ketinate pirkti, pavadinimams, metams ir kainai laikyti. Galite pageidauti, kad pavadinimui būtų skirta 30 simbolių, o metams 4. Norėdami naudoti duomenų apibrėžimo užklausą lentelei kurti, atlikite šiuos veiksmus:

Pastaba : Pirmiausia turite įgalinti tam, kad duomenų aprašymo užklausa paleisti duomenų bazės turinį.

  1. Pranešimų juosta, spustelėkite parinktysir tada spustelėkite Įgalinti šį turinį.

  2. Skirtuko Kūrimas grupėje Kita spustelėkite Užklausos dizainas.

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

  4. Skirtuko Dizainas grupėje Užklausos tipas spustelėkite Duomenų apibrėžimas.

    Paslepiamas dizaino tinklelis ir rodomas SQL rodinio objektų skirtuko lapas.

  5. Įveskite tokį SQL sakinį:

    CREATE TABLE Automobiliai (Pavadinimas TEXT(30), Metai TEXT(4), Kaina CURRENCY)

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

Lentelės modifikavimas

Norėdami modifikuoti lentelę, naudokite komandą ALTER TABLE. Galite naudoti komandą ALTER TABLE norėdami įtraukti, modifikuoti ar išmesti (pašalinti) stulpelių ar apribojimų. Komandos ALTER TABLE sintaksė:

ALTER TABLE table_name predicate

kai pirminių 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ą informacijai apie kiekvieno automobilio būklę laikyti. Galite atlikti šiuos veiksmus:

  1. Skirtuko Kūrimas grupėje Kita 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ėžimas.

    Paslepiamas dizaino tinklelis ir rodomas SQL rodinio objektų skirtuko lapas.

  4. Įveskite tokį SQL sakinį:

    ALTER TABLE Automobiliai ADD COLUMN Būklė TEXT(10)

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

Puslapio viršus

Indekso kūrimas

Norėdami esamoje lentelėje sukurti indeksą naudokite komandą CREATE INDEX. Komandos CREATE INDEX sintaksė:

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

Vieninteliai būtini elementai yra komanda CREATE INDEX, indekso pavadinimas, argumentas ON, lentelės, pagal kurios laukus norite kurti indeksą, pavadinimas ir įtrauktinų į indeksą laukų sąrašas.

  • Naudojant argumentą DESC indeksas sukuriamas mažėjančia tvarka. Tai gali būti naudinga, jei dažnai vykdote užklausas, kurios ieško geriausių į indeksą įtrauktų laukų reikšmių arba kurios rikiuoja įtrauktus į indeksą laukus mažėjančia tvarka. Pagal numatytuosius nustatymus indeksas kuriamas didėjančia tvarka.

  • SU pagrindinis argumentas nustato indeksuotų laukas ar laukai, kaip pirminis raktas lentelės.

  • Naudojant argumentą WITH DISALLOW NULL indeksas reikalauja, kad būtų įvesta į indeksą įtraukto lauko reikšmė. Tai reiškia, kad nulinės reikšmės draudžiamos.

Tarkime, kad turite lentelę, pavadintą Automobiliai, kurios laukuose laikomi naudotų automobilių, kuriuos ketinate įsigyti, pavadinimai, metai, kainos ir būklės. Be to, tarkime, kad lentelė padidėjo ir kad dažnai įtraukiate metų lauką į užklausas. Galite sukurti lauko Metai indeksą, kad užklausos greičiau pateiktų rezultatus, atlikdami tokią procedūrą:

  1. Skirtuko Kūrimas grupėje Kita 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ėžimas.

    Paslepiamas dizaino tinklelis ir rodomas SQL rodinio objektų skirtuko lapas.

  4. Įveskite tokį SQL sakinį:

    CREATE INDEX Metųindeksas ON Automobiliai (Metai)

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

Puslapio viršus

Apribojimo ar ryšio kūrimas

Apribojimas sukuria loginę sąlygą, kurią laukas ar laukų kombinacija turi atitikti įvedus reikšmę. Pvz., apribojimas UNIQUE draudžia apribotam laukui priimti reikšmę, kuri dubliuoja esamą lauko reikšmę.

Ryšio yra tipo apribojimą, kuris nurodo į lauką reikšmės arba derinys laukų kitoje lentelėje, norint nustatyti, ar reikšmė gali būti įterptos sunkiu lauką ar laukus derinį.

Norėdami sukurti apribojimą, naudokite sąlygą CONSTRAINT, esančią komandoje CREATE TABLE arba ALTER TABLE. Yra dvi sąlygų CONSTRAINT rūšys: viena skirta atskiro lauko apribojimui sukurti, o kita skirta kelių laukų apribojimui sukurti.

Vieno lauko apribojimas

Vieno lauko sąlyga CONSTRAINT iš karto vykdo ribojamo lauko aprašą, o jos sintaksė yra:

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 turite lentelę, pavadintą Automobiliai, kurios laukuose laikomi naudotų automobilių, kuriuos ketinate įsigyti, pavadinimai, metai, kainos ir būklės. Be to, tarkime, kad dažnai pamirštate įvesti automobilio būklės reikšmę, nors šios informacijos jums visada reikia. Galite sukurti apribojimą lauke Sąlyga, kad nebepaliktumėte lauko tuščio, naudodami šią procedūrą:

  1. Skirtuko Kūrimas grupėje Kita 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ėžimas.

    Paslepiamas dizaino tinklelis ir rodomas SQL rodinio objektų skirtuko lapas.

  4. Įveskite tokį SQL sakinį:

    ALTER TABLE Automobiliai ALTER COLUMN Būklė TEXT CONSTRAINT Būtina sąlyga NOT NULL

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

Dabar Tarkime, kad, po kurio laiko pastebėjote, yra daug panašios reikšmės sąlyga lauke, turi būti toks pat. Pvz., kai kurie automobilių yra sąlyga reikšmė yra prastos ir kiti turi vertė yra netinkamos. Po to, galite išvalyti reikšmes, kad jie būtų labiau atitinka, galite sukurti lentelę, CarCondition, su vienas laukas, pavadintas sąlyga, kuriame yra reikšmės, kurias norite naudoti sąlygą automobilių visi:

  1. Skirtuko Kūrimas grupėje Kita 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ėžimas.

    Paslepiamas dizaino tinklelis ir rodomas SQL rodinio objektų skirtuko lapas.

  4. Įveskite tokį SQL sakinį:

    CREATE TABLE Automobilio būklė (Būklė TEXT(10))

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

  6. Norėdami įterpti reikšmes iš lentelės Automobiliai lauko Būklė į naująją lentelę Automobilių būklė, įveskite tokį SQL sakinį į SQL rodinio objekto skirtuką:

    INSERT INTO Automobilio būklė SELECT DISTINCT Būklė FROM Automobiliai;

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

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

Norėdami, kad visos naujos reikšmės, įtrauktos į lentelės Automobiliai lauką Būklė, sutaptų su lentelės Automobilių būklė lauko Būklė reikšmėmis, naudodami toliau nurodytą procedūrą galite sukurti Automobiliai ir Automobilių būklė ryšį lauke, pavadintame Būklė:

  1. Skirtuko Kūrimas grupėje Kita 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ėžimas.

    Paslepiamas dizaino tinklelis ir rodomas SQL rodinio objektų skirtuko lapas.

  4. Įveskite tokį SQL sakinį:

    ALTER TABLE Automobiliai ALTER COLUMN Būklė TEXT CONSTRAINT Fklavišo sąlyga REFERENCES Automobilio būklė (Būklė)

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

Kelių laukų apribojimai

Kelių laukų apribojimų sąlygoje galima naudoti tik ne lauko apibrėžimo sąlygoje 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}]}

Pažvelkime į kitas pavyzdys, naudojant automobilių lentelę. Tarkime, kad jūs norite užtikrinti, kad dviejų įrašų automobilių lentelės pavadinimą, metus, sąlygos ir kaina reikšmių rinkinys. Galite sukurti UNIKALŲ apribojimą, kuris taiko šiuos laukus, naudojant šią procedūrą:

  1. Skirtuko Kūrimas grupėje Kita 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ėžimas.

    Paslepiamas dizaino tinklelis ir rodomas SQL rodinio objektų skirtuko lapas.

  4. Įveskite tokį SQL sakinį:

    ALTER TABLE Automobiliai ADD CONSTRAINT Nesidubliuoja UNIQUE (pavadinimas, metai, būklė, kaina)

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

Puslapio viršus

Pastaba : Mašininio vertimo atsakomybės atsisakymas: Šis straipsnis išverstas naudojant kompiuterinę sistemą be žmogaus įsikišimo. „Microsoft“ pateikia šiuos mašininius vertimus norėdama padėti anglų kalbos nesuprantantiems vartotojams perskaityti turinį apie „Microsoft“ produktus, paslaugas ir technologijas. Šis straipsnis išverstas mašininio vertimo būdu, todėl jame gali būti žodyno, sintaksės ar gramatikos klaidų.

Tobulinkite savo į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ų.

×