Veritabanı (Database):

Veritabanı (database) bir sorunu çözmek amacıyla bir araya getirilmiş, birbirleriyle ilişkili verilerin bir topluluğudur. Veri tabanı, belirli bir tarzda organize edilmiş faydalı verilerin bir koleksiyonudur. Bu verilerin bir araya getirilmesi ve bunların işlenerek anlaşılır bilgi haline dönüştürülmesi bilgi-işlem açısından çok önemlidir.

                Çok sayıda bilginin, güvenilir bir şekilde saklanması ve üzerlerinde çeşitli işlemlerin yapılması gerektiğinde, bu bilgileri oluşturan verilerin anlamlı biçimde düzenlenmeleri gerekmektedir. İyi düzenlenmiş bir veri tabanı ile birçok işlev yerine getirilebilir.

                Günümüzde, değişik konulara ilişkin birçok veritabanı oluşturulmuştur. Hastane yönetim sistemine ilişkin veri tabanı örnek olarak verilebilir. Bu veritabanında;

·   Hasta kayıtları

·   Personel kayıtları

·   Malzeme kayıtları

·   Muhasebe kayıtları

·   Bilimsel çalışmalar

·   Büro işlemleri

gibi veriler tutulmaktadır. Bu veriler arasında çeşitli ilişkiler kurularak, bir verinin tekrar veritabanına girmesi önlenmiş, ayrıca veritabanı üzerinde güncelleştirme işlemleri yapılarak veritabanının aktif bir şekilde kullanılması sağlanmıştır.

 ÖRNEK: Bir kişisel telefon rehberi bir veritabanı olarak görülebilir.

 Ad Soyad

Şehir Kodu

Telefon No

Mehmet Türkmen

322

2384153

Uğur Yüksel

216

2761651

Erhan Seçilen

212

4327862

İbrahim Sağlam

318

6115240

Ramazan Tekinarslan

322

7145678

Veli Korkmaz

322

4567890

Ayhan Akgöz

212

1234567

Bu telefon rehberi, rasgele düzenlenmiş isimleri ve telefon numaralarını gösterir bir listedir. Bununla beraber, bu liste istenilen tercihe veya forma göre belirli bir sırada organize edilebilir. Örneğin, liste ada veya soyada göre alfabetik sırada, telefon numarasına göre artan bir şekilde sıralanabilir, şehir kodları kendi içinde gruplanabilir.  Karışık bir telefon rehberinin, hiçbir yararı olmayacağından bizim için önemli olan, bilgilerin istediğimiz düzende olmasıdır.



Sql (Structured Query Language)

 

Sql, veritabanı sorgu dilidir. Sql ile veritabanına yeni tablolar, yeni kayıtlar ekleyip silebilir, var olan alanlar üzerinde düzenlemeler ve sorgular yapabilirsiniz. Sql, Standard bir veritabanı sorgu dilidir. Bütün gelişmiş veritabanı uygulamalarında kullanılır. Sql ile Oracle, Db2, Sybase, Informix, Microsoft Sql Server, Access gibi veritabanı yönetim sistemlerinde çalışabilirsiniz. Sql komutları çeşitli başlıklar altında düzenlenebilir.

Genelde sql komutları ikiye ayrılır:

Ddl:veri tanımlama komutları.

Dml:veri işleme komutları.

DDL komutları DDL (Data Definition Language) 

Tablo oluşturma, tablo silme, tabloya yeni alanlar ekleme v.b. işleri yapan komutlardır. Bunlar;

Create table

Create ındex

Drop table

Alter table

DML komutları

Tablolardaki alanlar üzerinde işlem yapan komutlardır. Bunlar;

Select

Insert

Update

Delete

Yardımcı deyimler

Bu deyimler tek başlarına kullanılamazlar.

Komutların işlevlerini yerine getirmeleri için bazı yardımcı deyimler vardır. Bunlar;

From

Where

Group by

Havıng

Order by

 


 



MS ACCESS VERİTABANI

                Microsoft Office Paketinin bir parçası olan Microsoft Access'i kullanarak bilgilerinizin tümünü tek bir veritabanı dosyasından yönetebilirsiniz. Dosya içinde şunları kullanabilirsiniz:



 Verileri tabloya bir kez depolayıp sonra da çeşitli konumlardan görüntüleme. Verileri güncelleştirdiğinizde, görüntülendiği her yerde otomatik olarak güncelleştirilir.

1)       Verileri tabloya bir kez depolayıp sonra da çeşitli konumlardan görüntüleme. Verileri güncelleştirdiğinizde, görüntülendiği her yerde otomatik olarak güncelleştirilir.

2)       Verileri sorgu içinde görüntüleme

3)       Verileri form içinde görüntüleme

4)       Verileri rapor içinde görüntüleme

5)       Verileri erişim sayfası içinde görüntüleme

 

 


 



Tablolar ve ilişkiler

Verilerinizi saklamak üzere, izlediğiniz her bilgi türü için bir tablo oluşturun. Birden çok tablodan gelen verileri bir sorgu, form, rapor veya veri erişim sayfasında bir araya getirmek için, tablolar arasında ilişkiler tanımlayın

1)       Daha önce bir adres listesinde bulunan veriler artık Müşteriler tablosunda yer almaktadır.

2)       Daha önce bir elektronik tabloda bulunan                                           sipariş bilgileri artık Siparişler tablosunda yer almaktadır.

3)       Benzersiz Kimlik (örneğin Müşteri Kimliği) tablodaki bir kaydı diğerlerinden ayırt etmenizi sağlar. Microsoft Access, tablonun benzersiz Kimlik alanını başka bir tabloya ekleyerek ve bir ilişki tanımlayarak, her iki tabloda ilgili kayıtları eşleştirebilir; böylece bunları bir form, rapor veya sorguda bir araya getirebilirsiniz.

 

 


  


Veritabanındaki ilişkiler

Microsoft Access veritabanınızda her nesne için farklı tabloları ayarladıktan sonra, veritabanına bilgiyi yeniden nasıl bir araya getireceğini belirtmeniz gerekir. Bu işlem için ilk adım, tablolarınızın arasındaki ilişkileri tanımlamaktır. Bunu yaptıktan sonra, bir defada pek çok tablodan bilgi görüntüleyecek sorguları, formları ve raporları oluşturabilirsiniz. Örneğin, bir form dört tablodan alınan bilgileri içeriyor olsun:

 

1)       Müşteriler tablosu

2)       Siparişler tablosu

3)       Ürünler tablosu

4)       Sipariş Ayrıntıları tablosu

İlişkiler nasıl çalışır?

Bu örnekte, aynı sipariş hakkındaki bilgiyi göstermek için bu dört tablonun alanları koordine edilmelidir. Bu koordinasyon, tablolar arasındaki ilişkiler sayesinde yapılır. İlişki,  genellikle her iki tablonun aynı adlı alanlar olan anahtar alanlardaki veriler eşleştirilerek çalışır. Çoğu durumlarda, bu eşleştirme alanları, bir tablodan her kayıt için benzersiz bir tanımlayıcı sunan birincil anahtar ve diğer tablodaki yabancı anahtardır. Örneğin, ÇalışanNo alanları arasında bir ilişki oluşturarak, çalışanlar sorumlu oldukları siparişlerle ilişkilendirilebilir.

1)       ÇalışanNo her iki tabloda da görünür, birincil anahtar...

2)       ... Ve yabancı anahtar olarak.

Bir-çok ilişkisi

Bir-çok ilişkisi en yaygın ilişki türüdür. Bir-çok ilişkisinde, A Tablosundaki kayıt, B Tablosundaki kayıtta pek çok eşleşen kayda sahiptir, ancak B Tablosundaki kayıt, A Tablosunda yalnızca bir eşleşen kayda sahiptir.

1)       Bir sağlayıcı ...

2)       ... birden çok ürün sağlayabilir ...

3)       ... ancak her ürünün yalnızca bir tedarikçisi vardır.

Çok-çok ilişkisi

Çok-çok ilişkisinde, A Tablosundaki bir kayıt, B Tablosunda bulunan pek çok kayıtla eşleşebilir ve B Tablosundaki bir kayıt A Tablosunda bulunan pek çok kayıtla eşleşebilir. Bu tür bir ilişki, birincil anahtarın iki alanı içerdiği birleşme tablosu olarak adlandırılan üçüncü bir tablonun tanımlanması koşuluyla mümkündür, A ve B Tablolarından gelen yabancı anahtarlar. Örneğin, Siparişler tablosu ve Ürünler tablosu iki tane bire çok olarak tanımlanan ilişkiyi Sipariş Detayları tablosunda oluşturarak, çok-çok ilişkilere sahip olur. Bir siparişin birçok ürünü olabilir ve her ürün pek çok siparişte görünebilir.

1)       Siparişler tablosundaki birincil anahtar

2)       Ürünler tablosundaki birincil anahtar

3)       Bir siparişte birçok ürün bulunabilir ...

4)       ... ve her ürün birçok siparişte görünebilir.

Bire bir ilişki

Bire bir ilişkide, A Tablosundaki her kayıt, B Tablosunda yalnızca bir eşleştirme kaydına ve B Tablosundaki her kayıt, A Tablosundaki yalnızca bir eşleştirme kaydına sahip olabilir. Bu yolla ilgili olan pek çok bilgi bir tabloda bulunduğundan bu tür bir ilişki pek olağan değil. Bir tabloyu pek çok alana bölmek, güvenlik sebeplerinden dolayı tablonun bir kısmını ayırmak veya ana tablonun yalnızca altkümesine uygulanan bilgileri saklamak için, bire bir ilişkiyi kullanabilirsiniz. Örneğin, fon yükselten futbol oyununda yer alan çalışanları izlemek için bir tablo oluşturmak isteyebilirsiniz. Futbol Oyuncuları tablosundaki her bir futbol oyuncusunun Çalışanlar tablosunda bir eşleşen kaydı vardır.

1)       Çalışanlar tablosunda her futbolcuyla eşleşen bir kayıt vardır.

2)       Bu değer kümesi, ÇalışanNo alanının ve Çalışanlar tablosunun bir alt kümesidir.

 

İlişkileri tanımlama hakkında

Microsoft Access'in oluşturduğu ilişki türü, ilgili alanların nasıl tanımlandığına bağlıdır:

·   Yalnızca ilgili alanlardan biri birincil anahtar ise veya benzersiz dizine sahipse, bir-çok ilişki oluşturulur.

·   Her iki ilgili alan birinci anahtar ise veya benzersiz dizinlere sahipse, bire bir ilişki oluşturulur.

·   Çok-çok ilişki ise gerçekten de ilk anahtarının iki alanı içerdiği üçüncü bir tabloyla diğer iki tablodan gelen yabancı anahtarlar birlikte olan iki tane bir-çok ilişkidir.

Tablo ve kendisi arasında da bir ilişki oluşturabilirsiniz. Aynı tablo içinde Aramaya gereksinim duyduğunuz durumlarda bu faydalıdır. Çalışanlar tablosunda, örneğin, ÇalışanNo ve Raporlar alanları arasında bir ilişki tanımlayabilirsiniz, böylece Raporlar alanı eşleşen ÇalışanNo'dan çalışan verilerini görüntüleyebilir.

Not  Birinci anahtar olmayan ve benzersiz dizine sahip olmayan bir alanı, birinci anahtar olmayan ve benzersiz dizine sahip olmayan bir başka alana sürüklerseniz, belirsiz bir ilişki oluşturulur. Belirsiz ilişkilere sahip tabloları içeren sorgularda, Microsoft Access, tablolar arasında varsayılan birleştirme satırını görüntüler, ancak bilgi tutarlılığına zorlanmaz ve bu tabloların kayıtlarının benzersizliği konusunda bir garanti yoktur.

 

Başvuru tutarlılığı

Bilgi tutarlılığı, Microsoft Access'in kayıtlar ve ilgili tabloları arasındaki ilişkilerin geçerli olduğunu sağlamak için ve ilgili verileri yanlışlıkla silmemeniz veya değiştirmemeniz için kullandığı kurallar sistemidir. Aşağıdaki koşulların tümü karşılandığında bilgi tutarlılığını ayarlayabilirsiniz:

·   Birinci tablodaki eşleşen alan, birincil anahtar veya benzersiz dizine sahip.

·   İlgili alanlar aynı veri türüne sahiptir. İki olağandışı durum vardır. Otomatik Sayı alanı Uzun Tamsayı ayarı FieldSize özelliği olan Sayı alanı ile ilgili olabilir ve Yineleme Kimliği ayarı FieldSize özelliği olan bir Otomatik Sayı alanı da Yineleme Kimliği ayarı FieldSize özelliği olan bir Sayı alanı ile ilgili olabilir.

·   Her iki tablo da aynı Microsoft Access veritabanına aittir. Tablolar ilişkili tablolar ise, bunlar Microsoft Access biçiminde tablolar olmalı ve bilgi tutarlılığını ayarlamak için saklandıkları veritabanını açmalısınız. Bilgi tutarlılığı, diğer biçimlerdeki veritabanlarından ilişkili tablolar için zorlanamaz.

Aşağıdaki kurallar başvuru tutarlılığı kullanıldığında uygulanır:

·   Birincil tablonun birincil anahtarında bulunmayan ilgili tablonun yabancı anahtar alanına bir değer giremezsiniz. Ancak, yabancı anahtara, kayıtların ilgisiz olduğunu belirten bir Boş değer girebilirsiniz. Örneğin, varolmayan bir müşteriye atanmış bir siparişiniz olamaz, ancak Müşteri Kimliği alanına Boş değer girerek hiç kimseye atanmış bir siparişiniz olabilir.

·   İlgili tabloda eşleşen kayıtlar varsa, birincil tablodan kayıt silemezsiniz. Örneğin, Siparişler tablosunda çalışan için atanmış siparişler varsa, Çalışanlar tablosundan bir çalışanın kaydını silemezsiniz.

·   Kaydın ilgili kayıtları varsa, birincil tabloda birincil anahtar değerini değiştiremezsiniz. Örneğin, Siparişler tablosunda o çalışan için atanmış siparişler varsa, Çalışanlar tablosunda çalışanın kimliğini değiştiremezsiniz.

Güncelleştirmeleri ve silmeleri basamaklandırma

Bilgi tutarlılığının zorlandığı ilişkiler için, Microsoft Access'in otomatik olarak ilgili kayıtları basamaklı güncelleştir ve basamaklı sil özelliklerini isteyip istemediğinizi belirleyebilirsiniz. Bu seçenekleri ayarlarsanız, normalde bilgi tutarlılığı kuralları tarafından önlenen silme ve güncelleştirme işlemlerine izin verilir. Kayıtları sildiğinizde veya birincil tablodaki birincil tuş değerlerini değiştirdiğinizde, Microsoft Access bilgi tutarlılığını korumak için ilgili tablolarda gerekli değişiklikleri yapar.

İlişki tanımlarken, İlişkili Alanları Basamaklı Güncelleştir onay kutusunu işaretlerseniz, birincil tablodaki bir kaydın birinci tuşunu her değiştirdiğinizde, Microsoft Access birincil tuşu ilgili tablolarda yeni değerde otomatik olarak güncelleştirir. Örneğin, Müşteriler tablosunda bir müşterinin Kimliğini değiştirirseniz, Siparişler tablosundaki Müşteri Kimliği alanı, o müşterinin her siparişi için otomatik olarak güncelleştirilir, böylece ilişki kopmamış olur. Microsoft Access herhangi bir ileti görüntülemeden basamaklı olarak güncelleştirilir.

Not  Birincil tablodaki birincil anahtar Otomatik Sayı alanı ise, Otomatik Sayı alanındaki değeri değiştiremediğinizden İlişkili Alanları Ardarda Güncelleştir onay kutusunu ayarlamanın hiçbir etkisi olmayacaktır.

İlişkiyi tanımlarken İlişkili Alanları Ardarda Güncelleştir onay kutusunu işaretlerseniz, birincil tablodaki kayıtları her sildiğinizde, Microsoft Access ilgili tablodaki ilgili kayıtları otomatik olarak siler. Örneğin, Müşteriler tablosundan bir müşteri kaydını silerseniz, Siparişler tablosundaki müşterinin tüm siparişleri otomatik olarak silinir (bu, Siparişler kayıtlarıyla ilgili Sipariş Ayrıntıları tablosundaki kayıtları da içerir). İlişkili Alanları Ardarda Güncelleştir onay kutusu işaretliyken form veya veri sayfasından kayıtlar sildiğinizde, Microsoft Access, ilgili kayıtların da silinebileceği konusunda sizi uyarır. Ancak, sil sorgusunu kullanarak kayıtları sildiğinizde, Microsoft Access ilgili tablodaki kayıtları uyarı görüntülemeden siler.


 

 

Sorgular

Birden çok tablodan gelen veriler de içinde olmak üzere, yalnızca tam olarak belirlediğiniz koşulları karşılayan verileri bulmak ve almak için bir sorgu oluşturun. Bir sorgu bunun yanı sıra, birden çok kaydı aynı anda güncelleştirebilir veya silebilir ve verileriniz üzerinde önceden tanımlanmış veya özel hesaplamalar yapabilir.


 

 

 

 

1)       Bu sorgu, siparişleri Nisan ayında karşılanması gereken Ankara'daki müşteriler için Sipariş No, Sevk Tarihi, Şirket Adı ve Şehir bilgilerini almak üzere ayrı tablolara erişir.


 

 

Formlar

Tablodaki verileri kolayca görüntülemek, veri girmek ve değiştirmek için bir form oluşturun. Formu açtığınızda, Microsoft Access bir veya birden çok tablodan gelen verileri alır ve bunları ekranda Form Sihirbazı'nda seçtiğiniz veya Tasarım görünümünde (Tasarım görünümü: Şu veritabanı nesnelerinin tasarımını gösteren bir pencere: tablolar, sorgular, formlar, raporlar, makrolar ve veri erişim sayfaları. Tasarım görünümünde yeni veritabanı nesneleri oluşturabilir veya varolanların tasarımını değiştirebilirsiniz.) kendi oluşturduğunuz düzende görüntüler.


 

 

1)       Tablo aynı anda birçok kaydı görüntüler, ancak verilerin tümünü tek bir kayıt içinde görmek için kaydırmanız gerekebilir. Ayrıca, bir tabloyu görüntülerken aynı anda birden fazla tablodaki verileri güncelleştiremezsiniz.

2)       Form bir seferde tek bir kayıt üzerinde odaklanır ve birden çok tablonun alanlarını görüntüleyebilir. Ayrıca, resimleri ve diğer nesneleri de görüntüleyebilir.

3)       Form verileri yazdıran, başka nesneleri açan veya görevleri diğer şekillerde otomatikleştiren bir düğme içerebilir


 

Raporlar

Verilerinizi çözümlemek veya onları kağıt üzerinde belirli bir yolla sunmak üzere bir rapor oluşturun. Örneğin, verileri gruplandıran ve toplamları hesaplayan bir rapor ve farklı verilerin postalama etiketlerini yazdırmak üzere biçimlendirilmiş olduğu başka bir rapor yazdırabilirsiniz.


 

 

 

1)       Posta etiketleri oluşturmak için bir rapor kullanın.

2)       Bir grafikte toplamları göstermek için bir rapor kullanın.

3)       Toplamları hesaplamak için bir rapor kullanın.

 

 


 

Örnek Bir Veritabanı oluşturulması:

 

MSAccess programı açıldıktan sonra boş bir veritabanı açılır. Örnek olarak alış-veriş veritabanı yapacağız.

1) Tasarım görünümde tablo oluştur


a)Tablo adı: Müsteri

Alan adı

veri türü

Müşteriadi

Metin (1.Key)

Telefonno

Metin

Adres

Metin

Fax

Metin

 

b) İkinci tablo: Üretici

Alan Adı

Veri Türü

ÜreticiAdı

Metin (1.Key)

ÜreticiAdres

Metin

ÜreticiTel

Metin

 

c) Üçüncü tablo: Ürün

Alan Adı

Veri Türü

ÜrünID

OtomatikSayı (1.Key)

ÜrünAdı

Metin

ÜreticiAdı

Metin

StoktakiÜrün

sayı

BirimFiyatı

ParaBirimi

 

 

d) Dördüncü Tablo: hareket

Alan adı

veri türü

HareketID

otomatik sayı (1. Key)

Müsteriadi

metin

TaşımaÜcreti

ParaBirimi

TeslimTarihi

Tarih/Saat

TeslimAdresi

Metin

 

e) Beşinci Tablo: Hareket Özellikleri

Alan adı

veri türü

HareketID

sayı (1. Key)

ÜrünID