You are on page 1of 4

İLİŞKİSEL VERITABANI (RELATIONAL DATABASE) KAVRAMLARI Veri tabanı (database) Nedir?

: İçinde bulunan nesneleri vasıtasıyla çok büyük verileri saklayan ve bu verilerle işlem yapan bir platformdur. Database ortamındaki tablolara veriler, direk kendi içindeki çeşitli tools (araçlar) aracılığı ile işlenebildiği gibi yazılan arayüzlerle(interface) de işlenebilir. (örnek: visual basic, asp, php vb. uygulamalarla geliştirilmiş arayüzler) Son yıllarda veri tabanları çok sayıda tabloların bir araya getirilmesi sonucu oluşturulmaktadır. Dolayısıyla ortaya bu tablolar ya da diğer veri tabanı nesneleri arasında çeşitli ilişkiler kurma durumu çıkmıştır. Ortaya çıkan bu teknolojik yapıya da ilişkisel veritabanı (relational database) denmiştir.. (Bu türe uyan en yaygın veri tabanları: Access, mysql, sql server, oracle v.b.gibi) İlişkisel model şu özelliklere sahiptir: • nesneler ve ilişkileri (örnek:iki tablo arasında ilişki) • ilişkiler üzerinde tanımlı işlemler (örnek: İlişki kurulacak ana toblo üzerindeki alanda PK = Primary Key (birincil anahtar )uygulamak ya da tabloda index oluşturmak…) • doğruluk ve tutarlılık için veri bütünlüğü (İlişki kurulan tablolar arasındaki alanların içeriği olan verilerin maksimum uzunlukları ve tipleri aynı olmalıdır.) Veritabanında bulunan temel kavramlar: - Tablo (Table):Veri saklama için temel yapıdır. Bir veya daha fazla sütundan ve sıfir veya daha fazla satırdan oluşur. - Sütun (Column): Tablodaki bir veri türüne karşılık gelir. - Satır (Row): Kaydın (record) diğer adıdır. Sütun değerleri grubudur. - Alan (Field). Bir satır-sütun koordinatındaki değerdir. Alanda veri bulunmazsa, bu alan NULL değer içerir denir. - Birincil Anahtar (Primary Key): Tekrarlanmayacak alandır. Buradaki veri aynı tablo içinde birden fazla tekrarlanamaz . (örnek: personel bilgilerinde T.C.No ) - Yabancı Anahtar (Foreign Key): Aynı veya farklı bir tablo içindeki birincil anahtarlara başvuran (referencing) sütun veya
Gülcay KORKMAZ Bilgisayar Öğretmeni Yazılım Uzmanı e_post@: gkorkmaz@meb.gov.tr msn : gkorkmaz2007@hotmail.com

Çünkü bu tabloya bağlı bir ya da daha fazla alt tablo olabilir. unvan v. gibi verileri Gülcay KORKMAZ Bilgisayar Öğretmeni Yazılım Uzmanı e_post@: gkorkmaz@meb.tr msn : gkorkmaz2007@hotmail. (örnek: Medeni hal.com . string bir verinin yanlış yazılma olasılığı olduğundan sonuç tutarsız olabilir.C. kimlik birden fazla satırda olacaktır. (Çünkü bu alanlar üzerinde sorgulama yapıldığında. (örnek: Öğrenci kimlik tablosunda bir öğrenci tektir ve bu tablo bir ana tablodur. kimlik no’dur) 3. meslek. Örnek: Medeni hal. kimlik no) Bu alan boş veri içeremez. veri tekrarı olamaz.b. Bağlı oldukları alan da T.Ana Tablo (main table): Veri tabanında mutlaka olması gereken tablo çeşididir.gov.C.b. Sözlük tablolarında ilgili veriye ait kod ve ad bulunurken.sütun gruplarıdır. (Örnek: Sözlük tablosunda Medeni hal kodu ve evli-bekar verisi varken ana tabloda sadece medeni hal kodu bulunur. (örnek: T.Sözlük tabloları (dictionary tables): Ana tablolarda ya da alt tablolarda birden fazla satırda kullanılan benzer veriler bu tablolara kod olarak kaydedilmelidir. sınıf adları. Oysa bu tablodaki her bir öğrenciye ait derslerin ve notların işlendiği tabloda öğrenci T. 2. Sorgulamada da bu alandaki veri adı sözlük tablosunda alınır) Sözlük tabloları genel ve özel olmak üzere iki şekilde (veri tabanının büyüklüğüne ve uygulamanın türüne göre) oluşturulur. Dolayısıyla burada öğrenci not tablosu kimlik tablosuna bağlı bir alt tablodur. 1. veriler) İşte bu verilerin tutulduğu yardımcı tablolar oluşturulmalıdır. Bu tablolara sözlük tabloları denir ve ana tablo ile alt tablolara referans ederler. cinsiyet v.Alt tablolar (sub tables): Ana tablodaki her bir satırdaki bir kayıt için detay bilgilerin işlendiği bir ya da birden fazla tablolardır. Bu tablolarla ilişki söz konusu alanda kurulur. ilçe. ana ve alt tablolarda sadece kod bulunur. İl.C. Yabancı anahtar değeri bir birincil anahtar değeri ile aynı olmalı ve NULL olmamalıdır. Genel sözlük tablolarında daha çok fazla satır içermeyen statik veriler taşınabildiği gibi özel sözlük tablolarında çok fazla satır içeren statik veriler saklanır. Tablo çeşitleri: Gerçek anlamda bir veri tabanı oluşturulurken aşağıdaki başlıklarda tablolar oluşturulmalıdır. Ana tabloda mutlaka bir birincil anahtar (primary key) alanı olması gerekir.

meslekler.gov. • Sütun Bütünlüğü (Column Integrity): Sütundaki değerler tanımlı veri tipine uymalıdır. • Kullanıcı Tarafından Tanımlanan Bütünlük (Userdefined Integrity): Değerler kullanıcının tanımladığı kurallara uymalıdır.genel sözlük tablolarında. Gülcay KORKMAZ Bilgisayar Öğretmeni Yazılım Uzmanı e_post@: gkorkmaz@meb.Ş v.(_ hariç) • Alan adları ve tablo adları rakamla başlamamalıdır. ) • Tablo adı ve alan adları büyük harflerle olmalı. yukarıda verdiğimiz GOREV_KAYDI tablosuna yabancı anahtar olan TC_NO sütunundaki değeri 11111111111 olan bir kaydı. KIMLIK_BILGILERI tablosunda TC_KIMLIK_NO 'su 11111111111 olan bir kayıt bulunmadığında. veri tabanı bu kaydı girmemize izin vermez. TC_KIMLIK_NO 'su olmayan (NULL olan) bir kayıt da giremeyiz. İ. Örneğin.Ö. Örneğin.Ç. il. ülkeler gibi verileri de kendi adlarını alan özel sözlük tablolarında saklamak doğru olur) NOT: • Tablo ve alan adlarında kesinlikle Türkçe karakter kullanılmaz (örnek.b. VERİ BÜTÜNLÜĞÜ Veri bütünlüğünü sağlamak için şu kısıtlamalar olur: • Nesne Bütünlüğü (Entity Integrity): Birincil anahtar NULL değer almamalı ve aldığı değer tekrarsız ve tek olmalıdır.com .Ğ. Örneğin.tr msn : gkorkmaz2007@hotmail. • Karakterler arasında özel işaret ve boşluk bulunmamalıdır. giremeyiz. TC_KIMLIK_NO sütunu sayı değerler içerdiğinden o sütuna metin değerler giremeyiz. yukarıda verdiğimiz KIMLIK_BILGILERI tablosuna birincil anahtar olan TC_KIMLIK_NO sütunundaki değeri 11111111111 olan bir kayıt daha girememiz nesne bütünlüğünü bozacağından. ilçe. Benzer şekilde. • Başvuru Bütünlüğü (Referential Integrity): Yabancı anahtar değerleri birincil anahtar değerine eşit olmalıdır.

gov. Böylece veri tabanını kontrol işlemi daha da kolaylaşmış olur Access’ da bu işlem şu şekilde yapılır: 1.Yine ana tabloda silinen kayıt ilişkili tablolarda da silinir.Bu ilişkinin hatasız olabilmesi için aşağıdaki kurallara uymak gerekir: • İlişki kurulacak tablolardan biri mutlaka ana tablo olmalı • Ana tabloda mutlaka birincil anahtar olmalıdır • Alt tabloda mutlaka ana tablodaki birincil anahtarda aynı türden ve aynı verileri içeren bir alan olmalıdır • Alt tabloda bu alana işlenmiş verilerin mutlaka ana tabloda da olması gerekir Gülcay KORKMAZ Bilgisayar Öğretmeni Yazılım Uzmanı e_post@: gkorkmaz@meb.Böylece 1’den n’e ilişki kurulur. 1. NOT NULL olarak tanımlanmış bir alana NULL değer giremeyiz VERİ TABANINDA TABLOLAR ARASI İLİŞKİ İŞLEMLERİ Tüm ilişkisel veri tabanlarında ortak alan içeren ana ve alt tablolar arasında ilişki kurmak mümkündür.Örneğin.Aktif hale gelen bu seçeneklerde seçilir ve uygula butonu tıklanır 7.Gelen tablolardan ilişki kurulacak tablolar seçilir 3.ilişki kurulmuş ana tabloda ilgili alanda yapılacak bir değişikliğin tüm alt tablolara da yansıması (örnek: Öğrenci KIMLIK tablosunda TCNO su değişen bir öğrencinin OGRENCI_NOTLARI tablosunda da TCNO su bağlı olarak değişir) 2.Ana tabloda bulunan primary key(birincil anahtar) alanından. 8. ana tablodaki değişikliğin alt tabloyada yansımasıdır.Bu ileti kutusunda “tutarlılığı zorla” seçeneği seçilir ve alttaki seçenekler de açılır 6.Bu işlemden sonra bir ileti kutusu açılır 5.tr msn : gkorkmaz2007@hotmail. alt tablodaki aynı türdeki alana Mouse sürüklenerek bırakılır 4. Bunu avantajı.Bu ilişkinin amacı. 9.Araçlar menüsünden ilşkiler seçeneği seçilir 2.com .