VERİ TABANI VE YÖNETİM SİSTEMLERİ Birincil Anahtar Türleri Access Veri Tabanında Bulunan İlişkiler İlişkileri Tanımlama Bir – Çok İlişkisi Çok – Çok İlişkisi Bir – Bir İlişkisi
2 Birincil Anahtar Türleri Microsoft Access gibi ilişkili bir veritabanı sisteminin gücü, ayrı Tablolarda saklanan bilgileri hızla bulması ve bunları Sorgular, Formlar ve Raporlar kullanarak bir araya getirmesidir. Bunu yapabilmek için, her tablo, tabloda saklanan her kaydı tek olarak tanımlayan bir alan veya alanlar kümesi içermelidir. Bu bilgi, tablonun Birincil Anahtarı olarak adlandırılır. Bir tabloya birincil anahtar atadığınızda, Access yinelenmeyi veya birincil anahtar alanlara Null (Boş) değerler girilmesini önleyecektir. Access'te tanımlanabilecek üç tür Birincil Anahtar vardır; Otomatik Sayı Birincil Anahtarı, Tek Alan Birincil Anahtarı, Birden Fazla Alan Birincil Anahtarı.
3 Birincil Anahtar Türleri 1. Otomatik Sayı Birincil Anahtarı Otomatik Sayı alanı, tabloya her kayıt eklenirken, otomatik olarak sırayı belirten sayının girilmesi için ayarlanabilir. Tabloya böyle bir alanı birincil anahtar olarak atamak, birincil anahtar oluşturmanın en kolay yoludur. Yeni oluşturulmuş bir tabloyu kaydetmeden önce birincil anahtar ayarlamazsanız, Microsoft Access sizin için birincil anahtar oluşturmasını isteyip istemediğinizi soracaktır. Yanıtınız Evet ise, Microsoft Access sizin için bir Otomatik Sayı birincil anahtarı oluşturur. Tabloya eklenen her kayıt için otomatik olarak benzersiz bir sayı depolayan Otomatik Sayı alanı; Uzun Tamsayı (Artan, Rasgele) ve (1,2,3 veya , ) Yineleme Kimliği ( {BD DDB-4A7E-9CFB-74A722B1885B} ) olarak iki şekilde oluşturulabilir.
4 Birincil Anahtar Türleri 2. Tek Alan Birincil Anahtarı Kimlik numaraları ve parça numaraları gibi benzersiz değerler içeren bir alanınız varsa, o alanı, birincil anahtar olarak atayabilirsiniz. Yinelenen veya Null değerler içermedikçe, önceden veri içeren bir alan için birincil anahtar belirtebilirsiniz.
5 Birincil Anahtar Türleri 3. Birden Fazla Alan Birincil Anahtarı Herhangi bir alanın benzersizliğini garanti edemediğiniz durum- larda, birincil anahtar olarak iki veya daha çok alan atayabilir- siniz. Bu sorunun ortaya çıktığı en yaygın durum Çok-Çok ilişkideki diğer iki tablo ile ilgili kullanılan tablodur. Örneğin; Notlar tablosu, Öğrenciler ve Dersler tablolarını ilişki- lendirebilir. Bu tablonun Birincil Anahtarı iki alan içermektedir: Öğrenci Numarası ve Ders Kodu. Notlar tablosu pekçok Öğrenci ve Ders içerebilir, ancak her Ders her Öğrenci için yalnız bir kez listelenir, bu nedenle Öğrenci Numarası ve Ders Kodu alanlarını birleştirmek, uygun bir birincil anahtar oluşturur. Her Ders her Öğrenci için yalnızca bir kez listelenir.
6 Access Veri Tabanında Bulunan İlişkiler Microsoft Access Veri Tabanınızda, her nesne için farklı tabloları oluşturduktan sonra, Microsoft Access'e bilgiyi yeniden nasıl bir araya getireceğini belirtmeniz gerekir. Bu işlem için ilk adım, tablolarınızın arasındaki ilişkileri tanımlamaktır. Bunu yaptıktan sonra, bir defada pek çok tablodan bilgi görüntüleyecek Sorguları, Formları ve Raporları oluşturabilirsiniz. Müşteriler Tablosu Siparişler Tablosu Ürünler Tablosu Sipariş Detayları Tablosu Örneğin, bu form dört tablodan alınan bilgileri içermektedir.
7 İlişkiler Nasıl Çalışır? Önceki örnekte, bir sipariş hakkındaki bilgiyi göstermek için bu dört tablonun alanlarının koordine edilmesi gerekir. Bu koordi- nasyon, tablolar arasındaki ilişkiler sayesinde yapılır. İlişkiler genellikle, her iki tablonun aynı adlı alanları olan, anahtar alanlardaki verilerin eşleştirilmesiyle çalışır. (* Ortak alan isimleri farklıda olabilir.) Çoğu durumda, bu eşleştirme alanları, bir tablodan her kayıt için benzersiz bir tanımlayıcı sunan Birincil Anahtar (PK) ve diğer tablodaki Yabancı Anahtar (FK) dır. PK Tablo 1: (PK) Tablo 2: (FK)
8 İlişkiler Nasıl Çalışır? Örneğin, aşağıdaki Tablolarda yer alan ortak alanlar birbirleri ile eşleştirilerek, Tablolar arasındaki ilişkiler tanımlanabilir. Bir Yazarın yazdığı tüm Kitapların listesi, PK PK PKPK İlişkiler doğru bir şekilde tanımlandıktan sonra; Kiralanan Kitapların isimleri, Bir Kitabın kim tarafından Kiralandığı bilgisi, öğrenilebilir. FK FK FK
9 Bir – Çok İlişkisi İlişkisel Veri Tabanlarında en çok kullanılan ilişki türü, Bir–Çok İlişkisi’dir. Bir–Çok İlişkisinde, “A” Tablosundaki bir kayıt, “B” tablosunda pek ÇOK eşleşen kayda sahiptir. Ancak “B” Tablosundaki kayıt, “A” Tablosunda yalnızca BİR eşleşen kayda sahiptir. Bir Yazar… … birden ÇOK Kitap yazabilir … … ancak her Kitabın yalnızca BİR Yazarı vardır.1 ∞
10 Çok – Çok İlişkisi Çok–Çok İlişkisinde, “A” Tablosundaki bir kayıt, “B” tablosunda bulunan pek ÇOK kayıtla eşleşebilir. Ve “B” Tablosundaki bir kayıt, “A” Tablosunda bulunan pek ÇOK kayıtla eşleşebilir. Bu tür bir ilişki, birincil anahtarın birden fazla alanı içerdiği, birleşme tablosu olarak adlandırılan, A ve B Tablolarından gelen yabancı anahtarların yer aldığı üçüncü bir tablonun tanımlanması koşuluyla mümkündür.
11 Çok – Çok İlişkisi Örneğin, Kitaplar Tablosu ve Kiracilar Tablosu, iki tane Bir-Çok olarak tanımlanan ilişkiyi Kiralananlar Tablosunda oluşturarak, Çok-Çok İlişkilere sahip olurlar. Kitaplar Tablosundaki Birincil Anahtar Kiracilar Tablosundaki Birincil Anahtar Bir Kitap Bir-Çok kiralamada yer alabilir … … her Kiracı Bir-Çok Kiralamada görülebilir.1 ∞ ∞ 1
12 Bir – Bir İlişkisi Bir-Bir İlişkisi'nde, Tablo A'da Tablo B'deki her kayıtla eşleşen yalnızca BİR kayıt ve Tablo B'de Tablo A'daki her kayıtla eşleşen sadece BİR kayıt olabilir. Bu şekilde ilişkili olan çoğu bilgi tek bir tabloda olacağından, bu tür ilişki yaygın değildir. Güvenlik nedenleriyle tablonun bir bölümünü yalıtmak veya ana tablonun yalnızca bir alt kümesiyle ilgili bilgileri saklamak üzere, birçok alan içeren bir tabloyu bölmek için Bir-Bir İlişkisi kullanabilirsiniz.
13 Bir – Bir İlişkisi Örneğin, fon toplamak amacıyla oynanan bir futbol oyununa katılan Çalışanların bilgilerini izlemek için bir Tablo oluşturmak isteyebilirsiniz. Çalışanlar Tablosunda, Futbolcular Tablosundaki her futbolcuyla eşleşen bir kayıt vardır. Çalışanlar Tablosunda her Futbolcuyla eşleşen BİR kayıt vardır. Bu değer kümesi, ÇalışanNo alanının ve Çalışanlar Tablosu- nun bir alt kümesidir.1 1
14 İlişkileri Tanımlama Microsoft Access'in oluşturduğu İlişki Türü, ilişkide bulunacak ilgili alanların nasıl tanımlandığına bağlıdır; Yalnızca ilgili alanlardan biri Birincil Anahtar ise veya benzersiz dizine sahipse, Bir-Çok İlişkisi oluşturulur. Her iki ilgili alan Birinci Anahtar ise veya benzersiz dizinlere sahipse, Bir-Bir İlişkisi oluşturulur. Çok-Çok ilişki ise gerçekten de Birincil Anahtarın iki alanı içerdiği üçüncü bir tabloyla (diğer iki tablodan gelen yabancı anahtarlar) birlikte olan iki tane Bir-Çok İlişkidir.
15 İlişkileri Tanımlama Birincil Anahtar olmayan ve benzersiz dizine sahip olmayan bir alanı, birincil anahtar olmayan ve benzersiz dizine sahip olmayan bir başka alana sürüklerseniz, Belirsiz bir İlişki oluşturulur. Belirsiz İlişkilere sahip Tabloları içeren sorgularda, Microsoft Access, tablolar arasında varsayılan birleştirme satırını görüntüler, ancak Bilgi Tutarlılığı zorlanmaz ve kayıtların her iki tabloda da benzersiz olması garantisi yoktur.