Veri tanımı sorgusunu kullanarak tablo veya dizin oluşturma ya da değiştirme

Önemli : Bu makale makine çevisidir. Bkz. yasal uyarı. Bu makalenin İngilizce sürümüne buradan ulaşabilirsiniz.

Microsoft Office Access 2007içinde oluşturmak ve tablolar, kısıtlamaları ve dizinleri Tasarım görünümünde değiştirmek için ve İlişkiler penceresikullanarak ilişkiler oluşturmak için kolay bir işlemdir. Alternatif olarak, oluşturabilir ve bu aynı varlıklar SQL Görünümü'nde veri tanımı sorguları yazarak değiştirin.

Bu makalede, veri tanımı sorguları açıklanır ve tablolar, dizinler, kısıtlamaları ve ilişkiler oluşturmak için bu tür sorguları kullanımı gösterilmiştir. Bu makalede ayrıca, bir veri tanımı sorgusu kullanılacağı durumlar karar yardımcı olabilir.

Ne yapmak istiyorsunuz?

Veri tanımı sorgusu kullanılacağı durumlar öğrenin

Tablo oluşturma veya değiştirme

Dizin oluşturma

Kısıtlama veya ilişki oluşturma

Veri tanımı sorgusu kullanılacağı durumlar öğrenin

Diğer sorgularından farklı bir veri tanımı sorgusu verileri almak değil. Çoğu sorguları nasıl varolan veritabanı nesnelerini verilerinden birleştirilebilir ve istediğiniz veri sonuçları elde etmek için yönetilebilir belirlediğiniz yapılandırılmış sorgu dili (SQL) komutları kapsar veri işleme dili'ne (DML) kullanın. Veri tanımı sorguları depolamak ya da veri ve veritabanı nesnelerini kullanıcı erişimini denetleme SQL komutlarını dizine veritabanı nesnelerini tanımını belirtin SQL komutlarını kapsar veri tanımlama dili'ne (DDL) kullanın. Veri tanımı sorgusu Office Access 2007, tanımlayan veya veritabanı nesnesinin tanımını değiştirir.

Genel olarak, grafik tasarım arabirimleri kullanmanız gerektiğini Office Access 2007 Bu tablo, kısıtlamalar, dizinler ve ilişkiler oluşturmak için (örnek, Tasarım görünümü ve ilişkiler penceresi) sağlar. Düzenli olarak silin ve yeniden oluşturmak tabloları varsa, ancak bu arabirimleri kullanarak zaman alıcı olabilir. Veri tanımı sorgusu kullanarak, sorgu bir kez yazabilirsiniz ve sonra yeniden çalıştırın gerektiğinde. Yalnızca SQL deyimlerini ile hakkında bilginiz varsa ve silme ve düzenli olarak belirli tablolar, kısıtlamaları veya dizinleri yeniden oluşturmak planlıyorsanız, bir veri tanımı sorgusu kullanmayı düşünün.

Önemli : Onay iletişim kutusu eylemleri içermeyen çünkü veritabanı nesnelerini değiştirmek için veri tanımı sorguları kullanma riskli, olabilir. Bir hata yaparsanız, veri kaybı veya yanlışlıkla bir tablo tasarımını değiştirme. Veritabanınızdaki nesneleri değiştirmek için bir veri tanımı sorgusu kullandığınızda dikkatli olun. Kullanmakta olduğunuz veritabanı bakımından sorumlu emin değilseniz, bir veri tanımı sorgusu çalıştırmadan önce veritabanı yöneticisiyle danışmalısınız. Ayrıca, bağımlı olduğu tüm tabloların böyle bir sorguyu çalıştırmak üzere olduğunuz bir yedek kopyasını almayı bir uygulamadır.

Sayfanın Başı

Tablo oluşturma veya değiştirme

Tablo oluşturmak için CREATE TABLE komutunu kullanabilirsiniz. CREATE TABLE komutunda şu sözdizimi vardır:

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

Yalnızca gerekli bir tablo oluştur komutunun Tablo Oluştur komutu, tablonun adını, en az bir alan ve her alanın veri türünü öğelerdir. Bize basit bir örneği inceleyelim.

Satın almaya karar verdiğiniz kullanılmış araçların adını, üretim yılını ve fiyatını depolayacak bir tablo oluşturmak istediğinizi varsayalım. Ad için en çok 30, yıl için de 4 karaktere izin vermek istiyorsunuz. Tablo oluşturmak amacıyla veri tanımı sorgusu kullanmak için şunları yapın:

Not : Önce sırada çalıştırmak bir veri tanımı sorgusu için veritabanı içeriğini etkinleştirmeniz gerekir.

  1. İleti çubuğu' nda seçenekleri' ni tıklatın ve sonra Bu içeriği etkinleştir' i tıklatın.

  2. Oluştur sekmesinde, Diğer grubunda, Sorgu Tasarımı'nı tıklatın.

  3. Tabloyu Göster iletişim kutusunu kapatın.

  4. Tasarım sekmesinde, Sorgu Türü grubunda Veri Tanımı'nı tıklatın.

    Tasarım kılavuzu gizli, SQL görünüm nesnesi ise görünür durumdadır.

  5. Şu SQL deyimi girin:

    CREATE TABLE Araçlar (Ad TEXT(30), Yıl TEXT(4), Fiyat CURRENCY)

  6. Tasarım sekmesinde, Sonuçlar grubunda, Çalıştır'ı tıklatın.

Tablo değiştirme

Tablo değiştirmek için ALTER TABLE komutunu kullanırsınız. Sütunları veya kısıtlamaları eklemek, değiştirmek, çıkarmak (kaldırmak) için ALTER TABLE komutunu kullanabilirsiniz. ALTER TABLE komutunda şu sözdizimi vardır:

ALTER TABLE table_name predicate

Burada karşılaştırma aşağıdakilerden herhangi birini olabilir:

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

ADD CONSTRAINT multifield_constraint

ALTER COLUMN field type[(size)]

DROP COLUMN field

DROP CONSTRAINT constraint

Her araçla ilgili tek tek koşullar hakkındaki bilgileri depolamak amacıyla 10 karakterlik bir alan eklemek istediğinizi varsayalım. Aşağıdakileri yapabilirsiniz:

  1. Oluştur sekmesinde, Diğer grubunda, Sorgu Tasarımı'nı tıklatın.

  2. Tabloyu Göster iletişim kutusunu kapatın.

  3. Tasarım sekmesinde, Sorgu Türü grubunda Veri Tanımı'nı tıklatın.

    Tasarım kılavuzu gizli, SQL görünüm nesnesi ise görünür durumdadır.

  4. Şu SQL deyimi girin:

    ALTER TABLE Araçlar ADD COLUMN Koşul TEXT(10)

  5. Tasarım sekmesinde, Sonuçlar grubunda, Çalıştır'ı tıklatın.

Sayfanın Başı

Dizin oluşturma

Dizin veya varolan tabloyu oluşturmak için CREATE INDEX komutunu kullanabilirsiniz. CREATE INDEX komutunda şu sözdizimi vardır:

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

Gerekli öğeler yalnızca CREATE INDEX komutu, dizin adı, ON bağımsız değişkeni, dizinini oluşturmak istediğiniz alanların bulunduğu tablonun adı ve dizine alınacak olan alanların listesidir.

  • DESC bağımsız değişkeni azalan düzende dizine neden olur; bu da, dizini oluşturulan alanın en üst değerlerini arayan ya da dizini oluşturulan alanı azalan düzende sıralayan sorguları sık olarak yürütüyorsanız yararlıdır.

  • Bağımsız değişkeni ile birincil dizinli alan veya alanların birincil anahtar tablonun oluşturur.

  • WITH DISALLOW NULL bağımsız değişkeni, dizini oluşturulan alana girilen değerin gerektiği dizine neden olur; diğer bir deyişle boş değerlere izin verilmez.

Satın almaya karar verdiğiniz kullanılmış araçların adının, üretim yılının, fiyatının ve koşulunun depolandığı Araçlar adlı bir tablonuz olduğunu varsayalım. Bu tablonun zamanla büyüyeceğini ve sık olarak yıl alanının sorgulara katılacağını da varsayalım. Yıl alanının sonuçları daha hızlı döndürmesine yardımcı olması amacıyla dizin oluşturmak için şu yordamı kullanın:

  1. Oluştur sekmesinde, Diğer grubunda, Sorgu Tasarımı'nı tıklatın.

  2. Tabloyu Göster iletişim kutusunu kapatın.

  3. Tasarım sekmesinde, Sorgu Türü grubunda Veri Tanımı'nı tıklatın.

    Tasarım kılavuzu gizli, SQL görünüm nesnesi ise görünür durumdadır.

  4. Şu SQL deyimi girin:

    CREATE INDEX YılDizini ON Araçlar (Yıl)

  5. Tasarım sekmesinde, Sonuçlar grubunda, Çalıştır'ı tıklatın.

Sayfanın Başı

Kısıtlama veya ilişki oluşturma

Kısıtlama, değerler eklendiğinde alan veya alan bileşiminin karşıladığı mantıksal koşulu başlatır. Örneğin, UNIQUE kısıtlaması, kısıtlı alanın, alanla ilgili varolan değeri çoğaltabilecek değeri kabul etmesini engeller.

İlişki alanının değerlere başvuran sınırlama türü veya başka bir tablodaki bir değeri kısıtlanmış alanı veya alanları birleşimi eklenebilir olup olmadığını saptamak için alanlarının birleşimini olur.

Kısıtlama oluşturmak CREATE TABLE veya ALTER TABLE komutunda CONSTRAINT yan tümcesini kullanırsınız. İki tür CONSTRAINT yan tümcesi vardır: Tek bir alanda kısıtlama oluşturmak için kullanılanlar ve birden çok alanda kısıtlama oluşturmak için kullanılanlar.

Tek alanlı kısıtlamalar:

Tek alanlı CONSTRAINT yan tümcesi kısıtlanan alan tanımının hemen arkasında yer alır ve şu sözdizimine sahiptir:

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

Satın almaya karar verdiğiniz kullanılmış araçların adının, üretim yılının, fiyatının ve koşulunun depolandığı Araçlar adlı bir tablonuz olduğunu varsayalım. Sık sık araba koşullarıyla ilgili değeri girmeyi ve her zaman bu bilgileri kaydetmek istediğinizi unuttuğunuzu da varsayalım. Koşul alanını boş bırakmanızı engelleyecek kısıtlamayı bu alanda oluşturmak amacıyla şu yordamı kullanın:

  1. Oluştur sekmesinde, Diğer grubunda, Sorgu Tasarımı'nı tıklatın.

  2. Tabloyu Göster iletişim kutusunu kapatın.

  3. Tasarım sekmesinde, Sorgu Türü grubunda Veri Tanımı'nı tıklatın.

    Tasarım kılavuzu gizli, SQL görünüm nesnesi ise görünür durumdadır.

  4. Şu SQL deyimi girin:

    ALTER TABLE Araçlar ALTER COLUMN Koşul TEXT CONSTRAINT GerekliKoşul NOT NULL

  5. Tasarım sekmesinde, Sonuçlar grubunda, Çalıştır'ı tıklatın.

Şimdi bir süre sonra pek çok benzer değerleri aynı olması gereken koşul alanındaki dikkat edin, varsayalım. Örneğin, araba bazılarını kötü bir koşul değerine sahip ve başkalarının hatalıbir değeri vardır. Böylece daha tutarlı değerleri temizlemek sonra tüm araba koşul için kullanmak istediğiniz değerleri içeren koşul adlı bir alanın bulunduğu CarCondition, adlı bir tablo oluşturabilirsiniz:

  1. Oluştur sekmesinde, Diğer grubunda, Sorgu Tasarımı'nı tıklatın.

  2. Tabloyu Göster iletişim kutusunu kapatın.

  3. Tasarım sekmesinde, Sorgu Türü grubunda Veri Tanımı'nı tıklatın.

    Tasarım kılavuzu gizli, SQL görünüm nesnesi ise görünür durumdadır.

  4. Şu SQL deyimi girin:

    CREATE TABLE AraçKoşulu (Koşul TEXT(10))

  5. Tasarım sekmesinde, Sonuçlar grubunda, Çalıştır'ı tıklatın.

  6. Değerleri Araçlar tablosunun Koşul alanından yeni AraçKoşulu tablosuna eklemek için SQL görünüm nesnesi sekmesine şu SQL deyimini yazın:

    INSERT INTO AraçKoşulu SELECT DISTINCT Koşul FROM Araçlar;

    Not : Bu adım SQL deyiminde bir ekleme sorgusuolur. Veri tanımı sorgusu farklı olarak, bir ekleme sorgusu noktalı virgül biter.

  7. Tasarım sekmesinde, Sonuçlar grubunda, Çalıştır'ı tıklatın.

Araçlar tablosunun Koşul alanına eklenen yeni değerlerin AraçKoşulu tablosundaki Koşul alanının değeriyle eşleştirilmesinin gerekmesini sağlamak amacıyla Koşul adlı alandaki AraçKoşulu ve Araçlar arasında ilişkiyi şu yordamı kullanarak oluşturabilirsiniz:

  1. Oluştur sekmesinde, Diğer grubunda, Sorgu Tasarımı'nı tıklatın.

  2. Tabloyu Göster iletişim kutusunu kapatın.

  3. Tasarım sekmesinde, Sorgu Türü grubunda Veri Tanımı'nı tıklatın.

    Tasarım kılavuzu gizli, SQL görünüm nesnesi ise görünür durumdadır.

  4. Şu SQL deyimi girin:

    ALTER TABLE Araçlar ALTER COLUMN Koşul TEXT CONSTRAINT FAnahtarKoşul REFERENCES AraçKoşulu (Koşul)

  5. Tasarım sekmesinde, Sonuçlar grubunda, Çalıştır'ı tıklatın.

Çok alanlı kısıtlamalar:

Birden çok alanlı CONSTRAINT yan tümcesi, yalnızca bir alan tanımı yan dışındaki kullanılabilir ve sözdizimi aşağıdaki gibidir:

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

Bize araba tabloyu kullanarak başka bir örneği inceleyelim. Otomobil tablodaki hiçbir iki kayıt aynı değer kümesi için ad, yıl, koşul ve fiyat sağlamak istediğinizi varsayalım. Aşağıdaki yordamı kullanarak bu alanları için geçerlidir benzersiz bir kısıtlama oluşturabilirsiniz:

  1. Oluştur sekmesinde, Diğer grubunda, Sorgu Tasarımı'nı tıklatın.

  2. Tabloyu Göster iletişim kutusunu kapatın.

  3. Tasarım sekmesinde, Sorgu Türü grubunda Veri Tanımı'nı tıklatın.

    Tasarım kılavuzu gizli, SQL görünüm nesnesi ise görünür durumdadır.

  4. Şu SQL deyimi girin:

    ALTER TABLE Araçlar ADD CONSTRAINT ÇiftYok UNIQUE (ad, yıl, koşul, fiyat)

  5. Tasarım sekmesinde, Sonuçlar grubunda, Çalıştır'ı tıklatın.

Sayfanın Başı

Not : Makine Çevirisi Yasal Uyarısı: Bu makale, insan müdahalesi olmadan bir bilgisayar sistemi tarafından çevrilmiştir. Microsoft bu makine çevirilerini İngilizce bilmeyen kullanıcıların Microsoft ürünleri, hizmetleri ve teknolojileriyle ilgili içeriklerden yararlanmasına yardımcı olmak için sunar. Bu makale makine çevirisi olduğundan sözcük, cümle dizilimi ve gramer hataları içerebilir.

Yeteneklerinizi geliştirin
Eğitimleri keşfedin
Yeni özellikleri ilk olarak siz edinin
Office Insider Programına Katılın

Bu bilgi yararlı oldu mu?

Görüşleriniz için teşekkür ederiz!

Geri bildiriminiz için teşekkürler! Office destek temsilcilerimizden biriyle görüşmeniz yararlı olabilir.

×