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 .

Tabele, omejitve, kazala in relacije lahko ustvarite ali spremenite tako, da v pogledu SQL napišete poizvedbe za definicijo podatkov.

V tem članku so razložene poizvedbe za definicijo podatkov ter načini, kako z njimi ustvarite tabele, omejitve, kazala in relacije. Članek vam bo tudi pomagal pri odločitvah, kdaj uporabiti poizvedbo za definicijo podatkov.

Opomba : Teh postopkov ni mogoče uporabiti v spletni zbirki podatkov.

V tem članku

Pregled

Ustvarjanje ali spreminjanje tabele

Ustvarjanje indeksa

Ustvarjanje omejitve ali relacije

Pregled

Za razliko od drugih poizvedb poizvedba za definicijo podatkov ne pridobiva podatkov. Poizvedba za definicijo podatkov z jezikom za definiranje podatkov ustvarja, spreminja ali izbriše predmete zbirke podatkov.

Opomba : Jezik za definiranje podatkov (DDL) je del jezika »Structured Query Language« (SQL).

Poizvedbe za definicijo podatkov so lahko zelo pripravne. Dele sheme zbirke podatkov lahko redno brišete in znova ustvarjate tako, da preprosto izvedete nekaj poizvedb. Poizvedbe za definicijo podatkov uporabite, če ste seznanjeni z izjavami SQL in želite izbrisati in znova ustvariti določene tabele, omejitve, kazala ali relacije.

Opozorilo : Spreminjanje predmetov zbirke podatkov s poizvedbami za definicijo podatkov je lahko tvegano, ker dejanj ne spremljajo potrdilna pogovorna okna. Če storite napako, lahko izgubite podatke ali nenamerno spremenite načrt tabele. Bodite previdni, kadar predmete v zbirki podatkov spreminjate s poizvedbo za definicijo podatkov. Če za vzdrževanje zbirke podatkov, ki jo uporabljate, niste odgovorni, se posvetujte s skrbnikom zbirke podatkov, preden izvedete poizvedbo za definicijo podatkov.

Pomembno : Preden izvedete poizvedbo za definicijo podatkov, ustvarite varnostno kopijo vseh vključenih tabel.

Ključne besede DDL-ja

Ključna beseda

Uporaba

CREATE

Ustvarite kazalo ali tabelo, ki še ne obstaja.

ALTER

Spremenite obstoječo tabelo ali stolpec.

DROP

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

ADD

Dodajte stolpec ali omejitev v tabelo.

COLUMN

Uporabite z ukazi »ADD«, »ALTER« ali »DROP«

CONSTRAINT

Uporabite z ukazi »ADD«, »ALTER« ali »DROP«

INDEX

Uporabite z ukazom »CREATE«

TABLE

Uporabite z ukazi »ALTER«, »CREATE« ali »DROP«

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 [, ...]])

Edina nujna elementa ukaza »CREATE TABLE« sta sam ukaz »CREATE TABLE« in ime tabele, vendar boste običajno želeli določiti nekaj polj in drugih vidikov tabele. Poglejte ta 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 : Morda boste morali najprej omogočiti vsebino zbirke podatkov, če boste želeli, da se izvede poizvedba za definicijo podatkov:

  • V vrstici za sporočila kliknite Omogoči vsebino.

Ustvarjanje tabele

  1. Na zavihku Ustvari v skupini Makri in koda 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:

    USTVARJANJE TABELE avtomobilov (ime TEXT(30), leto TEXT(4), cena VALUTA)

  5. 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

kjer je temeljno lahko nekaj 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 zavihku Ustvari v skupini Makri in koda 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 TABELA avtomobilov Dodaj STOLPEC 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 zavihku Ustvari v skupini Makri in koda 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:

    USTVARJANJE INDEKSA YearIndex na avtomobili (leto)

  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.

Relacija je vrsta omejitve, ki se sklicuje na vrednosti polja ali kombinacije polj v drugi tabeli in ugotovi, ali je vrednost mogoče vnesti v polje z omejitvijo ali kombinacijo polj. Za označevanje omejitve kot relacije se ne uporablja posebna ključna beseda.

Č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 zavihku Ustvari v skupini Makri in koda 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 TABELA avtomobilov ALTER STOLPEC stanje BESEDILO OMEJITEV ConditionRequired NI NIČ

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

Recimo, da čez nekaj časa opazite, da je v polju »Stanje« veliko podobnih vrednosti, ki pa bi morale biti enake. Nekateri avtomobili imajo vrednost v polju »Stanje« na primer slabše, drugi pa slabo.

Opomba : Če želite nadaljevati s preostalimi postopki, v tabelo »Avtomobili«, ki ste jo ustvarili v prejšnjih korakih, dodajte nekaj lažnih podatkov.

Ko vrednosti počistite in so bolj enotne, lahko ustvarite tabelo z imenom »StanjeAvtomobila« z enim poljem »Stanje«, v katerem so vse vrednosti, ki jih želite uporabiti za stanje avtomobilov:

  1. Na zavihku Ustvari v skupini Makri in koda 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:

    USTVARJANJE TABELE CarCondition (pogoj TEXT(10))

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

  6. Z izjavo ALTER TABLE ustvarite primarni ključ tabele:

    SPREMENI TABELE CarCondition ALTER STOLPEC stanje BESEDILO OMEJITEV CarConditionPK PRIMARNEGA KLJUČA

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

    VSTAVITE CarCondition IZBERITE RAZLIKOVALNO pogoja IZ avtomobilov;

    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.

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

Ustvarjanje relacije z omejitvijo

Č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 zavihku Ustvari v skupini Makri in koda 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 TABELA avtomobilov ALTER STOLPEC stanje BESEDILO OMEJITEV FKeyCondition SKLICI CarCondition (stanje)

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

Omejitve za več polj:

Stavek »CONSTRAINT« za več polj je mogoče uporabiti le zunaj stavka za definicijo polja in ima spodnjo 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}]}

Poglejte še en primer, ki uporablja tabelo »Avtomobili«. Recimo, da se želite prepričati, da niti dva zapisa v tabeli »Avtomobili« nimata istega niza vrednosti za ime, letnik, stanje in ceno. Ustvarite lahko omejitev »UNIQUE«, ki velja za ta polja. To naredite s spodnjim postopkom:

  1. Na zavihku Ustvari v skupini Makri in koda 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 avtomobilov DODATE OMEJITVE NoDupes ENOLIČNO (ime, leto, pogoj, 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.

×