Şu anda çevrimdışısınız; İnternet'in yeniden bağlanması bekleniyor

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

Office 2003 desteği sona erdi

Microsoft, Office 2003 desteğini 8 Nisan 2014'te sona erdirdi. Bu değişiklik yazılım güncelleştirmelerinizi ve güvenlik seçeneklerinizi etkiledi. Bunun sizin için ne anlama geldiğini ve korunmaya nasıl devam edebileceğinizi öğrenin.

Ö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
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.
Özet
Bu makalede, bir Microsoft Access veritabanında ilişkileri tanımlamak nasıl açıklanı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
  • Tablolar arasındaki ilişkileri tanımlama
    • Nasıl bir-çok veya bire bir ilişki tanımlamak için
    • Bir çoka çok ilişkisini tanımlama
  • Bilgi tutarlılığı
  • Güncelleştirmeleri ve silmeleri basamaklandırma
  • Birleşim türleri
Daha fazla bilgi

Tablo ilişkileri nedir?

İ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 bir girdi 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şkili olmalıdır. 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 veri sorgulamak ve raporlar oluşturun.

Tablo ilişkilerinin türleri

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." Her kitap başlığı satışları izlemek istiyorsanız, örneğin, 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. Bu tür bir ilişki içinde 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 ilişki 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.



Çok-çok ilişkiler

Bir-ç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 vardır. 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.



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. İkisi de ilişkili sütunların birincil anahtarsa veya benzersiz kısıtlamalara sahipse, bire bir ilişki oluşturulur.

Bu şekilde ilgili bilgilerin çoğu, bir tabloda olacağından bu tür bir ilişki pek olağan değil. Bire bir ilişkide, aşağıdaki eylemleri gerçekleştirmesi için kullanabilirsiniz:
  • Çok sayıda sütun içeren bir tabloyu bölmek.
  • Güvenlik nedenleriyle tablonun bir bölümünü yalıtmak.
  • Kısa ömürlü ve kolayca tablo silerek silinebilir verileri depolar.
  • Yalnızca bir ana tablonun altkümesine uygulanan bilgiyi saklar.
Access'te, bire bir ilişkinin birincil anahtar tarafı bir anahtar simgesi tarafından gösterilir. Yabancı anahtar tarafı bir anahtar simgesi de gösterilir.

Tablolar arasındaki ilişkileri tanımlama

Tablolar arasında bir ilişki oluşturduğunuzda, ilişkili alanlar aynı ada sahip gerekmez. Ancak, ilgili alanlar aynı veri türü OtomatikSayı alanı birincil anahtar alanı olmadığı sürece 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, bile, bunlar aynı FieldSize özellik ayarına sahip olmalıdırlar.

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. Tablo Gösteriletişim kutusu görüntülenmez ancak ilişkilendirmek istediğiniz tablolar eklemek istiyorsanız,Tabloyu Gösterİlişkiler menüsünde tıklatın.
  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, her alanı tıklatın ve sonra 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şkiyi oluşturmak için Oluştur düğmesini 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.

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

Bir çoka çok ilişkisini tanımlama

Ç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ı 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şNo ve ÜrünKodu alanlarından 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 çok 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.

      Not: Çok alanlı birincil anahtar alanları sırası siparişinden tablodaki alanların sırasından farklı olmasını isterseniz, dizinler dizinler iletişim kutusunu görüntülemek ve sonra dizin adlı birincil anahtar için alan adlarını yeniden sıralamak için araç çubuğunda tıklatın.
  4. Her birincil tablo ve kavşak tablosu arasında bir-çok ilişkisi tanımlayın.

Bilgi tutarlılığı

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 dizin sahip.
  • İ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 ilgili olabilir ve Yineleme KimliğiayarıFieldSize özelliği olan bir sayı alanıFieldSize özellik ayarı Yinelemekimliği olan bir OtomatikSayı alanı 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.

Güncelleştirmeleri ve silmeleri basamaklandırma

Başvurusal bütünlük içinde zorlandığı ilişkiler için istediğiniz erişimi otomatik olarak basamaklı güncelleştirme veya 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ş değil, ö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 hiçbir etkisi olmaz.

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ın 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.

Birleşim türleri

Birleşim türü daha vardır. Onları aşağıdaki ekran görüntüsünde görebilirsiniz:



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 değil 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 join nedir sol taraftaki tabloda birleştirilmiş alanda eşleşen değer olmasa olsa bile içinde hangi tüm kayıtları sorgunun SQL deyimindeki sağ birleştirme işleminin sağ tarafındaki, sorgunun sonuçlarına eklenir.
INF ACC2002 acc2003 acc2007

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 304466 - Son İnceleme: 08/17/2015 04:52:00 - Düzeltme: 14.0

Microsoft Access 2013, Microsoft Access 2010, Microsoft Office Access 2007, Microsoft Office Access 2003, Microsoft Access 2002 Standard Edition

  • kbdesign kbdatabase kbhowto kbmt KB304466 KbMttr
Geri bildirim