Ustvarjanje ali spreminjanje tabel ali kazal s poizvedbami za definicijo podatkov

Pomembno : Besedilo članka je prevedeno strojno. Glejte zavrnitev odgovornosti. Angleško različico tega članka najdete tukaj .

V Microsoft Office Access 2007je enostavno ustvarjanje in spreminjanje tabel, omejitve in kazala v pogledu načrta, in če želite ustvariti relacije z okno Relacije. Lahko pa lahko ustvarite in spremenite te isti oseb s pisanjem poizvedb za definicijo podatkov v pogledu SQL.

Ta članek opisuje poizvedb za definicijo podatkov, in prikazuje, kako uporabiti takšne poizvedbe za ustvarjanje tabel, indeksi, omejitve in relacije. V tem članku lahko tudi pomagajo, da se odločite, kdaj uporabiti poizvedba za definicijo podatkov.

Kaj želite narediti?

Preberite, kdaj uporabiti poizvedba za definicijo podatkov

Ustvarjanje ali spreminjanje tabele

Ustvarjanje kazala

Ustvarjanje omejitve ali relacije

Preberite, kdaj uporabiti poizvedba za definicijo podatkov

Za razliko od drugih poizvedb poizvedba za definicijo podatkov ne pridobite podatke. Večina poizvedb uporabite podatkov spreminjanje jezika (MSD), ki vključuje jezika SQL (Structured Query) ukazi, ki določajo, kako so podatki iz obstoječih predmetov zbirke podatkov v kombinaciji in ravnati podatkov rezultate, ki jih želite. Poizvedbe za definicijo podatkov uporabiti podatke definicije jezik (DDL), ki vsebuje SQL ukaze, ki jih določite definicije predmetov zbirke podatkov, da shranite ali indeks podatkov in SQL ukazi, ki nadzor dostopa uporabnikov do predmetov zbirke podatkov. V Office Access 2007poizvedba za definicijo podatkov določa ali spremeni opredelitev predmeta zbirke podatkov.

Na splošno, morate uporabiti grafično oblikovanje vmesnikov to Office Access 2007 ponuja (na primer, pogled načrta in okno z relacijami) za ustvarjanje tabel, omejitve, indekse in relacije. Kljub temu, če imate tabele, ki redno izbrišete in znova ustvarite, z uporabo teh vmesnikov lahko postane zamudno. S poizvedbami za definicijo podatkov, lahko pisati poizvedbe enkrat, nato pa ga znova zaženite potrebno. Razmislite o uporabi poizvedba za definicijo podatkov, le, če ste seznanjeni z izjav SQL in če nameravate izbrišete in znova ustvarite določene tabele, omejitve ali indeksi redno.

Pomembno : S poizvedbami za definicijo podatkov za spreminjanje predmetov zbirke podatkov lahko tvegano, ker dejanja, ki jih ne spremlja potrditev pogovornih oknih. Če se zmotite, lahko izgubili podatke ali nehote spremenite načrt tabele. Bodite pozorni, ko uporabljate poizvedba za definicijo podatkov za spreminjanje predmetov v zbirki podatkov. Če še niste odgovoren za vzdrževanje zbirke podatkov, ki ga uporabljate, se posvetujte s skrbnikom zbirke podatkov, preden zaženete poizvedbo za definicijo podatkov. Poleg tega je dobre prakse za varnostno kopiranje tabel, v katerem ste kot poizvedbo.

Na vrh strani

Ustvarjanje ali spreminjanje tabele

Če želite ustvariti tabelo, uporabite ukaz »CREATE TABLE«. Ukaz »CREATE TABLE« ima spodnjo sintakso:

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

Samo zahtevani elementi ukaz ustvari tabelo so sam ukaz ustvari tabelo, ime tabele, vsaj eno polje in podatkovni tip za vsako polje. Poglejmo si preprost primer.

Predstavljajte si, da želite ustvariti tabelo, v katero želite shraniti ime, letnik in ceno rabljenih avtomobilov, o nakupu katerih razmišljate. Za ime želite omogočiti 30 znakov in 4 znake za letnik. Če želite tabelo ustvariti s poizvedbo za definicijo podatkov, storite to:

Opomba : Najprej omogočite vsebine zbirke podatkov, če poizvedba za definicijo podatkov, če želite zagnati.

  1. V Vrstici za sporočilakliknite možnostiin nato kliknite Omogoči vsebino.

  2. Na kartici Ustvari v skupini Drugo kliknite Načrt poizvedbe.

  3. Zaprite pogovorno okno Pokaži tabelo.

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

    Mreža načrta je skrita, prikazan pa je zavihek predmetov pogleda SQL.

  5. Vnesite spodnjo izjavo SQL:

    CREATE TABLE Avtomobili (Ime TEXT(30), Letnik TEXT(4), Cena CURRENCY)

  6. Na kartici 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 izbrišete (odstranite) stolpce ali omejitve. Ukaz »ALTER TABLE « ima spodnjo sintakso:

ALTER TABLE table_name predicate

Če je temeljno je lahko kateri koli od tega:

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

ADD CONSTRAINT multifield_constraint

ALTER COLUMN field type[(size)]

DROP COLUMN field

DROP CONSTRAINT constraint

Recimo, da želite dodati polje z besedilom z dolžino 10 znakov, v katerega bi shranili podatke o stanju posameznega avtomobila. Naredite lahko to:

  1. Na kartici Ustvari v skupini Drugo kliknite Načrt poizvedbe.

  2. Zaprite pogovorno okno Pokaži tabelo.

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

    Mreža načrta je skrita, prikazan pa je zavihek predmetov pogleda SQL.

  4. Vnesite spodnjo izjavo SQL:

    ALTER TABLE Avtomobili ADD COLUMN Stanje TEXT(10)

  5. Na kartici Načrt v skupini Rezultati kliknite Zaženi.

Na vrh strani

Ustvarjanje kazala

Če želite ustvariti kazalo na obstoječi tabeli, uporabite ukaz »CREATE INDEX«. Ukaz »CREATE INDEX« ima spodnjo sintakso:

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

Edini nujni elementi so ukaz »CREATE INDEX«, ime kazala, argument »ON«, ime tabele, v kateri je polje, za katerega želite ustvariti kazalo, in seznam polj, ki jih želite vključiti v kazalo.

  • Argument »DESC« povzroči, da je kazalo ustvarjeno v padajočem vrstnem redu, kar je uporabno, če pogosto izvajate poizvedbe, ki iščejo zgornje vrednosti indeksiranega polja, ali ki indeksirano polje razvrščajo v padajočem vrstnem redu. Privzeto je kazalo ustvarjeno v naraščajočem vrstnem redu.

  • S PRIMARNO argument vzpostavlja indeksirana polja ali polja kot primarni ključ tabele.

  • Argument »WITH DISALLOW NULL« povzroči, da kazalo zahteva, da je v indeksirano polje vnesena vrednost  – ničelne vrednosti torej niso dovoljene.

Recimo, da imate tabelo z imenom »Avtomobili«, v kateri so polja z imenom, letnikom, ceno in stanjem rabljenih avtomobilov, o nakupu katerih razmišljate. Recimo, da je tabela postala velika in da v poizvedbah pogosto uporabite polje z letnikom. Ustvarite lahko kazalo polja »Letnik«, če želite, da bodo poizvedbe rezultate vračale hitreje. To storite s spodnjim postopkom:

  1. Na kartici Ustvari v skupini Drugo kliknite Načrt poizvedbe.

  2. Zaprite pogovorno okno Pokaži tabelo.

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

    Mreža načrta je skrita, prikazan pa je zavihek predmetov pogleda SQL.

  4. Vnesite spodnjo izjavo SQL:

    CREATE INDEX KazaloLetnikov ON Avtomobili (Letnik)

  5. Na kartici Načrt v skupini Rezultati kliknite Zaženi.

Na vrh strani

Ustvarjanje omejitve ali relacije

Omejitev vzpostavi logičen pogoj, ki ga mora polje ali kombinacija polj upoštevati, ko vnesete vrednosti. Omejitev »UNIQUE« na primer preprečuje, da bi polje z omejitvijo sprejelo vrednost, ki bi podvojila obstoječo vrednost polja.

Relacije je vrsta omejitve, ki se sklicuje na vrednosti polja ali kombinacija polja v drugi tabeli, da določite, ali vrednost lahko vstavite v omejeno polje ali kombinacijo polj.

Če želite ustvariti omejitev, uporabite stavek »CONSTRAINT« v ukazu »CREATE TABLE« ali »ALTER TABLE«. Obstajata dve vrsti stavkov »CONSTRAINT«: eden za ustvarjanje omejitve v enem polju in drug za ustvarjanje omejitve v več poljih.

Omejitve za eno polje:

Stavek »CONSTRAINT« za omejitev v enem polju neposredno sledi definiciji polja, ki ga omejuje, in ima spodnjo sintakso:

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

Recimo, da želite tabelo z imenom »Avtomobili« s polji za ime, letnik, ceno in stanje rabljenih avtomobilov, o nakupu katerih razmišljate. Recimo, da ob tem pogosto pozabite vnesti vrednost za stanje avtomobila, te podatke pa želite vedno zapisati. Na polju »Stanje« ustvarite omejitev, ki preprečuje, da bi polje pustili prazno. To storite s spodnjim postopkom:

  1. Na kartici Ustvari v skupini Drugo kliknite Načrt poizvedbe.

  2. Zaprite pogovorno okno Pokaži tabelo.

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

    Mreža načrta je skrita, prikazan pa je zavihek predmetov pogleda SQL.

  4. Vnesite spodnjo izjavo SQL:

    ALTER TABLE Avtomobili ALTER COLUMN Stanje TEXT CONSTRAINT ZahtevanoStanje NOT NULL

  5. Na kartici Načrt v skupini Rezultati kliknite Zaženi.

Zdaj, recimo, da čez nekaj časa, boste opazili, da so podobne vrednosti v polju stanje, ki morajo biti enako. Na primer nekaj avtomobilov imajo vrednost pogoja slabo in imajo drugi vrednost je slabo. Ko jih počistiti vrednosti tako, da so bolj dosledne, lahko ustvarite tabelo z imenom CarCondition, z eno polje, imenovano pogoj, ki vsebuje vse vrednosti, ki jo želite uporabiti za pogoj avtomobilov:

  1. Na kartici Ustvari v skupini Drugo kliknite Načrt poizvedbe.

  2. Zaprite pogovorno okno Pokaži tabelo.

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

    Mreža načrta je skrita, prikazan pa je zavihek predmetov pogleda SQL.

  4. Vnesite spodnjo izjavo SQL:

    CREATE TABLE StanjeAvtomobila (Stanje TEXT(10))

  5. Na kartici Načrt v skupini Rezultati kliknite Zaženi.

  6. Če želite vrednosti iz polja »Stanje« v tabeli »Avtomobili« vstaviti v novo tabelo »StanjeAvtomobila«, vnesite spodnji SQL na zavihek predmetov pogleda SQL:

    INSERT INTO StanjeAvtomobila SELECT DISTINCT Stanje FROM Avtomobili;

    Opomba : Izjave SQL v tem koraku je za poizvedba za dodajanje. Za razliko od poizvedba za definicijo podatkov, poizvedbo za dodajanje končajo s podpičjem.

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

Če želite zahtevati, da se nove vrednosti, ki jih vnesete v polje »Stanje« v tabeli »Avtomobili« ujema z vrednostjo v polju »Stanje« v tabeli »StanjeAvtomobila«, lahko ustvarite relacijo med tabelama »StanjeAvtomobila« in »Avtomobili« v polju z imenom »Stanje«. To storite s spodnjim postopkom:

  1. Na kartici Ustvari v skupini Drugo kliknite Načrt poizvedbe.

  2. Zaprite pogovorno okno Pokaži tabelo.

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

    Mreža načrta je skrita, prikazan pa je zavihek predmetov pogleda SQL.

  4. Vnesite spodnjo izjavo SQL:

    ALTER TABLE Avtomobili ALTER COLUMN Stanje TEXT CONSTRAINT StanjeKljučaF REFERENCES StanjeAvtomobila (Stanje)

  5. Na kartici Načrt v skupini Rezultati kliknite Zaženi.

Omejitve za več polj:

Stavek CONSTRAINT več polj lahko uporabite le zunaj definicijo polja stavek 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}]}

Poglejmo si še en primer prek avtomobilov tabele. Recimo, da želite zagotoviti, da ni dva zapisa v tabeli avtomobilov isti nabor vrednosti za ime, leto, stanje in cene. Ustvarite lahko ENOLIČNE omejitve, ki se uporablja za ta polja tako, da sledite temu postopku:

  1. Na kartici Ustvari v skupini Drugo kliknite Načrt poizvedbe.

  2. Zaprite pogovorno okno Pokaži tabelo.

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

    Mreža načrta je skrita, prikazan pa je zavihek predmetov pogleda SQL.

  4. Vnesite spodnjo izjavo SQL:

    ALTER TABLE Avtomobili ADD CONSTRAINT BrezDvojnikov UNIQUE (ime, letnik, stanje, cena)

  5. Na kartici Načrt v skupini Rezultati kliknite Zaženi.

Na vrh strani

Opomba : Strojni prevod – zavrnitev odgovornosti: Ta članek je bil preveden z računalniškim programom brez človeškega posredovanja. Microsoft skuša s strojno prevedenimi članki vsebino o Microsoftovih izdelkih, storitvah in tehnologijah približati osebam, ki ne razumejo angleščine. Ker je bil članek strojno preveden, so lahko v njem jezikovne, slovnične in pravopisne napake.

Razširite svoja znanja
Oglejte si izobraževanje
Prvi dobite nove funkcije
Pridružite se programu Office Insider

Vam je bila informacija v pomoč?

Zahvaljujemo se vam za povratne informacije.

Zahvaljujemo se vam za povratne informacije. Videti je, da bi vam prišla prav pomoč enega od naših Officeovih agentov za podporo.

×