Kreiranje ili izmena tabela ili indeksa pomoću upita za definisanje podataka

Važno : Ovaj članak je mašinski prevesti potražite u članku Odricanje odgovornosti. O referencu pronaći verzija ovaj članak ovde na engleskom jeziku.

U Microsoft Office Access 2007, lako da kreirate i menjate tabela, ograničenjima i indeksi u prikazu dizajna, a da biste kreirali relacije pomoću prozor „Odnosi“je. Alternativno, možete da kreirate i izmenite ove iste licima pisanjem upita za definisanje podataka u SQL prikazu.

Ovaj članak opisuje upita za definisanje podataka i pokazuje kako da koristite kao što je upita za kreiranje tabele, indeksi, ograničenjima i relacije. Ovaj članak takođe mogu pomoći da odlučite kada da koristite upit za definisanje podataka.

Izaberite neku od sledećih mogućnosti:

Saznajte kada da koristite upit za definisanje podataka

Kreiranje ili izmena tabele

Kreiranje indeksa

Kreiranje ograničenja ili relacije

Saznajte kada da koristite upit za definisanje podataka

Za razliku od drugih upita, upit za definisanje podataka ne preuzmete podatke. Najveći broj upita koristi podatke za jezik (DML), koja se sastoji od komande Structured Query Language (SQL) koju odredi način kombinuju i izmanipulisani da biste dobili rezultate podataka koje želite podataka iz postojećih objekata baze podataka. Upiti za definisanje podataka koristite podataka definiciju jezik (DDL), koja se sastoji od SQL komandi koje navode definiciju objekata baze podataka koja skladišti ili indeksirati podatke i SQL komandi koje kontrolisanje korisničkog pristupa u objekte baze podataka. U Office Access 2007, upit za definisanje podataka definiše ili menja definiciju objekta u bazi podataka.

Opšte, trebalo bi da koristite grafički dizajn interfejsa tu Office Access 2007 pruža (na primer, prikaz dizajna i prozora "relacije") da biste kreirali tabele, ograničenja, indekse i relacije. Međutim, ako imate tabele koje redovno izbrišete i ponovo kreirajte, pomoću ove interfejsa može postati traje duže vreme. Pomoću upita za definisanje podataka, možete da pišete upit, a zatim ga ponovo pokrenite kada je to potrebno. Razmotrite korišćenje upita za definisanje podataka samo ako ste upoznati sa SQL izjave i ako planirate da izbrišete i ponovo kreirate određeni tabela, ograničenjima ili indeksa redovno.

Važno : Da biste izmenili objekte baze podataka pomoću upita za definisanje podataka može biti rizično, jer radnje ne prati potvrda dijaloge. Ako napravite grešku, možete da izgubite podatke ili nenamerno promena dizajna tabele. Budite pažljivi kada koristite upit za definisanje podataka da biste izmenili objekte u bazi podataka. Ako niste odgovoran za održavanje baze podataka koju koristite, trebalo bi da obratite se administratoru baze podataka pre nego što pokrenete upit za definisanje podataka. Pored toga, je dobra je praksa da biste napravili rezervnu kopiju sve tabele na kojoj nameravate da pokrenete upit za.

Vrh stranice

Kreiranje ili izmena tabele

Za kreiranje tabele koristite komandu CREATE TABLE. Komanda CREATE TABLE ima sledeću sintaksu:

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

Samo neophodne elemente za kreiranje tabele komande su komande "Kreiranje tabele" samu, ime tabele, najmanje jedno polje i tip podataka za svako polje. Pogledajmo jednostavnog primera.

Pretpostavimo da želite da kreirate tabelu da biste uskladištili ime, godinu i cenu polovnih automobila o čijoj kupovini razmišljate. Želite da dozvolite najviše 30 znakova za ime i 4 znaka za godinu. Da biste za kreiranje tabele koristili upit za definisanje podataka, uradite sledeće:

Napomena : Prvo morate da omogućite sadržaj baze podataka u vidu da upit definicije podataka da biste pokrenuli.

  1. Na Traci sa porukamakliknite na dugme Opcije, a zatim kliknite na dugme Omogući ovaj sadržaj.

  2. Na kartici Kreiranje, u grupi Ostalo kliknite na dugme Dizajn upita.

  3. Zatvorite dijalog Prikazivanje tabele.

  4. Na kartici Dizajn, u grupi Tip upita kliknite na dugme Definisanje podataka.

    Koordinatna mreža dizajna je skrivena, a prikazana je kartica objekta SQL prikaza.

  5. Otkucajte sledeći SQL izraz:

    CREATE TABLE Automobili (Ime TEXT(30), Godina TEXT(4), Cena CURRENCY)

  6. Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni.

Izmena tabele

Za izmenu tabele koristite komandu ALTER TABLE. Komandu ALTER TABLE možete koristiti za dodavanje, izmenu ili otpuštanje (uklanjanje) kolona ili ograničenja. Komanda ALTER TABLE ima sledeću sintaksu:

ALTER TABLE table_name predicate

Gde predikat može biti jedan od sledećih načina:

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

ADD CONSTRAINT multifield_constraint

ALTER COLUMN field type[(size)]

DROP COLUMN field

DROP CONSTRAINT constraint

Pretpostavimo da želite da dodate tekst od 10 znakova za skladištenje informacija o stanju svakog automobila. Možete da uradite sledeće:

  1. Na kartici Kreiranje, u grupi Ostalo kliknite na dugme Dizajn upita.

  2. Zatvorite dijalog Prikazivanje tabele.

  3. Na kartici Dizajn, u grupi Tip upita kliknite na dugme Definisanje podataka.

    Koordinatna mreža dizajna je skrivena, a prikazana je kartica objekta SQL prikaza.

  4. Otkucajte sledeći SQL izraz:

    ALTER TABLE Automobili ADD COLUMN Stanje TEXT(10)

  5. Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni.

Vrh stranice

Kreiranje indeksa

Za kreiranje indeksa u postojećoj tabeli koristite komandu CREATE INDEX. Komanda CREATE INDEX ima sledeću sintaksu:

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

Jedini obavezni elementi su sama komanda CREATE INDEX, ime indeksa, argument ON, ime tabele koja sadrži polja koja želite da indeksirate i lista polja koja će biti uključena u indeks.

  • Argument DESC dovodi do kreiranja indeksa u opadajućem redosledu, što može biti korisno ako često pokrećete upite koji traže najveće vrednosti za indeksirano polje ili koji sortiraju indeksirano polje u opadajućem redosledu. Indeks se podrazumevano kreira u rastućem redosledu.

  • SA PRIMARNI argument uspostavlja indeksirana polja ili više polja kao primarni ključ tabele.

  • Argument WITH DISALLOW NULL dovodi do toga da indeks zahteva da se unese vrednost za indeksirano polje, tj. nisu dozvoljena polja bez vrednosti.

Pretpostavimo da imate tabelu pod imenom „Automobili“ sa poljima koja skladište ime, godinu, cenu i stanje polovnih automobila o čijoj kupovini razmišljate. Pretpostavimo takođe da je tabela postala velika i da u upite često uključujete polje za godinu. Da bi upiti brže davali rezultate, za polje „Godina“ možete kreirati indeks pomoću sledeće procedure:

  1. Na kartici Kreiranje, u grupi Ostalo kliknite na dugme Dizajn upita.

  2. Zatvorite dijalog Prikazivanje tabele.

  3. Na kartici Dizajn, u grupi Tip upita kliknite na dugme Definisanje podataka.

    Koordinatna mreža dizajna je skrivena, a prikazana je kartica objekta SQL prikaza.

  4. Otkucajte sledeći SQL izraz:

    CREATE INDEX Indeks_Godina ON Automobili (Godina)

  5. Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni.

Vrh stranice

Kreiranje ograničenja ili relacije

Ograničenje uspostavlja logički uslov koji polje ili kombinacija polja moraju da ispune kada se umetnu vrednosti. Na primer, ograničenje UNIQUE sprečava ograničeno polje da primi vrednost koja bi duplirala postojeću vrednost za to polje.

Veza je tip ograničenja koja se odnosi na vrednosti polja ili kombinacije polja u drugoj tabeli da biste utvrdili da li vrednost može umetnuti u ograničenog polja ili kombinacije polja.

Za kreiranje ograničenja koristite odredbu CONSTRAINT u okviru komande CREATE TABLE ili ALTER TABLE. Postoje dve vrste odredbe CONSTRAINT: jedna za kreiranje ograničenja u jednom polju i druga za kreiranje ograničenja u više polja.

Ograničenja u jednom polju

Odredba CONSTRAINT za jedno polje trenutno prati definiciju polja koje ograničava i ima sledeću sintaksu:

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

Pretpostavimo da imate tabelu pod imenom „Automobili“ sa poljima koja skladište ime, godinu, cenu i stanje polovnih automobila o čijoj kupovini razmišljate. Takođe pretpostavimo da često zaboravljate da unesete vrednost za stanje automobila, a da uvek želite da zapišete ove informacije. Pomoću sledeće procedure u polju „Stanje“ možete kreirati ograničenje koje će vas sprečavati da ostavite polje prazno:

  1. Na kartici Kreiranje, u grupi Ostalo kliknite na dugme Dizajn upita.

  2. Zatvorite dijalog Prikazivanje tabele.

  3. Na kartici Dizajn, u grupi Tip upita kliknite na dugme Definisanje podataka.

    Koordinatna mreža dizajna je skrivena, a prikazana je kartica objekta SQL prikaza.

  4. Otkucajte sledeći SQL izraz:

    ALTER TABLE Automobili ALTER COLUMN Stanje TEXT CONSTRAINT StanjePotrebno NOT NULL

  5. Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni.

Pretpostavimo da posle nekog vremena primetite da su slične vrednosti u polju uslov koji treba da budu iste. Na primer, neki automobili koje imaju vrednost uslov za loš i druge osobe imaju vrednost za pogrešni. Nakon što očistite vrednosti kako bi oni bili dosledniji, možete da kreirate tabelu, koja se zove CarCondition, sa jednog polja, koja se zove uslov, koji sadrži sve vrednosti koje želite da koristite za uslov automobila:

  1. Na kartici Kreiranje, u grupi Ostalo kliknite na dugme Dizajn upita.

  2. Zatvorite dijalog Prikazivanje tabele.

  3. Na kartici Dizajn, u grupi Tip upita kliknite na dugme Definisanje podataka.

    Koordinatna mreža dizajna je skrivena, a prikazana je kartica objekta SQL prikaza.

  4. Otkucajte sledeći SQL izraz:

    CREATE TABLE Stanje automobila (Stanje TEXT(10))

  5. Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni.

  6. Da biste vrednosti iz polja „Stanje“ tabele „Automobili“ umetnuli u novu tabelu „Stanje automobila“, na kartici objekta SQL prikaza otkucajte sledeći SQL izraz:

    INSERT INTO Stanje automobila SELECT DISTINCT Stanje FROM Automobili;

    Napomena : SQL izjave u ovom koraku je na upit za dodavanje. Za razliku od upit za definisanje podataka upit za dodavanje se završava tačkom i zarezom.

  7. Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni.

Da biste zahtevali da se svaka nova vrednost koja se umetne u polje „Stanje“ tabele „Automobili“ podudara sa vrednošću polja „Stanje“ tabele „Stanje automobila“, u polju pod imenom „Stanje“ možete kreirati relaciju između tabela „Stanje automobila“ i „Automobili“ pomoću sledeće procedure:

  1. Na kartici Kreiranje, u grupi Ostalo kliknite na dugme Dizajn upita.

  2. Zatvorite dijalog Prikazivanje tabele.

  3. Na kartici Dizajn, u grupi Tip upita kliknite na dugme Definisanje podataka.

    Koordinatna mreža dizajna je skrivena, a prikazana je kartica objekta SQL prikaza.

  4. Otkucajte sledeći SQL izraz:

    ALTER TABLE Automobili ALTER COLUMN Stanje TEXT CONSTRAINT FKeyStanje REFERENCES Stanje automobila (Stanje)

  5. Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni.

Ograničenja u više polja

Odredba CONSTRAINT više polja koja se može koristiti samo izvan odredbu definicija polja i ima sledeću sintaksu:

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

Dozvolite nam da pogledamo još jedan primer pomoću automobili tabele. Pretpostavimo da želite da biste se uverili da nema dva zapisa u tabeli automobili imaju isti skup vrednosti za ime, godine, uslov i cene. Možete da kreirate JEDINSTVENE ograničenje koje se odnosi na ova polja pomoću sledeće procedure:

  1. Na kartici Kreiranje, u grupi Ostalo kliknite na dugme Dizajn upita.

  2. Zatvorite dijalog Prikazivanje tabele.

  3. Na kartici Dizajn, u grupi Tip upita kliknite na dugme Definisanje podataka.

    Koordinatna mreža dizajna je skrivena, a prikazana je kartica objekta SQL prikaza.

  4. Otkucajte sledeći SQL izraz:

    ALTER TABLE Automobili ADD CONSTRAINT NoDupes UNIQUE (Ime, Godina, Stanje, Cena)

  5. Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni.

Vrh stranice

Napomena : Odricanje odgovornosti mašinskog prevođenja: ovaj članak je preveden sistem računara bez ljudski interventne. Microsoft nudi ove mašinskog prevoda da pomogne koja nije na engleskom govornih korisnicima da uživate u sadržaju za Microsoft proizvode, usluge i tehnologijama. U članku bio mašinskog prevesti, mogu da sadrže greške u rečnik, sintaksa ili gramatiku.

Unapredite veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Office Insider korisnicima

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Zvuči da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×