Temel Bilgi Teknolojileri 2 Access 2013 Veri Tabanı Kavramı, Access'e Giriş, Tablo Yaratma ve İlişkilendirme Temel Bilgi Teknolojileri 2
Veri Tabanı ve VTYS Nedir? Veri tabanı; belirli bir veri modeli ile saklanan, sistematik erişim imkânı olan, yönetilebilir, güncellenebilir, taşınabilir, birbirleri arasında tanımlı ilişkiler bulunabilen bilgiler kümesidir. VTYS (Veri Tabanı Yönetim Sistemi); bir veri tabanını yaratmak, üzerinde istenilen bilgiyi aramak, gerektiğinde bilgi eklemek-silmek-değiştirmek ve veri tabanı ile ilgili her türlü işletimsel gereksinimleri karşılamak için kullanılan geniş kapsamlı yazılım sistemidir. VTYS, birbirleri ile ilişkili veri ve programlar topluluğundan oluşmaktadır.
VTYS Kullanmanın Bazı Avantajları VTYS kullanılırsa verinin düzenli bir şekilde saklanması ve aranan veriye hızlı erişim VTYS yazılımı sayesinde yapılacağı için programcının işi kolaylaşır. VTYS sayesinde gereksiz veri tekrarları önlenerek, veri bütünlüğü ve tutarlılığı (dersin sonunda örnek ile değinilecek) otomatik olarak sağlanabilir. Her kullanıcıya çeşitli yetkiler atanarak, bu kullanıcının erişebileceği, değiştirebileceği ve silebileceği veriler ayrı ayrı tanımlanabilir.
Tablo Günümüzde en çok kullanılan veri modeli İlişkisel Veri Modelidir ve Access de bu veri modelini kullanmaktadır. İlişkisel veri modelinde veriler iki boyutta tablo yapısında saklanmaktadır. Tablonun sütunları nitelikleri (örneğin bir öğrenci için saklanmasını istediğimiz nitelikler: ÖğrenciNo, Ad, Soyad, …), satırlar ise bu niteliklere sahip olan tüm farklı öğrencileri (kayıtları) göstermektedir. Öğrenciler Tablosu ÖğrenciNo Adı Soyadı Doğum Tarihi Doğum Yeri 1010302032 Gonca Şahin 3.6.1994 Samsun 1010302045 Kemal Sarıca 24.5.1995 İstanbul 1010302092 Ali Yılmaz 20.3.1994 Tekirdağ 1010302095 Selim Çetin 27.4.1994 Edirne
Birincil Anahtar (Primary Key) Bir kaydı diğer tüm kayıtlardan ayırabilen, her kayıt için farklı değer barındıran nitelik yada nitelik kümesi anahtar alan olarak belirlenir. Örneğin Türkiye'deki tüm vatandaşları birbirinden ayıran nitelik TC Kimlik Numarasıdır. Bu numara devlet tarafından vatandaşlara verilmeden önce Ad, Soyad, Baba Adı, Doğum Yeri ve Doğum Tarihi gibi birçok niteliğin birleştirilmesi (nitelik kümesi) vatandaşları birbirinden ayırabiliyordu. Veritabanı kullanımının yaygınlaşması ile tüm dünyadaki kitapları birbirinden ayıran ISBN, banka hesaplarını ayıran IBAN gibi numaraların kullanılması da yaygınlaşmıştır. Tüm dünyadaki insanları birbirinden ayırmak için ise ancak ülke kodu ve vatandaşlık numarası nitelik kümesi kulanılabilir.
"Boş masaüstü veritabanı" seçildikten sonra veri tabanının kaydedileceği yer ve ismi belirlenir.
Tablo1 adında tablo otomatik olarak oluşturulur Girilecek verinin türü seçilir. Tür seçilmeden veri girişi yapılırsa, Access girilen verinin biçimine göre otomatik olarak türü seçebilir. Tür seçildikten sonra o sütun için bir sütun başlığı yazılabilir (yazılmaz ise Alan1, Alan2, Alan3, … olarak isimlendirilecektir). Tablo1 adında tablo otomatik olarak oluşturulur "Kimlik" sütununa (alanına) veri girilemez. Bu sütun tablodaki her satırı (kayıtları) birbirinden ayırmak için kullanılan ve otomatik olarak artan sayı değerleri içerir. Bu sütun birincil anahtar olarak tanımlanmıştır. Veri girişi yapıldıkça yeni bir satır otomatik olarak tabloya ilave edilecektir. Eğer en sağdaki sütuna veri girilir yada o sütunun türü belirlenirse sağ tarafına otomatik olarak sütun ilave edilecektir.
Access'te Veri Türleri Sayı Tamsayı veya Ondalıklı Sayı Para Birimi Türk Lirası yada döviz verisi Kısa Metin En fazla 255 karakterlik metin Uzun Metin Sınırsız uzunlukta metin Zengin Metin Yazıtipi, rengi, vs. ayarlanabilen metin Tarih ve Saat Sadece tarih, sadece saat, veya ikisi beraber Evet/Hayır Sadece iki farklı değer alabilen veri = Doğru/Yanlış Ek Kayıta bir yada daha çok dosya eklemek için kullanılır Köprü Web adresi saklamak için kullanılır OLE Nesnesi Ses ve resim gibi verileri barındırır
Örnek: Öğrenciler Tablosu Aşağıdaki gibi bir öğrenci bilgileri tablosu yaratın: Bu tabloyu "Öğrenciler" ismi ile kaydedin. Bu alana sol tıklama ile bir, sol tıklama ve sürükleme ile birden çok kayıt seçilebilir. Sağ tıklama ile Kes-Kopyala- Yapıştır ve Kayıt Silme gibi işlemler yapılabilir. Seçim yapıldıktan sonra DEL tuşu ile veya GİRİŞ sekmesi Kayıtlar grubundan Sil seçilerek te kayıtlar silinebilir.
GİRİŞ sekmesi Görünümler Veri Sayfası Görünümü: Veri girişi yaptığımız önceki slayttaki görünüm Tasarım Görünümü: Tablonun aşağıdaki özelliklerini değiştirebileceğimiz görünüm Alan (sütun) Adı Alanların Veri Türü Alanlar ile ilgili Açıklamalar Veri Türüne göre farklılık gösteren Alan Boyutu, Biçim, Giriş Maskesi, Varsayılan Değer, Resim Yazısı gibi özellikler.
Tasarım Görünümü Eğer tablomuzda ÖğrenciNo gibi her kayıt için farklı değer alacak bir alan varsa, Kimlik alanını silip o alanı birincil anahtar yapabiliriz. ÖğrenciNo alanı Otomatik Sayı türünde olmadığından her kayıt için bu alana veri girilmek zorundadır. Adı ve Soyadı alanlarının 255 karakter olan Alan Boyutu özelliğini 25 karakter yapabilirsiniz.
Alan Boyutu Tasarım Görünümü – Alan Özellikleri Metin türü veriler için alan boyutu karakter sayısını ifade ederken, sayı türü veriler için ise programlama dillerinde kullanılan veri tiplerine benzer boyutlar yer almaktadır. Tamsayılar: Bayt (8 bit): 0 ile 255 arasında 256 (28) farklı değer alır Tamsayı (16 bit): -32.768 ile +32.767 arasında 65.536 (216) farklı değer alır Uzun Tamsayı (32 bit): -2.147.483.648 ile +2.147.483.647 arasında 232 farklı değer alır Ondalıklı Sayılar: Tek 32 bit, Çift ise 64 bit büyüklüğündedir. Ondalık alan boyutu seçilirse sayıda yer alacak toplam basamak sayısı Duyarlık değeri ile belirlenir (varsayılan değer = 18). Ölçek değeri ile bu basamaklardan kaç tanesinin noktanın sağında yer alacağı belirlenir (varsayılan değer = 0).
Biçim Tasarım Görünümü – Alan Özellikleri Veri türüne bağlı olarak alanda görüntülenecek biçim Sayı yada Para Birimi için: Tarih/Saat için: Evet/Hayır için:
Giriş Maskesi Tasarım Görünümü – Alan Özellikleri Alana girilen değerlerin belirli bir maskeye (şablona) göre girilmesini sağlar Örneğin Telefon Numarası maskesi kullanılırsa alan kodu için parantezler ve numara arasındaki boşluklar otomatik olarak verilir, kullanıcı sadece sayıları girer (deneyin) Sadece metin ve tarih/saat veri türleri için verilir
Varsayılan Değer & Resim Yazısı Tasarım Görünümü – Alan Özellikleri Varsayılan Değer & Resim Yazısı Varsayılan Değer: Yeni öğeler için alana otomatik olarak girilen değerdir. Örneğin maaş alanı için asgari ücret varsayılan olarak verilebilir. Resim Yazısı: Alanın Veri Sayfası Görünümündeki etiketidir. Bu alan boş bırakılırsa, alan adı etiket olarak kullanılır. Örneğin ÖğrenciNo alan adının Resim Yazısı özelliğine Öğrenci Numarası yazarsanız veri sayfası görünümünde bu etiket görüntülenir.
Geçerlilik Kuralı & Geçerlilik Metni Tasarım Görünümü – Alan Özellikleri Geçerlilik Kuralı & Geçerlilik Metni Geçerlilik Kuralı: Alana veri girişi yapılırken, belirli bir kısıtlama dahilinde yapılmasını sağlamak için kullanılır. Örneğin sınav notları ile ilgili bir alana sadece 0 ile 100 arasında değerler kabul edilmesi için Geçerlilik Kuralı olarak >=0 AND <=100 verilmelidir. Geçerlilik Metni: Geçerlilik kuralı ile belirlenen kural dışında bir veri girildiğinde görüntülenecek mesajın yazılması için kullanılır (Örneğin: 0 ile 100 arasında bir değer giriniz).
Gerekli & Sıralı Tasarım Görünümü – Alan Özellikleri Gerekli özelliği Evet ise seçili ise o alan her satırda veri içermelidir (boş geçilemez), Hayır ise boş geçilebilir. Sıralı özelliği o alan üzerinde arama ve sıralama yapılırken işlemi hızlandırmak için Dizin (Index) oluşturma amacıyla kullanılır (Dizin oluşturmak tablo üzerinde güncelleştirme ve eklemeleri yavaşlatabilir). Evet (Yineleme Var) seçilirse o alanda aynı veri başka bir kayt için tekrar edebilir, Evet (Yineleme Yok) seçilirse tekrar edemez. Birincil Anahar olan bir alan boş geçilemez (Gerekli: Evet) ve benzersiz değerler içerir. Ayrıca sorgular genelde bu alan üzerinden yapılacağı için otomatik olarak bu alan için Dizin (Index) oluşturulmuştur (Sıralı: Evet (Yineleme Yok)).
Veri Sayfası Görünümünde ALANLAR Sekmesi Tasarım Görünümüne geçmeden, seçili alanın bazı özellikleri ve veri türü ile "sayılar için biçim", "metinler için ise alan boyutu" değerleri bu sekme altından değiştirilebilir. Ekle ve Sil grubu ile istenen türde yeni bir alan eklenebilir veya seçili alan silinebilir. Alan Doğrulaması grubu ise önceki slaytta yer alan seçenekleri içerir (Gerekli, Benzersiz = Yineleme Yok, Dizin Oluşturulmuş = Sıralı)
Filtre Uygulama ve Sıralama Veri sayfası görünümünde bir alan seçili iken Filtre simgesi tıklandığında, veya bir alanın başlığındaki küçük üçgene tıklandığında yandaki gibi bir pencere belirir. Bu pencerede o alanda yer alan tüm farklı veriler seçili olarak gelir. Bu verilerden görüntülenmesi istenmeyen veriler varsa seçimleri kaldırılabilir. Artan ve azalan sıralama seçenekleri bu pencerede de yer almaktadır.
Seçim (Hızlı Filtre) Bir hücre seçili iken "Seçim" simgesine tıklandığında o hücredeki veriye eşit olan yada olmayana göre filtre uygulanabileceği gibi, o veriyi içeren yada içermeyen filtresi de uygulanabilir. Yandaki örnekte "Ali" içeriyor seçilirse, 2 farklı Ali dışında Salih te filtreden geçer. Filtreyi Değiştir simgesi tıklandığında en son seçilmiş olan filtre uygulanır yada filtreleme kaldırılır.
Kayıtlar Grubu Yeni tıklanırsa kayıt eklemek için son satıra gidilir (son satıra kendiniz de gidebilirsiniz). Kaydet tıklanırsa yapılan değişiklik yada yeni eklenen kayıt kaydedilir (başka bir satıra geçildiğinde Access zaten otomatik olarak kaydeder). Sil tıklanırsa, seçili kayıt yada kayıtlar silinir (silmeden önce emin misiniz? sorusu sorulur). Silmek için alternatif olarak DEL tuşu kullanılabilir yada sağ tıklama ile çıkan menüden Kaydı Sil seçilebilir. Yazım Denetimi tıklanırsa, seçili olan dil (Türkçe) için yazım denetimi yapılır ve sözlükte olmayan bir girdiye rastlanırsa uyarı görüntülenir.
Toplamlar simgesi tıklandığında en altta yeni bir satır belirir Toplamlar simgesi tıklandığında en altta yeni bir satır belirir. Bu satırdaki hücrelerde ilgili sütunun veri türüne göre farklı sayıda seçenek gelir. Topla seçilmiş
GİRİŞ Sekmesindeki Diğer Gruplar Satır Rengini Değiştir Pano, Bul ve Metin Biçimlendirmesi gruplarındaki simgeler ve kullanım amaçları Word, Excel ve Powerpoint gibi diğer Office uygulamaları ile aynıdır. Metin Biçimlendirmesi grubunda en sağda yer alan iki simgeden Klavuz Çizgileri ile yatay, dikey veya her iki yönde çizgiler çizilmesi / kaldırılması sağlanırken ve Satır Rengini Değiştir simgesi ile çift numaralı satırların rengi ayarlanabilir.
OLUŞTUR Sekmesi OLUŞTUR Sekmesi ile Tablo, Sorgu, Form ve Rapor oluşturulabilir. Hazır Şablonlara ve Makrolara da bu sekmeden ulaşılmaktadır. Yeni bir tablo oluşturmak için Veri Sayfası Görünümü yada Tasarım Görünümü seçilerek başlanabilir. NOT: OLUŞTUR sekmesindeki diğer gruplara sonraki derslerde değinilecektir.
Örnek: Dersler Tablosu Kısa M. 6 Kısa Metin 100 255 Sayı Bayt Veri Türü Alan Boyutu Genellikle Birincil Anahtar alanlar sayı türünde belirlenir. Fakat bu tabloda harfleri de içermesi gerektiği için Kısa Metin (6 karakter) türündedir. Ders içeriklerinin 255 karakterden uzun girilmesi istenirse Uzun Metin veri türü seçilmelidir. 0 ile 255 arasında 256 farklı değer alabilen Bayt, Teorik ve Uygulama saatleri haftada en fazla 5 veya 6 saat olacağından bu alanlar için yeterli bir veri türüdür. Kısa Metin türündeki alanlar için alan boyutu ALANLAR sekmesinden ayarlanabilir, ama Sayı türündeki veriler için bu değer sadece tasarım görünümünden ayarlanabilmektedir.
Notlar hangi tabloya eklenebilir? Öğrencilerin ara sınav ve final gibi not bilgilerini Öğrenciler tablosunda saklayabilir miyiz? Öğrencinin aldığı her ders için tüm sınav notları ayrı alanlarda saklanmalı. Her öğrenci farklı dersler seçebiliyorsa bu uygun bir çözüm değildir. Çünkü seçilebilecek tüm derslerin tüm sınavları için alanlar oluşturulmak zorunda (ki o dersi almayan öğrenciler için ilgili hücreler boş kalacak). Not bilgileri Dersler tablosunda saklanabilir mi? Bu defa o dersi alan tüm öğrenciler için (ve hatta girdikleri tüm sınavlar için de) yeni alanlar oluşturulmalı. En uygun yöntem Not bilgilerini ayrı bir tabloda saklamak ve bu tabloda mutlaka ÖğrenciNo ile DersKodu alanlarının bulunmasıdır.
Not değerleri için Bayt uygundur. Örnek: Notlar Tablosu Not değerleri için Bayt uygundur. Eğer tasarım görünümünde ÖğrenciNo ve DersKodu alanlarının ikisi birden seçilerek Birincil Anahtar yapılırsa, bir öğrenci ile bir ders kodu iki defa eşlenemez (tek değil iki alan kombinasyonu üzerinde benzersizlik sağlanır). Fakat Dersler tablosunda olmayan bir ders kodunu veya öğrenciler tablosunda olmayan bir öğrenci numarasını girdiğinizde hata vermediğini gözlemleyebilirsiniz. Bu durum bilgi tutarsızlığına neden olmaktadır.
Bilgi tutarlılığı için ne yapmalı? VERİTABANI ARAÇLARI veya TABLO sekmesinden İlişkiler simgesini tıklayın. Açılan pencerede tüm tabloları seçerek Ekle tıklayın (yada tabloların üzerine çift tıklayın). Hepsi eklendikten sonra pencereyi kapatın. Sonraki aşamaya geçmeden önce açık olan tüm tabloları üzerilerine sağ tıklayıp Kapat seçerek kapatmanız gerekir.
İlişki Kurma Dersler tablosunun Ders Kodu alanına Mouse ile tıklayın ve Notlar talosunun DersKodu alanına sürükleyin. Açılan pencerede: Bak Sonraki Slayt Bilgi Tutarlılığına Zorla seçili yapılırsa: Notlar tablosuna Dersler tablosunda olmayan bir Ders Kodu değeri girilemeyecektir. İlişkili Alanları Art Arda Güncelleştir seçili yapılırsa: Dersler tablosunda bir Ders Kodu değiştirilirse, Notlar tablosunda da o DersKodu değerleri güncellenir. İlişkili Kayıtları Art Arda Sil seçili yapılırsa: Dersler tablosundan bir ders silindiğinde, Notlar tablosunda o ders kodunu içeren tüm kayıtlar silinir (geri alınamaz, riskli bir seçimdir).
Benzer işlemi Öğrenciler tablosundaki ÖğrenciNo ile Notlar tablosundaki ÖğrenciNo ile de yapın. Bu ilişkilerin türü Bir-Çok (1-) dur. 1 olan tarafta alanın verileri tekrar edemezken (birincil anahtar), sonsuz olan tarafta ise tekrar edebilir. İlişki kuracağınız alanlar aynı veri türüne ve alan boyutuna sahip olmalıdır, ama isimleri farklı olabilir (Dersler tablosunda Ders ile Kodu arasında boşluk var, Notlar tablosunda ise bitişik. Notlar tablosunda sadece Ders gibi başka biri alan ismi yazsadık ta ilişki kurulabilirdi).
Bilgi Tutarlılığı Sağlandı Eğer ilişkileri doğru şekilde kurduysanız, Notlar tablosuna, Öğrenciler tablosunda olmayan bir Öğrenci numarası girmeye çalıştığınızda aşağıdaki gibi bir hata alırsınız: Benzer durum, Dersler tablosunda olmayan bir ders kodu girilmeye çalışıldığında da yaşanacaktır.
Bir-Çok ilişkilerde Bir olan tarafa ait tablolarda solda bir + işareti göreceksiniz. Bu işarete tıkladığınızda o kayda ait Çok tarafın tablosundaki tüm ilişkili veriler (oğul kayıtlar) görüntülenir. Eğer ilişki kurulurken İlişkili Kayıtları Art Arda Güncelleştir (yada Sil) seçmediyseniz, Notlar tablosunda notları bulunan bir öğrencinin numarasını Öğrenciler tablosunda değiştirmek istediğinizde (yada Öğrenciler tablosundan o kaydı silmek istediğinizde) 'Notlar' tablosunda ilişkili kayıtlar olduğundan kayıt silinemiyor veya değiştirilemiyor uyarısı görüntülenir