Nasıl Access veritabanındaki tablolar arasında ilişkiler tanımlama

Makale çevirileri Makale çevirileri
Makale numarası: 304466 - Bu makalenin geçerli olduğu ürünleri görün.
Acemi: tek kullanıcılı bilgisayarlarda kullanıcı arabiriminin bilgisi gerektirir.

Bu makale yalnızca Microsoft Access veritabanına (.mdb veya .accdb) geçerlidir.
Bu makalenin Microsoft Access 2000 sürümü için bkz: 304467.
Bu makalenin Microsoft Access 97 sürümü için bkz. 304468.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu makalede, bir Microsoft Access veritabanında ilişkiler tanımlama açıklamaktadır. Bu makale aşağıdaki konuları içerir:
  • Tablo ilişkileri nedir?
  • Tablo ilişkilerinin türleri
    • -Çok ilişkiler
    • Çok-çok ilişkiler
    • Bire bir ilişki
  • Nasıl tablolar arasında ilişkiler tanımlama
    • Nasıl bir-çok veya bire bir ilişki tanımlamak için
    • Nasıl bir çok-çok ilişki tanımlamak için
  • Bilgi tutarlılığı
  • Güncelleştirmeleri ve silmeleri basamaklandırma
  • Birleşim türleri

Daha fazla bilgi

Tablo ilişkileri nedir?

Bu resmi kapatBu resmi aç
assets folding start collapsed
İlişkisel bir veritabanında, ilişkiler gereksiz verileri önlemenizi sağlar. Örneğin, kitaplar hakkında bilgi izleyecek bir veritabanı tasarlıyorsanız, kitabın başlığı, yayım ve publisher tarihi gibi her kitap hakkında bilgi depolayan "Başlıklar" adlı bir tablo olabilir. Publisher'ın telefon numarası gibi yayıncı hakkında adres, andZIP posta kodu saklamak isteyebileceğiniz bilgiler de bulunmaktadır. "Başlıklar" tablosunda bu bilgileri depolamak için olsaydı, yayıncının telefon numarası yayınladığı her başlık için çoğaltılması.

Publisher'ın bilgileri yalnızca bir kez "Yayıncılar" çağıracak ayrı bir tabloda depolamak için en iyi çözümdür Sonra "Yayıncılar" tablosunda girişi başvuran "Başlıklar" tablosuna bir işaretçi koyabilirsiniz.

Verileri eşitlenmiş kaldığından emin olmak için tablolar arasında bilgi tutarlılığını zorlayabilirsiniz. Bilgi tutarlılığı ilişkileri tek bir tablodaki bilgileri başka bir bilgi eşleştiğinden emin olun yardımcı olur. Örneğin, "Başlık" tablosundaki her başlık "Yayıncılar" tablosundaki belirli bir yayımcı ile ilişkilendirilmesi gerekir. Veritabanında varolmayan bir yayıncının veritabanına başlık eklenemez.

Veritabanını etkinleştir düşünmeniz mantıksal ilişkilerinde verimli bir şekilde veri sorgulamak ve raporlar oluşturun.
Bu resmi kapatBu resmi aç
assets folding end collapsed

Tablo ilişkilerinin türleri

Bu resmi kapatBu resmi aç
assets folding start collapsed
Bir ilişki anahtar sütunları, genellikle sütun (veya alanları) aynı ada sahip her iki tabloda bulunan veriler eşleştirilerek çalışır. Çoğu durumda, ilişki, bir tablodan başka bir tablodaki bir alan için birincil anahtar veya benzersiz tanımlayıcı sütun her satır için bağlanır. Diğer tablo sütununda bilinen bir "yabancı anahtar olarak." Örneğin, her kitap başlığı satışları izlemek isterseniz, arasında ilişki oluşturma (diyelim ki çağrıtitle_ID) birincil anahtar sütunu "Başlıklar" Tablo ve title_IDadlı "Satış" tablodaki sütun. Title_ID sütun "Satış" tablosundaki yabancı anahtardır.

Tablolar arasındaki ilişkileri üç tür vardır. Oluşturulan ilişki türü ilişkili sütunların nasıl tanımlandığına bağlıdır.

-Çok ilişkiler

Bir-çok ilişkinin ilişki en yaygın türüdür. İlişki bu tür, A tablosundaki bir satırın b tablosunda birçok eşleşen satırları olabilir Ancak B tablosundaki bir satırın a tablosunda yalnızca bir eşleşen satır olabilir Örneğin, "Yayıncılar" ve "Başlık" tabloların bir-çok ilişkisi vardır. Diğer bir deyişle, her yayıncı birçok başlık üretir. Ancak her başlık bir yayıncıdan geliyor.

Yalnızca ilgili sütunlardan biri birincil anahtar veya benzersiz kısıtlamaya sahip, bir-çok ilişkisi oluşturulur.

Access iş ilişkileri penceresinde, bir-çok ilişkinin birincil anahtar tarafı bir sayı 1 ile belirtilir. Bir ilişkinin yabancı anahtar tarafı bir sonsuzluk simgesi tarafından gösterilir.

Bu resmi kapatBu resmi aç
2878329


Çok-çok ilişkiler

Çok-çok ilişkisinde, A tablosundaki bir satırın B tablosunda birçok eşleşen satırları olabilir ve bunun tersi de geçerlidir. Birleşim tablosu olarak adlandırılan üçüncü bir tablo tanımlayarak bu tür bir ilişki oluşturun. Birleşim tablosunun birincil anahtarı yabancı anahtar Tablo A ve b tablosundaki oluşur Örneğin, "Yazarlar" tablosunda ve "Başlık" tablosunda bir-çok ilişkisi bu tablolardan her biri "Yazarları" tablosu tarafından tanımlanan bir-çok ilişkisi var. Tablonun birincil anahtarı olarak "Yazarları"au_Id sütun ("Yazarlar" tablonun birincil anahtar) ve title_ID sütun ("Başlık" tablonun birincil anahtarı) birleşimidir.

Bu resmi kapatBu resmi aç
2878330


Bire bir ilişki

Bire bir ilişkide, A tablosundaki bir satırın B tablosunda birden fazla eşleşen satır olabilir ve bunun tersi de geçerlidir. Hem de ilişkili sütunların birincil anahtar veya benzersiz kısıtlamaları, bire bir ilişki oluşturulur.

Bu şekilde ilgili bilgilerin çoğu tek bir tabloda olacağından bu tür bir ilişki pek olağan değil. Bire bir ilişki aşağıdaki eylemleri gerçekleştirmesi için kullanabilirsiniz:
  • Çok sayıda sütun içeren bir tabloyu bölmek.
  • Güvenlik nedenleriyle bir tablonun parçası yalıtmak.
  • Kısa ömürlü ve kolayca tablo silerek silinebilir verileri depolar.
  • Yalnızca bir alt kümesini ana tablo için geçerli olan bilgileri depolar.
Access'te, bir bire bir ilişkinin birincil anahtar tarafı bir anahtar simgesi gösterilir. Yabancı anahtar tarafı bir anahtar simgesi de gösterilir.
Bu resmi kapatBu resmi aç
assets folding end collapsed

Nasıl tablolar arasında ilişkiler tanımlama

Bu resmi kapatBu resmi aç
assets folding start collapsed
Tablolar arasında bir ilişki oluşturduğunuzda, ilişkili alanlar aynı adlara sahip olmak zorunda değildir. Ancak ilgili alanların, otomatik sayı alanı olan birincil alan olmadığı sürece, aynı veri türünde olması gerekir. FieldSize özelliği eşleştirme alanlarının ikisi de aynı ise, bir OtomatikSayı alanını bir sayı alanı ile eşleştirebilirsiniz. Örneğin, her iki alanın FieldSize özelliği Uzun tamsayıise, bir OtomatikSayı alanı ve bir sayı alanı eşleştirebilirsiniz. Eşleştirme alanlarının ikisi de sayı alanı olsa, aynı FieldSize özellik ayarına olması gerekir.

Nasıl bir-çok veya bire bir ilişki tanımlamak için

Bir bir-çok oluşturmak için veya bire bir ilişki, şu adımları izleyin:
  1. Tüm tabloları kapatın. Oluşturamaz veya açık tablolar arasındaki ilişkileri değiştirin.
  2. Access 2002 veya Access 2003'te aşağıdaki adımları izleyin:
    1. Veritabanı penceresine geçmek için F11 tuşuna basın.
    2. Araçlar menüsünde İlişkiler' i tıklatın.

    Access 2007, Access 2010 veya Access 2013 Göster/Gizle grubunda Veritabanı Araçları sekmesindeİlişkiler ' i tıklatın.
  3. Veritabanınızda henüz herhangi bir ilişki tanımlamadıysanız, Tabloyu Göster iletişim kutusu otomatik olarak görüntülenir. Tabloyu Gösteriletişim kutusu görüntülenmez ancak ilişkilendirmek istediğiniz tablolar eklemek istiyorsanız,Tabloyu Gösterİlişkiler dönebilirsiniz.
  4. İlişkilendirmek istediğiniz tabloların adlarını çift tıklatın ve sonra Tabloyu Gösteriletişim kutusunu kapatın. Bir tablo ile kendisi arasında ilişki oluşturmak için bu tabloyu iki kez ekleyin.
  5. Bir tablodan başka bir tablodaki ilgili alana ilişkilendirmek istediğiniz alana sürükleyin. Birden çok alanı sürüklemek için CTRL tuşunu basılı tutun ve her alana sürükleyin.

    Çoğu durumda, (Bu alan kalın metin olarak görüntülenir) birincil anahtar alanı bir tablodan diğer tabloda yabancı anahtar olarak adlandırılan benzer alana (Bu alan sık sık aynı adında) sürükleyin.
  6. İlişkileri Düzenleiletişim kutusu görüntülenir. İki sütunda görüntülenen alan adlarını doğru olduğundan emin olun. Gerekirse adlarını değiştirebilirsiniz.

    Gerekirse ilişki seçeneklerini ayarlayın. İlişkileri Düzenle iletişim kutusunda özel bir madde hakkında bilgi sağlamak için varsa, soru işareti düğmesini tıklatın ve sonra öğeyi tıklatın. (Bu seçenekler bu makalenin ilerleyen kısımlarında ayrıntılı açıklanacaktır.)
  7. İlişki oluşturmak için Oluştur ' u tıklatın.
  8. İlişkilendirmek istediğiniz tabloların her çifti için 4 ile 7 arasındaki adımları yineleyin.

    İlişkileri Düzenleiletişim kutusunu kapattığınızda, Access düzeni kaydetmek isteyip istemediğinizi sorar. Oluşturduğunuz ilişkiler düzeni kaydetmek veya düzeni kaydetmeyin veritabanına kaydedilir.

    NotYalnızca tablolarda aynı zamanda sorgularda ilişkiler oluşturabilirsiniz. Ancak, sorgularla başvuru bütünlüğü zorlanmaz.

Nasıl bir çok-çok ilişki tanımlamak için

Çok-çok ilişki oluşturmak için şu adımları izleyin:
  1. Çok-çok ilişkisi olan iki tablo oluşturun.
  2. Üçüncü bir tablo oluşturun. Birleşim tablosu budur. Kesişme tablosunda, adım 1'de oluşturduğunuz her tablodan birincil anahtar alanları olarak aynı tanımlarına sahip yeni alanlar ekleyin. Kesişme tablosunda, birincil anahtar alanları yabancı anahtar olarak işlev. Diğer bir tabloya yapabildiğiniz gibi kesişme tablosuna başka alanlar ekleyebilirsiniz.
  3. Kesişme tablosunda, diğer iki tablodan birincil anahtar alanları eklemek için birincil anahtarı ayarlayın. Örneğin, "Yazarları" Kesişme tablosunda, birincil anahtar Sipariş Kimliği ve Ürün Kimliği alanlarını yapılmış.

    Not Birincil anahtar oluşturmak için aşağıdaki adımları izleyin:
    1. Tablo Tasarım görünümünde açın.
    2. Alan veya birincil anahtar olarak tanımlamak istediğiniz alanları seçin. Bir alanı seçmek için istediğiniz alanın satır seçicisini tıklatın. Birden fazla alanı seçmek için Ctrl tuşunu basılı tutun ve sonra her alanın satır seçicisini tıklatın.
    3. Access 2002 veya Access 2003'te, araç çubuğunda Birincil anahtar ' ı tıklatın.

      Access 2007'de Tasarım sekmesindeki Araçlar grubunda Birincil anahtar ' ı tıklatın.

      NotBirden fazla-alan birincil anahtar alanları sırası siparişi tablodaki alanların sırasından farklı olmasını isterseniz, dizinler, dizinler iletişim kutusunu görüntülemek ve dizin adlı birincil anahtar için alan adlarını yeniden sıralamak için araç çubuğundaki tıklatın.
  4. Her birincil tablo ve kavşak tablosu arasında bir-çok ilişkisi tanımlayın.
Bu resmi kapatBu resmi aç
assets folding end collapsed

Bilgi tutarlılığı

Bu resmi kapatBu resmi aç
assets folding start collapsed
Bilgi tutarlılığı kuralları Access ilgili tablodaki kayıtları arasındaki ilişkilerin geçerli olduğunu sağlamak için kullanır ve yanlışlıkla silme veya ilgili verileri değiştirmek, bir sistemdir. Tüm aşağıdaki koşullar doğru olduğunda bilgi tutarlılığını ayarlayabilirsiniz:
  • Eşleşen alan birincil tablodan birincil anahtar veya benzersiz bir dizin vardır.
  • İlgili alanlar aynı veri türüne sahip. Bunun iki istisnası vardır. Bir OtomatikSayı alanı FieldSize özelliği Uzun tamsayıayarı olan bir sayı alanı için ilişkilendirilebilir veFieldSize özellik ayarı Yinelemekimliği olan bir OtomatikSayı alanıFieldSize özellik ayarı Yinelemekimliği olan bir sayı alanı için ilgili olabilir.
  • Her iki tablo da aynı Access veritabanına aittir. Tablolar ilişkili tablolar ise tablo Access biçiminde olması gerekir ve bilgi tutarlılığını ayarlamak için saklandıkları veritabanını açmanız gerekir. Bilgi tutarlılığı, diğer biçimlerdeki veritabanlarından ilişkili tablolar için zorlanamaz.
Bilgi tutarlılığı kullandığınızda aşağıdaki kurallar uygulanır:
  • Birincil tablonun birincil anahtarında bulunmayan ilgili tablonun yabancı anahtar alanına bir değer giremezsiniz. Ancak, yabancı anahtar Null bir değer girebilirsiniz. Bu, kayıtların ilgisiz olduğunu belirtir. Örneğin, var olmayan bir müşteriye atanmış bir Siparişiniz olamaz. Ancak, MüşteriNo alanını boş değer girerek hiç kimseye atanmış bir sipariş olabilir.
  • İlgili tabloda eşleşen kayıtlar varsa, birincil tablodan kayıt silemezsiniz. Örneğin, "Siparişler" tablosunda çalışan için atanmış siparişler varsa "Çalışanlar" tablosundan bir çalışanın kaydını silemezsiniz.
  • Bu kaydın ilgili kayıtları varsa, birincil tablo bir birincil anahtar değerini değiştiremezsiniz. Örneğin, "Siparişler" tablosunda bu çalışan için atanmış siparişler varsa, "Çalışanlar" tablosunda çalışanın Kimliğini değiştiremezsiniz.
Bu resmi kapatBu resmi aç
assets folding end collapsed

Güncelleştirmeleri ve silmeleri basamaklandırma

Bu resmi kapatBu resmi aç
assets folding start collapsed
Bilgi tutarlılığı zorunlu ilişkiler için Access otomatik olarak basamaklı güncelleştirme için istediğiniz ya da ilişkili kayıtları ardarda Sil belirtebilirsiniz. Bu seçenekleri ayarlarsanız, silmek ve genellikle bilgi tutarlılığı kuralları etkin engelleyen işlemleri güncelleştirebilirsiniz. Birincil tablodaki birincil anahtar değerleri kayıtları silmek veya değiştirildiğinde, Access bilgi tutarlılığını korumak için ilgili tablolarda gerekli değişiklikleri yapar.

İlişki tanımlarken, İlişkili alanları Ardarda Güncelleştironay kutusunu seçmek için tıklatın, birincil tablodaki bir kaydın birincil anahtarı her değiştirdiğinizde Microsoft Access otomatik olarak birincil anahtar ilgili tablolarda yeni değerde güncelleştirir. "Müşteriler" tablosunda bir müşterinin Kimliğini değiştirirseniz, İlişkisi kopmuş böylece Örneğin, "Siparişler" tablosundaki MüşteriNoalanını otomatik olarak o müşterinin siparişlerini her biri için güncelleştirilir. Access güncelleştirmeleri hiçbir ileti görüntülemeden basamaklı.

Not Birincil tablodaki birincil anahtar OtomatikSayı alanı ise, otomatik sayı alanındaki değeri değiştiremediğinizden İlişkili alanları Ardarda Güncelleştironay kutusunu işaretleyerek etkisi yoktur.

Birincil tablodaki kayıtları her sildiğinizde, ilişki tanımlarken İlişkili kayıtları ardarda Silonay kutusunu seçerseniz, Access ilgili tablodaki ilgili kayıtları otomatik olarak siler. Örneğin, "Müşteriler" tablosundan bir müşteri kaydını silerseniz, müşterinin tüm siparişlerini otomatik olarak "Siparişler" tablosundan silinir. (Bu kayıtları "Siparişler" kayıtlarla ilgili "Sipariş Ayrıntıları" tablo içerir). İlişkili kayıtları ardarda Silonay kutusu seçildiğinde, kayıtları bir form veya veri sayfasından sildiğinizde, Access, ilgili kayıtları da silinebileceği konusunda uyarır. Bir silme sorgusunu kullanarak kayıtları sildiğinizde, ancak, Access otomatik olarak ilgili tablodaki kayıtları uyarı görüntülemeden siler.
Bu resmi kapatBu resmi aç
assets folding end collapsed

Birleşim türleri

Bu resmi kapatBu resmi aç
assets folding start collapsed
Birleşim türü daha vardır. Onları aşağıdaki ekran görüntüsünde görebilirsiniz:

Bu resmi kapatBu resmi aç
2878331


Seçenek 1, bir iç birleşim tanımlar. İç birleştirme olan birleştirme yalnızca birleştirilen alanlardaki değerleri belirtilen bir koşula uyuyorsa iki tablodaki kayıtların bir sorgunun sonuçlarında birleştirilir. Sorguda, yalnızca birleştirilen alanlardaki değerler eşleşiyorsa, kayıtlar seçen bir iç birleşim varsayılan birleşim dir.

Seçenek 2 sol dış birleşim tanımlar. Bir birleşim sol dış birleşim olan olsa bile hiçbir eşleşen değerleri sağdaki tabloda birleştirilmiş alanda içinde hangi tüm kayıtları sorgunun SQL deyimindeki sol birleştirme işleminin sol tarafından sorgunun sonuçlarına eklenir.

Seçenek 3 sağ dış birleşim tanımlar. Sağ dış birleşim birleştirme olan bulunsa sol taraftaki tabloda birleştirilmiş alanda eşleşen değer olmasa içinde hangi tüm kayıtları sorgunun SQL deyimindeki sağ birleştirme işleminin sağ tarafındaki, sorgunun sonuçlarına eklenir.
Bu resmi kapatBu resmi aç
assets folding end collapsed

Özellikler

Makale numarası: 304466 - Last Review: 10 Ekim 2013 Perşembe - Gözden geçirme: 12.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Access 2013
  • Microsoft Access 2010
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
Anahtar Kelimeler: 
kbdesign kbdatabase kbhowto kbmt KB304466 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 304466

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com