1 VERİTABANI YÖNETİM SİSTEMLERİ – MS ACCESS VERİ TABANI NESNELERİ 1- TABLO - İçinde verilerin bulunduğu yani verilerin kayıt edildiği nesnelerdir. 2- SORGU - Veri tabanındaki bilgilere kullanıcının isteği doğrultusunda ulaşılmasını sağlayan soru nesneleridir. 3-FORM - Veri tabanına bilgi girişi yapmak, veriler üzerinde değişiklik yapmak ve veri tabanını yönetmek için kullanılan arayüzlerdir. 4-RAPOR - Veri tabanındaki bilgilerin yazıcıdan çıkmak üzere düzenlenmiş halidir. 5-MAKROLAR - Veri tabanı üzerinde birden fazla adımda yapılabilecek olan işlemleri tek bir isim altında toplayarak bir kerede yapılmasını sağlayan nesnelerdir. 6-MODÜLLER - Visual Basıc‟e benzer Access‟in kendi Access Basic kodlarını kullanarak program yazılan nesnelerdir. TABLO TASARIMI 1-Veri Sayfası Görünümü - Excel çalışma sayfası görünümünde tablo oluşturur. Bu tabloda olan adlar otomatik olarak Access tarafından verilmiştir. En fazla 20 alan kullanılır. Veri tipleri ve verilerle ilgili diğer bilgiler Access tarafından verilmiştir. 2-Tasarım Görünümü - Bu görünümde tablo ile ilgili tüm işlemler kullanıcı tarafından yapılır. Alan özellikleri, alanlara kaydedilecek olan verilerin tipleri ve diğer veri özellikleri kullanıcı tarafından verilir. 3-Tablo Sihirbazı - Access‟in kendi tablo şablonlarını kullanarak kullanıcının isteği doğrultusunda yeni bir tablo yaratır. 4-Tablo ekle - Başka bir veri tabanı uygulamasında oluşturulmuş veya Excel gibi diğer uygulamalardaki bilgileri ve o andaki aktif veri tabanına ekleyecek şekilde içi dolu bir tablo yaratır. 5-Link Tablo - Access veri tabanında birden fazla tablo oluşturulabilir. Bu seçenek ile birbirine bağlı yeni tablolar oluşturulur. Bu şekilde oluşturulmuş tabloların birinde yapılan veri değişikliği aynı anda otomatik olarak diğer tabloda da değişir. VERĠ TABANI YÖNETĠM SĠSTEMLERĠ Veri - Veri tabanında kayıtlı fiziksel değerdir. Veri hamdır işlenmemiştir. Bilgi ise bu değerlerin anlamlı veya işlenmiş halidir. Veritabanı - Temelde bilgisayara dayalı bir veri saklama sistemidir. Veritabanı Yönetim Sistemi – 4 temel öğeden oluşur. Veri, donanım , yazılım, kullanıcılar. Veri- Depolanan veri bir veya daha fazla veri tabanına bölünebilir. Ancak kullanımı daha rahat olduğu için tercih edilen yol verilerin tamamını sistemin içine tek bir veri tabanı olarak toplamaktır. Donanım- Kullanılan yazılımın donanım ile uygun olması depolama birimleri, ana birimler ve donanımın güvenliği için önemlidir. Yazılım- Fiziksel veri tabanı ile sistem kullanıcı arasındaki iletişimi sağlayan yazılıma veri tabanı yönetim sistemi denir (VTYS). Veri tabanına ulaşabilmek için kullanıcıdan gelen bütün istekler veri tabanı yönetimi sistemi tarafından yerine getirilir. Bir VTYS kullanıcıyı donanımla ilgili bilgi vermeye zorlamaz. Kullanıcılar- Üç çeşit kullanıcı vardır: 1-Uygulama programcısı- Programlama dili ile programı yazan, veri girişi, ekleme, silme, düzeltme işlemini yapan kişidir. 2-Son Kullanıcı- Uygulama programcısının hazırladığı programı kullanır. 3-Veri Tabanı Yöneticisi- Veri tabanı sistemi kullanan bir işletmede bütün verilere ulaşabilen ve onlar üzerinde merkezi sorumluluğu olan yöneticilik ve teknik bilgiye sahip kişiye denir. Bu kişinin en önemli görevleri arasında işletme, kurum, okula ait bilgilerin dağıtılmasının ve kontrolünün yapılmasını sağlamak gelmektedir. 2 Veri Tabanının üstünlükleri - Tekrarlar önlenebilir. - Veriler arasındaki uyuşmazlıklar ortadan kaldırılabilir - Veriler paylaşılabilir - Standardizasyon getirilebilir - Güvenlik önlemleri alınabilir (Muhasebe-İdare) Hangi dosyalar kullanılacaksa o dosyalara kullanım hakkı verilir - Veriden bağımsızlık - VTYS uygulamaların depolama yapısı ve erişim yöntemlerine karşı bağışıklıdır. Veri tabanının bileĢenleri 1. Alan- Veri tabanı içinde verilerin isimlendirilmiş en küçük birimidir.(okul no, ad, soyad, vb.) 2. Kayıt- Birbirleri ile bağlantılı alanlar topluluğudur. 3. Dosya- Aynı alanlara sahip kayıtlar topluluğudur. Verilerin Kodlanması- Veriler kodlanırken hep aynı tipte kodlanmalıdır. Kısaltma kullanılacaksa tüm verilerde kullanılmalı yada hiç kullanılmamalıdır. Örneğin mezun olduğu okul alanına İlköğretim Okulu, İ.Ö.O., İlk.Öğr.Ok. gibi yazılması sorgulama işleminin yapılmasında problemlere yol açar. Alan adları veri türleri ile uyumlu olmalıdır. Örneğin bir kayıttaki kişinin cinsiyetinin girileceği alana cins, cinsiyet alanı adı verilir. Büyük küçük harf kullanılırken dikkat edilmeli, rasgele kullanılmamalıdır. DağıtılmıĢ Veri Tabanları- Bu sistemde veriler tek bir ana belleğe yardımcı belleklerde bir ağ yani network içinde bulunur. Dolayısıyla veriler birbirine kilometrelerce uzaktan bir veri hattı yolu ile bağlanmaktadır. Bankalardaki bilgisayar kullanımı buna örnektir. Şubelerin PC‟leri bankanın merkez şubesine bağlıdır. Merkez şube diğer şubeleri denetleyebilir. Yerel müşteriler ile ilgili işlemler merkeze bildirilmeden yapılabilir. VERĠ TABANI TASARIMI 1- Ġstemlerin toplanması 2- Veri tabanı içinde hangi verilerin yer alması istenmektedir. 3- Veri tabanında istenen rapor türleri. Veri Tabanı Ġçinde Yer Alacak Olan Tabloların Belirlenmesi Veri tabanı içinde yer alacak tabloların belirlenmesinin, son kullanıcı açısından bir önemi yoktur. Fakat veri tabanı tasarımcısı için, sistemin verimi ve güvenliği için çok önemlidir. Ayrı konularla ilgili bilgiler ayrı bir tablo içine yerleştirilmelidir. Örneğin; personel bilgisi içine öğrenci bilgisi yerleştirilmemelidir. Personel sicil bilgisi tablolarına muhasebe bilgileri yerleştirilmemelidir. Aynı tablo içinde tekrar edilen alanlar bulunmamalıdır. Örneğin bir personelin maaşı diye bir alan alınmamalı personelin maaşı verinin girildiği zamana bağlı olarak değiştiği için aynı veri tabanında personelin maaşı farklı olacaktır. Maaşı hesaplamak en uygun yoldur. Tablolar Ġçindeki Alanların ve Anahtar Alanların Belirlenmesi Her alanın içinde tek bir içerik olmalıdır. Örneğin adres alanı içinde mahalle, sokak, ilçe, il olmamalıdır. Kullanacağımız veri tabanına göre parçalanmalar yapılabilir. Aynı il ve ilçede oturanları listelemek istiyorsak il ve ilçe adları mutlaka ayrı olarak tasarlanmalıdır. Her tablo için alanlardan biri mutlaka birincil anahtar (Primary key) olarak tanımlanmalıdır. Bu alan tekrarlanan verilere ait alan olmamalıdır. Bazı alanlar farklı tablolarda tekrarlanabilir. Burada veri bütünlüğünün bozulmamamsı için dikkat edilmesi gereken nokta iki tablo arasındaki verilerin birbirleri ile uyuşmasıdır. Sonuç olarak, bir veri tabanı bütünleşik ve paylaşılabilir bir depodur. Bütünleşik sözcüğünün kullanılmasının sebebi birden fazla ayrı veri dosyasının tekrarlamalar olmaksızın bütünleştirmesidir. 3 Örneğin kurs ve çalışan dosyalarının olduğunu varsayalım. Çalışan dosyasında isim, adres, bölüm ve maaş bulunsun. Kurs dosyasında da katıldığı hizmet içi eğitimle ilgili bilgiler bulunsun. Kursa yeni başlayacak bir kişinin çalıştığı bölüm ile ilgili bilgilerin kurs dosyası içinde olmasına gerek yoktur. Bu bilgiler “No” yada anahtar gösterilerek öğrenilebilir. Paylaşılabilir sözcüğü ile veri tabanı içindeki veri parçalarının değişik kullanıcılar tarafından paylaşılması kastedilir. Bu durumda bu kullanıcıların her biri aynı veri dilimine ulaşabilirler. Bu veri tabanının bütünleşik olmasının sonucudur. Yukarıda verilen örnekte de bölüm bilgisi birden fazla amaçla kullanılmış yani paylaşılmıştır. Burada önemli bir nokta da aynı veri parçasının n tane kullanıcı tarafından aynı anda ulaşılabilmesidir. Bundan, bir veri tabanı sisteminin çoğunlukla çok kullanıcılı bir sistemle desteklenmesi gereği ortaya çıkmaktadır. ACSESS ĠLE VERĠ TABANI YÖNETĠMĠ ACSESS’DE VERĠ TÜRLERĠ METĠN- Karakter türü (harf, rakam, özel karakter) bilgi içeren alanlar için kullanılan veri tipidir. Metin tipindeki bir alanın bilgi içeriği 255 karakter uzunluğunda olabilir. Önceden atanan değer 50 dir. NOT- Not türü bilgiler de metin türünde olan fakat 255 karakterden daha fazla (65535 karakter kadar) karakter içeren bilgilerdir. SAYI- Sayı türü, matematiksel işlemlere sokulacak türdeki bilgiler için uygundur (maaş, fiyat, miktar gibi). Sayı türündeki tanımlanmış olan boyutlar ise şunlardır: Byte - 0 ile 255 arası sayılar. Tamsayı - 32768 ile 32767 arasındaki sayılar. Uzun tamsayı -2.147.483.648 ile 2.147.483.647 arası. Tek tamsayı – 3.402.823x1038 ile 1.401.298x10-45 yada 1.401.298x10-45 ile 3.402.823x1038 . İlk yedi hane hassastır. Ondan sonraki sayılar yuvarlatılır. ÇĠFT- -179769313486231x10308 ile -4.94065645841247x10-324 arasındaki bir negatif sayı yada … TARĠH/SAAT- 100 yılı ile 9999 yılı arasındaki tarihler ve zamanlar. PARA BĠRĠMĠ- Parasal türdeki veriler için kullanılır. 1 ile 4 arası ondalık haneye sahip olabilir. Ondalık noktanın sol tarafına 15 ve sağ tarafına 4 haneye kadar hassasiyete sahiptir. OTOMATĠK SAYI- Otomatik sayı değerine sahip olan bir alandaki sayılar ya birer birer artan tam sayılardır yada Access tarafından atanan rasgele sayılardır. Sayıları rasgele seçmek için genel sekmesindeki yeni değerler seçeneği kullanılır. Yeni değerler rasgele seçilir. EVET/HAYIR - İki değerden birini seçmek zorunlu olduğunda kullanılır. OLE NESNESĠ- Excel tablosu, Word dokümanı, resim yada ses bilgisi olabilecek türdeki verilerdir. KÖPRÜ- Internet adreslerinin girileceği alanlardır. ALAN ÖZELLĠKLERĠ Alan Boyutu Özelliği: Text veya sayısal bilgi için alan genişliğini belirler. Text alanının uzunluğu maksimum 255 karakterdir. Sayısal veri için varsayılan değer uzun tamsayıdır. Biçim Özelliği: Metin, sayısal verilerin, tarih ve zaman verilerinin görünümünü etkiler. GiriĢ Maskesi Özelliği: Kullanıcının bir veriyi belli bir biçimde girmesini sağlar. Örneğin, telefon numaralarının girilmesinde gerekli parantezlerin ve boşlukların verilmesi kullanıcının zamanını alır. Bu zorluğu gidermek için bir otomatik giriş biçimiyle bu alana girilecek bütün verilerin standart olması sağlanır. Resim Yazısı Özelliği: Alana başlık vermek için kullanılır. Varsayılan Değer Özelliği: Bir alanda sürekli kullanılan değeri belirtir. Daha sonra giriş görünümünde formlarda otomatik olarak yer alır. Geçerlilik Kuralı ve Geçerlilik Metni Özelliği: Alana girilecek verinin belli bir kurala uymasını zorunlu kılar. Geçerlilik kuralı verinin özelliğini belirtirken, geçerlilik metni ise girilen verinin kuralın sağlanmaması durumunda verilecek mesajı içerir. 4 Gerekli Özelliği: Her kayıtta bir alanın mutlaka bir değere sahip olması isteniyorsa alınan değeri „evet‟ yapılır, normalde „hayır‟ durumundadır. Sıfır Uzunluk Ġzni Özelliği: Metin ve not tipi alanlar için vardır. Bu özellik alanın sıfır uzunluğunda bir karakter bilgi içerip içermediğine karar verir. Sıralı Özelliği: Bir alanın indekslenerek (sıralanarak) tablodaki kayıtların o alan üzerinden daha hızlı bulunmasını sağlar. BĠÇĠM ALANINDA KULLANILACAK SEMBOLLER @: Girilen bilgiler için özel görünüm şeklini tanımlamada kullanılır. Tanımlanan bu işaret adedinden daha az girilen bilginin başına otomatik boşlık verdirir. Örneğin telefon ve faks nosu girilecek alan için @-(@@@) @@@ @@@ şeklinde tanımlanarak rakamların yerleşim şekli belirlenir. <: Büyük harfle girilen metin karakterini küçük harfe çevirir. !: Girilen bilgilerin baş tarafına özellikle verilmesi istenen özel karakterin tanımlanmasını ve veri türü sütununda sayı olarak tanımlanan bilgilerin sola dayalı yerleşmesini sağlar. *: !** şeklinde tanımlanarak girilen bilgilerin sağa dayalı yerleşmesini sağlar ve bilginin solunda kalan boşluğu * işareti ile doldurur. \: !\\ şeklinde tanımlanarak giriş yapılan bilgilerin başına ters bölü işareti verdirir. [renk]: Alan bilgisi girildikten sonra bilgi karakterlerini ! işareti ile birlikte tanımlanan renge çevirir. Örneğin: ![Black] (Blue, Red, Yellow gibi veya Türkçe karşılıkları.) “İfade”: @@@ “yıl” şeklinde çift tırnak içinde girilecek metin bilgi ile birlikte görüntülenmesi istenen ifadeler tanımlanır. Boşluk: @@@ @@@ şeklinde özel işaret adedine göre girilen karakterler arasına özellikle verilen boşlukların yerleşmesini sağlar. GĠRĠġ MASKESĠ KARAKTERLERĠ 0: Sadece rakam girişine izin verir. Tanımlandığı kadar giriş yapılması zorunludur. Rakamlar arası boşluk verilmez. 9: Tanımlandığı kadar giriş yapılması zorunlu olmayıp daha az rakam girilebilir. Rakamlar arasında boşluk verilebilir. #: 9 karakteri ile aynı; fakat + ve – işaretlerini kabul etmez. L: Sadece alfabetik karakter girişine izin verir. Tanımlandığı kadar giriş yapılması zorunludur. Karakterler arası boşluk olmaz. ?: Alfabetik karakter girişine izin verir. Tanımlandığı kadar giriş yapılması zorunlu olmayıp karakterler arası boşluk olabilir. A: Sadece harf ve rakam girişine izin verir. Tanımlandığı kadar giriş yapılması zorunludur. Karakterler arası boşluk olmaz. a: Harf, rakam ve boşluk girişine izin verir. Tanımlandığı kadar giriş yapılması zorunludur. &: Herhangi bir karakter girişi yapılabilir. Tanımlandığı kadar giriş yapılması zorunludur. Karakterler arası boşluk olabilir. c: Herhangi bir karakter girişi yapılabilir. Tanımlandığı kadar giriş yapılması zorunlu değildir. <: < LLLL Şeklinde kullanılarak girilen büyük karakterleri küçük harfe çevirir. >: >LLLL Şeklinde kullanılarak girilen küçük karakterleri büyük harfe çevirir. GEÇERLĠLĠK KURALINA ÖRNEKLER <>0: Sıfır haricinde bir değer girilmeli. >100: 100‟den büyük bir değer girilmeli. In (“İstanbul”;“Ankara”): Sadece Ankara ve İstanbul girilmelidir. Like “A???”: Bilgi A harfiyle başlamalı ve devamı 3 karakter olmalıdır. Like “[A-K]*”: Girilecek bilgi A ve K harf aralığındaki bir harf ile başlamalıdır. Between 10 And 40: Girilecek sayı 10 ile 40 arasında olmalıdır. 5 Between #1/10/1998# And #31/12/1998#: Girilecek tarih 01/01/1998 ile 31/12/1998 arasında olmalıdır. ARAMA SEKMESĠNDEKĠ ÖZELLĠKLERĠN TANIMI Denetimi Görüntüle: Bilgi girişi yapılacak kutu yapısı seçilen satırdır. Satır Kaynak Türü: Satır kaynağı özelliğiyle birlikte kullanılan tanımlama satırıdır. Tablo/Sorgu, Değer Listesi veya Alan Listesi seçeneklerinden biri seçilir. Satır Kaynağı: Liste kutusu bilgileri başka bir tablo veya sorgulama tablosundan okutulacaksa satır kaynağı türü seçeneklerinden; Tablo/Sorgu, tablo kayıt yapısı listelenecekse Alan Listesi, yazılarak tanımlanacaksa Değer Listesi seçilir. SATIR KAYNAĞI TÜRLERĠ: Tablo/sorgu: Liste kutusu seçenek bilgileri başka bir tablo veya sorgulama tablosundan okutularak listeleneceği durumlarda seçilir ve satır kaynağı satırına gerekli SQL Komutları girilir veya satır sonundaki “…” düğme tıklanarak yapılan tanımlamalarla SQL komutları otomatik oluşturulur. Değer listesi: Liste kutusu seçenek bilgileri doğrudan yazılarak oluşturulacaksa seçilir ve satır kaynağı satırına liste seçenek bilgileri örnekteki gibi birbirlerinden “;” ile ayrılarak girilir. ÖRNEK: Personel tablosundaki unvan alanı için satır kaynağına şu yazılır: Sekreter; Mühendis; Bölüm şefi; Bölüm müdürü; Bölüm genel müdürü. Alan listesi: Bir başka tablo kayıt yapısı bilgilerinin yaratılmakta olan tabloda referans olarak kullanılması gerektiğinde açılacak listeden kolaylıkla görebilmek için kullanılır. Liste kutusunda listelendirilecek tablo adı için satır kaynağı satırına gerekli SQL komutu girilir veya tablo/sorgu tanımlamalarında olduğu gibi işlemler yapılır. ĠliĢkili sütun: Çoklu liste kutusunda sütun halinde birden fazla bilgi listelenmesi durumunda bu listeden yapılan seçime güre hangi sütun bilgisinin aktarılacağını belirtmek için sütun sırasını gösteren rakam girilir. Sütun sayısı: İlişki kurulan tablodan liste kutusuna aktarılacak sütun adedini belirtir. Sütun baĢları: Liste kutusuna aktarılan bilgilere ait sütun başlıklarının da verilmesi isteniyorsa “evet” girilir. Sütun geniĢlikleri: Bilgilerin tam okunabilmesi için sütun genişliği verilir. Satırları listele: Liste kutusunun kaç satırlık bilgi listeleyeceğini belirler. Liste geniĢliği: Liste kutusunda açılacak bilgiler için sütun genişliğine bağlı kalmadan daha geniş bir biçimde açılması için kullanılır. Listeye sınır: Liste kutusunda olmayan bir tanımın yazılarak girilebilmesi için “hayır”, girilmemesi için “evet” seçilir. BĠRĠNCĠL ANAHTAR Access uygulamasında anahtarlar veri tabanına yüklenmiş olan verilere kolay ve hızlı bir şekilde ulaşmayı sağlarlar. Tablolar anahtar alan olarak tanımlanmış alana göre sıralanırlar. Örneğin öğrenci bilgilerini bulunduran bir tablodaki kayıtlar öğrenci numarasına göre sıralanabilirler. Birincil Anahtarın Özellikleri 1. Anahtar alanda yer alan her bilgi tablonun o sütunu içinde tek yani benzersiz olmalıdır. Access birincil anahtar olarak tanımlanan alana iki kere aynı değerin girilmesine izin vermez. 2. Birincil anahtar değeri boş (null) olmamalıdır. Bu alana her kayıt için bir değer girilmesi zorunludur. Örneğin basit bir adres veri tabanında ad ve soyad bilgisinin girilmeyip sadece kişinin adres bilgisinin girildiği düşünülecek olursa bu kayda ulaşmak zor olacaktır. Ayrıca ad ve soyad bilgisi olmadıkça bu adresin bir anlamı da olmayacaktır. 3. Bilgi tekrarlarından kurtulmak için anahtar alanın dikkatli oluşturulması gerekir. Örneğin: adres veri tabanı örneğinde ad ve soyad bilgilerini içeren alan birincil alan olarak tanımlanmış olsun. Aynı ad ve soyada sahip iki kişinin kaydı veri tabanına girilmek istendiğinde birincil anahtar kayıtlarının tek olması istendiğinden bu ikinci kişinin kaydı kabul edilmeyecektir. Bu 6 istenmeyen bir durumdur. Bu durumu engellemek için bu kişilerin farklı olabilecek başka bir alana ait verisini de birincil alana katmak gerekir. 4. Bir tabloda birden fazla anahtar tanımlanabilir. Birinci anahtar, ikinci anahtar gibi. Birkaç alan birleştirilerek anahtar alan oluşturulabilir. Bu şekilde oluşturulmuş anahtar alana birleşik anahtar denir. Yukarıdaki örnekte ad soyad alanı ve telefon alanı birleştirilerek birleşik bir alan oluşturulabilir. Ġndeks Alanlar: Tablo tasarım modundayken seçilen herhangi bir alanın indeks alan olup olamayacağı belirtilebilir. İndeks olarak tanımlanmış alana göre kayıt arama işlemleri yapılır. İndeks alan arama işlemlerini hızlandıran bir özelliktir. Burada tekli indeks alanları oluşturulabileceği gibi çoklu indeks alanları da oluşturulabilir. Yani birden fazla indeks alanları oluşturulabilir. Yada alan özellikleri kısmında tanımlanmış birçok indeks alan indeks penceresinde görülebilir. Aynı zamanda bu pencerede birden fazla alanı kapsayan indeks (dizin) oluşturmak mümkündür. Bir tabloda indeks özelliğine sahip en fazla 10 alan tanımlanabilir. Dizin Özellikleri: 1- Birincil: Birincil özelliği aktif hale getirilirse seçili indeks alan birincil anahtar olarak atanır. 2- Benzersiz: “Evet” seçeneği seçilirse seçili indeks alan benzersiz değerler içerir. 3- BoĢları yoksay: “Evet“ seçeneği seçilirse seçili indeks alandaki boş değerleri içeren kayıtlar indeksten çıkarılır. TABLOLARDA ĠLĠġKĠLERĠN TANIMLANMASI Microsoft Access veri tabanı, bilgileri saklama yöntemi bakımından ilişkisel bir veri tabanıdır. İlişkisel veri tabanları yaygın olarak kullanılan veri tabanı tipleridir. Diğer veri tabanı tipleri ise, hiyerarşik ve nesneye yönelik veri tabanlarıdır. İlişkisel bir veri tabanının temel yapısının özellikleri şunlardır: 1- Veri tabanına girilen veriler tablolar halinde saklanır. 2- Tablolar alanlardan oluşur. 3- Bir alan sadece bir alan tipine sahip olabilir. 4- Tablodaki her bir alan birbirinden farklı değerleri içerir ve içerdiği bilgiye uygun olarak isimlendirilerek alanların birbirlerinden ayrılması sağlanır. 5- Tablodaki alanlardan biri veya bir grubu birincil anahtar olarak atanır. 6- Tablodaki kayıtlar birincil anahtara göre sıralanırlar. 7- Bir veri tabanında birden fazla tablo bulunabilir. 8- Tablolar arasındaki bağlantı ilişkiler ile sağlanır. 9- İlişki her iki tabloda bulunan ortak alanlar üzerine kurulur. İki tabloyu ilişkilendirmek ilişkisel veri tabanlarının temel çalışma prensibidir. Bir veri tabanında her konu için ayrı bir tablo olabilir. Örneğin; herhangi bir şirketin veri tabanında şirkette çalışan personele ait genel bilgiler, personele ait maaş bilgilerini içeren ayrı tablolar olabilir. Bu tabloların bazıları yada hepsi ortak alanlar içerebilir. Bu durumda kullanıcının tablolardaki bilgilere tekrar ulaşabilmesi için tablolardaki birbirleri ile alakalı alanlar arasında bir ilişki kurulması gerekir. Tanımlanan ilişki bir tablodan diğer bir tablodaki kayıtlara daha çabuk ulaşılmasını sağlayan bir yoldur. Tablolar arası ilişki tayin edildikten sonra tablolardaki verilere ulaşmak için rapor, sorgu ve formlar oluşturulabilir. ĠLĠġKĠ TĠPLERĠ İlişki her iki tablo arasında kurulan bir bağlantıdır. Bu bağlantının, tablolarda yer alan, aynı özellikteki bilgi içeren alanlar arasında kurulması gerekir. Access tablolar arasında kurulacak 3 tip ilişkiyi kullanıcıya sunar: a-Bire-bir iliĢki: Her iki tabloda da eşit sayıda kayıt olması gerekir ve bir tablodaki her kayda diğer tabloda sadece bir kayıt karşılık gelebilir. 7 b-Bire-çok iliĢki: Bire bir ilişki tipine benzer. Burada da mutlaka her iki tabloda da karşılıklı birer kayıt bulunmalıdır. Bire-bir ilişkiden farklı olarak bir tablodaki bir kayda diğer bir tablodan birden fazla kayıt karşılık gelebilir. c-Çoka-çok iliĢki: İki tabloda birden fazla kayıt birbirine karşılık gelebilir. Çoklu ilişkilerde iki tablo arasındaki ilişki birden çok kayıttan birden çok kayıtadır. ĠLĠġKĠLER PENCERESĠNDEKĠ SEÇENEKLER Bilgi tutarlılığına zorla: Bu seçeneğin anlamı yabancı anahtar alana esas anahtar alanda olmayan bir kaydın girilmesini önler. Aynı zamanda yabancı anahtar alandaki herhangi bir kaydın değiştirilmesini ve silinmesini de önler. Bu seçenek seçildiğinde altında bulunan iki seçenek daha aktif hale gelir. Bunlardan ilki ; ĠliĢkili alanları artarda güncelleĢtir: Bu seçenek seçildiğinde esas anahtar alan kayıtları üzerinde yapılan değişiklikler Access tarafından otomatik olarak diğer tablolarda da güncelleştirilir. ĠliĢkili alanları artarda sil: Bu seçenek seçildiğinde esas anahtar alanda bir kayıt silindiğinde diğer tablolarda da ilişkili alan üzerindeki kayıt otomatik olarak silinir. Birden fazla kaydın silinmesi olasıdır. Bilgi tutarlılığına zorla seçeneğinin seçilmesi zorunlu değildir. Kullanıcının isteğine bırakılır. Ödev : Bir öğrencinin nosu, adı, soyadı, adresi ve derslerden aldığı notları tutacak bir program yapılmak istenmektedir. Bu programa en uygun veri tabanını hazırlayınız. -Tablolar -Alanları -Alan özellikleri -İlişkiler -Birincil anahtarlar Yabancı anahtar: Bir tabloda birincil anahtar olan bir alan başka bir tabloda da yer alıyorsa bu alana yabancı anahtar denir. SORGULAR Kullanıcının hazırladığı sorulara cevap alınması amacıyla tablo veya tablolardaki verilere ulaşılması ve sunulması işlemine Sorgu denir. Sorgularda sorulara cevap olan tablolardaki veriler değil, kullanıcı tarafından hazırlanan çeşitli tipteki sorular depo edilir. Kısacası sorgular için soru dosyalarıdır denilebilir. Bu soruların her biri tablolardaki verilere nasıl ulaşılabileceğini belirleyen göstergedir. Sorgu ile yapılacak işlemler şunlar olabilir: aTabloda yer alan kayıtlardan istenilen kayıt görüntülenebilir. bTabloda yer alan alanlardan istenilenleri görüntülenebilir. cBirden fazla tabloda bulunan birbiri ile alakalı bilgiler bir araya getirilerek görüntülenebilir. dTabloda bulunan bilgiler belirli bir alana göre sıralanarak görüntülenebilir eTabloda bulunan veriler üzerinde çeşitli matematiksel işlemler yapılarak sonuç bilgisi görüntülenebilir. 1234- YENĠ SORGU YARATMA SEÇENEKLERĠ Tasarım görünümü: Sorguyu tamamıyla kullanıcının tasarlaması için seçme sorgusunu tasarım görünümünde açar. Basit sorgu sihirbazı: Veri tabanında daha önceden oluşturulmuş tablo ve sorgulardaki alanları kullanarak bir sorgu yaratılmasını sağlayan sihirbazı çalıştırır. Çapraz sorgu sihirbazı: Çapraz sorgu yaratılmasını sağlayan sihirbazı çalıştırır. Yinelemeleri bul sorgu sihirbazı: Çift kayıtların bulunmasını sağlayan sihirbazı çalıştırır. 8 5- EĢleĢmeyenleri bul sorgu sihirbazı: Bir tabloda bulunan ve diğer bir tabloda bulunmayan kayıtların bulunmasını sağlayan sihirbazı çalıştırır. SORGU ÇIKIġ ALANLARI 1-Alan: Sorgu sonucunda görüntülenmesi istenen verileri içeren alan adı buraya yazılır. Alan adını seçmek için alan kısmına imleç konumlandırılıp ilgili alan adı tıklanır. Yada sorgu tasarım penceresinin üst bölümünde gösterilen tablodan ilgili alan adı çift tıklanır. 2-Tablo Alan satırında belirtilen alanı içeren tablo adı görüntülenir. 3-Toplam Tablo içinde yer alan tüm kayıtlar ile ilgili bazı matematiksel işlemlerin yerine getirilmesini sağlar. 4-Sırala Belirtilen alandaki verilerin sorgu sonucunda sıralı olarak gösterileceğini belirtir. 5-Göster Sorgu sonucunda ilgili alanı göstermek yada gizlemek için kullanılır. 6 - Ölçüt Veri tabanındaki kayıtlarda istenileni elde etmek için soruların yazıldığı bölümdür. Buraya yazılan ölçüte uyan kayıtlar görüntülenir. 7-Veya “Veya” satırına istenen diğer ölçütler ve değerler yazılabilir. SORGU TĠPLERĠ Access‟de veri tabanında bulunan verilerden istenilene uygun olarak hazırlanabilecek çeşitli sorgular vardır. Sorgu tipleri 5 gruptur: 1. Seçim Sorgusu - Çoğu kez ölçüt verilerek hazırlanan soru dosyalarıdır. Tablolardaki verilerden sadece bu ölçüte uygun olanlar kullanıcıya sunulur. Yani kullanıcının istediği bilgiler görünür, istemediği görüntülenmez. Bu sorgu sonucunda tablodaki veriler üzerinde hiçbir değişiklik yapılamaz. Oluşturulan bir sorgu otomatik olarak seçim sorgusuna atanır. Seçim sorgularına örnek olarak; Numarası 150‟den büyük olan öğrencilerin kayıtları elde edilmek istenebilir. Sadece ismi Nazan olanların kaydı istenebilir. Matematik dersinden 80-100 arasında not almış olan öğrencilerin isimleri istenebilir. 2. Parametre Sorgusu - Seçim sorgusunun bir türüdür. Seçim sorgusunda kullanılan ölçüt yerine kullanıcı tarafından girilen parametreye uygun olarak sorgu çalıştırılır. Yani sorguda kullanılan ölçütler sorgu tasarımı sırasında değil, sorgu çalıştırıldıktan sonra kullanıcı tarafından girilir. Örneğin; Yukarıdaki seçim sorgusuna verilen örnekte sadece adı Nazan onların bilgilerine ulaşılabiliyordu. Bu istem daha genel hale getirilmek istenebilir. Şöyle ki kullanıcı tabloda bulunan istediği kişinin bilgilerine bu sorguyu kullanarak ulaşabilir. Bu şekilde yapılan sorguya parametre sorgusu denir. 3. Hareket Sorguları - Diğer bir değişle eylem sorguları, seçim ve parametre sorgularından farklı olarak tablo ve veriler üzerinde değişikliğe neden olurlar. Örneğin sorgu sonucunda var olan bir tabloya kayıt ilavesi, istenilen kayıtların silinmesi veya tablo verilerinin güncelleştirilmesi istenebilir. Seçim ve parametre sorgularında sonuçlar ekran üzerinde görüntülenir. Fakat hareket sorgularında sorgunun sonucu görüntülenmez, sadece verilen işlem yerine getirilir. Tablo ve verilerin üzerinde yaptıkları değişikliğe göre adlandırılan çeşitli sorgu tipleri vardır: Yeni Tablo Yaratma Sorgusu - Bu sorgu sonucunda tablodaki verilere dayalı olarak elde edilen verileri içeren yeni bir tablo oluşturulur. Kayıt GüncelleĢtirme Sorgusu - Bu sorgu sonucunda elde edilen kayıtların değiştirilmesi ve diğer başka tablolardaki kayıtların güncelleştirilmesi sağlanır. Kayıt Ekleme Sorgusu - Bu sorgu sonucunda belirlenen bir tabloya başka bir tablodaki kayıtların eklenmesi sağlanır. Bu ekleme sırasında tablodaki verilerden sadece belirli bir ölçüte uyan kayıtların eklenmesi de sağlanabilir. Kayıt Silme Sorgusu - Sorguda verilen ölçütlere dayanarak tablo veya tablolardaki kayıtların bir ölçüte dayalı olarak bir kısmının veya tümünün silinmesi sağlanabilir. 4. Çapraz Sorgu - Sorgu sonucunda, tablolardaki verilerden oluşan verilerin satır ve sütunlar halinde yazıldığı yeni özet bir tablo yaratır. Bu sorguda verilerin değiştirilmesi mümkün 9 değildir. Tabloda karmaşık halde bulunan verilerin daha kolay anlaşılır hale getirilmesi için sadece görünümüyle ilgili bir değişiklik yapılamasını sağlayan bir sorgu tipidir. 5. SQL Sorguları – SQL veri tabanı programlarını sorgulamak için geliştirilmiş bir programlama dilidir. Kullanıcı yukarıda belirtilen sorgulardan herhangi birini tasarlayıp çalıştırdığında, sorguda tanımlanan soruların Access tarafından otomatik olarak SQL programlama dilindeki komut karşılığı üretilir. Buna göre veri tabanı programı verilen işlemi yerine getirir. Anacak bazı soruların her sorgu tipiyle ifade edilemediği durumlar vardır. Bu durumda SQL komutlarının kullanılması gerekir. ÇIKIġ VERĠSĠNĠ GRUPLAMAK Bir sorguda belirli alandaki bilgilerle bazı işlemler yaptırılabilir. Örneğin tablo içinde istenilen alandaki değerler toplatılabilir. Bu değerler içindeki en büyük ve en küçük değerler bulunabilir. Yukarıda bahsedilen işlemlerin yapılabilmesi için araç çubuğunda bulunan “Toplam-∑” düğmesine basılır. Toplam düğmesine basıldığında sorgu çıkış alanında Toplam adlı bir satır belirir. Bu satırda tablodaki verilerle yapılacak işlemler şunlardır: ĠġLEM ANLAMI Gruplama: Hesaplama işlemlerinin hangi alana göre yapılacağını tanımlar. Topla: İşlem olarak toplar. Alan içindeki sayısal değerleri toplar. Ortalama: Alan içindeki sayısal değerlerin aritmetik değerlerini alır. En az: Alan içindeki sayısal ve text değerlerden en küçüğünü alır. En çok: Alan içindeki sayısal ve text değerlerden en büyüğünü alır. Say: Alan içinde kaç kayıt olduğunu sayar boş kayıtları göz ardı eder. Bu işlem tüm veri tipleri için geçerlidir. St.Sapma: Alan içindeki sayısal değerlerin standart sapmasının hesaplanmasını sağlar. DeğiĢken: Alan içindeki sayısal değerlerin varyansının hesaplanmasını sağlar. Ġlk: Alanın ilk kayıttaki değerini bulur. Son: Alanın son kayıttaki değerini bulur. Deyim: Gruplandırılmış veriler için uygulanacak hesaplama işlemlerini yeni bir sütun altında tanımlamayı sağlar. KoĢul: Gruplandırılmış veriler için gizli bir alanda kıstas (ölçüt) tanımlamayı sağlar. Sorguda Kullanılabilecek Ölçütler >: Büyük <: Küçük >=: Büyük veya eşit <=: Küçük veya eşit <>: Eşit değil Like: Benzer Between…And…: Verilen iki değer arasında Not: Değil Or: Veya In: İçinde Örnekler: = “Nazan” – Sadece ismi Nazan olanları görüntüler. =”Fizik” Or “Kimya” - Fizik veya Kimya olanları görüntüler. =#2/8/99# - Yazarsak sadece bu kayıtta olanları görüntüler. =Between #1/5/98# And #1/5/99# - Tarih bilgisi 1/5/98 ile 1/5/99 arası tarihli kayıtları görüntüler. =In (“zayıf”;“iyi”) - Sadece notu iyi ve zayıf olan kayıtlar görüntülenir. 10 =Not ”Nazan” - Adı Nazan olmayan kayıtlar görüntülenir. =Like “A*” - Baş harfi A olan tüm kayıtlar görüntülenir. =Like “[A-K]*” - Baş harfi A-K arasında olan tüm kayıtlar görüntülenir. =Like “*a-r*” - İçinde a ve r harflerinin bulunduğu tüm kayıtları gösterir. =Right ([Alanadı], 2]= “qq” - Sadece son iki karakteri qq olanlar görüntülenir. =Len([alanadı]) >4 - Karakter sayısı 4‟den büyük olanlar görüntülenir. =Is Null - Boş olan kayıtlar görüntülenir. = Is Not Null - Boş olmayan kayıtlar görüntülenir. = Month ([alanadı)]=5 - Herhangi bir yılın Mayıs ayına ait kayıtlar görüntülenir. = Year ([alanadı)] =1999 - 1999 yılına ait kayıtlar görüntülenir. =Day([alanadı)]= 2 - Herhangi bir ayın Salı gününe ait kayıtlar görüntülenir. ACCSESS’DE FONKSĠYONLAR 1. Alfa sayısal fonksiyonlar Asc : Alfasayısal bilginin Ascii kodunu verir. Chr : Sayısal bilgi karşılığı olan karakteri verir. Str : Sayısal bilgiyi alfa sayısala değiştirir. Val : Alfa sayısal bilgiyi sayısala çevirir. Format : Verilen bilgiyi belirtilen format yapısına çevirir. InStr : 2 alfa sayısal bilginin arasında 2.‟de tanımlanan duruma göre karşılaştırma yapar. Left : Alfa sayısal bilginin sol tarafında belirtilen miktarda karakter alır. Right : Alfa sayısal bilginin sağ tarafında belirtilen miktarda karakter alır. Mid : Alfa sayısal bilginin belirtilen konumundan tanımlanan miktarda karakter alır. Len : Alfa sayısal bilgi uzunluğunu hesaplar. LTrim : Alfa sayısal bilginin sol tarafındaki boşlukları atar. RTrim : Alfa sayısal bilginin sağ tarafındaki boşlukları alır. Trim : Alfa sayısal bilginin sağ ve solundaki boşlukları alır. LCase : Alfabetik bilgileri küçük harfe çevirir. UCase : Alfabetik bilgileri büyük harfe çevirir. 2. KarĢılaĢtırma Fonksiyonu IIF: Karşılaştırma işleminde iki şıktan birinin yapılmasını sağlar. 3. Tarih Fonksiyonları Day : Verilen tarihteki gün rakamını saptar. Weekday : Verilen tarihteki iş gününün rakamını saptar. Month : Verilen tarihteki ay rakamını saptar. Year : Verilen tarihteki yılı saptar. Date : Sistem tarihini verir. Now : Sistemin tarih ve saatini verir. Time : Sistem saatini verir. DateDiff : İki tarih arasındaki gün, ay, yıl farkını saptar. Örnekler: DateDiff (“d”, baĢ.tarihi, bit.tarihi) : iki tarih arası gün farkını verir. DateDiff (“m”, baĢtarihi, bittarihi) : iki tarih arası ay farkını verir. DateDiff (“yyyy”, baĢtarihi, bittarihi) : iki tarih arası yıl farkını verir. DateDiff (“q”, baĢtarihi, bittarihi) : iki tarih arası dönem farkını verir. DateDiff (“y” , baĢtarihi, bittarihi) : yıl içindeki gün farkını verir. DateDiff (“w”,baĢtarihi, bittarihi) : iş günleri farkını verir. DateDiff(“ww”,baĢtarihi, bittarihi) : iş hafta farkını verir. DateDiff(“h”,baĢtarihi, bittarihi) : iş saat farkını verir. DateDiff(“m”,baĢtarihi, bittarihi) : iş dakika farkını verir. 11 4. 5. 6. 7. DateDiff(“s”,baĢtarihi, bittarihi) : iş saniye farkını verir. DateAdd : Verilen bir tarihe gün, ay, yıl ekleyerek yada çıkararak yeni bir tarih elde edilir. DatePart : Tanımlanan bir tarihi belirtilen süre koduna göre parçalayarak verir. Sayısal Bilgilere DönüĢtürme Fonksiyonları CCur : Sayısal bilgileri para birimi yapısına çevirir. CDbl : Sayısal bilgileri çift duyarlıklı yapıya çevirir. CInt : Sayısal bilgileri tamsayı yapısına çevirir. CLng : Sayısal bilgileri uzun tamsayı yapısına çevirir. CSng : Sayısal bilgileri tek duyarlıklı yapıya çevirir. CStr : Sayısal bilgileri alfa sayısal yapıya çevirir. CVal : Alfa sayısal bilgileri sayısal yapıya çevirir. CVDate : Sayısal bilgileri tarih yapısına çevirir. Matematiksel Fonksiyonlar Abs : sayısal bilginin mutlak değerini verir Atn : verilen tan açı değerini raydan değere çevirir. Cos : kosinüsünü hesaplar. Exp : sayısal değeri üssel değere çevirir. Fix : ondalıklı sayının tam sayı kısmını verir. Int : ondalıklı sayıyı tam sayıya yuvarlar. Log : ondalıklı değerin e tabanına göre logaritmasını alır. Rnd : rasgele sayı üretir. Sgn : sayısal değerin işaretini verir. Sin : sinüsünü hesaplar. Tan : tanjantı hesaplar. SQL Fonksiyonları Avg: referans edilen alan bilgilerinin aritmetik ortalamasını alır. Count: referans edilen alandaki sayısal bilgi adedini saptar. First: referans edilen alandaki ilk kayıt bilgisini saptar. Last: referans edilen alandaki son kayıt bilgisini saptar. Max: referans edilen alandaki en büyük değeri saptar. Min: referans edilen alandaki en küçük değeri saptar. Sum: referans edilen alan bilgilerinin toplamını alır. StDer: referans edilen alandaki değerlerin standart sapmasını alır. StDerp: referans edilen alandaki verilerin statiksel standart sapmasını alır. Var: referans edilen alandaki değerlerin varyansını alır. Varp: referans edilen alandaki değerlerin statik varyansını alır. Bilgi Kontrol Fonksiyonları IsDate: tanımlanan alan bilgisinin tarih yapısına çevrilip çevrilemeyeceğini kontrol eder. IsEmpty: tanımlanan alan bilgisinin boş olup olmadığını kontrol eder. IsNull: bilgilerin okutulmasında son kayıttan sonraki boş alan durumunu kontrol eder. IsNumeric: tanımlanan alan bilgisinin rakam olup olmadığını kontrol eder. VarType: varyant değişken bilgisinin tipini kod olarak verir. SQL PROGRAMLAMA DĠLĠ SQL (veya SEQUEL): Yapısal programlama dili, veri tabanı yönetim sistemlerinin arama, sorgulama işlemlerinde kullanılan standart bir dildir. SQL dili Access uygulamasında sorgularda ve Visual Basic modüllerinde kullanılabilir. SQL kullanılarak hem tablo, hem alan, hem de veriler üzerinde çeşitli işlemler yapılabilir. SQL dilinin veri tabanı uygulamalarında yapabileceği işler şu şekilde sıralanabilir. Veri tanımlama 12 Veri tabanının bütünlüğünün kontrolü Network aramalarında veri tabanlarına erişimin kontrolü Verilerin sorgulanması SQL KOMUTLARI SQL komutları iki grup altında toplanabilir. 1. Veri tanımlama dili olan DDL dili. 2. Veri işleme dili olan DML dili. DLL KOMUTLARI VE ĠġLEVLERĠ Create Table: Yeni bir tablonun alanlarını ve indekslerinin yaratılmasını sağlar. Alter Table: Tabloya yeni alanların eklenmesini ve varolan tablo adlarının değiştirilmesini sağlar. Create Index: Belirtilen tablo için indeks alan yaratılmasını sağlar. Drop Table: Belirtilen tablonun ve indekslerinin veri tabanından silinmesini sağlar. DML KOMUTLARI VE ĠġLEVLERĠ Select: Belirtilen Bir Alana Göre kayıtların seçilmesini sağlar. Insert: Tabloya yeni kayıtlar eklenmesini sağlar. Update: Tablonun belirtilen bir kaydını güncelleştirmek için kullanılır. Delete: Tablodan belirtilen bir kaydın silinmesini sağlar. SQL Programlama dilinde bu komutlar tek başlarına kullanılmazlar. Bunların işlevlerini yerine getirmelerine yardımcı bazı ek komutlar vardır bunlar: Ek Komut ve ĠĢlevi: From: Sorgulama işleminin hangi tablodan yapılacağını belirtir. Where: Sorgulama işlemi için kullanılacak ölçütü tanımlamayı sağlar. Group By: Tablodaki kayıtları belirtilen alana göre gruplar. Having: Her bir grubun uyması gereken ölçütü tanımlar. Constraint: İndeks tanımlanmasını ve diğer bir tablo ile ilişki kurulmasını sağlar. Order By: Seçilen kayıtların sıralanmasını sağlar. SORGULAMA ĠġLEMĠ SQL Programlama dilinde bir tabloya soru sormak için kullanılan komut “Select”tir. Select komutu ile tablodaki hangi alanlardan bilgi istenildiği belirtilir. Select komutunun yapısı aşağıdaki gibidir. SELECT alan listesi FROM tablo adı [IN veri tabanı] [WHERE ölçüt] [GROUP BY alan adı] [HAVING grup ölçütü] [ORDER BY alan adı] Örnek: SELECT Numara FROM [ Öğrenci Bilgileri] Öğrenci bilgileri tablosunda bulunan öğrenci numaralarını gösterir. SELECT [Öğrenci Bilgileri].Numara FROM [Öğrenci Bilgileri] 13 Sorguda Birden Fazla Tablo Kullanımı Sorgulama işleminde bir tablonun ilişkili olduğu diğer tablolardan da verilerin alınması istenebilir. Birden fazla tablo kullanımı INNER JOIN komutu ile sağlanır. Bu komutun dizilimi: SELECT Alanlar FROM Tablo1 INNER JOIN Tablo2 ON tablo1.alan1 karşılaştırma operatörü tablo 2.alan INNER JOIN ifadesi birbiri ile ilişkili iki tablo arasında bu ilişkiyi sağlayan alana göre kayıtların birleştirilmesini sağlar. Bu ilişkiyi sağlayan alanlar, ON komutundan sonra alan1 ve alan 2 kısmında ifade edilir. İki tabloyu birleştirme diğer bir deyişle eşleştirme işleminin nasıl olacağı karşılaştırma operatörü ile sağlanır. Örneğin, “=” operatörünün kullanılması tablo 1‟deki alan 1‟deki her kayda karşılık tablo2‟de de bir kaydın bulunması gerektiğini sağlar. Bu şart sağlandığında sorgu sonucu görüntülenecektir. Karşılaştırma operatörü olarak “=”, “<”, ”>”, “<=”, “>=” ve “< >” kullanılır. Örnek: Öğrenci bilgileri tablosunda yer alan öğrencilerin çeşitli derslerine ait vize ve final notlarını öğrenmek için aşağıdaki ifade yazılır. SELECT[öğrenci bilgileri].isim, [öğrenci bilgileri].Numara, [Notlar].Ders, [Notlar]. Vize, [ Notlar]. Final FROM[öğrenci bilgileri] INNNER JOIN Notlar CN [Öğrenci Bilgileri].Numara =[Notlar].Öğrenci no; Sorguda değişik tablolardan alanlar alınacağı için her alanın hangi tabloya ait olduğu belirtilmelidir. Bunun için [ ] içinde yazılan tablo adından sonra “.” işareti konur ve ardından alan adı yazılır. Programda kullanılan INNER JOIN ifadesi ile öğrenci bilgileri tablosunun numara alanı ve notlar tablosunun öğrenci no alanı arasında bir ilişki olduğu tanımlanır. Sorgunun çalıştırılması ile öğrenci bilgileri tablosunun numara alanındaki her kaydın notlar tablosundaki karşılığı aranır ve bulunursa sorgu sonucunda görüntülenir. Sorguda Sıralama Sorgu sonucunda istenilen verilerin belirli bir alana göre sıralı olarak görüntülenmesi istenebilir. Bunun için ORDER BY komutu kullanılır. Örnek: 1. SELECT Numara, İsim, Bölüm FROM [Öğrenci Bilgileri] ORDER BY isim 2. ORDER BY Ders 3. ORDER BY Ders, No 4. ORDER BY Ders Desc; sıralamanın “<”‟den “>”‟ye değil de ”>”‟den” <”‟ye yapılmasını sağlar. Tekrarlı Kayıtların Önlenmesi Sorgu sonucunda tablodaki kayıtları listeleme işlemine tabi tutarken tekrarlı satırların bir kez yazılması sağlanabilir. Bu amaçla Select komutu içinde DISTINCT deyimi kullanılır. Örnek: 14 SELECT DISTINCT [ Personel adı] FROM [Personel Bayileri] Kayıt GüncelleĢtirme Sorgu sonucunda görüntülenen veriler üzerinde değişiklik yapılması ve bu değişikliklerin veri tabanına kayıt edilmesi için UPDATE komutu kullanılır. Bu komutun dizilimi şu şekildedir. UPDATE tabloadı SET yeni değer WHERE ölçüt Örnek: UPDATE [ Notlar] SET Vize=Vize +10 WHERE Ders=”Fizik” AND Vize <=90 Kayıt Silme Bir yada birden fazla tabloda bulunan kayıt silmek için DELETE komutu kullanılır. Bu komutun dizilimi şu şekildedir: DELETE alan isimleri FROM tablo adı WHERE ölçüt Örnek: DELETE * FROM [Öğrenci Bilgileri] WHERE İsim=”Fatma” AND Numara= 75 Kayıt Ekleme Bir tablodan seçilen kayıtların başka bir tabloya eklenmesi amacıyla INSERT INTO deyimi kullanılır. INSERT INTO hedef tablo SELECT alan adları FROM kaynak tablo Örnek: INSERT INTO [öğrenci bilgileri] SELECT isim, numara FROM Tablo 2; Kullanıcının bir tablodaki kayıtları değil de kendi istediği alanlara veri eklemek için aşağıdaki tanımlama kullanılır. INSERT INTO hedef tablo (alan1,alan2,alan3,…) VALUES (“Gökben”, Kale”, “112”,…) Sorgu Sonucunda Yeni bir Tablo OluĢturmak Yapılan bir sorgunun sonucunda yeni bir tablo yaratılabilir. Bu işlem için SELECT komutu INTO deyimi ile birlikte kullanılır. SELECT alan adları 15 INTO yeni tablo adı FROM kaynak tablo WHERE ölçüt Örnek: SELECT[Notlar] INTO Yeni -Tablo FROM [Notlar] WHERE Ders =”Bilgisayar” AND Vize >=50 Parametrik Sorgu OluĢturma Parametrik sorgu oluşturmak için PAMETERS komutundan yararlanılır. PARAMETERS [alan adı] alan türü; Örneğin; notlar tablosundan isim alanına göre parametrik sorgu yaratmak için aşağıdaki ifade kullanılabilir. PARAMETERS [isim] TEXT; SELECT ad, numara, bölüm FROM [öğrenci bilgileri] WHERE ad=[isim:] Çapraz Sorgu OluĢturma Bir yada birden fazla tablodaki verilere dayalı olarak satır ve sütunlardan oluşan özet bir tablo yaratmak için TRANSFORM komutundan yararlanılır. Kullanımı şu şekildedir: TRANSFORM değer SELECT ifadeleri PIVOT satır başlığı Örnek: Notlar tablosunda yer alan bilgilere göre çapraz sorgu oluşturmak için aşağıdaki ifade yazılır: TRANSFORM Vize SELECT Öğr.No FROM Notlar GROUP BY Öğr.No PIVOT Ders Öğr.no 50 110 200 Bilgisayar Fizik 60 25 100 80 89 75 50 90 Mat. 100 IN Komutu: Sadece belirtilen alan için ( ) içinde yazılan değerleri içeren kayıtları görüntülemek için kullanılır. SELECT * FROM notlar WHERE Ders IN (“Matematik; Fizik”) TOP n Komutu: Tablonun baş tarafından n ile belirtilen miktarda kaydın okunmasını sağlayan parametredir. SELECT TOP 25 Personel adı FROM Personel ORDER BY personel adı (Ders tablosundaki ilk 25 kaydın isimleri sıralı olarak listelenir). 16 TOP n Percent Komutu: Tablo kayıtlarının % kaçının okunacağını belirtmek için kullanılır. SELECT TOP 10 Percent Personel adı FROM Personel ORDER BY Personel adı ( Personel tablosundaki ilk %10luk kısmın adları listelenir.) AS Komutu: Kayıt yapısındaki sütun başlıkları yerine verilecek takma sütun başlıkları tanımlanır. SELECT Alan adı AS takma ad Not: Resim yazısı alan özelliği gibi davranır. Örnek: SELECT Count(*) AS Toplam Hasta, Int(Avg(Yaşı)) AS Yaş ortalaması, Max(Yaşı) AS En Büyük Yaş, Min(Yaşı) AS En Küçük Yaş FROM Hastalar UYGULAMALAR a) Personel numarası 160 ve 190 olan kayıtlara ait bilgileri görüntülemek için aşağıdaki ifade yazılır: SELECT* FROM [Personel Bilgileri] WHERE [Personel No] IN (160,190) b) Personel kayıtları içerisinde adı Ali olanların personel no‟ları ve çalıştıkları bölüm bilgilerine ulaşmak için bu ifade yazılır: SELECT [personel no], [bölümü] FROM [personel bilgileri] WHERE [personel adı ] Like “Ali” c) Her bir bölümde çalışan personele verilecek maaşların toplamını bulmak için aşağıdaki ifade yazılır: SELECT [Muhasebe].[Ucreti], [Personel Bilgileri].Bolumu FROM Muhasebe, [Personel Bilgileri] WHERE [Personel Bilgileri].[Personel No]=[Muhasebe].[Personel No] GROUP BY [Personel Bilgileri].Bolumu; Expr 1000 Bölümü 252 000 000 TL Muhasebe 172 000 000 TL Eğitmenlik 320 000 000 TL Pazarlama SORGU SĠHĠRBAZLARI 1. Basit Sorgu Sihirbazı: Basit seçme sorguları tasarlamak için kullanılır. 2. Çapraz Sorgu Sihirbazı: Çapraz sorgu oluşturmak için kullanılır. Sonuçları satır ve sütunlar halinde kesiştirilip gruplanmasını ve özetlenmesini sağlar. Örneğin: Hangi üründen hangi müşterinin 2000 yılında kaç liralık sipariş verdiğini görebiliriz. 17 3. Yinelemeleri Bul Sorgu Sihirbazı: Bazı tabloların belirli bir alanındaki verilerin tekrarlanmasından kaynaklanan yinelemeler olabilir. Bu türden kayıtların ayıklanarak görüntülenmesi için bu sihirbaz kullanılır. 4. EĢleĢmeyenleri Bul Sorgu Sihirbazı: Bu sihirbaz birbiriyle ilişkili iki tabloda ilk tabloda olup ikinci tabloda olmayan kayıtları bulmak için kullanılır. Örneğin hiç sipariş vermeyen müşterilerin isimlerini öğrenmek için bu sihirbaz kullanılabilir. FORMLAR Access ortamında kullanıcı ile uygulama arasındaki iletişimi kurmak, veri alışverişini sağlamak amacıyla formlar kullanılır. Formlarla kullanıcıya gerek görünüm açısından gerekse kullanım kolaylığı açısından daha verimli bir bilgi iletişim ortamı sayesinde veri tabanına yeni kayıtlar girilebilir. Var olan kayıtlar görüntülenebilir, değiştirilebilir, silinebilir, sorgulanabilir veya kağıda dökülebilir. Tüm bunların dışında veri tabanının kullanıcıya sağladığı daha pek çok işlem bu arabirim aracılıyla yapılabilir. Formlar ile gerçekleştirilecek işlemler; kontrol elemanı, verilerin, nesnelerin form üzerine yerleştirilmesi, bu elemanların özelliklerinin tanımlanması ve bazı eylemleri yerine getirecek şekilde ayarlanmasıyla sağlanır. FORM PENCERELERĠ 1. Form Sihirbazı: Access programının kullanıcılarına verdiği en seri otomatik form düzenleme olayıdır. Eğer zamanımız çok kısıtlı ise ve işleme alınacak tablo bilgileri tek sayfalık ise bu yöntem kullanılır. 2. Otomatik Form (Sütunlu): Form yapısında tablo elamanlarının tek bir sütun altında alt alta yerleştirilmiş şeklidir. 3. Otomatik Form (Sekmeli): Form yapısında tablo kayıt elamanlarının satır satır yerleştirilmiş şeklidir. 4. Otomatik Form (Veri Sayfası): Form üzerinde tablo kayıt elemanlarının veri sayfası görünümü yapısına verilen şeklidir. FORM TASARIMI ARAÇ ÇUBUĞU Görünüm - Form 3 şekilde görüntülenebilir. Bunlar: Tasarım Görünümü - Formu tasarım görünümüne getirir. Form Görünümü - Formu çalıştırır. Veri Görünümü - Formu veri sayfası görünümüne getirir. Alan Listesi - Form için kaynak olarak belirtilen tablodaki alanları görüntüler ve forma bu alanları dahil etmek için kullanılır. Kod Butonu - Form üzerinde gerçekleşecek işlemler için Access Basic kodlarının yazılacağı pencerenin açılmasını sağlar. Access Basic kodları Visual Basic kodları ile hemen hemen aynıdır. Form üzerindeki kontrol elemanlarına çeşitli olayların, işlemlerin atanması Access Basic kodları ile kullanıcı tarafından programlanabilir. Özellikler - Formun yada form üzerindeki herhangi bir denetimin özelliklerini görüntülemeye ve değiştirmeye yarar. Veri tabanı içindeki formun kendisi de bir nesne olduğu için özellikleri değiştirmek olasıdır. FORM VEYA NESNE ÖZELLĠKLERĠ Biçim – Nesnenin görünümü ile ilgili biçimlendirme özelliğini içerir. Veri – Formun kayıt kaynağını kayıt işlemlerini belirleyen bilgileri içerir. Olay – Bir nesneye verilebilecek olayları tanımlamaya yarayan bilgileri içerir. Diğer – Yukarıda bahsedilen başlıklar altına giremeyen diğer özellikleri içerir. Tümü – Bir nesneye ait tüm özellikleri kapsar. Biçim Özellikleri a. Resim Yazısı (BaĢlık): Form penceresinin başlığında görüntülenmek istenen metindir. 18 b. Varsayılan Görünüm: Tek Form - Form üzerinde tek bir kayıt gösterilir. Sürekli Form - Birden fazla kayıt alt alta sıralanır. Üst bilgi/alt bilgi hariç sadece ayrıntı bölümü tekrar edilir. Bu özellik sayesinde birden fazla kayıt tek pencerede görüntülenebilir. Veri Sayfası - Formu veri sayfası görünümünde açar. c. Ġzin Verilen Görünümler: Form sayfası ya form ya da veri sayfası görünümünde görüntülenebilir. Hangisi isteniyorsa bu satırda açılan menüden seçilir. d. Kaydırma Çubukları: Formun yanına hareket çubuklarının eklenip eklenmeyeceği ile ilgilidir. e. Resim: Formun zemininde kullanılacak resmi belirtir. f. GeniĢlik: Formun eninin kaç cm olacağı belirlenir. Veri Sekmesinin Özellikleri a. Kayıt Kaynağı: Formda görüntülenecek kayıtların veri tabanındaki hangi tablo yada sorgudan alınacağını belirtir. b. Düzenleme Ġzni: Formda görüntülenecek kayıtlar üzerinde değişiklik yapılmak isteniyorsa bu satırda “evet” seçeneği seçilir. Eğer “hayır“ seçilirse kayıtlar sadece görüntülenir ve yeni bir kayıt eklenebilir. Fakat varolan kayıt üzerinde değişiklik yapılamaz. c. Silme Ġzni: Formda görüntülenecek kayıtların silinmesi istenmiyorsa ”hayır” seçilir. Olay Özellikleri Olay, bir nesne üzerinde herhangi bir işlem gerçekleştirildiğinde ortaya çıkar. Örneğin; bir tablonun açılması, bir komut düğmesine basılması bir olaydır. Kullanıcı nesne ile ilgili olayları çeşitli yollar ile tanımlayarak programın akışını yönlendirir. a. Geçerli Olduğunda: Yeni bir kayda geçildiğinde meydana gelir. b. Ekleme Öncesinde: Yeni bir kayıt eklenmeden önce meydana gelir. c. Ekleme Sonrasında: Yeni bir kayıt eklendikten sonra meydana gelir. d. Açıldığında: Form açıldığında meydana gelir. e. Yüklendiğinde: Form açılıp kayıt görüntülendikten sonra meydana gelir. f. Kaldırıldığında: Form kaldırıldığında meydana gelir. g. Kapandığında: Form kapandığında meydana gelir. h. EtkinleĢtiğinde: Form aktif olduktan sonra meydana gelir. i. Odaklanıldığında: Form yada form üzerindeki bir nesneye odaklanıldığında meydana gelir. j. Hata durumunda: Bir hata çıktığında meydana gelir. Bir olay seçildiğinde olaya bağlı hangi eylemin gerçekleştirileceğinin tanımlanması gereklidir. Microsoft Access‟de olayları tanımlamak için 3 yol kullanılabilir: Deyim oluĢturucusu Macro oluĢturucusu Kod oluĢturucusu Diğer Sekmesi : Kısayol Menü Çubuğu: Bu özellik örneğin metin kutusu üzerindeyken farenin sağ tuşuna basıldığında ortaya çıkan kısayol menüsünü görüntülemek için kullanılır. ALT FORM Birden fazla tablo form veya rapor ile ilgili verileri ana form üzerinde görüntülemek amacıyla görüntülenir. Örneğin ana tablonun kayıtlarına bağlı başka bir tablodaki kayıtları da aynı form üzerinde görüntülemek istiyorsak bu amaçla alt formlar kullanılır. RAPORLAR Raporlar, veri tabanındaki bilgilerin basılı olarak elde edilebilecek şekilde özel olarak tasarlanan formlardır. Raporlama işleminde veri tabanında istenilen sonuç da kağıt üzerine belirli 19 bir düzen ile aktarılır. Raporlar doğru veri tabanı kullanımının göstergeleridir. Çünkü raporlardaki herhangi bir bilgi tutarsızlığı veri bir hata olduğunu gösterir. RAPORUN BÖLÜMLERĠ a. Sayfa Üstbilgisi: Raporun her sayfasında bulunması istenen bilgiler bu bölümde yer alır. b. Ayrıntı: Raporun ana bölümüdür. Asıl yazdırılmak istenen bilgiler burada yer alır. Diğer bölümlerin hiç birisi görüntülenmese bile ayrıntı bölümü mutlaka raporda görüntülenir. c. Sayfa Altbilgisi: Sayfaya özgü bilgiler burada yer alır. Sayfa sayısı, sayfa toplamı gibi her sayfanın sonuna yazdırılmak istenen bilgiler buraya yerleştirilir. Raporun bu temel bölümleri dışında çeşitli görevleri bulunan diğer bölümleri ise şunlardır: d. Rapor Üstbilgisi: Raporun en başında bulunan kısımdır. Bu bölüme yazılan bilgiler sadece bir kere raporun en başında bulunur. e. Rapor Üstbilgisi: Tüm rapora ait bilgileri içerir. Örneğin rapordaki toplam kayıt sayısı, toplamları, raporun sayfa sayısı gibi bilgiler bu bölüme yazılır. f. Grup Üstbilgisi: Raporda görüntülenecek kayıtlar arasında bir gruplama yapılacaksa kullanılır. Bu kısım gruplara ait ortak başlık ve bilgileri içerebilir. Örneğin öğrenci adına göre gruplama yapılıyorsa grup başlığı Öğrenci adı olabilir. g. Grup Üstbilgisi: Gruplara ait bilgiler bu bölümde yer alır. Grup olarak bir araya getirilen bilgilerin altında görüntülenir. RAPOR GÖRÜNÜMLERĠ Bir rapor 3 farklı şekilde görüntülenebilir: a. Tasarım Görünümü: Bu görünümde rapor üzerinde istenilen değişiklikler yapılabilir. b. Baskı Önizleme: Raporun yazıcıda nasıl basılacağı aynen ekran üzerinde gösterilir. c. YerleĢim Önizleme: Rapor sayfa sayfa incelenebilir. Raporun sayfa üzerinde yerleşimini göstermek üzere kopya veriler kullanılır ve sorgu ölçütlerine görünümde yer verilmez. RAPORLARDA GRUP KAYITLARI Veri tabanı içinde mükerrer olan alan bilgilerine göre gruplar oluşturulur ve her grup kendi arasında grup toplamaları gibi aritmetik işlemlere alınır. Ana bilgiler içinde mükerrer bilgileri olan birden fazla alan olabilir. Access 10 alan bilgisi için gruplama yapılmasına izin verir. Raporlama düzenlemeleri yapılan pencerede alanlar ayrıntı kısmına tek satır halinde yerleştirildikten sonra fare imleci cetvel üzerine satır bilgileri hizasına getirilir. Sağ düğme ile açılan kısa yol menüsünden Sıralama ve Gruplama seçilir. Access bu seçim üzerine sıralama ve gruplama tanımları yapılan iletişim kutusunu açar. SIRALAMA VE GRUPLAMA Alan Deyim Sütunu: Bilgileri gruplanacak alan tanımı seçilir. Sıralama Düzeni Sütunu: Bu sütuna gruplanan bilgiler için sıralama şekli verilir. Azalan veya artan iletişim kutusunun alt bölümünde grupla ile ilgili özellik tanımları yapılır. Her grup bilgisini ayrı bir satır halinde yazdırmak için Grup üst bilgisi ”evet” seçilir. Program, bu seçime göre raporlama penceresi ayrıntı alanı üstünde yeni bir alan açar. Grup alan tanımı alan başlığı olarak verilir. Gruplanan bilgilerde her grup sonunda toplam gibi aritmetik işlem yapılacaksa grup alt bilgisi satırında “evet” seçilir. Grupla satır listesinden grup alt bilgisi alanındaki grup bilgilerinin nasıl yazdırılacağı seçeneği seçilir. Grup sıklığı satırına gruplanan bilgilerin hangi değere göre yapılacağı tanımlanır. Birlikte tut satır listesinden grup bilgilerinin aynı sayfada bir arada tutulması veya parçalanabileceği seçilerek belirtilir. Grup Bilgileri Metin Bilgisi ise: Grupla ĠĢlemi Her bir değer - Grup tanımlamalarının aynen verilmesini sağlar. 20 Önek Karakterleri - Grup tanımı için ayrılan alanda grup tanım başlangıcında n adet karakter yazılacağını belirtir. Grup Bilgileri Tarih Bilgileri ise. Grupla ĠĢlemi Her bir değer - Gruplanan tarihin aynen verilmesini sağlar. Yıl - Gruplanan tarihin sadece yıl rakamlarını verdirir. Çeyrek - Gruplanan tarihi dönem rakamlarıyla verdirir. Ay - Gruplanan tarihin sadece ay rakamlarını verdirir. Hafta - Gruplanan tarihin kaçıncı hafta olduğunun rakamlarını verdirir. Gün - Gruplanan tarihin sadece gün rakamlarını verdirir. Saat - Gruplanan tarihin sadece saat rakamlarını verdirir. Dakika - Gruplanan tarihin sadece dakika rakamlarını verdirir. Grup Bilgileri Sayı veya Parasal Bilgi ise: Grupla ĠĢlemi Her bir değer - Grup değerlerinin aynen verilmesini sağlar. Sıklık - Grup değerlerinin belirtilecek aralıklarla doldurulmasını sağlar. ETĠKET BASIMI Bazı durumlarda veri tabanı tablo bilgileri müşteriler, satıcılar gibi firmanın ilişkili olduğu kişilerle ilgili adresleri içerir. Bu çeşit bilgilerin dosyalanmasının nedeni gerektiğinde ilgililere yazılacak mektup zarflarına yapıştırılacak etiketlerin basılması içindir. Adres bilgileri etiketlere belirtilecek düzende ve yazı tipine göre yazdırılır. Bu işlemde önemli olan kullanılacak etiketlerin modelinin bilinmesidir. Etiket form paketi üzerinde marka ve modeli yazılı olduğundan bu bilgilerin programa tanıtılması yeterlidir. Ülkemizde genellikle Avery L7.162 kullanılır. MAKROLAR Macro, MS-Access ortamında el ile gerçekleştirilen işlem adımlarını tek bir isim altında toplayıp saklayarak bu isim ile çalıştırılıp işlem adımlarının bir kerede gerçekleştirilmesini sağlar. Makrolar ile bir olayın ortaya çıkması durumunda yapılacak eylemler tanımlanabilir. Örneğin bilgi girişi için bir çok form arasında dolaşmak gerekebilir. Bu oldukça vakit alan bir işlemdir. Ama tek bir form üzerine bir komut düğmesi konularak bu düğmeye basıldığında diğer formun açılması sağlanabilir. Bunun dışında kullanıcıya ait özel menü çubuklarının oluşturulması, klavye tuşlarının bazı eylemlere atanması gibi işlemler makrolar yardımıyla Visual Basic komutlarına baş vurmadan yapılabilir. Macro Tasarım Ortamı Eylem sütunu: Makro adımlarının her birinin belirlediği sütunlar. Bu sütunda çeşitli makro eylemleri yer almaktadır. Bu eylemler ve işlemleri aşağıda kısaca işlenmiştir. Kayıt bul: Bir form veya veri sayfasında bilgi aramak için kullanılır. Sonrakini bul: Sonrakini bulmaya yarar. Denetime git - Üzerinde odaklanacak alan veya denetimi etkin hale getirir Sayfaya git: Sayfalara bölünmüş bir formda istenilen sayfaya gitmek için kullanılır. Menü öğesi al: Herhangi bir Access menüsündeki herhangi bir seçeneği gerçekleştirir. Örneğin bir form açıkken geçerli olan menüden düzen altında geri al seçeneğinin açılması sağlanabilir. Nesne Kopyala: bir veri tabanı nesnesini başka bir veri tabanına yada aynı veri tabanı içinde başka bir isimle kopyalamaya yarar. 21 Yazdır: O sırada etkin olan veri tabanı nesnesinin yazıcı çıktısını almak için kullanılır. İstenirse nesnenin bir kısmı yada tamamı bastırılabilir. Nesne Seç: Bir veri tabanı nesnesini seçili hale getirir. Böylece seçilen nesne üzerinde bir eylem gerçekleştirilebilir. Değer Belirle: Bir form yada rapor üzerindeki bir denetim alana yada bir özelliğe bir değer atanabilmesini sağlar. Tüm Kayıtları Göster: Bir süzgeç uygulanarak sınırlandırılmış olan kayıtların tümünün tekrar gösterilmesini sağlar. Özetle süzgeci kaldırmak için kullanılır. Kum Saati: Bir makro çalışırken windows‟un imlecini kum saati haline getirir. İletim Kutusu: uyarı veya bilgi amaçlı mesajın görüntülenmesini sağlar. Bip: Bip sesi çıkartır. Çıktı: Belirtilen veri tabanı nesnesini belirtilen dosya formatında saklar. Nesne Gönder: Bir veri tabanı nesnesini bir e posta yazılımına göndermeye yarar. Veri Tabanı Aktar: Veri tabanları arasında bilgi alış verişi yapmakta kullanılır. Elektronik Tablo Aktar: Bir veri tabanı ile bir hesap tablosu arasında bilgi alış verişi yapmakta kullanılır. Metin Aktar: Bir veri tabanı ile bir metin dosyası arasında bilgi alış verişi yapmakta kullanılır. Makro Durdur: Sadece ekranda çalışmakta olan makroyu durmak için kullanılır. Araç Çubuğu Göster: Kullanıcı tarafından yaratılan araç çubuklarının görüntülenmesini yada görüntülenmemesini sağlar. ÇıkıĢ: Microsoft Access‟in kapatılmasını sağlar. MODÜLLER Access ortamında oluşturulan bağımsız program kodlarıdır. Bu kodlar VB programlama dili ile oluşturulur. Bu program parçaları diğer veri tabanı nesnelerinden bağımsız olarak oluşturulabilir. Fakat doğrudan çalıştırılamazlar. Form ve raporların yetersiz kaldığı durumlarda bu nesneler üzerinde modüller kullanılabilir. MODÜL ÇEġĠTLERĠ VB‟de kullanılan 3 tür modül vardır: 1. Genel Modüller: veri tabanının her nesnesinde ve her aşamasında kullanılabilecek program parçalarını içerebilir. 2. Form Modülleri: sadece belli bir forma bağlı olarak çalışan program parçalarını içerir. 3. Rapor Modülleri: sadece belirli bir rapora bağlı olarak çalışan genel amaçlı olmayan program parçalarını içerir. Örnek: Private function günler( ) Dim gün Gün= Array(“Pazar”, “Pazartesi”, “Salı”, “Çarşamba”, “Cuma”, “Cumartesi”) Msqbox “Bugün” & gün(Weekday (Date ( ))) End Function DLookup Foksiyonu Kullanımı: 1. Sayısal veriler için: DLookup(“alan adı”,”tablo adı”, “kriter=n” ) 2. Alfa sayısal veriler için: DLookup(“alan adı”,”tablo adı”, “kriter=string” ) 3. Tarih türünde veriler için: DLookup(“alan adı”,”tablo adı”, “kriter=#tarih#”) Örnek: Form üzerindeki bir nesneyi kullanmak. 22 Dlookup (“alan adı”,”tablo adı”, “kriter=” & Forms!formadı!kontroladı) DoCmd Komutu Modül yazılımlarında çalıştırılacak veri tabanı uygulamasının tanıtıldığı nesne komutudur. Do Command kelimelerinden (komut işle) türetilmiştir. Kullanımı: DoCmd.uygulanacak yöntem [arguman1, arguman2,…] 1. Docmd: Tanımlanan nesnenin çalıştırılmasını sağlar. 2. Uygulanacak Yöntem: Komutla birlikte hangi yöntemin uygulanacağı yani hangi veri tabanı nesnesinin çalıştırılacağı tanımlanır. Uygulanacak yöntem olarak şu tanımlamalar yapılabilir. a. Open Form: Form tablosunun çalıştırılacağını belirtir. b. Open Raport: Raporlama tablosunun çalıştırılacağını belirtir. c. Run Macro: Macro tanımlamalarının çalıştırılacağını belirtir. d. Go To Record: Belirtilen kayda gitmeyi sağlar. e. Beep: bip sesi çıkarır. f. Maximize: maksimum karakter. g. Minimize: minimum karakter. 3. Argüman1: Çalıştırılacak nesne bilgileri içinde hangilerinin işleme alınacağı tanımlanan parametrelerdir. Bu parametrelerden bazıları şunlardır: acNormal: Nesnenin normal olarak açılacağını belirtir. acEdit. Ek girişler, düzeltmeler yapılacak şekilde açılmasını sağlar. AcAdd: Nesneye ek girişler yapılacağını belirtir. AcNewRecord: Yeni bir kayıt ekleneceğini belirtir. AcReadOnly: Nesnenin sadece okunmak üzere açılacağını belirtir. acDesign: Nesne penceresinin düzenleme durumunda açılmasını sağlar. acPreview. Yazıcıda yazdırılacak bilgilerin ekranda izlenecek şekilde açılmasını sağlar. Hata Kontrol Deyimleri Procedure yazılımlarındaki komutların çalışması esnasında olası hata durumlarına önlem almak amacıyla kullanılan deyimlerdir. On Error Goto Paragraf: Procedure yazılımlarında satır satır tanımlanan işlem akışında bir hata olması durumunda procedure‟nin nasıl bir tavır alacağını belirten paragrafa geçmesini sağlayan bir deyimdir. Deyim tanımı birbirinden 3 farklı şekilde verilebilir: 1. On Error Goto Paragraf adı 2. On Error Resume Next 3. On Error Goto 0 1.deyim hata durumunda işlem akışının belirtilen paragrafa dallanmasını, 2.deyim hatanın oluştuğu yerden bir sonraki satıra dallanmasını, 3.deyim procedure‟de oluşan hatanın pas geçilmesini sağlar. MDE DOSYASI OLUġTURMAK Kullanıcıların veri tabanı içindeki formların, raporların ve modüllerin nasıl tasarlandığını görmeden kullanmasını sağlamak amacıyla mde dosyası yaratılır. Bir veri tabanı dosyasının mde dosyası olarak kaydedilmesi demek VB kodlarını içermeyecek şekilde saklanması demektir. Bu şekilde bir mde dosyası hiçbir kaynak kod içermez. Bu yöntem kullanıcı düzeyinde güvenlik sağlamaktan daha kolaydır. Bu şekilde çok kullanıcılı sistemlerde kullanıcı oluşturmak ve haklarını düzenlemek eylemlerine gerek kalmaz. Bir mde dosyasının özellikleri şu şekilde sıralanabilir: 23 Kullanıcılar form, rapor ve modül nesnelerinin tasarımını göremezler. Bu nesnelerin yenilerini yaratamazlar. Kullanıcılar tabloları, sorguları ve ilişkileri görebilir. Bunlar üzerinde değişiklik yapabilirler. Form, rapor ve modül nesneleri başka bir veri tabanına taşınamaz. Tablo, sorgu ve makrolar mde veri tabanı olmayan başka bir veri tabanına taşınabilir. Aynı zamanda ondan da bu veri tabanına tablo, sorgu ve makro nesneleri taşınabilir. Kullanıcılar nesne göz atıcısını kullanamazlar Mde dosyası daha az yer kaplar ve dolayısıyla sistem başarısını da arttırır. ġĠFRE KULLANMAK Veri tabanının açılışına bir şifre konularak veri tabanı koruma altına alınabilir. Bu uygulanması en kolay yöntemdir.