HAFTA 6-7
Tablolar arası ilişki kurmak Bilgileri bir tabloda tutmak hem pratik hem de mümkün olmayabilir. Bu nedenle yapılan işlemler ile ilgili bilgiler çoğu zaman bir tabloda birden fazla tabloda tutulur. Ancak ayrı tablolarda tutulan bu bilgilerden yararlanabilmek için tablolar arası bağlantı veya ilişki kurulması gerekmektedir. Tablolar veya veritabanı dosyaları arasında ilişkiye imkan tanıyan Access gibi veritabanı programlarına İlişkisel Veri Tabanı programı adı verilmektedir.
Tablolar arası ilişki kurmak Veri tabanında bulunan Cari hesaplar ve Cari işlemler tablosunu ele alalım. Her iki tabloda yer alan Hesap Kodu(birinci tabloda birincil anahtar olarak tanımlanmıştır.) adındaki alan üzerinden ilişki sağlanacaktır. Araçlar\İlişkiler komutu verilir. Bu ekranda İlişkiler\Tablo Göster seçilir.
Tablolar arası ilişki kurmak Gelen tablo isimlerinden ilişki kurulacak tablolar seçilerek Ekle butonuna basılır. (Cari Hesaplar ve Cari İşlemler) Aralarında ilişki kurulmak istenen tablolarda aynı özelliğe sahip bir alanın olması gerekmektedir. (Örn: Hesap Kodu) Brincil tablodan ilişkiyi kurmada kullanılacak alan sürüklenerek İkincil tablodaki ilişki kurulacak alana bırakılır. 1-, 1-M(one-to-many) Bire çok ilişki
Tablolar arası ilişki kurmak Gelen ekrandan ilişki kurulacak alanlar değiştirilebilir.Kaydı olmayan hesap kodu ile işlem yapılmasını engellemek için Bilgi Tutarlılığını Zorla kutusu seçilir. İlişkili Alanları Ardarda Güncelleştir: Birincil tablodaki hesap kodunda yapılan değişiklikler ikincil tablodaki hesap koduna yansır. İlişkili Kayıtları Ardarda Sil : Birincil tablodaki hesap kodu silindiği zaman ikincil tablodaki ilgili kayıtlar silinir.
Sorgu Hazırlamak Daha önceki konularda, Access tablolarında yer alan kayıtlara indexlerin yardımı ile hızlı ve kolay bir şekilde ulaşılabiliyordu(Filtreleme/Sıralama). Ancak bu şekilde kayıt arayıp bulmak, birçok işlem için yeterli olmaz. Kayıt seçme ve sıralama işlemine daha sonra gerek duyulabilir. Bu nedenlerden dolayı Sorgu hazırlama ihtiyacı duyulmaktadır.
Bu işleme geçmeden önce öğrenci_kayıtları adı ile yeni bir veritabanı yaratalım. Veri tabanındaki oluşturulan tablolar ve özellikleri aşağıda verilmiştir. Öğrenci No: 10 karakter, Birincil anahtar, gerekli Adı: 20 Karakter, gerekli Soyadı: 20 karakter, gerekli, büyük harfli Bölüm Kodu: 40 karakter, gerekli, Değer listesi Fakültemizde bulunan bölümleri içermelidir. BÖTE, İNÖ, MTÖ, OÖÖ, SNÖ, TRÖ Baba Adı: 20 karakter Ana Adı: 20 karakter Doğum Yeri: 15 karakter, varsayılan Ankara Adres: 200 karakter Telefon: 11 karakter, biçim ve giriş maskesi var. Kayıt Tarihi: 4 karakter, sadece yıl Burs durumu: Evet/hayır
Aşağıdaki kayıtları Öğrenci özlük tablosuna girelim.
Query-Sorgu Hazırlamak 1. Adım 2. Adım 3. Adım 4. Adım Bölüm Kodu BÖTE olan öğrencileri sorgulayalım!
Ekle(Add) butonu ile tablolar sorguya dahil edilir. Bir veya daha fazla sorgudan da sorgu elde edilir. Her ikisi de kullanılabilir. Tablolar eklendikten sonra pencere kapatılır.
Hazırlanan sorguya isim verilerek kaydedilir. Öğrenci_Özlük tablosundan Öğrenci No, Adı, Soyadı, Bölüm Kodu alanları sorgunun içerisinde yer almaktadır. Her alanda bir veya birden fazla ölçüt belirlenebilir. Ölçüt , Bölümü BÖTE Hazırlanan sorguya isim verilerek kaydedilir.
Belirtilen şartlara uygun sorgu tablosu aşağıda verilmektedir. Sorgulama sonunda bir veya birden fazla tablodan alınan kayıtlarla yeni bir tablo ortaya çıkar. Bağlı bulunduğu tabloya ait kayıtlar değişince sorgu kayıtları da değişir. Bundan dolayı sorgu sonucunda meydana gelen tablolara Kayıt Kümesi adı verilir.
Sorgu tablosuna istediğiniz alanları getiriniz. Burslu olan öğrencileri Adı alanına göre sıralayarak veren ogrenci_burslu adında sorgu oluşturunuz. Sorgu tablosuna istediğiniz alanları getiriniz.
Lab. Uygulama Çalışması: Birden Fazla Tablo için Sorgu Hazırlamak Ders Kodu: 7 karakter, büyük harf, gerekli Ders Adı: 50 karakter, gerekli, yineleme yok Kredisi: Sayı(Byte), ondalıksız Şube: 2 karakter, varsayılan 01 Öğretim elemanı: 30 karakter, varsayılan servis
Dersler
Öğrenci_ders Öğrenci No: 10 karakter, gerekli, Arama Öğrenci_Özlük tablosundan Öğrenci_no, Adı , Bölümü alanlarını alacak Ders Kodu : 7 karakter, Arama Dersler tablosundan Ders kodu alanı gelecek Yarıyıl : 15 karakter, varsayılan 2002/2003-Bahar 1
Kayıtlar 1
Tablolar arası sorgulama Sorguya 3 tablo dahil edilmiştir. Tablolar arası ilişkiyi kurunuz. Yukarıdaki alanlar ekrana gelmektedir. Bölüm kodu BÖTÖ olanlar listelenecektir.