ACCESS DERS 2 1. Tablolarda Düzenleme Geçen notlarda en durumda Musteri, iller ve ilçeler isminde 3 tane tablomuz olmuştu. Şimdi bu tablolar üzerinde düzenlemeler yapacağız. İlk düzenlemeyi tablo ve tablo sütun isimlerinde yapacağız. Tablo ve tablo sütun isimlerinin düzenli ve anlaşılır olması, oluşturduğumuz projenin daha sonra düzenlenme işlemi için oldukça önemlidir. Tablo ve sütun isimleri, içinde barındırdığı veriyi çağrıştırmalıdır. Önce iller ve ilceler tablosunun isimlerini Iller ve Ilceler (baş harf büyük) olarak değiştiriyoruz. Daha sonra Iller tablosunu tasarım görünümde açıyoruz. Sütun isimlerini sırasıyla IdIl ve Iller olarak değiştiriyoruz. Daha sonra Ilceler tablosunu tasarım görünümünde açıyoruz ve sütun isimlerini sırasıyla IdIlce, Ilceler ve IdIl olarak değiştiriyoruz. Son olarak IdIl ve Ilceler sütunlarının yerini değiştiriyoruz. Bu işlemi yaptığımız uygulamanın çalışması için mutlaka yapmak zorunda değiliz. Tablo ve sütun isimlerini farklı isimlendirseydik de uygulama çalışırdı. Bu işlemi yapmamızda sebep verdiğimiz isimlerin belirli bir düzende olmasını sağlamaktır. Tüm tablo ve sütun isimlerini büyük harfle de yazabilirdik. Bu da bir yazım biçimidir. SQL veri tabanlarında genellikle bu tercih edilir. Burada bizim tercih ettiğimiz sistem isimlerde baş harf büyük olmasıdır, tablo ya da sütun isimi iki isimden oluşursa her bir ismin baş harfinin büyük ve birleşik olarak yazılmasını tercih ettik. Bu projedeki isimlendirme metodolojimizde bu şekildedir. İkinci düzenlememiz tablolar arası ilişkilendirme içindir. Genellikle bu tür uygulamalarda tablolar birbiri ile ilişki halindedir (Birbirine bağlıdır). Bizim tablolarımızdaki ilk ilişki Iller ve Ilceler tabloları arasındadır. Her ilin bir ya da birden fazla ilçesi olacağı için Iller tablosundaki IdIl sütunu, Ilceler tablosundaki IdIl sütunu ile bağlantılıdır. Bu bağlantı, bu iki tabloyu kendi veri tabanımıza aktardıktan sonra otomatik olarak geldi (Zaten yapılmış bir ilişki vardır). Biz sadece bu iki tablonun ismi ve sütun isimlerinde düzenleme yaptık. Ancak bu iki tablo bizim ilk oluşturduğumuz Musteri tablosu ile ilişkili değildir. Şimdi bu ilişkiyi tanımlayalım. Resim 1 deki gibi IdIl ve IdIlce sütunlarını Musteri tablomuza ekleyelim ve Veri Türünü Sayı olarak seçelim. Resim 1. Musteri tablosunu yeni sütun ekleme 1
Yeni sütunları ekledikten sonra kaydedelim. Musteri tablomuzun son hali yukarıdaki resim 1 deki gibi olmalıdır. Buradaki IdIl sütunu Iller tablosu, IdIlce sütunu Ilceler tablosu ile ilişkilidir. Daha doğrusu kendimiz ilişkili olduğunu mantığını kurduk. Bu mantığı Access veri tabanımıza da tanıtmak zorundayız. 2. Tablolar Arası İlişkilendirme Veri tabanında tablolar arası ilişkilendirmeye geçmeden önce, açık olan tüm tabloları kapatmalıyız (tasarım görünümünde tablo varsa onları da kapatalım). Daha sonra üst tab menüden Veritabanı Araçları tabına geçelim. İlişkiler bölümündeki İlişkiler butonuna tıklayalım. İlişkiler sayfası açılacak. Ayrıca üst tab menülere, ilişkiler bölümüne ait tasarım tab menüsü de gelecektir. İlişkiler sayfasının görünümü resim 2 deki gibi olmalıdır. Resim 2. İlişkiler sayfası İlişkiler sayfasından tablolar arası ilişkiler tanımlayacağız. Bunun için öncelikle İlişkiler bölümündeki Tablo Göster butonuna tıklayalım. Resim 3 deki gibi bir pencere açılacak. Bu pencereden ilişkilendireceğimiz tabloları seçeceğiz. Resim 3. İlişki kurulabilecek tabloların listesi 2
Resim 3 deki tablo listesinde Musteri, Iller ve Ilceler isminde 3 tane tablo görüyoruz. Biz bu 3 tablonun 3 de de bir ilişkilendirme mantığı kurmuştuk. Bu yüzden 3 tabloyu da seçiyoruz. 3 tabloyu aynı anda seçebilmek için CTRL tuşuna basılı tutuyoruz ve Ekle butonuna basıyoruz. Aynı işlemi tabloları tek te seçip ekle butonuna 3 kez basarak da yapabilirdik. 3 tabloyu ilişkiler sayfasına ekledikten sonra bu pencereyi Kapat butonuna basarak kapatıyoruz. Sayfamızın son aşağıdaki resim 4 deki gibi olmalıdır. Yani 3 tablo İlişkiler sayfasına sütunlarıyla birlikte eklenmelidir. Resim 4. İlişkilendirilecek tabloların ilişkilendirme sayfasındaki görünümü İlişkilendirme işlemlerimiz sırasıyla aşağıdaki gibi olacak: 1. Iller tablosu ve Ilceler tablosu arasındaki ilişkilendirme: Bunun için Iller tablosundaki IdIl sütununa basılı tutup sürükleyerek, IdIl sütununu Ilceler tablosundaki IdIl sütunun üzerine bırakıyoruz. Diğer tüm ilişkilendirme işlemlerimizi de bu şekilde yapıyoruz. Bu işlemi yaptığımızda karşımıza aşağıdaki resim 5 deki gibi bir pencere açılacaktır. Resim 5. İlişki Düzenleme penceresi Resim 5 ilişkileri düzenleme penceresidir. Bu pencereden ilişki kuracağımız sütunları seçeriz. Varsayılan olarak bizim seçtiğimiz sütunlar seçili olarak gelir. Ancak değiştirme imkânımız da vardır. Ancak şimdilik varsayılanı seçimi kullanıp bir değişiklik yapmayacağız. Sütunlarının altında seçimler vardır. Örneğin bilgi tutarlığını zorla seçeneğini işaretleyeceğiz. Bu bize otomatik kontrol sağlayacak. Yani Ilceler tablosunda IdIl isminde bir sütun var bu Iller tablosundaki IdIl ile ilişkili durumda, Ilceler tablosunun IdIl sütununa 100 sayısını girerse hata verecek çünkü 100 sayısı Iller tablosundaki IdIl 3
sütununda yoktur (Zaten 81 il var, 100 üncü il yok). Bilgi tutarlılığını zorla dediğimiz için Iller tablosunun IdIl sütununda 100 sayısını arayacak, bulamayınca da hata verip ekleme işlemi yapmayacaktır. Düzenli bir veri için bu seçeneğin ilişkili olması tercih edilir. Yine benzer şekilde İlişkili alanları art arda güncelleştir ve İlişkili kayıtları art arda sil seçeneklerini de işaretliyoruz. Bu seçinler de bize veri tutarlılığı için gereklidir. Örneğin Iller tablosundan herhangi bir ili sildiğimizde bu durumda o ile bağlı ilçeler de otomatik olarak silinecek. Böylelikle gereksiz veri birikmesini engellemiş olacağız. İlişkilendirmeyi ve seçimleri yaptıktan sonra Oluştur butonuna tıklıyoruz. 2. Iller tablosu ve Musteri tablosu arasındaki ilişkilendirme: Yine ilişkilendirme 1 de yaptığımız gibi, Iller tablosunun IdIl sütunun sürükleyip, Musteri tablosundaki IdIl sütunun üzerinde bırakıyoruz. İlişki düzenleme penceresi açılacak. Bu penceredeki seçimlerden sadece bilgi tutarlığını zorla seçeneğini işaretliyoruz ve oluştur butonuna tıklıyoruz. 3. Ilceler tablusu ile Musteri tablosu arasındaki ilişkilendirme: Benzer şekilde Ilceler tablosundaki IdIlce sütununu sürükleyip Musteri tablosundaki IdIlce sütununun üzerine bırakıyoruz. İlişki düzenle penceresinden yine sadece bilgi tutarlılığını zorla seçimini yapıyoruz ve oluştur butonuna tıklıyoruz. İlişkilendirme sayfamızın son hali aşağıdaki resim 6 deki gibi olacaktır. İlişkilendirme işlemlerini tamamladıktan sonra Kapat butonundan ilişkiler sayfasını kapatıyoruz. Resim 6. İlişkilendirilmiş tabloların görünümü 3. Tablolar Arası İlişkilendirmeden Sonraki İşlemler Tablolarımızı ilişkilendirdikten sonra formlar oluşturup ilişkili tabloları kullanabiliriz, sorgular oluşturup raporlar alabiliriz. Önce Iller tablosunu yeniden açalım (Veri sayfası görünümünde açıyoruz). İlişkilendirmeden sonra Iller tablosunun her sütunun başında bir kare içinde artı işareti görüyoruz. Herhangi bir ilin artı işaretine tıklarsak Alt Veri Sayfası Ekle penceresi açılacaktır (Resim 7). Bu pencereden Iller tablosunun alt veri tablosunu seçiyoruz. Iller tablosunun alt veri tablosu Ilceler tablosudur. Çünkü her ilin kendine ait ilçeleri vardır ve bu ilçeler, Ilceler tablosundaki IdIl sütunu ile birbirlerine bağlıdır. Resim 7 deki pencereden Ilceler tablosunu seçip tamam diyelim. Bu yaptığımız işlem, aynı zamanda tüm sütunlar için de yapılmıştır. Şimdi herhangi bir sütundaki artı işaretine tıklarsak o ile ait ilçeleri görebiliriz. 4
Resim 7. Alt Veri Ekleme Sayfası Iller tablosunu kapatalım ve Musteri tablosunu tasarım görünümünde açalım. Tasarım görünümündeki iken IdIl sütununu seçelim. Sütunların altındaki bölümde Genel ve Arama tabları yer almaktadır. Buradan Arama tabını seçelim. Arama tabında Denetimi Görüntüle bölümü vardır. Bu bölümde varsayılan olarak Metin Kutusu seçilidir. Bu seçimi Açılan Kutu olarak değiştiriyoruz. Açılan kutu ile ilgili seçenekler hemen altında açılır. Elde ettiğimiz görüntü resim 8 deki gibidir. Resim 8. Arama bölümü görünümü Öncelikle Satır Kaynağını seçiyoruz. Bunun için satır kaynağına tıkladıktan sonra satır kaynağının sonundaki 3 tane noktaya tıklıyoruz. Açılan Pencereden Iller tablosunu seçiyoruz. Çünkü bu işlemleri IdIl sütunu için yapıyoruz ve IdIl sütunu Iller tablosu ile ilişkilidir. Iller tablosunu ekledikten sonra kapat butonundan kapatıyoruz. Daha sonra alt bölümdeki Alan satırından IdIl ve Iller seçimini yapıyoruz. Bu durumda iki tane sütun seçmiş oluyoruz. Üst tablardan Sonuçlar bölümündeki Çalıştır butonuna tıklıyoruz. Çalıştır işleminden sonra karşımıza iki tane sütun çıkıyor, bunlar IdIl ve 5
Iller sütunlarıdır. Son olarak kaydediyoruz ve Sorgu Oluşturucu penceresini kapatıyoruz. Biraz önce yaptığımız işlemlerin sorgu kodu: SELECT Iller.IdIl, Iller.Iller FROM Iller; bu şekilde Satır Kaynağına eklenir. Bu bir SQL kodudur. Son olarak bu bölümde Sütun Sayısını 2 olarak ayarlayalım. Musteri tablosunda Veri Sayfası Görünümüne geçelim. IdIl sütununa tıklarsan IdIl ve Iller sütunu listelenir. Bu listeden veri eklerken istediğimiz ili seçebiliriz. Tekrar Musteri tablosunda tasarım görünümüne geçelim ve benzer işlemleri IdIlce sütunu için yapalım. Sütunları seçerken IdIl ve Ilce sütunlarını seçelim ve kaydedip kapatalım. Bu işlem için elde ettiğimiz SQL kodu: SELECT Ilceler.IdIl, Ilceler.Ilce FROM Ilceler; bu şekildedir. Yine aynı şekilde sütun sayısını 2 olarak seçiyoruz. Musteri tablosunda veri görünümüne geçiyoruz. IdIlce sütununda tüm ilçelerin listelendiğini görüyoruz. Il seçimini yaptıktan sonra, ilçeleri seçerken ilk sütundan faydalanabiliriz. Çünkü ilk sütun o ilçeye ait ilin Id değerini verir. Böylelikle hangi ilçenin hangi ile ait olduğunu tahmin edebiliriz. 6