Tworzenie lub modyfikowanie tabel bądź indeksów przy użyciu kwerendy definiującej dane

Ważne : Ten artykuł został przetłumaczony maszynowo, zobacz zastrzeżenie. Angielskojęzyczną wersję tego artykułu można znaleźć tutaj .

W Microsoft Office Access 2007 jest łatwe tworzenie i modyfikowanie tabel, bez ograniczeń i indeksów w widoku projektu i tworzenie relacji za pomocą okno Relacje. Można także utworzyć i zmodyfikować te same jednostki pisząc kwerendy definiującej dane w widoku SQL.

Ten artykuł zawiera opis kwerendy definiującej dane i dowiesz się, jak używać takich kwerend do tworzenia tabel, indeksy ograniczeń i relacje. W tym artykule również umożliwia określenie, kiedy należy użyć kwerendy definiującej dane.

Co chcesz zrobić?

Dowiedz się, kiedy należy używać kwerenda definiująca dane

Tworzenie lub modyfikowanie tabeli

Tworzenie indeksu

Tworzenie ograniczenia lub relacji

Dowiedz się, kiedy należy używać kwerenda definiująca dane

Kwerenda definiująca dane nie pobieraj dane, w odróżnieniu od innych kwerend. Większość kwerend za pomocą manipulowania języka DML (Data), który obejmuje poleceń języka SQL (Structured Query), określające sposób łączenia i manipulować w celu uzyskania wyników dane, które mają dane z istniejących obiektów bazy danych. Język DDL (Data Definition), który obejmuje poleceń SQL, które określają definicji obiektów bazy danych, które przechowywania lub indeksu danych i poleceń SQL, które kontrolowanie dostępu użytkowników do obiektów bazy danych za pomocą kwerendy definiującej dane. W Office Access 2007 kwerendy definiującej dane definiuje lub zmiany definicji obiektu bazy danych.

Ogólnie, należy używać interfejsów projektu graficznego tego Office Access 2007 zapewnia (na przykład widoku projektu i okna Relacje) do tworzenia tabel, ograniczeń, indeksów i relacji. Jednak jeśli masz tabel, które regularnie usunąć i ponownie utworzyć za pomocą tych interfejsów może stać się czasochłonne. Przy użyciu kwerendy definiującej dane, można napisać kwerendę, a następnie uruchom go ponownie w razie potrzeby. Warto rozważyć użycie kwerendy definiującej dane tylko wtedy, gdy znasz instrukcji SQL, a jeśli zamierzasz usunąć, a następnie ponownie utworzyć określonego tabel, ograniczeń lub indeksy regularnie.

Ważne : Modyfikowanie obiektów bazy danych przy użyciu kwerendy definiującej dane może być ryzykowna, ponieważ akcje nie towarzyszy okno dialogowe potwierdzenia. Jeśli popełnisz błąd, możesz utracić danych lub przypadkowo zmienić projekt tabeli. Modyfikowanie obiektów w bazie danych przy użyciu kwerendy definiującej dane, należy zachować ostrożność. Jeśli nie jesteś odpowiedzialny za konserwowanie bazy danych, którego używasz, skontaktuj się z administratorem bazy danych przed uruchomieniem kwerendy definiującej dane. Ponadto jest dobrym rozwiązaniem jest tworzenie kopii zapasowej wszystkich tabel, na którym zamierzasz takie kwerenda.

Początek strony

Tworzenie lub modyfikowanie tabeli

Do tworzenia tabeli służy polecenie CREATE TABLE. To polecenie ma następującą składnię:

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

Tylko wymagane elementy polecenia CREATE TABLE to samo polecenie CREATE TABLE, nazwę tabeli, co najmniej jedno pole i typ danych każdego pola. Pozwól nam Przyjrzyj się prosty przykład.

Załóżmy, że użytkownik chce utworzyć tabelę w celu przechowywania nazwy, roku produkcji oraz ceny używanych samochodów, których kupno rozważa. Nazwa może składać się z najwyżej 30, a rok produkcji z 4 znaków. Aby użyć kwerendy definiującej dane do utworzenia tabeli, należy wykonać następujące czynności:

Uwaga : Zawartość bazy danych, aby kwerenda definiująca dane uruchomić, należy najpierw włączyć.

  1. Na Pasku komunikatów kliknij pozycję Opcje, a następnie kliknij polecenie Włącz tę zawartość.

  2. Na karcie Tworzenie w grupie Inne kliknij przycisk Projekt kwerendy.

  3. Zamknij okno dialogowe Pokazywanie tabeli.

  4. Na karcie Projektowanie w grupie Typ kwerendy kliknij pozycję Definicja danych.

    Siatka projektu zostanie ukryta i zostanie wyświetlona karta obiektu widoku SQL.

  5. Wpisz następującą instrukcję SQL:

    CREATE TABLE Samochody (Nazwa TEXT(30), RokProdukcji TEXT(4), Cena CURRENCY)

  6. Na karcie Projektowanie w grupie Wyniki kliknij przycisk Uruchom.

Modyfikowanie tabeli

Do modyfikowania tabeli służy polecenie ALTER TABLE. Polecenia ALTER TABLE można używać do dodawania, modyfikowania lub usuwania kolumn albo ograniczeń. Polecenie ALTER TABLE ma następującą składnię:

ALTER TABLE table_name predicate

w przypadku, gdy predykatu może być dowolna z następujących czynności:

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

ADD CONSTRAINT multifield_constraint

ALTER COLUMN field type[(size)]

DROP COLUMN field

DROP CONSTRAINT constraint

Załóżmy, że użytkownik chce dodać 10-znakowe pole tekstowe, w którym będą przechowywane informacje dotyczące stanu każdego samochodu. Należy wykonać następujące czynności:

  1. Na karcie Tworzenie w grupie Inne kliknij przycisk Projekt kwerendy.

  2. Zamknij okno dialogowe Pokazywanie tabeli.

  3. Na karcie Projektowanie w grupie Typ kwerendy kliknij pozycję Definicja danych.

    Siatka projektu zostanie ukryta i zostanie wyświetlona karta obiektu widoku SQL.

  4. Wpisz następującą instrukcję SQL:

    ALTER TABLE Samochody ADD COLUMN Stan TEXT(10)

  5. Na karcie Projektowanie w grupie Wyniki kliknij przycisk Uruchom.

Początek strony

Tworzenie indeksu

Do utworzenia indeksu w istniejącej tabeli służy polecenie CREATE INDEX. To polecenie ma następującą składnię:

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

Jedynymi wymaganymi elementami są: polecenie CREATE INDEX, nazwa indeksu, argument ON, nazwa tabeli zawierającej pola do indeksowania oraz lista pól należących do indeksu.

  • Użycie argumentu DESC powoduje utworzenie indeksu w kolejności malejącej, co może być przydatne w przypadku częstego uruchamiania kwerend, które wyszukują najwyższe wartości indeksowanego pola lub sortują to pole w kolejności malejącej. Indeks jest domyślnie tworzony w kolejności rosnącej.

  • Argument z podstawowego określa indeksowane pole lub pola jako klucz podstawowy tabeli.

  • Użycie argumentu WITH DISALLOW NULL powoduje konieczność wprowadzenia wartości do pola indeksowanego — to znaczy, że wartości null nie są dozwolone.

Załóżmy, że utworzono tabelę o nazwie Samochody z polami zawierającymi nazwę, rok produkcji, cenę i stan używanych samochodów, których kupno użytkownik rozważa. Załóżmy również, że tabela stała się duża, a użytkownik często dołącza do kwerend pole zawierające rok produkcji. Można utworzyć indeks dla pola Rok, aby przyspieszyć zwracanie wyników przez kwerendy, używając następującej procedury:

  1. Na karcie Tworzenie w grupie Inne kliknij przycisk Projekt kwerendy.

  2. Zamknij okno dialogowe Pokazywanie tabeli.

  3. Na karcie Projektowanie w grupie Typ kwerendy kliknij pozycję Definicja danych.

    Siatka projektu zostanie ukryta i zostanie wyświetlona karta obiektu widoku SQL.

  4. Wpisz następującą instrukcję SQL:

    CREATE INDEX RokProdukcjiIndeks ON Samochody (RokProdukcji)

  5. Na karcie Projektowanie w grupie Wyniki kliknij przycisk Uruchom.

Początek strony

Tworzenie ograniczenia lub relacji

Ograniczenie określa warunek logiczny, który pole (lub kombinacja pól) musi spełniać podczas wstawiania wartości. Na przykład ograniczenie UNIQUE zapobiega wprowadzeniu w polu, dla którego utworzono ograniczenie, wartości będącej duplikatem istniejącej wartości pola.

Relacja jest typ ograniczenia, które odwołuje się do wartości pól lub kombinacja pól w innej tabeli, aby określić, czy wartość można wstawiać w polu ograniczone lub kombinacji pól.

Do utworzenia ograniczenia służy klauzula CONSTRAINT w poleceniu CREATE TABLE lub ALTER TABLE. Istnieją dwa rodzaje klauzul CONSTRAINT: jeden z nich pozwala utworzyć ograniczenie dla jednego pola, a drugi — dla większej liczby pól.

Ograniczenia dotyczące jednego pola

Klauzula CONSTRAINT dotycząca jednego pola jest umieszczana bezpośrednio po definicji pola, dla którego jest tworzone ograniczenie, i ma następującą składnię:

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

Załóżmy, że utworzono tabelę o nazwie Samochody z polami zawierającymi nazwę, rok produkcji, cenę i stan używanych samochodów, których kupno użytkownik rozważa. Załóżmy również, że użytkownik często zapomina o wprowadzeniu wartości dotyczącej stanu samochodu, a zawsze chce rejestrować tę informację. Aby utworzyć ograniczenie dla pola Stan, które będzie zapobiegać zostawianiu pustego pola, można użyć następującej procedury:

  1. Na karcie Tworzenie w grupie Inne kliknij przycisk Projekt kwerendy.

  2. Zamknij okno dialogowe Pokazywanie tabeli.

  3. Na karcie Projektowanie w grupie Typ kwerendy kliknij pozycję Definicja danych.

    Siatka projektu zostanie ukryta i zostanie wyświetlona karta obiektu widoku SQL.

  4. Wpisz następującą instrukcję SQL:

    ALTER TABLE Samochody ALTER COLUMN Stan TEXT CONSTRAINT StanWymagane NOT NULL

  5. Na karcie Projektowanie w grupie Wyniki kliknij przycisk Uruchom.

Załóżmy, że po jakimś czasie okaże się, że są podobne wartości w polu warunek, który powinien być taki sam. Na przykład niektóre samochodów mieć wartość warunku niskiej i inne osoby mają wartość nieprawidłowe. Po wartości są Oczyść, aby były bardziej spójny, można utworzyć tabelę o nazwie CarCondition, z jednym polem o nazwie warunku, zawierający wszystkie wartości, których chcesz użyć dla warunku samochodów:

  1. Na karcie Tworzenie w grupie Inne kliknij przycisk Projekt kwerendy.

  2. Zamknij okno dialogowe Pokazywanie tabeli.

  3. Na karcie Projektowanie w grupie Typ kwerendy kliknij pozycję Definicja danych.

    Siatka projektu zostanie ukryta i zostanie wyświetlona karta obiektu widoku SQL.

  4. Wpisz następującą instrukcję SQL:

    CREATE TABLE StanSamochodu (Stan TEXT(10))

  5. Na karcie Projektowanie w grupie Wyniki kliknij przycisk Uruchom.

  6. Aby wstawić wartości z pola Stan tabeli Samochody do nowej tabeli StanSamochodu, na karcie obiektu widoku SQL wpisz następującą instrukcję SQL:

    INSERT INTO StanSamochodu SELECT DISTINCT Stan FROM Samochody;

    Uwaga : Instrukcja SQL, w tym kroku jest zapytanie dołączające. W przeciwieństwie do kwerendy definiującej dane kwerendy dołączającej kończy się średnikiem.

  7. Na karcie Projektowanie w grupie Wyniki kliknij przycisk Uruchom.

Aby każda nowa wartość wstawiona do pola Stan w tabeli Samochody musiała być zgodna z wartością pola Stan w tabeli StanSamochodu, można utworzyć relację między polami StanSamochodu i Samochody dla pola o nazwie Stan, używając następującej procedury:

  1. Na karcie Tworzenie w grupie Inne kliknij przycisk Projekt kwerendy.

  2. Zamknij okno dialogowe Pokazywanie tabeli.

  3. Na karcie Projektowanie w grupie Typ kwerendy kliknij pozycję Definicja danych.

    Siatka projektu zostanie ukryta i zostanie wyświetlona karta obiektu widoku SQL.

  4. Wpisz następującą instrukcję SQL:

    ALTER TABLE Samochody ALTER COLUMN Stan TEXT CONSTRAINT StanKluczObcy REFERENCES StanSamochodu (Stan)

  5. Na karcie Projektowanie w grupie Wyniki kliknij przycisk Uruchom.

Ograniczenia dotyczące wielu pól

Klauzula CONSTRAINT wielu pól można używać tylko poza klauzuli definicji pola i ma następującą składnię:

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

Pozwól nam Spójrz na inny przykład przy użyciu tabeli samochody. Załóżmy, że chcesz upewnij się, że żadne dwa rekordy w tabeli samochody mają ten sam zestaw wartości dla nazwy, roku, warunek i cena. Można utworzyć unikatowości zastosowany do tych pól przy użyciu następującej procedury:

  1. Na karcie Tworzenie w grupie Inne kliknij przycisk Projekt kwerendy.

  2. Zamknij okno dialogowe Pokazywanie tabeli.

  3. Na karcie Projektowanie w grupie Typ kwerendy kliknij pozycję Definicja danych.

    Siatka projektu zostanie ukryta i zostanie wyświetlona karta obiektu widoku SQL.

  4. Wpisz następującą instrukcję SQL:

    ALTER TABLE Samochody ADD CONSTRAINT BrakDuplikatów UNIQUE (Nazwa, RokProdukcji, Stan, Cena)

  5. Na karcie Projektowanie w grupie Wyniki kliknij przycisk Uruchom.

Początek strony

Uwaga : Zrzeczenie dotyczące tłumaczenia maszynowego: Ten artykuł został przetłumaczony przez system komputerowy bez interwencji człowieka. Firma Microsoft udostępnia te tłumaczenia maszynowe, aby ułatwić użytkownikom, którzy nie znają języka angielskiego, korzystanie z zawartości dotyczącej produktów, usług i technologii firmy Microsoft. Ponieważ ten artykuł został przetłumaczony maszynowo, może zawierać błędy w słownictwie, składniowe lub gramatyczne.

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów pakietu Office

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×