Applies ToAccess pakalpojumam Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Programmā Access varat izveidot un modificēt tabulas, ierobežojumus, indeksus un relācijas, SQL skatā rakstot datu definīcijas vaicājumus. Šajā rakstā ir izskaidroti datu definīcijas vaicājumi un kā tos izmantot, lai izveidotu tabulas, ierobežojumus, indeksus un relācijas. Šis raksts var palīdzēt jums izlemt, kad izmantot datu definīcijas vaicājumu.

Šajā rakstā

Pārskats

Atšķirībā no citiem Access vaicājumiem datu definīcijas vaicājums neizgūst datus. Datu definēšanas vaicājums izmanto datu definēšanas valodu, lai izveidotu, modificētu vai dzēstu datu bāzes objektus.

Piezīme.: Datu definēšanas valoda (DDL) ir strukturētās vaicājumu valodas (Structured Query Language — SQL) daļa.

Datu definēšanas vaicājumi var būt ļoti ērti. Jūs varat regulāri izdzēst un atkārtoti izveidot datu bāzes shēmas daļas, izpildot dažus vaicājumus. Apsveriet iespēju izmantot datu definīcijas vaicājumu, ja pārzināt SQL priekšrakstus un plānojat izdzēst un atkārtoti izveidot noteiktas tabulas, ierobežojumus, indeksus vai relācijas.

Brīdinājums.: Datu bāzes objektu modificēšanai izmantojot datu definīcijas vaicājumus, var būt riskanta, jo darbībām nav apstiprinājuma dialoglodziņu. Kļūdas gadījumā varat zaudēt datus vai nejauši mainīt tabulas noformējumu. Esiet uzmanīgs, izmantojot datu definīcijas vaicājumu, lai modificētu objektus savā datu bāzē. Ja neesat atbildīgs par datu bāzes uzturēšanu, pirms datu definīcijas vaicājuma izpilde sazinieties ar datu bāzes administratoru.

Svarīgi!: Izveidojiet visu to tabulu dublējumkopiju, kas iesaistītas, pirms palaižat datu definēšanas vaicājumu.

DDL atslēgvārdi

Atslēgvārds

Izmantojiet

CREATE

Izveidojiet indeksu vai tabulu, kas vēl nepastāv.

ALTER

Esošas tabulas vai kolonnas modificēšana.

DROP

Izdzēsiet esošu tabulu, kolonnu vai ierobežojumu.

ADD

Tabulai pievienojiet kolonnu vai ierobežojumu.

COLUMN

Izmantojiet ar ADD, ALTER vai DROP

CONSTRAINT

Izmantojiet ar ADD, ALTER vai DROP

INDEX

Izmantošana ar create

TABLE

Izmantot ar ALTER, CREATE vai DROP

Uz lapas sākumu

Tabulas izveide vai modificēšana

Lai izveidotu tabulu, izmantojiet komandu CREATE TABLE. Komandai CREATE TABLE ir šāda sintakse:

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

Vienīgais komandas CREATE TABLE elements ir pati komanda CREATE TABLE un tabulas nosaukums, taču parasti ir jādefinē daži lauki vai citi tabulas aspekti. Apsveriet šo vienkāršo piemēru.

Pieņemsim, ka vēlaties izveidot tabulu, lai saglabātu nosaukumu, gadu un izmantoto automašīnu cenu, ko apsverat iegādāties. Jūs vēlaties izmantot ne vairāk kā 30 rakstzīmes nosaukuma un 4 rakstzīmes gadā. Lai izveidotu tabulu, izmantojot datu definīcijas vaicājumu, rīkojieties šādi:

Piezīme.: Iespējams, vispirms būs jāiespējo datu bāzes saturs, lai varētu palaist datu definīcijas vaicājumu.

  • Ziņojumu joslā noklikšķiniet uz Iespējot saturu.

Tabulas izveidošana

  1. Cilnes Izveide grupā Makro un & kods noklikšķiniet uz Vaicājuma noformējums.

  2. Cilnes Noformējums grupā Vaicājuma tips noklikšķiniet uz Datu definīcija.

    Noformējuma režģis ir paslēpts, un tiek parādīta SQL skata objekta cilne.

  3. Ierakstiet šo SQL priekšrakstu:

    CREATE TABLE Cars (Name TEXT(30), Year TEXT(4), Price CURRENCY)

  4. Cilnes Noformējums grupā Rezultāti noklikšķiniet uz Izpildīt.

Tabulas modificēšana

Lai modificētu tabulu, izmantojiet komandu ALTER TABLE. Var izmantot komandu ALTER TABLE, lai pievienotu, modificētu vai nomestu (noņemtu) kolonnas vai ierobežojumus. Komandai ALTER TABLE ir šāda sintakse:

ALTER TABLE table_name predicate

kur predikāts var būt kāds no šiem:

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

ADD CONSTRAINT multifield_constraint

ALTER COLUMN field type[(size)]

DROP COLUMN field

DROP CONSTRAINT constraint

Pieņemsim, ka vēlaties pievienot 10 rakstzīmju teksta lauku, lai saglabātu informāciju par katra automašīnas stāvokli. Varat rīkoties šādi:

  1. Cilnes Izveide grupā Makro un & kods noklikšķiniet uz Vaicājuma noformējums.

  2. Cilnes Noformējums grupā Vaicājuma tips noklikšķiniet uz Datu definīcija.

    Noformējuma režģis ir paslēpts, un tiek parādīta SQL skata objekta cilne.

  3. Ierakstiet šo SQL priekšrakstu:

    ALTER TABLE Cars ADD COLUMN Condition TEXT(10)

  4. Cilnes Noformējums grupā Rezultāti noklikšķiniet uz Izpildīt.

Uz lapas sākumu

Alfabētiskā rādītāja izveide

Lai izveidotu indeksu esošai tabulai, izmantojiet komandu CREATE INDEX. Komandai CREATE INDEX ir šāda sintakse:

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

Vienīgie nepieciešamie elementi ir komanda CREATE INDEX, indeksa nosaukums, arguments ON, tās tabulas nosaukums, kurā ir indeksāmie lauki un indeksā iekļaujamo lauku saraksts.

  • Desc arguments liek indeksu izveidot dilstošā secībā, kas var būt noderīgi, ja bieži izpildāt vaicājumus, kas meklē indeksētā lauka augstākās vērtības vai kārto indeksēto lauku dilstošā secībā. Pēc noklusējuma indekss tiek izveidots augošā secībā.

  • Arguments WITH PRIMARY kā tabulas primārā atslēga norādīts indeksētais lauks vai lauki.

  • Arguments WITH DISALLOW NULL liek indeksam pieprasīt, lai indeksētā laukā tiktu ievadīta vērtība, t.i., vērtības Null nav atļautas.

Pieņemsim, ka jums ir tabula ar nosaukumu Automašīnas ar laukiem, kuros ir iegādāto lietoto automašīnu nosaukums, gads, cena un nosacījums. Pieņemsim arī, ka tabula ir kļuvusi liela un ka bieži vaicājumos iekļaujat gada lauku. Varat izveidot indeksu laukā Gads, lai palīdzētu vaicājumiem ātrāk atgriezt rezultātus, izmantojot šo procedūru:

  1. Cilnes Izveide grupā Makro un & kods noklikšķiniet uz Vaicājuma noformējums.

  2. Cilnes Noformējums grupā Vaicājuma tips noklikšķiniet uz Datu definīcija.

    Noformējuma režģis ir paslēpts, un tiek parādīta SQL skata objekta cilne.

  3. Ierakstiet šo SQL priekšrakstu:

    CREATE INDEX YearIndex ON automašīnās (gads)

  4. Cilnes Noformējums grupā Rezultāti noklikšķiniet uz Izpildīt.

Uz lapas sākumu

Ierobežojuma vai relācijas izveide

Ierobežojums nosaka loģisku nosacījumu, kam laukā vai lauku kombinācijā jāatbilst, kad tiek ievietotas vērtības. Piemēram, ierobežojums UNIQUE neļauj ierobežotiem laukiem akceptēt vērtību, kas dublēs esošās lauka vērtības.

Relācija ir ierobežojuma tips, kas attiecas uz lauka vērtībām vai lauku kombināciju citā tabulā, lai noteiktu, vai vērtību var ievietot ierobežotā laukā vai lauku kombinācijā. Neizmantojiet īpašu atslēgvārdu, lai norādītu, ka ierobežojums ir relācija.

Lai izveidotu ierobežojumu, ir jāizmanto klauzula CONSTRAINT komandā CREATE TABLE vai ALTER TABLE. Pastāv divu veidu klauzulas CONSTRAINT: viena ierobežojuma izveide atsevišķam laukam un otra ierobežojuma izveidei vairākiem laukiem.

Ierobežojumi vienam laukam

Viena lauka klauzula CONSTRAINT uzreiz seko tā lauka definīcijai, kuram tā ierobežo, un tai ir šāda sintakse:

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

Pieņemsim, ka jums ir tabula ar nosaukumu Automašīnas ar laukiem, kuros ir iegādāto lietoto automašīnu nosaukums, gads, cena un nosacījums. Pieņemsim arī to, ka bieži aizmirstat ievadīt automašīnas nosacījuma vērtību un vēlaties vienmēr ierakstīt šo informāciju. Varat izveidot ierobežojumu laukā Nosacījums, kas neļauj lauku atstāt tukšu, veicot tālāk norādītās darbības.

  1. Cilnes Izveide grupā Makro un & kods noklikšķiniet uz Vaicājuma noformējums.

  2. Cilnes Noformējums grupā Vaicājuma tips noklikšķiniet uz Datu definīcija.

    Noformējuma režģis ir paslēpts, un tiek parādīta SQL skata objekta cilne.

  3. Ierakstiet šo SQL priekšrakstu:

    ALTER TABLE Cars ALTER COLUMN Condition TEXT CONSTRAINT NosacījumsRequired NOT NULL

  4. Cilnes Noformējums grupā Rezultāti noklikšķiniet uz Izpildīt.

Tagad pieņemsim, ka pēc brīža ievērojat, ka laukā Nosacījums ir daudz līdzīgu vērtību, kurām ir jābūt vienādām. Piemēram, dažām automašīnām ir sliktas sliktās vērtības nosacījums, bet citām automašīnām ir slikta vērtība.

Piezīme.: Ja vēlaties sekot līdzi atlikušajām procedūrām, pievienojiet dažus neīstos datus tabulā Automašīnas, ko izveidojāt, izpildot iepriekšējās darbības.

Pēc vērtību tīrīšanas, lai tās būtu konsekventas, varat izveidot tabulu ar nosaukumu CarCondition, kurā ir viens lauks ar nosaukumu Nosacījums, kurā iekļautas visas vērtības, ko vēlaties izmantot automašīnu stāvoklī:

  1. Cilnes Izveide grupā Makro un & kods noklikšķiniet uz Vaicājuma noformējums.

  2. Cilnes Noformējums grupā Vaicājuma tips noklikšķiniet uz Datu definīcija.

    Noformējuma režģis ir paslēpts, un tiek parādīta SQL skata objekta cilne.

  3. Ierakstiet šo SQL priekšrakstu:

    CREATE TABLE CarCondition (nosacījums TEXT(10))

  4. Cilnes Noformējums grupā Rezultāti noklikšķiniet uz Izpildīt.

  5. Izveidojiet tabulas primāro atslēgu, izmantojot priekšrakstu ALTER TABLE:

    ALTER TABLE CarCondition ALTER COLUMN Condition TEXT CONSTRAINT CarConditionPK PRIMARY KEY

  6. Lai ievietotu vērtības no tabulas Automašīnas lauka Nosacījums jaunajā tabulā CarCondition, objektu cilnē SQL skats ierakstiet šādu SQL kodu:

    INSERT INTO CarCondition SELECT DISTINCT Condition FROM Cars;

    Piezīme.: Šajā darbībā sql priekšraksts ir pievienošanas vaicājums. Atšķirībā no datu definīcijas vaicājuma pievienošanas vaicājums beidzas ar semikolu.

  7. Cilnes Noformējums grupā Rezultāti noklikšķiniet uz Izpildīt.

Relācijas izveide, izmantojot ierobežojumu

Lai pieprasītu, lai jebkura jauna vērtība, kas ievietota tabulas Automašīnas laukā Nosacījums, atbilstu tabulas CarCondition lauka Nosacījums vērtībai, pēc tam laukā ar nosaukumu Nosacījums varat izveidot relāciju starp CarCondition un Automašīnām, veicot šo procedūru:

  1. Cilnes Izveide grupā Makro un & kods noklikšķiniet uz Vaicājuma noformējums.

  2. Cilnes Noformējums grupā Vaicājuma tips noklikšķiniet uz Datu definīcija.

    Noformējuma režģis ir paslēpts, un tiek parādīta SQL skata objekta cilne.

  3. Ierakstiet šo SQL priekšrakstu:

    ALTER TABLE Cars ALTER COLUMN Condition TEXT CONSTRAINT FKeyCondition REFERENCES CarCondition (nosacījums)

  4. Cilnes Noformējums grupā Rezultāti noklikšķiniet uz Izpildīt.

Ierobežojumi vairākiem laukiem

Vairāku lauku klauzulu CONSTRAINT var izmantot tikai ārpus lauka definīcijas klauzulas, un tai ir šāda sintakse:

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

Apsveriet citu piemēru, kurā tiek izmantota tabula Automašīnas. Pieņemsim, ka vēlaties nodrošināt, lai diviem tabulas Automašīnas ierakstiem nebūtu vienādas vērtību kopas nosaukumam, gadam, nosacījumam un cenai. Varat izveidot ierobežojumu UNIQUE, kas tiek lietots šiem laukiem, veicot tālāk norādītās darbības.

  1. Cilnes Izveide grupā Makro un & kods noklikšķiniet uz Vaicājuma noformējums.

  2. Cilnes Noformējums grupā Vaicājuma tips noklikšķiniet uz Datu definīcija.

    Noformējuma režģis ir paslēpts, un tiek parādīta SQL skata objekta cilne.

  3. Ierakstiet šo SQL priekšrakstu:

    ALTER TABLE Cars ADD CONSTRAINT NoDupes UNIQUE (nosaukums, gads, nosacījums, cena)

  4. Cilnes Noformējums grupā Rezultāti noklikšķiniet uz Izpildīt.

Uz lapas sākumu

Nepieciešama papildu palīdzība?

Vēlaties vairāk opciju?

Izpētiet abonementa priekšrocības, pārlūkojiet apmācības kursus, uzziniet, kā aizsargāt ierīci un veikt citas darbības.

Kopienas palīdz uzdot jautājumus un atbildēt uz tiem, sniegt atsauksmes, kā arī saņemt informāciju no ekspertiem ar bagātīgām zināšanām.