Birincil anahtar ekleme, ayarlama, değiştirme veya kaldırma

Veritabanınızdaki her tablonun bir birincil anahtarı olmalıdır. Birincil anahtar, tabloda depolanan her kayıt için benzersiz bir değer içeren bir veya birden çok alandır. Birincil anahtarı, alanları tanımlamak ve bunlara başvuruda bulunmak için kullanabilirsiniz.

Tablo oluşturduğunuzda Access sizin için otomatik olarak bir birincil anahtar alanı oluşturabilir veya birincil anahtar olarak kullanmak istediğiniz alanları kendiniz belirtebilirsiniz. Bu makalede, birincil anahtarların nasıl ve neden kullanıldığı açıklanır.

Birincil anahtar oluşturmanın nedenlerinden biri, bunu kullanarak tablo ilişkileri oluşturmaktır. Bu konu başlığı altında ilişkilerin nasıl oluşturulduğu açıklanmaz. Daha fazla bilgi için, Ayrıca Bkz bölümünü gözden geçirin.

Bu makalede

Genel bakış

Otomatik Sayı birincil anahtarı ekleme

Birincil anahtar olarak kullanılacak alanların belirtme

Birincil anahtarı kaldırma

Birincil anahtarı oluşturmak veya kaldırmak için SQL kullanma

Daha fazla bilgi

Genel Bakış

Veritabanı tasarlarken bilgileri tablolara ayırırsınız ve her tablo Müşteriler veya Siparişler gibi belirli bir konuyla ilgili olur. Bu yöntem yinelenen ve çelişkili verileri önlemeye yardımcı olur.

Örneğin, her müşterinin birçok siparişi olabilir. Müşterinin adresini Siparişler tablosundaki her kayıtta depolamak yerine, bu bilgiyi Müşteriler tablosundaki bir kayıtta yalnızca bir kez depolarsınız. Müşteri bilgilerini sipariş hakkındaki diğer bilgilerle birleştirmek için, anahtar alanları kullanarak iki tablo arasında bir ilişki oluşturursunuz.

Birincil anahtarlar

Tablonun tek bir birincil anahtarı olabilir. Birincil anahtar, şu özellikleri taşıyan bir veya birden çok alandır:

  • Her kayıt için benzersiz bir değeri vardır

  • Dizine eklenmiştir

  • Kaydı tanımlar

İki tablo arasında ilişki oluşturmak için, bir tablodaki birincil anahtarı diğer tabloya ekleyebilirsiniz. Diğer tabloda bu, yabancı anahtar olarak adlandırılır.

Örneğin, Müşteriler tablosunun birincil anahtarını Siparişler tablosunda kullandığınızı varsayalım. Siparişler tablosunda bu bir yabancı anahtardır.

İki Access veri sayfası arasında gösterilen birincil anahtar ve yabancı anahtar

1. Birincil anahtar

2. Yabancı anahtar

Yabancı anahtarlar

Basitçe belirtmek gerekirse, yabancı anahtar başka bir tablonun birincil anahtarıdır. Yabancı anahtar alanındaki değerler birincil anahtar değerleriyle eşleşir ve bu da iki kaydın, örneğin müşteriyle onun verdiği siparişin ilişkili olduğunu gösterir. Birincil anahtarlardan farklı olarak:

  • Tabloda birden çok yabancı anahtar olabilir.

  • Yabancı anahtarın benzersiz değerlere sahip olması zorunlu değildir.

  • Yabancı anahtar, belirli bir kaydı güvenilir bir şekilde tanımlayamaz. Örneğin, Müşteri Kimliği değerine bakarak Siparişler tablosundaki hangi kaydı görüntülediğinizi her zaman söyleyemezsiniz.

Alan oluştururken Arama Sihirbazı'nı kullandığınızda, bir yabancı anahtar oluşturursunuz.

Aday anahtarlar

Bazen bir tabloda iyi bir birincil anahtar alanı olabilecek, seri numarası veya ürün kodu gibi bir alan zaten vardır. Bu tür alanlar aday anahtar olarak adlandırılır.

Örneğin, orta öğretim sonrası eğitim sonuçlarını izliyorsanız bir Yüksekokullar tablonuz olabilir. ABD Eğitim Bakanlığı Orta Öğretim Sonrası Eğitim Veri Sistemi (IPEDS) gibi her yüksekokula bir kod numarasının verildiği resmi bir yüksekokul veritabanı olduğunu varsayalım. Yüksekokullar tablonuzda birincil anahtar olarak sistemin sağladığı kodu kullanabilirsiniz.

İyi bir aday anahtar şu özellikleri taşır:

  • Her değer benzersizdir. Tabloda anahtar için aynı değere sahip iki kayıt yoktur.

  • Hiçbir zaman boş veya sıfır olmaz, her zaman bir değer içerir.

  • Bir kez belirlendikten sonra, her değer görece olarak kalıcı olma özelliğine sahiptir. İdeal koşullarda, anahtar alanındaki değerler hiçbir zaman değiştirilmez; yalnızca eklenir veya kaldırılır.

Müşterinin adı, kötü bir birincil anahtar seçeneğidir. Bazı adlar benzersiz olsa da, bazıları değildir. Değerlerin benzersiz olacağından emin olamadığınızdan, adlar aday anahtar değildir.

Veri Sayfası görünümünde yeni tablo oluşturduğunuzda, Access sizin için otomatik olarak bir birincil anahtar alanı oluşturur, alanı Kimlik olarak adlandırır ve bu alana Otomatik Sayı veri türünü atar. Alan, Veri Sayfası Görünümü'nde varsayılan olarak gizlenmiştir, ancak Tasarım Görünümü'ne geçerseniz alanı görebilirsiniz.

Otomatik Sayı alanları

Tablonuzda iyi aday anahtarlar yoksa ve tabloyu Veri Sayfası görünümünde oluşturmadıysanız, Otomatik Sayı veri türünde bir alan eklemeyi ve sonra bu alanı birincil anahtar olarak kullanmayı tercih edebilirsiniz. Otomatik Sayı alanı, eklenen her kayıt için yeni, benzersiz bir değer alır. Kayıtları silseniz bile, değerler yeniden kullanılmaz. Dolayısıyla Otomatik Sayı alanı her kayıt için benzersiz değerler üretir ve iyi bir birincil anahtar olur.

Birincil anahtar alanı olan Ürünler tablosunu gösteren resim.

1. Veri türü OtomatikSayı olan bir sütun, iki Ürün Kimliği'nin aynı olmamasını garanti ettiğinden, çoğunlukla iyi bir birincil anahtar olur.

Bileşik anahtarlar

Bazı durumlarda, tablonun birincil anahtarı olarak iki veya daha çok alanı birlikte kullanmanız gerekebilir. Örneğin, siparişler için satır öğelerinin depolandığı bir Sipariş Ayrıntıları tablosunda birincil anahtar olarak iki alan kullanılabilir: Sipariş Kimliği ve Ürün Kimliği. Birden çok alanı olan bir anahtar, bileşik anahtar olarak adlandırılır.

Not : Arama Sihirbazı'nı kullanarak bileşik yabancı anahtar oluşturamazsınız. Bileşik yabancı anahtar oluşturmak için, birden çok alan kısıtlaması oluşturan bir veri tanımı sorgusu kullanabilirsiniz. Daha fazla bilgi için, Veri tanımı sorgusunu kullanarak tablo veya dizin oluşturma ya da değiştirme konusuna bakın.

Sayfanın Başı

Otomatik Sayı birincil anahtarı ekleme

  1. Gezinti Bölmesi'nde, birincil anahtar eklemek istediğiniz tabloya sağ tıklayın ve kısayol menüsünde Tasarım Görünümü'ne tıklayın.

  2. Tablo tasarım kılavuzunun ilk boş satırında, Alanı Adı sütununa MüşteriKimliği gibi bir ad yazın.

  3. Veri Türü sütununda aşağı oka tıklayın ve ardından Otomatik Sayı'ya tıklayın.

  4. Alan Özellikleri altında, Yeni Değerler öğesinde, birincil anahtar için artımlı sayısal değerler kullanmak üzere Artış seçeneğini tıklatın veya rasgele sayılar kullanmak üzere Rasgele seçeneğini tıklatın.

  5. Tasarım sekmesinde, Araçlar grubunda, Birincil Anahtar öğesini tıklatın.

    Tasarım sekmesinde Araçlar grubu

    Anahtar göstergesi, Otomatik Sayı alanının sol tarafında görünür.

    Tablo tasarım değişikliklerinizi kaydetmek için CTRL+S tuşlarına basın.

Sayfanın Başı

Birincil anahtar olarak kullanılacak alanların belirtme

  1. Gezinti Bölmesi'nde, birincil anahtarını ayarlamak istediğiniz tabloya sağ tıklayın ve kısayol menüsünde Tasarım Görünümü'ne tıklayın.

  2. Birincil anahtar olarak kullanmak istediğiniz alanı veya alanları seçin.

    İpucu : Birden çok alan seçmek için, CTRL tuşunu basılı tutarak alanlara tıklayın.

  3. Tasarım sekmesinde, Araçlar grubunda, Birincil Anahtar öğesini tıklatın.

    Tasarım sekmesinde Araçlar grubu

    Birincil anahtar olarak belirttiğiniz alan veya alanların solunda bir anahtar göstergesi görüntülenir.

    Tablo tasarım değişikliklerinizi kaydetmek için CTRL+S tuşlarına basın.

Sayfanın Başı

Birincil anahtarı kaldırma

Tablonun birincil anahtarını kaldırdığınızda, daha önce birincil anahtar olarak kullanılan alan veya alanlar artık bir kaydı tanımlamanın birincil aracı olma özelliğini kaybeder. Bununla birlikte, birincil anahtarın kaldırılması, alanı veya alanları tablonuzdan silmez. Bunun yerine, bu alanlardan birincil anahtar atamasını kaldırır.

Birincil anahtarın kaldırılması, birincil anahtar için oluşturulmuş dizini de kaldırır.

  1. Birincil anahtarı kaldırabilmek için, önce onun hiçbir bir tablo ilişkisine katılmadığından emin olmalısınız. İlişkisi olan bir birincil anahtarı kaldırmaya çalışırsanız, Access önce ilişkiyi silmeniz konusunda sizi uyarır.

    Tablo ilişkisini silme

    1. Tablo ilişkisine katılan tablolar açıksa, onları kapatın. Açık tablolar arasındaki bir tablo ilişkisini silemezsiniz.

    2. Veritabanı Araçlarısekmesinde, Göster/Gizle grubunda, İlişkiler'i tıklatın.

      access şeridi resmi

    3. Tablo ilişkisine katılan tablolar görünür değilse, Tasarla sekmesinde, İlişkiler grubunda Tabloyu Göster seçeneğini tıklatın. Daha sonra Tabloyu Göster iletişim kutusunda eklenecek tabloları seçin, Ekle seçeneğini tıklatın ve ardından Kapat komutunu tıklatın.

    4. Silmek istediğiniz tablo ilişkisinin tablo ilişkisi satırına tıklayın (seçildiği zaman satır kalın yazı tipinde gösterilir) ve sonra DELETE tuşuna basın.

    5. Tasarım sekmesinde, İlişkiler grubunda, Kapat'ı tıklatın.

      Şerit Tasarım Sekmesi İlişkiler Grubu

  2. Gezinti Bölmesi'nde, birincil anahtarını kaldırmak istediğiniz tabloya sağ tıklayın ve kısayol menüsünde Tasarım Görünümü'ne tıklayın.

  3. Geçerli birincil anahtar alanına tıklayın.

    Birincil anahtar birden çok alandan oluşuyorsa, birincil anahtardaki herhangi bir alanın satır seçicisini tıklatın.

  4. Tasarım sekmesinde, Araçlar grubunda, Birincil Anahtar öğesini tıklatın.

    Tasarım sekmesinde Araçlar grubu

    Anahtar göstergesi, önceden birincil anahtar olarak belirttiğiniz alan veya alanlardan kaldırılır.

Not : Birincil anahtar ayarlamadan yeni bir tablo kaydettiğinizde, Access sizden bir birincil anahtar oluşturmanızı ister. Evet'i seçerseniz, her kayıt için benzersiz bir değer sağlamak üzere Otomatik Sayı veri türünü kullanan bir Kimlik alanı oluşturulur. Tablonuzda zaten bir Otomatik Sayı alanı varsa, Access birincil anahtar olarak o alanı kullanır.

Sayfanın Başı

Birincil anahtarı değiştirme

Tablonun birincil anahtarını değiştirmek için bu adımları izleyin:

  1. Birincil anahtarı kaldırma bölümündeki yönergeleri kullanarak var olan birincil anahtarı kaldırın.

  2. Birincil anahtar olarak kullanılacak alanları belirtme bölümündeki yönergeleri kullanarak yeni bir birincil anahtar oluşturun.


Sayfanın Başı

Birincil anahtarı oluşturmak veya kaldırmak için SQL kullanma

Access'te, birincil anahtar bir dizin olarak uygulanır. Birincil anahtarı oluşturmak için Tasarım görünümünü kullandığınızda, Access dizini sizin için oluşturur. İsterseniz, birincil anahtarı oluşturmak için bir veri tanımı sorgusu da kullanabilirsiniz. Aynı birincil anahtarı oluşturmak istediğiniz her durumda sorguyu yeniden kullanabilirsiniz. Bir tabloyu düzenli aralıklarla bırakıyor ve yeniden oluşturuyorsanız, bu özellik kullanışlı olabilir.

SQL kullanarak birincil anahtar oluşturma

Var olan bir tabloya birincil anahtar oluşturmak için CREATE INDEX komutunu kullanırsınız.

CREATE INDEX komutunu bir veri tanımı sorgusunda da kullanırsınız.

  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.

    Sorgu SQL görünümüne geçer.

  4. Aşağıdaki SQL'i sorguya yazın veya yapıştırın:

    CREATE INDEX 
    ON ( )
    WITH PRIMARY
  5. İlk satırın sonuna dizin için bir ad yazın.

    İpucu : Dizinin birincil anahtar olduğunu belirtmek için adın ba harfleriyle başlaması yararlı olabilir. Birincil anahtar dizinlerinizi tutarlı bir şekilde adlandırmak, bunları diğer dizinlerden ayırt etmeyi kolaylaştırır.

  6. İkinci satırda, ON anahtar sözcüğünden sonra ama parantezlerden önce tablonun adını yazın.

  7. Parantezin içine birincil anahtar olarak kullanmak istediğiniz alanları yazın. Birden çok alan yazarsanız, alanları virgülle birbirinden ayırın.

  8. Sorguyu kaydetmek için CTRL+S tuşlarına basın.

    Not : Zaten var olan bir dizini oluşturamazsınız. Birincil anahtar oluşturan bir sorguyu yeniden kullanmak isterseniz, önce var olan birincil anahtarı kaldırmanız gerekir.

SQL kullanarak birincil anahtarı kaldırma

Tablodan birincil anahtarı kaldırmak için DROP INDEX komutunu kullanırsınız.

DROP INDEX komutunu bir veri tanımı sorgusunda da kullanırsınız.

  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.

    Sorgu SQL görünümüne geçer.

  4. Aşağıdaki SQL'i sorguya yazın veya yapıştırın:

    DROP INDEX 
    ON
  5. İlk satırın sonuna, dizinin adını yazın.

    İpucu : Dizinin adını bilmiyorsanız, bulabilirsiniz. Önce, tabloyu Tasarım görünümünde açın. Ardından, Tasarım sekmesinin Göster/Gizle grubunda Dizinler'e tıklayın.

  6. İkinci satırda, ON anahtar sözcüğünden sonra ama parantezlerden önce tablonun adını yazın.

  7. Sorguyu kaydetmek için CTRL+S tuşlarına basın.

Daha fazla bilgi için

Veritabanı tasarımı ve uygun bir birincil anahtar seçme konusunda daha fazla bilgi için, Veritabanı tasarımı temel bilgileri ve Tablo oluşturma makalelerine bakın.

Sayfanın Başı

Bu bilgi yararlı oldu mu?

Harika! Başka geri bildirim göndermek istiyor musunuz?

Özellikleri nasıl daha iyi hale getirebiliriz?

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

×