Mühendislikte Veri Tabanları Dersi Uygulamaları İstanbul Teknik Üniversitesi, İnşaat Fakültesi, Geomatik Mühendisliği Bölümü Prof. Dr. Nebiye MUSAOĞLU Doç. Dr. Elif SERTEL Y. Doç. Dr. ġinasi KAYA AraĢ. Gör. Kaan KALKAN AraĢ. Gör. Fulya BaĢak Sarıyılmaz 2010 – 2011 Güz Yarıyılı VERĠ TABANLARINA GĠRĠġ TANIM: Veri tabanı, verilerin belirli bir amaca yönelik olarak düzenlenerek bir araya getirilmiĢ biçimidir. Microsoft access veritabanlarını yaratmak ve yönetmek için kullanılan güçlü bir programdır. Bilgiyi yapılandırmak ve görüntülemek için program içinde birçok menü vardır. Sistemin olanakları yardımıyla veriler; sorgulanabilir, süzülebilir, sıralanabilir, iĢlenebilir, raporlar hazırlanabilir ve daha pek çok iĢlem yerine getirilebilir. Veri tabanı, en geniĢ anlamıyla; birbiriyle iliĢkili verilerin tekrara yer vermeden, çok amaçlı kullanımına olanak sağlayacak Ģekilde depolanması olarak tanımlanabilir. Veri tabanlarını yaratmayı ve kullanmayı sağlayan programlar topluluğuna “veri tabanı sistemi” ya da “veri tabanı yönetim sistemi – database management system (DBMS)” denir. Access’in veri tabanını nasıl analiz ettiği incelenecek olursa, 1 VERĠ TABANI DOSYASI OLUġTURMA Yeni veritabanı dosyasının oluĢturulması için öncelikle dosyanın bilgisayarda hangi dizin altına ve ne isimle kaydedileceğine karar verilir ve kayıt iĢlemi ile dosya oluĢturulur. Bu iĢlemden sonra, program kullanıcıya tablo oluĢturma olanağını otomatik olarak sunar ve uygulayıcı kendi için uygun olan tablo oluĢturma Ģeklini seçer. Tablo oluĢturma yöntemi seçildikten sonra tablo ekranı açılır ve bu ekranda alan isimleri girilir ve uygun olan veri türleri seçilir Alan adı alfabetik veya alfa nümerik ise veri türünün metin olarak seçilmesi gerekmektedir. Örneğin alan adı kısmına isim yazdığımızda veri türü olarak metin seçilmesi gibi. Metin seçildiğinde tablo ekranının sol alt köĢesinde yer alan kısmın doldurulması gerekmektedir. 2 Alan Boyutu: Tanımlanan metin alanlarının uzunluğunun karakter sayı cinsinden tanımlanması ile alan boyutu belirlenir. En fazla 255 karakter olabilir. Biçim: Alanlara girilecek değerlerin istenilen Ģekilde biçimlendirilmesi amacıyla kullanılır.Örn: ! ünlem iĢareti yapılarak giriĢler sola yaslanır. GiriĢ Maskesi:Verilerin belli bir kurala uymasını sağlamak için kullanılır.Örneğin Alana sayısal bir karakterin girilmesi gerekiyorsa, giriĢ esnasında kullanıcıyı buna zorlamak gerekir. Resim Yazısı: Ekranda alanın üst kısmında form ve raporda görünen baĢlık kısmıdır. Varsayılan Değer:Bazı alanlara herhangi bir değer girilmediği zaman, önceden belirlenen bir değer otomatik olarak yerleĢtirilir. Geçerlilik Kuralı ve Metni: Belirtilen Alana girilecek veri üzerine bir sınırın konulması için kullanılır. Geçerlilik kuralı kısmına sınırlama ve metni kısmına ise sınırlamaya uyulmaması durumunda ekranda görünecek olan mesaj yazılır. Gerekli: GiriĢin zorunlu olması gerektiği alanlar için kullanılır. Sıralı: Tablonun herhangi bir alanının dizin alan olarak tanımlanmasını sağlar. Ġkinci alan adı olarak soyisim yazılır ve veri türü olarak metin seçilir. Üçüncü alan ismi olarak numara yazılır ve veri türü olarak sayı seçilir. Seçilen sayı verisine ait özelliğe uygun olarak alan boyutu kısmında mevcut olan türlerden biri seçilir. 3 Alan Boyutu içinde mevcut tanımlar bayt, tamsayı, uzun tamsayı, tek, çift, ondalık ve yineleme kimliğidir. Bayt: ĠĢaretsiz sayıların girilmesi için kullanılır. Tamsayı: ĠĢaretli tamsayı olarak girilebilmektedir. Uzun Tamsayı: Büyük tamsayıları tanımlamak için kullanılır. Tek/Çift: Tek, tek sayılar için ,çift ise çift sayılar için kullanılır. Ondalık: Ondalık sayılar için kullanılır. Dördüncü alan ismi olarak doğum tarihi yazılır ve veri türü olarak tarih/saat seçilir. Program içersindeki hazır formatlardan istenilen tarih biçimi seçilir. Son alan olarak ödeme tutarı yazılarak veri türü olarak para birimi seçilir. Uygun para birimi mevcut seçeneklerden seçilir. 4 Alanlar yazıldıktan sonra tablo kapanırken tablo kayıt menüsü görülür. DeğiĢiklikleri kaydetmek için evet tıklanır. Tablonun ismi yazılır (uygulama) ve değiĢiklikler kayıt edilir. 5 UYGULAMA 1: Uygulama kapsamında bir Gayrimenkul değerleme firmasına altyapı oluĢturabilecek bir veritabanı oluĢturulacaktır. Bu amaçla Banka, Değerleyici, Malik, Tapu Bilgileri ve TaĢınmaz adı altında 5 adet tablo oluĢturulacaktır. Daha sonrasında iliĢkiler kurularak sorgular oluĢturulacaktır. 1- AĢağıda verilen tablo verilerini kullanarak tasarım görünümünde tablo oluĢturun. 2-Tabloların alan veri türleri yukarıda konu anlatımında bahsedilen Ģartlara bağlı kalınarak oluĢturulmalıdır. 3-Kayıt aĢamasında tabloların üzerindeki isimler tablo ismi olarak kullanılacaktır. FAKÜLTE BÖLÜM ÖĞRENCĠ DERS 6 TABLOLAR ARASINDA ĠLĠġKĠLERĠN OLUġTURULMASI Birden fazla tablo içeren uygulamalarda sorgulama yapabilmek için tabloların iliĢkilendirilmesi gerekmektedir. Veritabanı içindeki tabloları belirli alanlarına göre birbirleriyle iliĢkilendirmek olasıdır. Bu sayede, bir tablodaki kayıtlar iĢlenirken, o kayıt ile iliĢkili olan diğer tablodaki kayıtlarla da iĢlemler yapılabilecektir. Tabloların iliĢkilendirilmesi için; Aralarında iliĢki kurulacak olan tabloların açık olmaması gerekmektedir. Veritabanı araçlar (DatabaseTools) menüsünden relationships (iliĢkiler) tıklanır. Tabloyu göster penceresindeki tüm tablolar seçilir. Tablolar arasında iliĢki kurmak için, iki tabloda da ortak olan alan ismi belirlenir. Bir tablo üzerinde alan ismi seçilir ve o alan sürüklenerek diğer tablodaki aynı alan üzerine bırakılır. 5. ĠliĢkiler kurulurken aĢağıdaki Ģekiller görülecektir. 1. 2. 3. 4. 7 SORGULAR Sorgu, veritabanı sistemi içinde yer alan tablolardaki verilerin isteğe uygun olarak seçilerek, belirli bir düzen içerisinde sunulmasıdır. Bir Sorgunun Yaratılması Sorgu yaratmak için OluĢtur (Create) menüsü içerisindeki Sorgu (Query) seçenekleri kullanılır. Sorgu iki Ģekilde yaratılabilir. Tasarım görünümünde (Query Design) veya sihirbaz ile (Query Wızard), uygulamada detayların daha iyi anlaĢılabilmesi için tasarım görünümünde sorgu yaratma seçeneği kullanılacaktır. Sorgu tasarımı seçildikten sonra, “Tabloyu göster (show table)” menüsünden sorgu yapmak için kullanılacak olan tablolar seçilir. Ġlk sorguyu gerçekleĢtirmek için tablo göster menüsünden fakülte adlı tablo seçilir. Sorgu 1: Fakülte adlı tablodan sorgulanacak baĢlıklar olarak Fakülte adı ve Fakülte Dekanı baĢlıkları field kısmında seçilerek hangi fakültenin dekanın kim olduğunu gösteren bir sorguya eriĢilir. 8 Sorgulama ile ilgili tanım yapıldıktan sonra sorgu saklanarak pencere kapatılır ve kaydedilir. Veri tabanı penceresinin sol kısmında, tablo isimlerin göründüğü bölüme yeni yaratılan sorguda eklenmiĢ olacaktır. Sorguyu çalıĢtırmak için bu sorgu (sorgu1) üzerine gelinerek çift tıklanır. Sonuç sorgulama aĢağıdaki gibi elde edilecektir. Birden Fazla Tablo Kullanarak Sorgu OluĢturma Birden fazla tablo kullanarak sorgu oluĢturmak için yukarıda anlatılan sorgu oluĢturma iĢlemi tekrarlanır. Fakat tabloyu göster menüsü çıktığı zaman ctrl tuĢu kullanılarak aynı anda birden fazla tablo seçilir ve seçilen tablolar add (ekle) menüsü kullanılarak veri tabanına eklenir. Sonuçta, aĢağıdaki görünüm elde edilir. 9 Yapılmak istenilen sorgu ile iliĢkili alanlar yukarıda görüldüğü gibidir. Sorgunun amacına bağlı olarak gerekli alanlar seçilir. Sorgu 2: Hangi öğrencinin hangi bölümde olduğunu sorgulamak amacıyla, öğrenci tablosundan öğrenci no, öğrenci adı ve öğrenci soyadı; bölüm tablosundan, bölüm adı seçilir. Gerekli alanlar seçildikten sonra sorgu kayıt edilerek veri tabanına geri dönülür. Sorgu görüntülendiğinde aĢağıdaki Ģekil elde edilecektir. 10 DEĞĠġĠK SORGULAMA ÖRNEKLERI Bir Ölçüte Uygun Kayıtların Seçilmesi Sorgu iĢlemlerinde tablo içinde yer alan bazı kayıtların, belirli bir ölçüte ya da bir baĢka deyiĢle bir koĢula göre seçilerek görüntülenmesi söz konusu olabilir. Ölçütler tanımlanırken amacına uygun biçimde bazı özel iĢleçler kullanılabilir. Söz konusu iĢleçler aĢağıdaki gibidir; > Büyük < Küçük <> EĢit değil <= Küçük veya eĢit >= Büyük veya eĢit Between…And Verilen iki değer arasında Sorgu 3: Ders kredisi 3 veya 5 olan dersleri gösteren sorgulama örneği oluĢturmak için ilk olarak yeni sorgu oluĢturulur. Sorgu için ise ders tablosu seçilir ve tablodan dersin kredisi ve dersin adını gösteren alanlar seçilir. Kriter olarak criteria kısmına 3 veya 5 (3 or 5) yazılır ve sorgu kaydedilir. Sonuç sorgulama aĢağıdaki gibi elde edilir. Sorgu 4: 02-09-2008 ve 06-09-2003 tarihleri arasında kayıt yaptıran öğrencileri sorgulamak için gerekli alanlar seçilir. Derse kayıt tarihi alanının altındaki kriter (criteria ) kısmına Between # 02SEP-2003# And #06-SEP-2003# (YADA Between # 09/02/2008# And #09/06/2008#) yazılır. Sorgu kaydedilerek veri tabanına geri dönülür. Sorgu görüntülenmek için açıldığında aĢağıdaki tablo elde edilecektir. NOT: Bilgisayarınız ayarlarına göre ay daha önce görünüyor olabilir, eğer gün daha önce görünüyorsa sorgu ona göre dizayn edilir. 11 Sorgunun sonucu aĢağıdaki gibi olacaktır. Sorgu 5: BaĢarı notu olarak CB alıp Bilgisayar Müh. Bölümünde olmayan öğrencilerin gösterilmesi. Bunun için ilk olarak ilgili alanlar seçilir ders baĢarı notu alanı altındaki kısma “ BB “ ve bölüm adı kolonu altında kriter kısmına denk gelen birime Not “ Bilgisayar “ yazılır ve sorgu kaydedilir. AĢağıdaki sorgulama sonuç tablosu elde edilir. Sorgu 6 : Bir tablodaki sayısal alanların toplanması gerekebilir. Örneğin bölümlerdeki toplam öğrenci sayısını hesaplayan bir sorgu yapılmasına gerek duyulduğunda ilk olarak yeni sorgu için bölüm tablosu seçilir. Sorgu içinde alan olarak öğrenci sayısı seçilerek, Tasarım (Design) manüsü altında yer alan ∑ butonu seçilir. Bu butonun seçilmesiyle alt kısımda total (toplam isimli) yeni bir menu olaĢacaktır. Menünün içinde bulunan çeĢitli seçeneklerden sum seçilerek, toplam öğrenci sayısı bulunabilir. Bu durumda aĢağıdaki sonuç elde edilecektir. 12 Sorgu sonucu aĢağıdaki gibi olacaktır. Sorgu 7: Tablonun içerdiği kayıtlar arasında belirli bir alana göre en büyük olanı seçmek gerekebilir. Örneğin, kredisi en fazla olan ders bulunmak istendiğinde. Yeni sorgu oluĢturulur, tablo seçilir ve dersin kredisi alanı altında total (toplam) menüsünden en çok (max) seçilerek sorgu bitirilir. Daha sonra sorgu görüntülendiğinde elde edilecek olan tablo aĢağıdaki gibidir. Sorgu 8: Tablo içindeki veri gruplarını sıralamak gerekebilir. Örneğin, öğrenci isimlerine göre alfabetik sırada bir tablo oluĢturulmak istenirse, öncelikle sorgu oluĢturulur ve gerekli alanlar seçilir. Daha sonra, öğrenci adı alanın altındaki sort (sırala) menüsü seçilir. Sonuç tablo aĢağıdaki gibidir. 13 FORMLARIN YARATILMASI Formlar, uygulama ile kullanıcı arasında bilgi iletiĢimini yani etkileĢimi sağlayan ortamlardır. Form yaratmak için veritabanı penceresinde oluĢtur yazan sekme açık olmalıdır. Bunun içinde formlar kısmına girilebilmektedir. Burda form ve Birden çok Öğe adlı sekmeler yardımı ile form oluĢturulabilmektedir. Formun biçimlendirilmesi ise form oluĢturma sekmeleri seçildikten sonra açılan otomatik biçimlendirme sekmesi ile gerçekleĢtirilmektedir. Formu oluĢturulacak olan tablonun açık olması ve tabloda gösterilmek istenilen satır ve sütunların seçili olması gerekmektedir. Ġlgili sekmelerin seçilmesi sonucunda açılan pencereler aĢağıdaki gibidir. 14 Her öğrenci kendi formunda görmek istediği alan isimlerini belirleyerek kendi formunu oluĢturacaktır. Form sihirbazında formun ne Ģekilde görüntülenmek istediğine dair bir pencere açılır. Ġstenilen form altlık formatı yukarıda belirtilen Ģekilde seçilir. Formun ismi yazılarak form oluĢturma iĢlemi tamamlanır. Bu iĢlem sonucundan istenilen form oluĢturulmuĢ ve kaydedilmiĢ olur. 15