SAKARYA ÜNİVERSİTESİ BİLGİSAYAR VE BİLİŞİM BİLİMLERİ FAKÜLTESİ ORTAK BİLGİSAYAR DERSLERİ KOORDİNATÖRLÜĞÜ Temel Bilgi Teknolojisi Kullanımı 14.HAFTA Veritabanı Öğr. Gör. Nevzat TAŞBAŞI Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. Bu ders içeriğinin bütün hakları saklıdır. İlgili kuruluştan izin almadan ders içeriğinin tümü ya da bölümleri mekanik, elektronik, fotokopi, manyetik kayıt veya başka şekillerde çoğaltılamaz, basılamaz ve dağıtılamaz. Her hakkı saklıdır 2013 Sakarya Üniversitesi
BÖLÜM 8 VERİTABANI Bilgisayar kullanıcılarının yoğun olarak gerçekleştirdikleri önemli işlerden biride kullandıkları verileri üzerinde işlemler gerçekleştirmek amacıyla saklamaktır. Bu amaçla verilere hızlı ve etkin bir içimde ulaşmak için kullanılan programlar veritabanı yönetim sistemleridir. Acccess, MySQL, MSSQL, Oracle, Base gibi programlar, örnek veritabanı yönetim sistemi programlarıdır. Veritabanları aynı zamanda üniversite öğrencilerinin de ödev, proje ve/veya tasarım raporu, okuldan mezun olmak için hazırladığı yönlendirilmiş çalışma ve bitirme tezi gibi çalışmalarda kullandıkları verileri üzerinde değişiklikler yapmak veya kullanmak amacıyla hızlı bir şekilde ulaşmak ve isteğe göre bu verilerden bilgiler üretmek amacıyla kullandıkları etkili bir programlardan biridir. Bu çalışmalardaki verileri veritabanında saklayabilir, istedikleri veriler sorgular kullanarak özet veriler alabilir, verileri kullanarak raporlar oluşturabilir, verilerinden yeni bilgiler oluşturabilirler. Temel Bilgi Teknolojisi Kullanımı kitabının Veritabanı bölümü, öğrencilerin öğrenim hayatı boyunca ve daha sonra çalışma hayatlarında hazırlamak zorunda kalacağı verileri kullanarak ön bilgiler ve raporları belgeleri, Access 2010 programı ile oluşturabilmek için gerekli olan bilgileri ve uygulamaları içermektedir. Sesli anlatım ve uygulama föy materyalleri ile desteklenen bu bölümün, bir üniversite öğrencisini, her türlü veritabanında tablo, tablolara veri girmek içim form, verileri elde etmek için sorgu ve sorguları kullanarak rapor oluşturma ve düzenleme işlemlerini profesyonel anlamda yapabilecek bir seviyeye ulaştırması hedeflenmektedir. 1.Veritabanı Yönetim Sistemlerine Giriş Eski çağlardan itibaren insanlar bilgilerini kaydetmek istemişlerdir. Bilgileri saklamak amacıyla kullanılan ilk yöntemlerden biri resimlerdir. Yazıların bulunmasından binlerce yıl önce insanlar resimleri kullanmaya başlamışlardır. Yazının tarihi yaklaşık 6 bin yıl resimlerin mağara duvarlarına ilk defa yazılması yaklaşık 40 bin yıl önce gerçekleşmiştir. İnsanlar çevresindeki oluşumları daha sonra hatırlamak, kendilerinden sonra gelenlere bilgilerini aktarmak amacıyla ilk önce resmi kullanarak gerçekleştirmişlerdir. Diğer uygulamalar bu eylem üzerine eklenerek geliştirilmiştir. Resimlerden sonra insanlar yazıyı bulmuşlardır. Böylece bilgilerini yazılar kullanarak saklamaya başlamışlardır. Başlangıçta taş tabletlerde saklanan bilgiler daha sonra papirüslerde, parşömenlerde ve kâğıdın bulunması ile birlikte kâğıtlarda saklanmaya başlanmıştır. Bilgisayarların yaygın olarak kullanılması ile birlikte bilgiler dolap veya çekmeceler yerine elektronik ortamlarda saklanmaya başlanmıştır. 221
Bilgisayarların yaygınlaşması ile birlikte çok çeşitli alanlarda veriler bilgisayar ortamında saklanmaya başlanmıştır. Veritabanları, işletmelerde, mühendislikte, tıpta, eğitimde hemen hemen her yerde kullanılmaktadır. 1.1.Veritabanı temel kavramları Veritabanı yönetim sistemlerinde veri, bilgi tablo, alan, kayıt, anahtar, ilişki yoğun olarak kullanılan temel kavramlardır. Veri Veri, kaydedilebilir her türlü bilinen gerçeklerdir. Örneğin bir kişinin ismi, adresi, telefon numarası, bir pantolonun fiyatı, KDV oranı veri olarak isimlendirilir. Bilgi Verilerin işlenmiş haline bilgi denir. Örneğin bir pantolonun fiyatını ve KDV oranı verilerini biliyorsak bu verilerden yararlanarak KDV li fiyatını hesaplayabiliriz. Veritabanı Yönetim Sistemleri Üzerinde çalışılan her türlü verinin (Öğrenci not verileri, şirket satış verileri, apartman gelirgider verileri, deney sonuçları vb.) bilgisayarda saklanması, üzerinde değişiklikler yapılması veya kullanılması amacıyla hızlı bir şekilde ulaşıp isteğe göre bu verilerden bilgiler üretilmesi amacıyla kullanılan sisteme Veritabanı Yönetim Sistemi denilmektedir. Günümüzde kullanılan veritabanı yönetim sistemleri uygulama programları çeşitlidir. Bunlar arasında yaygın olarak kullanılanlar şunlardır: Microsoft Access, Base, MySQL, DB2, Informix, Progress, Microsoft SQL Server, PostgreSQL, Oracle Fazla verisi olmayan, çok karmaşık işlemleri barındırmayan çalışmalar için Access, Base veritabanları kullanılabilir. Web sayfalarında, orta ölçekli şirketler vb. için MySQL, MSSQL veritabanları kullanılabilir. Büyük ölçekli çalışmalar için Oracle, PostgreSQL kullanılabilir. İlişkisel Veritabanları Verilerin bilgisayarda saklanmaya başlanmasından sonra, verileri saklamak, daha sonra erişmek, değişikliler yapmak, paylaşmak vb. işlemleri gerçekleştirmek amacıyla çeşitli yöntemlerle bu işlemlerin gerçekleştirilebilmesi için modeller önerilmiştir. Günümüzde yaygın olarak kullanılan 222
model, ilişkisel modeldir. Bu modeli kullanarak oluşturulan veritabanı sistemlerine ilişkisel veritabanları denilmiştir. Bu modelde veri iki boyutlu bir tabloda saklanır. İki boyut satır ve sütunu gösterir. İlişkisel veritabanı, diğer veritabanlarından farklı olarak tablolar arasında ilişki kurarak çalışır. İlişkisel veritabanını geliştirmek diğer veritabanlarına göre daha kolaydır. Tablolar No Alan 1 Alan2 1 Kayıt1.1 Kayıt1.2 2 Kayıt2.1 Kayıt2.2 Bir ilişkisel veritabanında veriler tablo halinde saklanır. Bir veritabanında birden fazla tablo bulunabilir. Tablo belli bir amaç ve belli bir konudaki verileri içeren bir taşıyıcıdır. Verilerin asıl saklandığı kısım tablolardır. Alan Veritabanında ilgili bilgiler tablolara göre tanımlandıktan sonra bu tabloda kullanılacak bilgilerin özellikleri alanlarda tanımlanır. Tablolar dikey olarak alanlardan oluşur. Alanlardaki kayıtların özellikleri aynıdır. Kayıt Veritabanında verileri ekleme işleminde tablodaki her satır bir kaydı temsil eder. Kayıtlar içerisinde bir alandaki verilere ulaşıldığında aynı satırdaki yani kaydın diğer alan verilerine de ulaşılabilir. Anahtarlar Veritabanında veri tekrarını önlemek, sıralamalar gerçekleştirmek, ilişkilerde kullanılmak amacıyla çeşitli anahtarlardan yararlanılır. Bir veritabanının etkin bir şekilde çalışabilmesi için tablonun alanlarından bir veya kayıtları tek başına temsil edebilecek birkaç alan kullanılarak anahtarlar oluşturulur. Bu anahtarlar kayıtların sıralanmasında, aranmasında ve ilişkilerin kurulmasında yardımcı olur. Bunun dışında anahtarlar alanlara çift bilgi girilmesini de önlerler. Bir sistemin gücü, içerisindeki bilgilerine doğru ve hızlı bir şekilde erişimiyle ve farklı tablolardaki bilgileri bir araya getirmesiyle görülür. İlişkisel veri tabanları bunu tanımlanmış olan anahtarlarıyla gerçekleştirir. Eğer bir tabloda, bir alana göre sıralama yapıldıktan sonra başka bir alana göre de sıralama yapılmak isteniyorsa, bunun için yeni anahtarlar tanımlanabilir. Birincil Anahtar Birincil anahtar, tablodaki kaydı tek başına temsil eden bir veridir. Birincil anahtar alanında yer alan veriler tekrar edemez. Yani bu alandaki kayıtlar tek bir defa kayıt edilebilir. Eğer bir tablodaki kayıtlar belli bir alana göre sıralanmak, çift girişleri önlemek ve verilere daha çabuk ulaşmak isteniyorsa birincil anahtar oluşturulur. Bir tablodaki kayıtlar birincil anahtar alanına göre sıralanır. Böylece birincil alana göre arama ve sıralama işlemleri daha hızlı bir şekilde gerçekleşir. Diğer tabloların alanlarıyla ilişkilendirmeler yapmak içinde birincil anahtarlar 223
kullanılır. Bir tabloda sadece bir alan birincil anahtar olabilir. Aynı anda iki alan birincil anahtar olamaz. Fakat iki alan birlikte seçilerek, birleşik birincil anahtar yapılabilir. Anahtar alanda yer alan veri, tablonun o alanı içinde tek olması gerekmektedir. İlişkisel veri tabanlarının en önemli özelliklerinden biri tekrarlanan kayıtların bulunmamasıdır. Aynı kaydın tabloya tekrar girişini önlemek için birincil anahtarlar kullanılır. Bir okuldaki öğrencilerin okul numaraları, bir mağazadaki ürünlerin ürün kodu, ülkedeki vatandaşların vatandaşlık numaraları birincil anahtarlara birer örnektir. Aday anahtar Bir tabloda birincil anahtar sadece bir tanedir. Aday anahtar sayısı ise birden fazla olabilir. Yukarıda anlatılan birincil anahtarın çeşitli özellikleri diğer alanlara da verilebilir. Örnek olarak bir alandaki kayıtların tekrar etmesi istenmeyebilir veya bir alana göre arama ve sıralama işlemlerin hızlı bir şekilde gerçekleştirilmesi istenebilir. Bu durumlarda bu alanlar aday anahtar olarak belirlenmelidir. Fakat aday anahtarlarda veri tekrarı olabilir. Aday anahtar kullanmak sıralamayı kolaylaştırırken veri girişini bir miktar yavaşlatır. Çok sık sıralamak amacıyla kullanılan alanlar için aday anahtar oluşturmak her zaman yararlıdır. Fakat fazla sayıda aday anahtar oluşturmak veritabanının kayıt ekleme ve silinmesi sırasında yavaşlamasına neden olacaktır. Okuldaki öğrencilerin okul numarası dışında adına göre sıralama işlemi gerçekleştiriliyorsa, adının saklandığı alanı aday anahtar olarak belirlemek sıralama işleminin daha hızlı gerçekleştirilmesini sağlayacaktır. Yabancı anahtar Bir tabloda olan bir anahtar alan başka bir tabloda da yer alıyorsa, yani tablodaki bir anahtar alan başka bir tablodaki anahtar alanı gösteriyorsa buna yabancı anahtar denir. Yabancı anahtar genelde diğer tablolarla ilişki kurmak için kullanılır. İlişkilendirme işleminde bir tablodaki alan diğer bir tablodaki alan ile ilişkilidir. Bu şekilde ilişkilendirme işleminde kullanılan alana yabancı anahtar denir. Bir yabancı anahtarın, diğer tablolardaki ilişkili olduğu alanlarla aynı özelliklere sahip olması gerekmektedir. Bir tablodaki birincil anahtarda meydana gelen bir değişiklik onunla ilişkilendirilmiş olan yabancı anahtarların da değişmesine neden olur. Bu sayede veri tutarlığı sağlanmış olur. İlişkiler Veritabanında tutarsızlığı önlemek amacıyla kullanılırlar. Tablolar arası bağlantılar da ilişkiler vasıtasıyla sağlanabilir. İlişkiler iki tabloda bulunan ortak alanlarla yapılır. İki tabloyu ilişkilendirmek ilişkisel veri tabanının en temel çalışma şeklidir. Veritabanının en önemli avantajlarından biri veri tutarlılığının sağlanmasıdır. İlişkilendirilen tablolar arasında ilişkilendirilme şekline göre kayıt ekleme sırasında kontroller gerçekleştirilir. BireBir ilişki Bu tür ilişkilerde iki tabloda da eşit sayıda kayıt vardır ve bir tabloda var olan her kayda karşı diğer tabloda da sadece bir kayıt karşılık gelir. Bu tür ilişkiler, tablolar arası ilişkilerden daha çok bir tablo diğer tablonun devamı gibidir. 224
Bire bir ilişkiler çok kullanılan ilişki türü değildir. Güvenlik, hız gibi durumlar dışında bir neden yoksa bu iki tabloyu birleştirmek mümkündür. Burada iki tabloda da bağlantı kurulan alanlar tabloların anahtar alanlarıdır. BireÇok ilişki BireÇok ilişkiler, ilişkisel veritabanında en çok kullanılan ilişki çeşididir. Bu ilişkide temelde BireBir ilişkiye benzer fakat burada ilişkilendirilen tablolarda birer kayıt yerine bir tablonun bir kaydına karşılık diğer tabloda birden fazla karşılık gelir. BireÇok ilişkide klasik olarak bir kaydın ona bağlı sahip olduğu alt kayıtları tutarlı biçimde kontrol etmeye karşılık gelen bir yapıdır. Bu tür ilişkide bir tablonun birincil anahtarına karşılık diğer tablodaki eşdeğer yabancı anahtar denk gelir. Bu ilişkiüründe birincil anahtara sahip olan tablodaki alanlar, diğer tabloda saklanan verilerin asıl kısmını temsil eder. Diğer tablo bu kayıttan yararlanılarak oluşturulmuş bilgileri barındırır. Yani ikinci tablodaki ilişki kurulan alan aslında birinci tabloda var olan kaydın temsilciliği görevini yürütür. ÇokaÇok ilişki Bu tür ilişkide birinci tabloda yer alan çok sayıda kayda karşılık diğer tabloda da yine çok sayıda karşılık gelir. Her iki tabloda da birden fazla kayda karşılık birden fazla kayıt karşılık gelir. ÇokaÇok ilişkiler karmaşık yapıya sahiptirler. İlişkisel veritabanı uygulama programlarında bu ilişki türü doğrudan kullanılmaz. Bu ilişki türünü kullanmak için farklı bir yöntem kullanılır. İki tablo arasındaki bu tür ilişkileri ortadan kaldırmak için üçüncü bir tablo kullanmak en iyi yöntemdir. İki tablo arasında kullanılan bu üçüncü tablo her iki tablo ile BireÇok olarak ilişkilendirilir. Böylece iki tablo arasında ÇokaÇok ilişki sağlanmış olur. 1.2.Veritabanının avantajları İlişkisel veritabanlarının sahip olduğu çeşitli avantajlar vardır. Bunlar; Verilerin tekrarı azalır. Böylece verilerde meydana gelen karışıklıklar önlenmiş olup bellekten tasarruf edilir. İlişkisel veritabanı tasarım ilkelerine uygun olarak hazırlanmış veritabanlarında veri tekrarı azdır. Yanlışlıkların giderilmesi. Tutarsız (hatalı) bilgilerin girişi engellenir. İlişkisel veritabanında tablolar arası ilişkiler kullanılarak tutarsız bilgilerin girişi engellenmiş olur. Verilerin paylaşımı sağlanır. Aynı veri tüm kolaylığıyla diğer kullanıcılar tarafından da kullanılır. Bilgilerin standartlaşmasını sağlar. Belli standartlar oluşturulmasını ve bu standartlara uyulması gerçekleştirir, yeni standartlaşmaları kolaylaştırır. 225
1.3.Veritabanı tasarımı Veritabanı tasarımına başlamadan önce tasarım yapılacak konu hakkında ayrıntılı bir bilgi toplanması ve sistemin analizinin yapılması gerekmektedir. Daha sonra veritabanının tasarım işlemi gerçekleştirilir. Tasarım yapılan yeni sistem üzerinde çeşitli normalizasyon işlemleri yapılarak en iyi çalışacak sistem bulunur. Tasarım işlemi bittikten sonra sisteme veriler girilerek test etme işlemi gerçekleştirilir. Bu test işleminden elde edilen sonuçlar kullanılarak sisteme son şekli verilir. Tasarım sırasında öncelikli olarak veritabanı sistemlerinin avantajlarını gerçekleyecek şekilde tasarım işlemi gerçekleştirilir. Bu tasarım işlemine ek olarak dikkat edilmesi gereken hususlarda mevcuttur. Sistemin tasarım işleminin gerçeklemesi yapılırken ileride çıkabilecek sorunlar düşünülmelidir. Yapılacak çalışmanın ileride diğer çalışmalarda da kullanabilecek şekilde düzenlenmesi gerekmektedir. Kodlamalar yapılırken, işlemler ve kurallar oluştururken bunların en kapsamlı olanları seçilmelidir. (il kayıtları tutulurken genel olması için il kayıtlarını temsil etmek için illere yeni numara vermek yerine il trafik kodlarını kullanmak gibi) Tasarım gerçekleştirildiğinde gerekmeyen ama teknolojinin gelişmesiyle veya projenin gelişmesiyle ortaya çıkabilecek bazı veriler, bilgiler ve ek işlemler için fazladan alanlar veya tablolar oluşturulmalıdır. (e-mail vb). Sistemde tasarlanan alanlar mümkün olduğunca standartlaştırılmalıdır (müşteri adresleri kaydedilirken il ve ülke kodları gibi). 1.3.1.Normalizasyon kuralları Veritabanı yönetim sistemi avantajlarını sağlayacak şekilde en iyi tasarımı oluşturmak için Normalizasyon kuralları kullanılarak işlemler gerçekleştirilir. Birçok farklı Normalizasyon kuralları tanımlansa da temel olarak 4 Normalizasyon kuralı yaygın olarak kullanılmaktadır. 1. Tabloların alanlarında yer alacak her bir kayıt tek bir veriyi göstermelidir. Birleşik veri olmamalıdır. Birleşik veriler ayrılarak ayrı alanlar haline getirilir. 2. Her tabloda o tablodaki kayıtları tek başına temsil edecek bir alan bulunması gerekmektedir. Okuldaki öğrencilerin okul numaraları, bir ülkede yaşayan insanların vatandaşlık numarası vb. bilgiler gibi her tabloda kayıtları tek başına temsil edecek eşsiz bir alanın olması gerekmektedir. Bu alanlar birincil anahtar olarak isimlendirilir. Birincil anahtar bir tabloda sadece bir tane olabilir. Bir ülkede yaşayan insanlar içerisinde aynı vatandaşlık numarasına sahip iki kişinin olamayacağı gibi, aynı değere sahip ikinci bir birincil anahtar değeri olamaz. Bu alan birincil anahtar olarak belirlenecektir. Eğer tabloda kaydı tek başına temsil edecek alan bulunmazsa otomatik olarak sayılar kullanılarak birincil anahtar oluşturulabilir. 3. Her tabloda tek bir varlığa ait veriler saklanmalıdır. Varlık, veritabanında özellikleri saklanacak nesneleri temsil etmektedir. Her tabloda sadece tek bir varlığın özellikleri yer almalıdır. Eğer tabloda birden fazla varlığa ait veriler varsa, varlıklardan herhangi birinin verileri ayrı bir tabloya alınarak tablolar arasında ilişkilendirme yapılır. 4. Tabloda tekrar eden kayıtlar veya tekrar eden birden fazla alan bulunmamalıdır. Tekrar eden kayıt ve alanları önlemek için tekrar eden veriler ayrı bir tabloya alınarak veri 226
tekrarı önlendikten sonra oluşan tablolar arasında ilişkilendirme yapılır. İlişkisel veritabanlarında tablolar arasında bağlantılar kullanılarak sorgulamalar gerçekleştirilerek farklı tablolardaki veriler tek bir liste halinde gösterilebilir. Eğer tabloda aynı kayıt fazla sayıda tekrar ediyorsa veya birden fazla sütunda yer alan aynı veriler birden fazla tekrar ediyorsa bu veriler tablolar oluşturularak oluşturulan tablolara aktarılır. Örnek Tasarım Öğrencilerin aldığı derslerin kayıtlarının bulunduğu veritabanının tasarımı aşağıdaki gibidir. Öğr. Öğr. Öğr. Ders Ders Ders Ders Ders Öğr.Adres No Ad Tel Kod Ad Kredi Bölüm Yer Belge 47 Ali İstanbul 235 A01 Türkçe 3 Sosyal Derslik1 Katılım Gel 21 Veli Ankara 412 A01 Türkçe 3 Sosyal Derslik1 Git 47 Ali İstanbul 235 S01 Fen 2 Teknik Derslik2 EKC Gel 54 Mert Sakarya 122 A01 Türkçe 3 Sosyal Derslik1 Katılım Sert 21 Veli Git Ankara 412 S01 Fen 2 Teknik Derslik2 Yukarıdaki tablodaki gibi bir örneği veritabanı yönetim sistemi ortamında gerçeklemeye başlamadan önce ilişkisel veritabanı mantığına uygun bir şekilde veritabanında hangi tablolar, tablolar arasında nasıl ilişkiler olacağı, tablolar arasında tutarlılığın nasıl sağlanacağı vb. durumlar tasarlanması gerekmektedir. 1.Normalizasyon kuralı: Tabloda yer alacak her alan tek bir veriyi göstermelidir. Örnek incelenirse Öğr.Ad sütununda yer alan değerler aslında öğrencinin adını ve soyadını içermektedir. Tasarım sırasında bu alan ad ve soyad olarak iki farklı alan tarafından temsil edilmelidir. Bunun için soyad isimli yeni alan oluşturmalıdır. Öğr. Öğr. Öğr. Öğr. Öğr. Ders Ders Ders Ders Ders No Ad Soyad Adres Tel Kod Ad Kredi Bölüm Yer Belge 47 Ali Gel İstanbul 235 A01 Türkçe 3 Sosyal Derslik1 Katılım 21 Veli Git Ankara 412 A01 Türkçe 3 Sosyal Derslik1 47 Ali Gel İstanbul 235 S01 Fen 2 Teknik Derslik2 EKC 54 Mert Sert Sakarya 122 A01 Türkçe 3 Sosyal Derslik1 Katılım 21 Veli Git Ankara 412 S01 Fen 2 Teknik Derslik2 2. Normalizasyon Kuralı: Her tabloda o tabloda yer alan kayıtları tek başına temsil edecek bir alan bulunması gerekmektedir. Yukarıdaki tabloda öğrenci numarasını temsil eden Öğr.No isimli alan olmasına rağmen, bu alan tekrarlı bir yapıdadır. Bu tabloda yer alan Öğr.No alanı bu tabloda yer alan kayıtları tek başına temsil edemez. Bu tabloya her kaydı tek başına temsil edecek bir alan eklenmelidir. Nosu Öğr. Öğr. Öğr. Öğr. Öğr. Ders Ders Ders Ders Ders No Ad Soyad Adres Tel Kod Ad Kredi Bölüm Yer Belge 1 47 Ali Gel İstanbul 235 A01 Türkçe 3 Sosyal Derslik1 Katılım 2 21 Veli Git Ankara 412 A01 Türkçe 3 Sosyal Derslik1 3 47 Ali Gel İstanbul 235 S01 Fen 2 Teknik Derslik2 EKC 4 54 Mert Sert Sakarya 122 A01 Türkçe 3 Sosyal Derslik1 Katılım 227
5 21 Veli Git Ankara 412 S01 Fen 2 Teknik Derslik2 3. NormalizasyonKuralı: Her tabloda tek bir varlığa ait veriler saklanmalıdır. Varlık, veritabanında özellikleri saklanacak nesneleri temsil etmektedir. Her tabloda sadece tek bir varlığın özellikleri yer almalıdır. Tablo incelendiğinde öğrenci ve Ders gibi iki ayrı varlığın özelliklerinin tablo içerisinde yer aldığı gözlenir. Bu durumu ortadan kaldırmak için yeni bir tablo oluşturularak varlıklardan birine ait tüm özellikleri diğer tabloya aktarılır. Ders varlığı için normalizasyon kurallarına dikkat ederek yeni bir tablo oluşturulur. Nosu Öğr. Öğr. Öğr. Öğr. Öğr. Ders No Ad Soyad Adres Tel Kod Belge 1 47 Ali Gel İstanbul 235 A01 Katılım 2 21 Veli Git Ankara 412 A01 3 47 Ali Gel İstanbul 235 S01 EKC 4 54 Mert Sert Sakarya 122 A01 Katılım 5 21 Veli Git Ankara 412 S01 Ders Kod Ders Ad Ders Kredi Ders Bölüm Ders Yer A01 Türkçe 3 Sosyal Derslik1 S01 Fen 2 Teknik Derslik2 4. Normalizasyon Kuralı: Tabloda tekrar eden kayıtlar veya tekrar eden alanlar bulunmamalıdır. Tablo incelendiğinde öğrenci bilgilerinin yer aldığı alanların bir bölümünün tekrar ettiği görülmektedir. Bu tekrarı ortadan kaldırmak için sadece öğrenciye ait özellikler ayrı bir tablo oluşturularak oluşturulan tabloya aktarılır. Nosu Öğr. Ders No Kod Belge 1 47 A01 Katılım 2 21 A01 3 47 S01 EKC 4 54 A01 Katılım 5 21 S01 Böylece tablo tekrar eden kayıt kalmamış olacaktır. Başlangıçta birincil anahtar olarak kullanılmayan Öğr.No alanı yeni oluşturulan tabloda birincil anahtar yani tablodaki kayıtları tek başına temsil edecek alan olarak belirlenebilir. Öğr. No Öğr. Ad Öğr. Soyad Öğr. Adres Öğr. Tel 47 Ali Gel İstanbul 235 21 Veli Git Ankara 412 54 Mert Sert Sakarya 122 Böylece tablolarda tekrar eden kayıt kalmayacaktır. Tablolar arasında tutarlılığın sağlanması için tablolar arasında ilişkiler oluşturulmalıdır. 2.Veritabanı Uygulaması 228
Access ilişkisel bir veritabanıdır. Access ta yalnızca bir veritabanı üzerinde işlemler yapılabilir ve MS Office programlarının aksine programın çalışabilmesi için önce veritabanı dosyasının oluşturulması gerekmektedir. Veritabanında veriler sadece tablolar içinde saklanır. Verilere sorgular yardımıyla ulaşılabilir. Bir veritabanında tablolar oluşturulabilmeli, kayıt eklenebilmeli ve sorgular yardımıyla kayıtlı verilere ulaşılabilmelidir. Access programı veritabanı ile çalışmaya yeni başlayanlara birçok kolaylıklar sağlamasına ek olarak küçük boyutlu profesyonel işletmeler için de uygun bir programıdır. Access veritabanı programında görsel arayüz kullanılarak tablolar oluşturulabilir, formlar oluşturup bu formlar aracılığı ile tablolara kayıt eklenebilir, eklenen kayıtları listelemek amacıyla sorgular oluşturulabilir ve oluşturulan sorguları daha görsel sunabilmek amacıyla raporlar hazırlanabilir. 2.1.Veritabanı oluşturma Daha öncede belirtildiği gibi Access ile çalışmaya başlayabilmek için önce veritabanı oluşturulması gerekmektedir. Access çalıştırıldığında veya Access açıkken Dosya Sekmesi>Yeni Sekmesi>Boş Veritabanı tıklanır. Sol taraftaki bölmede yer alan Dosya Adı kısmına dosya ismi yazılır ve dosyasının oluşturulacağı yer belirlenerek veritabanı oluşturulur. Access veritabanı dosyalarının uzantısı.accdb dir. 2.2.Veritabanı çalışma ortamı Access uygulama programında diğer ofis programlarından farklı olarak oluşturulan veritabanı nesnelerinin görülebileceği bir Gezinti Bölmesi ve bu nesneleri oluşturma ve değiştirme sırasında tasarımının gerçekleştirileceği Tasarım Bölmesi bulunmaktadır. Gezinti bölmesinde nesneler çeşitli şekillerde listelenebilir. Bunun için gezinti bölmesinin başlığında yer alan açılır liste tıklanır. 2.3.Tablo işlemleri 229
İlişkisel veritabanında verilerin asıl saklandığı yer tablolardır. Tabloların içerisindeki alanlar düzenlenerek tablolar oluşturulur. Tablolara eklenen veriler tablo içerisinde satırlar halinde yer alır ve kayıt olarak isimlendirilir. Tablolarda kayıtları tutabilmek için bu kayıtların bağlı olduğu alanların tanımlanması gerekir. Yani kayıtlarda saklanacak verilerin özelliği tablo içerisinde, alanı oluştururken tanımlanan özelliklere göre belirlenir. Bunun sağlayabilmesi için her alanın içerisinde saklayacağı veri türlerinin, alanda saklanacak verilerle yapılacak işlerin, alandaki verilerin sıralanıp sıralanmayacağı gibi faktörlerin belirlenmesi gerekmektedir. 2.3.1.Tablo oluşturma Access ta tablo oluşturma yöntemlerinden biri Tasarım Görünümünü kullanmaktır. Tasarım görünümünde tablo oluşturmak için; Oluştur sekmesi>tablolar komut grubu> Tablo Tasarımı tıklanır. 2.3.2.Veri türleri ve alan özellikleri Tablo Tasarım görünümünde tasarımı yapılmış olan tablonun alanları Alan Adı kısmına sırayla girilir. Alan Adı en fazla 64 karakter (boşluklar dahil) olabilir. Boşluklar ve Türkçe karakterler kullanılabilir. Tablolar oluşturulurken alanlarda saklanacak verilerin tiplerini belirlemek için veri türlerinin ve alanlar üzerinde gerçekleştirilecek işlemlere göre alanların özelliklerinin belirlenmesi gerekir. Bunun için Access ta aşağıdaki veri türleri kullanılır. Tasarım sırasında veri türlerinin alan boyutunun küçük olanının tercih edilmesi veri girişi, sorguların ve raporların daha rahat çalışmasını sağlayacaktır. 230
Veri Türü Metin Not Sayı Tarih/Saat Para Birimi Otomatik Sayı Evet/Hayır OLE Nesnesi Alan Boyutu Kullanım Örnek En Fazla En fazla 255 karakter 255 uzunluğuna sahip metinleri karakter saklamak için kullanılır. Byte Tamsayı Uzun Tamsayı Tek Çift Ondalık Uzun Tamsayı Uzunluğu 255 karakterden daha uzun metinleri saklamak amacıyla kullanılır. 0-255 arasındaki tamsayıları saklamak için kullanılır. 1 Byte yer kaplar. -32.768 ile 32.767 arasındaki tamsayı değerleri için kullanılır. 2 Byte yer kaplar. -2.147.483.648 ile 2.147.483.647 arasındaki tamsayıları saklamak için kullanılır. 4 Byte yer kaplar -3,4 x 10 38 ile 3,4 x 10 38 arasındaki ondalık sayılar için kullanılır. 8 Byte yer kaplar. -1,797 x 10 308 ile 1,797 x 10 308 arasındaki ondalık sayılar için kullanılır. (16 Byte ) -9,999... x 10 27 ile 9,999... x 10 27 arasındaki sayılar için kullanılır. 12 Byte yer kaplar. Saat ve Tarih değerlerini içeren verileri saklamak için kullanılır. 8 Byte yer kaplar. Parasal değerler için kullanılır. Sayısal işlemlerde kullanılabilir. 8 Byte yer kaplar. Kayıtları tek başına temsil edilmesi için kullanılan, her kayıt eklendiğinde ardışık olarak artan uzun tamsayıdır. (8 Byte ) Sadece iki değere sahip verileri saklamak amacıyla kullanılır. 1 bit yer kaplar. Resim, ses, video, Word belgesi gibi nesneler için amacıyla kullanılır. Ad, soyad, telefon numarası gibi Açıklamalar uzun metinleri vb. İl plaka kodu, öğrenci notu gibi Çalışanların maaşı, ürün fiyatları vb. Otomatik sayı ile tanımlı alana sahip tablo ile alan ilişkilendirmek için. Ortalama maaş, indirimli fiyatlar vb. Çok büyük veya çok küçük sayılar Tek ve Çift veri türü gibi ondalık sayılar Teslim Tarihi, İşe Giriş Tarihi, Toplantı saatleri vb. Fatura miktarı, Toptan satış fiyatı vb. Kayıtları tek başına temsil edecek birincil anahtarları tanımlamak için Evet-Hayır, Doğru- Yanlış, Evli-Bekar vb. Öğrenci resmi, ders kayıtları vb. Köprü Web adresleri için kullanılır. İnternet adresleri Seçilen her veri türüne göre alt kısımda Alan Özelliklerindeki pencere değişecektir. Bu pencerede alanla ilgili çeşitli kısıtlamalar gerçekleştirilebilir. Bu alan seçilen veri türü ne göre değişecektir. Fakat çoğu alan özellikleri aynıdır. 231
Alan Özelliği Etkisi Örnek Seçilen veri türüne göre Alan Boyutu verinin boyut büyüklüğünün belirlenmesi otomatik sayı yapılabilir Alanda saklanan verilerin Biçim form veya raporlarda nasıl görüleceğinin belirlenmesi Giriş Maskesi Resim Yazısı Varsayılan Değer Gerekli Sıfır uzunluk izni Sıralı 2.3.3.Tabloyu kaydetme Alanda saklanacak verilerin hangi düzende girileceğinin belirlenmesi Form, rapor veya sorgularda alan kullanıldığında, alanı tanımlamak için etiket olarak alan adı yerine kullanılır. Yeni kayıt ekleme sırasında veri girilmeyen alanda geçerli olacak değerin belirlenmesi Tabloya kayıt ekleme sırasında bu alanın veri eklenmeden boş olarak geçilip geçilmeyeceğinin belirlenmesi Tabloya kayıt ekleme sırasında alana kayıt olarak boşluk karakteri girilip girilmeyeceğini belirler. Alanı Aday anahtar olarak (sıralı olup olamayacağı, tekrar edip etmeyeceği gibi) belirlenmesi için kullanılır. Sayı veri türü seçildikten sonra tamsayı, ondalık sayı veya Metin alanların ilk harfinin büyük yazılması, sayı değerlerinin binlik ayıracının gösterilmesi, vb. Alanın 10 karakterden oluşması ve 5 er karaktere harf ve sayısal değer atanması Alan Adı Ogr.No yerine Öğrenci Numarası kullanılması gibi Medeni durum Bekar gibi Kayıt ekleme sırasında bu alanı boş bırakıldığında değer girilmesi için uyarı verir. Bir alana boş değer girilmesini engellemek için bu özellik Evet yapılır. Bir alanının Sıralı özelliği Evet verilerek bu alana göre hızlı sıralama işlemi gerçekleştirilebilir. Tüm alanlar oluşturduktan sonra tabloyu kaydetmek için Kaydet düğmesine ( penceresi kapatılır. ) tıklanır veya Tasarım Evet düğmesine tıklanarak onayladıktan sonra tablo adı belirlenir. Eğer oluşturulan tabloda birincil anahtar oluşturulmamış ise Tamam düğmesi tıklandığında, tabloya Birincil Anahtar ekleyip eklenmeyeceği sorulan iletişim kutusu açılacaktır. Eğer bu iletişim kutusunda birincil anahtar eklenmesi için Evet tıklanırsa Access tabloya her kayıt eklendiğinde değeri otomatik olarak artan otomatik sayı veri türünde bir alan ekleyecek ve bu alanı birincil anahtar yapacaktır. Bu şekilde oluşturulmuş olan bir tabloda her kayıt eklendiğinde değeri ardışık olarak artacak ve her seferinde farklı değerler alacaktır. 232
Veritabanında oluşturulan nesnelerin Tasarım Görünümünde açılması için öncelikle gezinti bölmesinde listelenen nesne üzerinde sağ tıklanıp, açılan menüden Tasarım Görünümü tıklanmalıdır. 2.4.Anahtar ile çalışma İlişkisel veritabanında veri tutarsızlığının önlenmesi, arama ve sıralama işlemlerinin hızlı bir biçimde gerçekleştirilebilmesi için anahtarların kullanılması gerekmektedir. Tabloya tasarım görünümünde birincil anahtar oluşturmak için birincil anahtar yapılmak istenen alan üzerinde sağ tıklanır. Açılan menüden Birincil Anahtar seçilir. Veya birincil anahtar olacak alan seçildikten sonra Tasarım ek sekmesi>araçlar Komut Grubu>Birincil Anahtar tıklanır. birincil anahtar özelliğini kaldırmak için aynı işlemleri tekrarlamak gerekmektedir. Tasarım görünümünde açılmış tabloya Aday (İndeks) Anahtar eklemek için Aday (İndeks) Anahtar yapılacak alan seçildikten sonra Alan Özellikleri kısmından Sıralı özelliğinin değeri Evet yapılır. Eğer alan değeri birincil anahtarlarda olduğu gibi tablo içerisinde tekrar etmeyecek ise Evet (Yineleme Yok), Eğer tekrar eden kayıtların bulunduğu bir alan aday anahtar olarak belirlenecek ise Evet (Yineleme Var) seçilmelidir. Aday anahtar olarak belirlenen alanlar üzerinde yapılan arama ve sıralama işlemleri daha hızlı biçimde gerçekleşir. Aday Anahtar özelliğini kaldırmak için aynı işlemleri tekrarlayarak Sıralı özelliğinin değeri Hayır yapılır. 2.5.İlişkilendirme işlemleri İlişkisel veritabanlarında en önemli işlemlerden biri tablolar arasında ilişkilerin oluşturulmasıdır. Veri tekrarlarını önlemek veri tutarlılığını sağlamak gibi özellikleri gerçekleyebilmek için ilişkiler kullanılır. Görsel arayüzü kullanarak ilişkilendirme işlemlerini gerçekleştirmek için öncelikle Veritabanı Araçları sekmesi>ilişkiler komut grubu>ilişkiler komutu tıklanır. Açılan pencerede ilişkilendirilecek tabloların seçilebilmesi için Tabloyu Göster iletişim kutusu çıkacaktır. 233
Eğer bu pencere herhangi bir şekilde kapatılmış ise bu pencereyi açmak için İlişkiler penceresinde sağ tıklanır ve Tablo Göster seçeneği tıklanır veya Tasarım ek sekmesi>ilişkiler komut grubu>tablo Göster tıklanır. İlişki oluşturulacak tabloları seçebilmek için açılan pencereden ilişkilendirilecek tablolar sırasıyla seçilerek Ekle düğmesine tıklanır veya ilişkilendirecek tablolar çift tıklanarak tablolar eklenir. Birinci tabloda ilişki oluşturulacak alan sürüklenerek ikinci tabloda ilişki oluşturacak tablonun alanının üstüne bırakılır. Açılan pencerede istenirse tablodaki ilişki oluşturulacak alanlar değiştirilebilir. Kayıtlar arasındaki veri tutarlılığını sağlamak için Bilgi Tutarlılığına Zorla seçeneğini seçilir. Oluşacak ilişki türü pencerenin alt satırında görülebilir. İlişki oluşturulacak birinci tablodaki alanda yapılan değişikliklerin diğer tabloda da etkin olması için İlişkili Alanları Art Arda Güncelleştir veya ilişki oluşturacak birinci tablodaki alana göre yapılacak kayıt silme işleminde aynı veriye sahip verilerin diğer tabloda silinmesi için İlişkili Alanları Art Arda Sil seçeneği seçilir. Oluştur düğmesine tıklandığında ilişki oluşturulmuş olur. Burada ilişki oluşturulan ikinci tablodaki alan yabancı anahtar olarak adlandırılır. İlişkiler penceresi kapatıldığında oluşturulan ilişkilerin kaydedilmesi için açılan iletişim kutusunda Evet düğmesi tıklanır. 234
Kayıt ekleme sırasında tablolar arasında ilişkiler oluşturulmuş ve bu ilişki oluşturma sırasında veri tutarlılığına zorlanmış ise kayıt ekleme sırasında bu ilişkilere dikkat edilmesi gerekmektedir. (Örnekte öğrenci tablosunun OgrAdres alanı ile il tablosundaki ilkod alanı ilişkilendirilmiştir.) Eğer kayıt ekleme sırasında bilgi tutarlılığına zorlanan alanın değerini girilirken diğer tabloda karşılığı yok ise (değer girilmemiş ise) hata mesajı ile karşılaşılır. Örneğin il tablosunda 61 değerine sahip alan olmadığı halde öğrenci tablosunun ogradres alanına 61 değeri girilmeye çalışılırsa hata ile karşılaşılır. 2.6.Tablo kayıt İşlemleri Veritabanı tasarımını gerçekleştirip Access ta tablolar oluşturulduktan sonra veritabanına kayıt işlemleri gerçekleştirilebilir. Kayıt eklemek için çeşitli yöntemler kullanılabilir. Veri Sayfası Görünümünü kullanarak, sorgu oluşturarak veya formları kullanarak tablolara kayıt eklenebilir. Access'ta tablolar oluşturulduktan sonra tablolara veri girmeye başlanabilir. Tablolara veri eklemek için kullanılacak yöntemlerden biri veri sayfası görünümünü ile tablolara veri eklemektir. Gezinti bölmesinde yer alan kayıt eklenecek tablo üzerinde çift tıklayarak Veri Sayfası Görünümünün açılması sağlanır. 235
Sayısal veri türünde belirlenen alana karakter girişi yapılamaz. Tarih veri türünde belirlenen alana tarih değerleri dışında karakter girilemez. Metin veri türünde belirlenen belli bir uzunluklu alana bu uzunluktan daha fazla sayıda karakter girilemez. Tabloyu oluşturma sırasında alanın gerekli özelliği Evet olarak seçilmiş ise kayıt ekleme sırasında kayıt girmeden geçildiğinde hata mesajı verecektir. öğrenci tablosuna kayıt eklerken OgrSoyad alanına kayıt eklemeden bir alt satıra geçilmeye çalışılırsa hata mesajı verecektir. Eğer doğru olarak kayıt değerleri girilmiş ise bir alt satıra geçildiğinde kayıt eklenmiş olacaktır. 2.7.Form işlemleri Access ta tablolara veri girmek için kullanılan yöntemlerden biri de formları kullanmaktır. Formları kullanarak teker teker tablolara veri girilebileceği gibi tasarlanacak formlar ile birden fazla tabloya birden fazla kaydın girilmesi de gerçekleştirilebilir. Çeşitli şekillerde form oluşturulabilir. Form Sihirbazı veya Form Tasarımı kullanılarak form oluşturulabilir. 2.7.1.Form oluşturma Form oluşturma sihirbazı kullanarak form oluşturmak için Oluştur Sekmesi>Formlar>Form Sihirbazı komutu seçilir. Açılan Form sihirbazı iletişim kutusunda hangi tablolar veya sorgular için form oluşturacaksa Tablolar/Sorgular açılır liste kutusundan tablolar seçilir. Tablo seçildikten sonra veri girişi yapılacak veya kullanılacak alanlar sırasıyla seçilerek > düğmesine tıklanır. Eğer tüm alanlar seçilmek isteniyorsa >> düğmesi tıklanır. Seçili alanı geri almak için < düğmesi tüm alanları geri almak için << düğmesi tıklanır. 236
Alan seçme işlemi bittikten sonra İleri düğmesi tıklanır. Daha sonra form üzerinde alanların nasıl yerleşeceğinin sorulduğu iletişim kutusu açılacaktır. Bu pencerede isteğe göre seçim yapılır. Oluşturulan formu gezinti bölmesinde görüleceği isim başlık olarak belirledikten sonra Son düğmesine tıklanarak Form tasarım işlemi bitirilir. Aşağıdaki şekildeki gibi görünen bir form Access tarafından oluşturulacaktır. 237
2.7.2.Form aracılığı ile kayıt ekleme Tasarlanan forma veri girmek için formun en altında yer alan yeni kayıt düğmesine tıklanır. Veya son kayıt düğmesine tıklanıp, en son kayda gidilerek, sonraki kayıt düğmesine tıklanır. Veriler girildikten sonra, sonraki düğmesine tıklandığında kayıt eklenmiş olacaktır. Tasarlanan form içerisinde listelenen kayıtlar içerisinde dolaşmak için form açıldıktan sonra formun alt kısmında yer alan düğmeler kullanılır. 2.8.Sorgu işlemleri Veritabanlarının en önemli özelliklerinin başlıcaları; istenilen verilere ulaşmak, üzerinde değişiklikler yapmak ve istenirse bu verileri silmektir. Bu işlemleri gerçekleştirmek için sorgular kullanılır. Access ta verileri göstermek ve üzerinde değişiklikler yapmak amacıyla sorguların yanı sıra veri sayfası görünümü de kullanılabilir. 2.8.1.Veri sayfası görünümü işlemleri Veri sayfası görünümünde kayıtları eklemek dışında veriler üzerinde değişiklikler yapma, silme listeleme ve filtreleme gibi işlemler gerçekleştirilebilir. Veri sayfası görünümünde alan türüne göre metin, sayı ve tarih filtrelemeleri kullanılabilir. Kayıtlar artan veya azalan sırada sıralatılabilir, istenilen kayıtlar silinebilir. Veri sayfası görünümündeki veriler arasında belli bir değere göre filtre uygulamak için filtre uygulanacak alanın bulunduğu sütunun alan adı kenarındaki ok üzerinde tıklanır. 238
Açılan menüden filtre uygulamak için veri türüne göre filtreleme adının değiştiği seçenek tıklanır. Metin veri türü için metin filtreleri, sayısal alanlar için sayı filtreleri, tarih veri türüne sahip alanlar için tarih filtreleri tıklanır. Veri Sayfası görünümünde kayıtların silinmesi için öncelikle silinecek kaydın bulunduğu tablo veri sayfası görünümünde açılması gerekmektedir. Silinecek kayıt seçildikten sonra üstünde sağ tıklandığında çıkan menüden Kayıt Sil seçeneği tıklanır. Kaydı silmek için çıkan iletişim kutusunda Evet tıklanır. 2.8.2.Sorgu tasarımı Veritabanlarının en önemli özelliklerinden biri sisteme girilmiş olan veriler üzerinde çeşitli sorgulamalar gerçekleştirerek sonuçların alınmasıdır. Sistemde tutulan veriler hakkında bilgi sahibi olmak için sorgulamalar gerçekleştirilir. Oluşturulacak birçok raporda sorgulamalardan yararlanarak verilerin listelenmesi gerçekleştirilir. Sorgu tasarım ekranını kullanarak sorgu oluşturma Sorgu tasarım ekranı kullanılarak sorgu oluşturmak için Oluştur Sekmesi> Sorgular komut grubu> Sorgu Tasarımı tıklanır. Açılan Tabloyu Göster iletişim kutusunda Tablolar sekmesinden sorguda kullanılacak tablolar Sorgular sekmesinden teker teker seçilerek Ekle düğmesi tıklanır. Seçim işlemi bitirildikten sonra Kapat düğmesi tıklanarak Sorgu Tasarım penceresine ulaşılır. 239
Sorgu tasarım penceresinde Tablolar/Sorgular bölmesinde sorguya eklenen tablolar ve sorgular gösterilir. Tasarım Izgarası bölümünde sorgulama listesinde görmek istenilen, mantıksal karşılaştırmada veya listelemede kullanılacak alanlar ve ölçütlerin seçilip, düzenlemelerin yapılabileceği iletişim kutuları yer alır. Sorguda kullanılacak alanları ekleme ve çıkarma Tasarım ekranında sorgu sonucunda gösterilecek veya sorgu sırasında kullanılacak alanların bulunduğu tablo ve sorgular Tasarım Izgarasında Tablo seçeneğinde seçilir. Daha sonra, alan seçeneğinde kullanılacak alan seçilir. Her sütuna bir alan gelecek şekilde sırasıyla alanlar seçilmeye devam edilir. Alan seçme işlemleri tekrarlanarak sorgulama listesinde görülecek, mantıksal karşılaştırmada veya listelemede kullanılacak tüm alanlar eklenir. Seçilen bir alanı çıkarmak için çıkarılacak alan seçili iken Sorgu Araçları Tasarım ek sekmesi> Sorgu Ayarları komut grubu> Sütun Sil komutu tıklanır. Böylece sorgu tasarımından alan çıkartılmış olur. Eğer sorgulama sonucunda alanın sorgu sonucunun görüntülenmesi isteniyorsa Göster onay kutusunun seçilmelidir. 240
Alanlara ölçütler ekleme Sorgu tasarımı sırasında alan değerlerinde karşılaştırmalar yaparak, filtreler kullanarak sorgulama yapmak için kısıtlar yani ölçütler kullanılır. Birden fazla alan için birden fazla ölçüt kullanılarak istenilen sorgulamalar hazırlanır. Sayısal, Metinsel ve Tarihsel veri türleri ölçütlerine göre sorgulamalar yapılabilir. Listeleme sorgularında listelerin sıralama öncelikleri belirlenebilir. Sorgu Tasarımı penceresinde Tasarım Izgarasında yer alan Ölçüt kısmına herhangi bir karşılaştırma yazılarak sorgulama gerçekleştirilir. Öğrenci Soyadı Gel ve Öğrenci Adresi 54 olan kayıtları listeleyen sorgu yukarıdaki gibi olacaktır. Tasarım Izgarasında her alan için bir ölçüt kullanılabilir. Eğer Ölçütler aynı satırda yazılır ise bu durumda sorgu çalıştırılırken bu ölçütler ve işlemi ile çalıştırılır, Eğer bir alana bir ölçüt yazıldıktan sonra diğer alanın ölçütü bir alt satırda yazılırsa bu durumda sorgu çalıştırılırken bu ölçütler veya işlemi ile çalıştırılır. Öğrenci Soyadı Gel veya Öğrenci Adresi 54 olan kayıtları listeleyen sorgu yukarıdaki gibi olacaktır. Bazı durumlarda tek bir alan içerisinde de birden fazla ölçüt kullanılmak istenebilir, ayrıca çeşitli sorgu sonuçlarını elde etmek içinde operatörler kullanılır. Mantıksal operatörler Birden fazla durum arasındaki mantıksal karşılaştırmaları gerçekleştirmek için kullanılırlar. Operatör Görevi Birden fazla mantıksal karşılaştırmayı veya (bu veya bu) şeklinde kullanmak için Or karşılaştırmaların arasına konur. Karşılaştırmadan birinin doğru olması yeterlidir. Birden fazla mantıksal karşılaştırmayı ve (bu ve bu) ile kullanmak için And karşılaştırmaların arasına konur. Tüm karşılaştırmaların da sonucunun doğru olması gerekmektedir. Not Bir mantıksal karşılaştırmanın tersini kullanmak için karşılaştırmanın başına konur. Matematiksel operatörler Bu operatörler sayı veri türündeki alanlar için kullanılır. 241
Operatör Görevi + Alan değerine belli bir değer ekleme - Alan değerinden belli bir değeri çıkarma * Alan değerini belli bir değer ile çarpma / Alan değerini belli bir değere bölme ( ) Matematiksel işlemlerde öncelik sıralaması belirleme İlişkisel operatörler Bu operatörler iki durum arasındaki ilişkiyi karşılaştırmak amacıyla kullanılır. Operatör Görevi < Alan değerinin belli bir değerden küçüklüğünü karşılaştırma > Alan değerinin belli bir değerden büyüklüğünü karşılaştırma = Alan değerinin belli bir değere eşitliğini karşılaştırma <> Alan değerinin belli bir değerden farklılığını (eşit olmadığını) karşılaştırma <= Alan değerinin belli bir değerden küçük veya eşit olduğunu karşılaştırma >= Alan değerinin belli bir değerden büyük veya eşit olduğunu karşılaştırmak için kullanılırlar Karakter operatörleri Metin içerisinde belirli özelliklere göre kısıtlar eklenecek ise karakter operatörlerinin kullanılması gerekmektedir. Sorgulamada ölçüt olarak kullanılacak karakterler arasında yazılmalıdır. Operatör Görevi = Alan değerinin belli bir değere eşitliğini karşılaştırma * Alan içerisindeki karakterlerin bir kısmı bilinmiyor ise bilinmeyen karakterlerin yerine kullanılır. (a* ; a harfi ile başlayan, *ana* ; içerisinde ana karakterleri bulunan, *li ; son karakterleri li ile biten gibi)? Alan içerisindeki bilinmeyen her karakter için kullanılmalıdır. (a?i ; ilk karakteri a son karakteri i olan ortadaki bir karakteri bilinmeyen ifadeler) Sorgu sıralama önceliğini belirleme Herhangi bir alana göre küçükten büyüğe veya büyükten küçüğe sıralama yapılabilmesi için Tasarım Izgarasında Sırala seçeneği açılır. Açılan listeden küçükten büyüğe sıralama yapılabilmesi için Artan, büyükten küçüğe sıralama yapılabilmesi için Azalan seçeneği seçilir. Eğer sıralama işlemi daha önceden seçilmiş fakat artık sıralama işleminde kullanılmayacak ise sırasız seçeneğini seçilir. 242
Sorguları çalıştırma Hazırlanan sorguyu çalıştırmak Sorgu Araçları Tasarım ek sekmesinden> Sonuçlar komut grubundan> Çalıştır komutu tıklanır. Böylece Sorgu sonucu görülebilir. Sorguyu kaydetmek için Kaydet düğmesine ( ) tıklanır veya Sorgu Tasarım ekranında iken pencere kapatıldığında sorgunun kayıt edilip edilmeyeceğini soran iletişim kutusu açılacaktır. Evet düğmesine tıklandığında sorgunun hangi isimle kaydedileceğini soran iletişim kutusu görünür. Sorguya bir isim verip Tamam düğmesi tıklanarak işlem bitirilir. Gezinti bölmesinde hazırlanan sorgunun ismi listelenir. Sorgu sonucunu görmek için gezinti bölmesindeki sorgu çift tıklanır. 2.9.Rapor işlemleri Access ta veritabanında tablolar içerisinde bulunan kayıtların daha düzgün ve istenilen biçimde çıktı olarak alınabilmesi için raporlar kullanılır. Bir tablonun içerisindeki tüm kayıtların raporu alınabileceği gibi sorgular kullanarak tablolar içerisinden özet bilgiler çekilerek de sonuçlar rapor olarak alınabilir. Tablolar kullanılarak rapor oluşturulabileceği gibi hazırlanan sorgular kullanılarak da rapor oluşturulabilir. Access ta rapor oluşturma yöntemlerinden biri Rapor Sihirbazı kullanmaktır. Rapor Sihirbazı kullanılarak rapor oluşturmak için Oluştur sekmesi>raporlar Komut grubu>rapor Sihirbazı komutu tıklanır. Açılan Rapor sihirbazı iletişim kutusundan hangi tablo veya sorgu için rapor oluşturacaksa Tablolar/Sorgular açılır liste kutusundan tablolar seçilir. 243
Tablo veya sorgu seçildikten sonra listelenecek veya kullanılacak alanlar sırasıyla seçilerek > düğmesine tıklanır. Eğer tüm alanlar seçilmek isteniyorsa >> düğmesi tıklanır. Seçili alanı geri almak için < düğmesi tüm alanları geri almak için << düğmesi tıklanır. Alan seçme işlemi bittikten sonra İleri düğmesi tıklanır. Daha sonra rapor gruplandırma düzeyleri ayarlanır. Oluşturulan raporda kayıtların hangi alanlara göre sıralanacağı seçilir. Sıralama varsayılan olarak Artan sıralamadır. Azalan sıralama yapmak için Artan düğmesi tıklanır. Sıralama seçenekleri belirlendikten sonra İleri düğmesine tıklanır. 244
Oluşturulacak raporda kayıtların sayfaya yerleşimi ve çıktının kâğıda nasıl yerleşeceği, yönlendirme seçildikten sonra İleri tıklanır. Oluşturulan rapora başlık verildikten sonra eğer oluşturulan rapor üzerinde değişiklik yapılmak isteniyorsa Rapor tasarımını değiştir seçeneği seçilerek Son düğmesine tıklanarak rapor tasarım penceresine ulaşılır. Veya Raporu önizle seçeneği seçilerek Son düğmesine tıklanarak kayıtların listelendiği rapor penceresi açılır. İstenirse yazıcıdan çıktı alınabilir. Raporu çalıştırmak için gezinti bölmesinde yer alan rapor üzerinde çift tıklanır. Gerekli işlemler doğru bir şekilde tamamlandığında istenilen rapor Access tarafından oluşturulur. 245
Rapora baskı önizleme yapıldığında rapor çıktı alındığındaki durumu gözükecektir. 246