Vpišite se z Microsoftovim
Vpišite se ali ustvarite račun.
Pozdravljeni,
Izberite drug račun.
Imate več računov
Izberite račun, s katerim se želite vpisati.

Tabele, omejitve, indekse in relacije v Accessu lahko ustvarjate in spreminjate tako, da vnesete poizvedbe za definicijo podatkov v pogledu SQL. V tem članku so razložene poizvedbe za definicijo podatkov in kako jih uporabiti za ustvarjanje tabel, omejitev, indeksov in relacij. V tem članku se lahko tudi odločite, kdaj boste uporabili poizvedbo za definicijo podatkov.

V tem članku

Pregled

V nasprotju z drugimi Accessovmi poizvedbami poizvedba za definicijo podatkov ne pridobi podatkov. Poizvedba za definicijo podatkov uporablja jezik definicije podatkov za ustvarjanje, spreminjanje ali brisanje predmetov zbirke podatkov.

Opomba: Jezik za definicijo podatkov (DDL) je del SQL (SQL).

Poizvedbe za definicijo podatkov so lahko zelo priročne. Dele sheme zbirke podatkov lahko redno brišete in znova ustvarjate le tako, da zaženete nekaj poizvedb. Če poznate izjave SQL in nameravate izbrisati in znova ustvariti določene tabele, omejitve, indekse ali relacije, razmislite o uporabi poizvedbe za definicijo podatkov.

Opozorilo: Uporaba poizvedb za definicijo podatkov za spreminjanje predmetov zbirke podatkov je lahko tvegana, ker dejanja ne spremljajo potrditvena pogovorna okna. Če se zmotite, lahko izgubite podatke ali nenamerno spremenite načrt tabele. Bodite previdni pri uporabi poizvedbe za definicijo podatkov za spreminjanje predmetov v zbirki podatkov. Če niste odgovorni za vzdrževanje zbirke podatkov, ki jo uporabljate, se pred zagonom poizvedbe za definicijo podatkov posvetujte s skrbnikom zbirke podatkov.

Pomembno: Ustvarite varnostno kopijo vseh tabel, ki so vključene, preden zaženete poizvedbo za definicijo podatkov.

Ključne besede DDL

Ključna beseda

Uporabi

CREATE

Ustvarite indeks ali tabelo, ki še ne obstaja.

ALTER

Spremenite obstoječo tabelo ali stolpec.

DROP

Izbrišite obstoječo tabelo, stolpec ali omejitev.

ADD

V tabelo dodajte stolpec ali omejitev.

COLUMN

Uporaba s funkcijo ADD, ALTER ali DROP

CONSTRAINT

Uporaba s funkcijo ADD, ALTER ali DROP

INDEX

Uporaba s funkcijo CREATE

TABLE

Uporaba s funkcijo ALTER, CREATE ali DROP

Na vrh strani

Ustvarjanje ali spreminjanje tabele

Če želite ustvariti tabelo, uporabite ukaz CREATE TABLE. V ukazu CREATE TABLE je ta sintaksa:

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

Edini obvezni elementi ukaza CREATE TABLE so ukaz CREATE TABLE in ime tabele, vendar boste po navadi želeli določiti nekatera polja ali druge vidike tabele. Oglejte si ta preprost primer.

Denimo, da želite ustvariti tabelo za shranjevanje imena, leta in cene rabljenih avtomobilov, ki jih želite kupiti. Za ime želite dovoliti največ 30 znakov in 4 znake za leto. Če želite za ustvarjanje tabele uporabiti poizvedbo za definicijo podatkov, naredite to:

Opomba: Morda boste morali najprej omogočiti vsebino zbirke podatkov, da se bo poizvedba za definicijo podatkov zagnala:

  • V Vrstici s sporočili kliknite Omogoči vsebino.

Ustvarjanje tabele

  1. Na zavihku Ustvari v skupini Makri & Koda kliknite Načrt poizvedbe.

  2. Na zavihku Načrt v skupini Vrsta poizvedbe kliknite Definicija podatkov.

    Mreža načrta je skrita in prikazan je zavihek predmeta pogleda SQL.

  3. Vnesite to izjavo SQL:

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

  4. Na zavihku Načrt v skupini Rezultati kliknite Zaženi.

Spreminjanje tabele

Če želite spremeniti tabelo, uporabite ukaz ALTER TABLE. Z ukazom ALTER TABLE lahko dodate, spremenite ali spustite (odstranite) stolpce ali omejitve. Ukaz ALTER TABLE ima to sintakso:

ALTER TABLE table_name predicate

kjer je lahko predikat nekaj od naslednjega:

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

ADD CONSTRAINT multifield_constraint

ALTER COLUMN field type[(size)]

DROP COLUMN field

DROP CONSTRAINT constraint

Denimo, da želite dodati 10-mestno polje z besedilom za shranjevanje informacij o stanju posameznega avtomobila. Naredite lahko to:

  1. Na zavihku Ustvari v skupini Makri & Koda kliknite Načrt poizvedbe.

  2. Na zavihku Načrt v skupini Vrsta poizvedbe kliknite Definicija podatkov.

    Mreža načrta je skrita in prikazan je zavihek predmeta pogleda SQL.

  3. Vnesite to izjavo SQL:

    ALTER TABLE Cars ADD COLUMN Condition TEXT(10)

  4. Na zavihku Načrt v skupini Rezultati kliknite Zaženi.

Na vrh strani

Ustvarjanje kazala

Če želite ustvariti indeks za obstoječo tabelo, uporabite ukaz CREATE INDEX. V ukazu CREATE INDEX je ta sintaksa:

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

Edini obvezni elementi so ukaz CREATE INDEX, ime indeksa, argument ON, ime tabele s polji, ki jih želite indeksirati, in seznam polj, ki jih želite vključiti v indeks.

  • Argument DESC povzroči, da se indeks ustvari v padajočem vrstnem redu, kar je lahko koristno, če pogosto zaženete poizvedbe, ki za indeksirana polja poiščejo najvišje vrednosti ali ki razvrstijo indeksirana polja v padajočem vrstnem redu. Indeks je privzeto ustvarjen v naraščajočem vrstnem redu.

  • Argument WITH PRIMARY določi indeksirana polja kot primarni ključ tabele.

  • Argument WITH DISALLOW NULL povzroči, da indeks zahteva vnos vrednosti za indeksirana polja, kar pomeni, da ničelne vrednosti niso dovoljene.

Denimo, da imate tabelo z imenom »Avtomobili« s polji, v kateri so shranjeni ime, leto, cena in stanje rabljenih avtomobilov, o katerih razmišljate o nakupu. Vzemimo za primer, da je tabela postala velika in da v poizvedbe pogosto vključite polje »leto«. V polju »Leto« lahko ustvarite indeks, da bodo poizvedbe hitreje vrnile rezultate tako, da upoštevate ta postopek:

  1. Na zavihku Ustvari v skupini Makri & Koda kliknite Načrt poizvedbe.

  2. Na zavihku Načrt v skupini Vrsta poizvedbe kliknite Definicija podatkov.

    Mreža načrta je skrita in prikazan je zavihek predmeta pogleda SQL.

  3. Vnesite to izjavo SQL:

    CREATE INDEX YearIndex ON Cars (Year)

  4. Na zavihku Načrt v skupini Rezultati kliknite Zaženi.

Na vrh strani

Ustvarjanje omejitve ali relacije

Omejitev določa logičen pogoj, ki ga mora polje ali kombinacija polj izpolniti, ko so vstavljene vrednosti. Omejitev UNIQUE na primer preprečuje omejenemu polju, da bi sprejelo vrednost, ki bi podvajala obstoječo vrednost za polje.

Relacija je vrsta omejitve, ki se sklicuje na vrednosti polja ali kombinacije polj v drugi tabeli, da ugotovite, ali je vrednost mogoče vstaviti v omejeno polje ali kombinacijo polj. Posebne ključne besede ne uporabite za označevanje, da je omejitev relacija.

Če želite ustvariti omejitev, uporabite stavek CONSTRAINT v ukazu CREATE TABLE ali ALTER TABLE. Obstajata dve vrsti stavkov CONSTRAINT: eden za ustvarjanje omejitve za eno polje, drugi pa za ustvarjanje omejitve v več poljih.

Omejitve enega polja

Stavek CONSTRAINT za eno polje takoj sledi definiciji polja, ki ga omejuje, in ima to sintakso:

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

Denimo, da imate tabelo z imenom »Avtomobili« s polji, v kateri so shranjeni ime, leto, cena in stanje rabljenih avtomobilov, o katerih razmišljate o nakupu. Denimo tudi, da pogosto pozabite vnesete vrednost za stanje avtomobila in da želite vedno zabeležiti te podatke. Za polje Pogoj lahko ustvarite omejitev, ki vam preprečuje, da bi polje zapustili prazno, tako da upoštevate ta postopek:

  1. Na zavihku Ustvari v skupini Makri & Koda kliknite Načrt poizvedbe.

  2. Na zavihku Načrt v skupini Vrsta poizvedbe kliknite Definicija podatkov.

    Mreža načrta je skrita in prikazan je zavihek predmeta pogleda SQL.

  3. Vnesite to izjavo SQL:

    ALTER TABLE Cars ALTER COLUMN Condition TEXT CONSTRAINT ConditionRequired NOT NULL

  4. Na zavihku Načrt v skupini Rezultati kliknite Zaženi.

Recimo, da boste čez nekaj časa opazili, da je v polju Pogoj veliko podobnih vrednosti, ki bi morale biti enake. Nekateri avtomobili imajo na primer vrednost Pogoj slabo, drugi pa vrednost slabo.

Opomba: Če želite spremljati preostale postopke, dodajte nekaj lažnih podatkov v tabelo »Avtomobili«, ki ste jo ustvarili v prejšnjih korakih.

Ko počistite vrednosti, tako da so bolj dosledne, lahko ustvarite tabelo z imenom CarCondition z enim poljem z imenom Pogoj, ki vsebuje vse vrednosti, ki jih želite uporabiti za stanje avtomobilov:

  1. Na zavihku Ustvari v skupini Makri & Koda kliknite Načrt poizvedbe.

  2. Na zavihku Načrt v skupini Vrsta poizvedbe kliknite Definicija podatkov.

    Mreža načrta je skrita in prikazan je zavihek predmeta pogleda SQL.

  3. Vnesite to izjavo SQL:

    CREATE TABLE CarCondition (Condition TEXT(10))

  4. Na zavihku Načrt v skupini Rezultati kliknite Zaženi.

  5. Ustvarite primarni ključ za tabelo z izjavo ALTER TABLE:

    ALTER TABLE CarCondition ALTER COLUMN Condition TEXT CONSTRAINT CarConditionPK PRIMARY KEY

  6. Če želite vstaviti vrednosti iz polja Pogoj v tabeli »Avtomobili« v novo tabelo »CarCondition«, na zavihek predmeta pogleda SQL vnesite ta SQL:

    INSERT INTO CarCondition SELECT DISTINCT Condition FROM Cars;

    Opomba: Izjava SQL v tem koraku je poizvedba za dodajanje. Poizvedba za dodajanje se za razliko od poizvedbe za definicijo podatkov konča s podpičjem.

  7. Na zavihku Načrt v skupini Rezultati kliknite Zaženi.

Ustvarjanje relacije z omejitev

Če želite, da se vsaka nova vrednost, ki je vstavljena v polje Pogoj v tabeli Avtomobili, ujema z vrednostjo polja Pogoj v tabeli CarCondition, lahko nato ustvarite relacijo med CarCondition in Cars v polju z imenom Pogoj tako, da upoštevate ta postopek:

  1. Na zavihku Ustvari v skupini Makri & Koda kliknite Načrt poizvedbe.

  2. Na zavihku Načrt v skupini Vrsta poizvedbe kliknite Definicija podatkov.

    Mreža načrta je skrita in prikazan je zavihek predmeta pogleda SQL.

  3. Vnesite to izjavo SQL:

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

  4. Na zavihku Načrt v skupini Rezultati kliknite Zaženi.

Omejitve za več polj

Stavek CONSTRAINT iz več polj je mogoče uporabiti le zunaj stavka definicije polja in ima to sintakso:

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

Oglejte si še en primer, ki uporablja tabelo »Avtomobili«. Denimo, da se želite prepričati, da nobena dva zapisa v tabeli »Avtomobili« nimata enakega nabora vrednosti za »Ime«, »Leto«, »Pogoj« in »Cena«. Ustvarite lahko omejitev UNIQUE, ki velja za ta polja, tako da upoštevate ta postopek:

  1. Na zavihku Ustvari v skupini Makri & Koda kliknite Načrt poizvedbe.

  2. Na zavihku Načrt v skupini Vrsta poizvedbe kliknite Definicija podatkov.

    Mreža načrta je skrita in prikazan je zavihek predmeta pogleda SQL.

  3. Vnesite to izjavo SQL:

    ALTER TABLE Cars ADD CONSTRAINT NoDupes UNIQUE (ime, leto, pogoj, cena)

  4. Na zavihku Načrt v skupini Rezultati kliknite Zaženi.

Na vrh strani

Ali potrebujete dodatno pomoč?

Ali želite več možnosti?

Raziščite ugodnosti naročnine, prebrskajte izobraževalne tečaje, preberite, kako zaščitite svojo napravo in še več.

Skupnosti vam pomagajo postaviti vprašanja in odgovoriti nanje, posredovati povratne informacije in prisluhniti strokovnjakom z bogatim znanjem.

Vam je bila informacija v pomoč?

Kako ste zadovoljni s kakovostjo jezika?
Kaj je vplivalo na vašo izkušnjo?
Če pritisnete »Pošlji«, bomo vaše povratne informacije uporabili za izboljšanje Microsoftovih izdelkov in storitev. Vaš skrbnik za IT bo lahko zbiral te podatke. Izjavi o zasebnosti.

Zahvaljujemo se vam za povratne informacije.

×