Opprette eller endre tabeller eller indekser ved å bruke datadefinisjonsspørringer

Viktig: Denne artikkelen er maskinoversatt, se ansvarsfraskrivelsen. Du finner den engelske versjonen av artikkelen her som referanse.

I Microsoft Office Access 2007 er det enkelt å opprette og endre tabeller, betingelser og indekser i utformingsvisning, og opprette relasjoner ved hjelp av relasjonsvindu. Du kan også opprette og endre disse samme enhetene ved å skrive datadefinisjonsspørringer i SQL-visning.

Denne artikkelen beskriver datadefinisjonsspørringer, og viser hvordan du bruker slike spørringer til å opprette tabeller, indekser, betingelser og relasjoner. Denne artikkelen kan også hjelpe deg å bestemme når du bruker en datadefinisjonsspørring.

Hva vil du gjøre?

Lær når du bruker en datadefinisjonsspørring

Opprette eller endre en tabell

Lage et stikkordregister

Opprette en begrensning eller relasjon

Lær når du bruker en datadefinisjonsspørring

I motsetning til andre spørringer hente ikke en datadefinisjonsspørring data. De fleste spørringer Bruk Data manipulere språk (DML), som består av Structured Query Language (SQL) kommandoer som angir hvordan data fra eksisterende databaseobjekter kombinert og endres for å produsere resultatene, dataene du vil bruke. Datadefinisjonsspørringer Bruk Data Definition Language (DDL), som består av SQL-kommandoer angir definisjonen av databaseobjekter som lagrer eller indeksere data og SQL-kommandoer som kontrollerer brukerens tilgang til databaseobjekter. En datadefinisjonsspørring definerer eller endrer definisjonen av et databaseobjekt i Office Access 2007.

Generelt, bør du bruke grafiske utforming-grensesnitt som Office Access 2007 gir (for eksempel utformingsvisning og relasjoner-vinduet) for å opprette tabeller, betingelser, indekser og relasjoner. Men hvis du har tabeller som du regelmessig slette og gjenopprette, være ved hjelp av disse grensesnittene tidkrevende. Ved hjelp av en datadefinisjonsspørring, kan du skrive en spørring én gang, og prøv på nytt når det er nødvendig. Vurder å bruke en datadefinisjonsspørring bare hvis du er fortrolig med SQL-setninger og hvis du har tenkt å slette og gjenopprette bestemt tabeller, begrensninger eller indekser regelmessig.

Viktig: Bruke datadefinisjonsspørringer til å endre databaseobjekter kan være risikabelt, fordi handlingene ikke er medfølger dialogbokser for bekreftelse. Hvis du gjør en feil, kan du miste data eller endre utformingen av en tabell ved et uhell. Vær forsiktig når du bruker en datadefinisjonsspørring til å endre objekter i databasen. Hvis du ikke er ansvarlig for å vedlikeholde databasen som du bruker, bør du kontakte administratoren av databasen før du kjører en datadefinisjonsspørring. I tillegg er det lurt å ta en sikkerhetskopi av alle tabellene som du prøver å kjøre slik spørring.

Til toppen av siden

Opprette eller endre en tabell

Du bruker kommandoen CREATE TABLE til å opprette en tabell. Denne kommandoen har følgende syntaks:

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

De eneste obligatoriske elementene av en lag tabell-kommandoen er kommandoen Opprett tabell selve, navnet på tabellen, minst ett felt og datatypen for hvert felt. La oss se på et enkelt eksempel.

La oss si at du vil opprette en tabell for å lagre navnet, året og prisen på bruktbiler du vurderer å kjøpe. Du vil bruke opptil tretti tegn for navnet og fire tegn for året. Slik bruker du en datadefinisjonsspørring til å opprette tabellen:

Merknad: Du må først aktivere innholdet i databasen på nytt for en datadefinisjonsspørring skal kjøres.

  1. Klikk Alternativer i Meldingsfeltet, og klikk deretter Aktiver dette innholdet.

  2. Velg kategorien Opprett, gruppen Annet, og klikk Spørringsutforming.

  3. Lukk dialogboksen Vis tabell.

  4. Klikk Datadefinisjon i Spørringstype-gruppen i kategorien Utforming.

    Utformingsrutenettet skjules, og objektkategorien SQL-visning vises.

  5. Skriv inn følgende SQL-setning:

    CREATE TABLE Biler (Navn TEXT(30), År TEXT(4), Pris CURRENCY)

  6. Velg kategorien Utforming, gruppen Resultater, og klikk Kjør.

Endre en tabell

Du bruker kommandoen ALTER TABLE til å endre en tabell. Du kan bruke denne kommandoen til å legge til, endre eller fjerne kolonner eller begrensninger. Kommandoen ALTER TABLE har følgende syntaks:

ALTER TABLE table_name predicate

hvor kan predikat være ett av følgende:

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

ADD CONSTRAINT multifield_constraint

ALTER COLUMN field type[(size)]

DROP COLUMN field

DROP CONSTRAINT constraint

La oss si at du vil legge til et tekstfelt på ti tegn for å lagre informasjon om tilstanden til hver bil. Du kan gjøre følgende:

  1. Velg kategorien Opprett, gruppen Annet, og klikk Spørringsutforming.

  2. Lukk dialogboksen Vis tabell.

  3. Klikk Datadefinisjon i Spørringstype-gruppen i kategorien Utforming.

    Utformingsrutenettet skjules, og objektkategorien SQL-visning vises.

  4. Skriv inn følgende SQL-setning:

    ALTER TABLE Biler ADD COLUMN Tilstand TEXT(10)

  5. Velg kategorien Utforming, gruppen Resultater, og klikk Kjør.

Til toppen av siden

Opprette en indeks

Du bruker kommandoen CREATE INDEX til å opprette en indeks i en eksisterende tabell. Denne kommandoen har følgende syntaks:

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

De eneste obligatoriske elementene er kommandoen CREATE INDEX, navnet på indeksen, argumentet ON, navnet på tabellen som inneholder feltene du vil indeksere, og listen over felt som skal inkluderes i indeksen.

  • Argumentet DESC brukes til å opprette indeksen i synkende rekkefølge, noe som kan være nyttig hvis du ofte kjører spørringer som søker etter de øverste verdiene for det indekserte feltet, eller som sorterer det indekserte feltet i synkende rekkefølge. En indeks opprettes som standard i stigende rekkefølge.

  • Argumentet med PRIMÆRE oppretter indekserte feltet eller feltene som primærnøkkel i tabellen.

  • Argumentet WITH DISALLOW NULL brukes til å angi at det må angis en verdi for det indekserte feltet (det vil si at nullverdier ikke er tillatt).

La oss si at du har en tabell kalt Biler som inneholder felt for lagring av navnet, året, prisen og tilstanden for bruktbiler du vurderer å kjøpe. La oss også anta at tabellen har blitt stor, og at du ofte bruker År-feltet i spørringer. Du kan opprette en indeks for År-feltet for å få spørringene til å returnere resultat raskere. Dette gjør du ved å bruke følgende fremgangsmåte:

  1. Velg kategorien Opprett, gruppen Annet, og klikk Spørringsutforming.

  2. Lukk dialogboksen Vis tabell.

  3. Klikk Datadefinisjon i Spørringstype-gruppen i kategorien Utforming.

    Utformingsrutenettet skjules, og objektkategorien SQL-visning vises.

  4. Skriv inn følgende SQL-setning:

    CREATE INDEX ÅrIndeks ON Biler (År)

  5. Velg kategorien Utforming, gruppen Resultater, og klikk Kjør.

Til toppen av siden

Opprette en begrensning eller relasjon

En begrensning etablerer en logisk betingelse som et felt eller en kombinasjon av felt må oppfylle når verdier settes inn. Begrensningen UNIQUE brukes for eksempel til å forhindre at det begrensede feltet godtar en verdi som dupliserer en eksisterende verdi for feltet.

En relasjon er en type betingelse som refererer til verdier i et felt eller en kombinasjon av felt i en annen tabell for å finne ut om en verdi kan settes inn i det begrensede felt eller en kombinasjon av felt.

Du oppretter en begrensning ved å bruke en CONSTRAINT-setning i en CREATE TABLE- eller ALTER TABLE-kommando. Det finnes to typer CONSTRAINT-setninger: én for å opprette en begrensning for ett enkelt felt og en annen for å opprette en begrensning for flere felt.

Enkeltfeltbegrensninger

En CONSTRAINT-setning for ett felt kommer like etter definisjonen av feltet som den begrenser, og har følgende syntaks:

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

La oss si at du har en tabell kalt Biler som inneholder felt for lagring av navnet, året, prisen og tilstanden for bruktbiler du vurderer å kjøpe. La oss også anta at du ofte glemmer å legge inn en verdi for bilens tilstand, og at du alltid ønsker å registrere denne informasjonen. Du kan opprette en begrensning for Tilstand-feltet som forhindrer deg i å la feltet være tomt, ved å bruke følgende fremgangsmåte:

  1. Velg kategorien Opprett, gruppen Annet, og klikk Spørringsutforming.

  2. Lukk dialogboksen Vis tabell.

  3. Klikk Datadefinisjon i Spørringstype-gruppen i kategorien Utforming.

    Utformingsrutenettet skjules, og objektkategorien SQL-visning vises.

  4. Skriv inn følgende SQL-setning:

    ALTER TABLE Biler ALTER COLUMN Tilstand TEXT CONSTRAINT TilstandKreves NOT NULL

  5. Velg kategorien Utforming, gruppen Resultater, og klikk Kjør.

La oss nå anta at etter en tid du legge merke til at det er mange like verdier i betingelse-feltet som skal være det samme. Hvis du for eksempel noen av bilene har en betingelse verdi på dårlig og andre har ugyldigeverdien. Når du rydde opp i verdiene slik at de er mer konsekvent, kan du lage en tabell, kalt CarCondition, med ett felt kalt betingelse, som inneholder alle verdiene du vil bruke for tilstanden til biler:

  1. Velg kategorien Opprett, gruppen Annet, og klikk Spørringsutforming.

  2. Lukk dialogboksen Vis tabell.

  3. Klikk Datadefinisjon i Spørringstype-gruppen i kategorien Utforming.

    Utformingsrutenettet skjules, og objektkategorien SQL-visning vises.

  4. Skriv inn følgende SQL-setning:

    CREATE TABLE BilTilstand (Tilstand TEXT(10))

  5. Velg kategorien Utforming, gruppen Resultater, og klikk Kjør.

  6. Skriv inn følgende SQL-setning i objektkategorien SQL-visning når du skal sette inn verdiene fra Tilstand-feltet i Biler-tabellen i den nye BilTilstand-tabellen:

    INSERT INTO BilTilstand SELECT DISTINCT Tilstand FROM Biler;

    Merknad: SQL-setningen i dette trinnet er en tilføyingsspørring. I motsetning til en datadefinisjonsspørring slutter en tilføyingsspørring med et semikolon.

  7. Velg kategorien Utforming, gruppen Resultater, og klikk Kjør.

For å kreve at alle nye verdier som settes inn i Tilstand-feltet i Biler-tabellen, samsvarer med en verdi i Tilstand-feltet i BilTilstand-feltet, kan du opprette en relasjon mellom BilTilstand og Biler for Tilstand-feltet ved å bruke følgende fremgangsmåte:

  1. Velg kategorien Opprett, gruppen Annet, og klikk Spørringsutforming.

  2. Lukk dialogboksen Vis tabell.

  3. Klikk Datadefinisjon i Spørringstype-gruppen i kategorien Utforming.

    Utformingsrutenettet skjules, og objektkategorien SQL-visning vises.

  4. Skriv inn følgende SQL-setning:

    ALTER TABLE Biler ALTER COLUMN Tilstand TEXT CONSTRAINT SNøkkelTilstand REFERENCES BilTilstand (Tilstand)

  5. Velg kategorien Utforming, gruppen Resultater, og klikk Kjør.

Flerfeltsbegrensninger

En flere felt CONSTRAINT, setningsdel kan brukes bare utenfor en definisjon av virksomhetsfelt-setningsdel, og har følgende syntaks:

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

La oss se på et annet eksempel ved hjelp av biler-tabellen. Anta at du vil sikre at ingen poster i tabellen biler ha samme sett med verdier for navn, år, betingelsen og pris. Du kan opprette en UNIK betingelse som gjelder for disse feltene ved å bruke følgende fremgangsmåte:

  1. Velg kategorien Opprett, gruppen Annet, og klikk Spørringsutforming.

  2. Lukk dialogboksen Vis tabell.

  3. Klikk Datadefinisjon i Spørringstype-gruppen i kategorien Utforming.

    Utformingsrutenettet skjules, og objektkategorien SQL-visning vises.

  4. Skriv inn følgende SQL-setning:

    ALTER TABLE Biler ADD CONSTRAINT IngenDubletter UNIQUE (navn, år, tilstand, pris)

  5. Velg kategorien Utforming, gruppen Resultater, og klikk Kjør.

Til toppen av siden

Merknad: Ansvarsfraskrivelse for maskinoversettelse: Denne artikkelen er oversatt av et datasystem i stedet for en oversetter. Microsoft tilbyr disse maskinoversettelsene slik at brukere som ikke snakker engelsk, får tilgang til innhold om Microsoft-produkter, -tjenester og –teknologier. Ettersom artikkelen er maskinoversatt, kan den inneholde feil i vokabular, syntaks eller grammatikk.

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Office Insiders

Var denne informasjonen nyttig?

Takk for tilbakemeldingen!

Takk for tilbakemeldingen! Det høres ut som det kan være lurt å sette deg i kontakt med én av våre Office-kundestøtteagenter.

×