Veritabanı Tasarımı İlişkisel Veritabanı Kavramlarına Giriş
Amaç Bu ders aşağıdaki hedefleri kapsamaktadır: Birincil anahtar tanımlama İkincil anahtar tanımlama Sütun bütünlüğü kuralı tanımlama Satır, sütun, birincil anahtar, benzersiz anahtar ve ikincil anahtar unsurlarını içeren bir tablo diyagramı belirleme Veri bütünlüğü kurallarının ihlalinin belirlenmesi 2
Amaç Kavramsal veri modeli ilişkisel veritabanı tasarımına dönüşecek. Bu demektir ki, varlıklar, nitelikler, ilişkiler ve benzersiz tanımlayıcılar bir ilişkisel veritabanında nesnelere dönüştürülecektir. Kağıttaki modeli alıp kumaşa uygulayan bir giyim tasarımcısı ile bunu karşılaştırın. Tasarımcının tasarımları dikmek için anlaması gerekir. Sizin de ilişkisel veritabanı nesnelerinin yapısını anlamanız gerekir. 3
Örneklendirilmiş İlişkisel Veritabanı İlişkisel Veritabanı Kavramlarına Giriş Bir ilişkisel veritabanı, kullanıcı tarafından her biri satır ve sütun içeren iki boyutlu bir tablolar koleksiyonu olarak görülen bir veritabanıdır. Aşağıdaki tablo çalışan verilerini içermektedir. (satır) 4 (sütun)
Veriye Erişmek için Dil Yapılandırılmış sorgulama dili (SQL) ilişkisel veritabanlarında veriye verimli bir şekilde erişimi sağlar. 200 numaralı çalışan ile ilgili kaydı bulmak için tüm satırları manuel olarak aramak yerine aşağıdaki SQL deyimi kullanılır: SELECT last_name, department_id FROM employees WHERE employee_id = 200; Bu satırların çalışması sonucu elde edilen sonuçları bir sonraki sayfada görebilirsiniz. 5
Örneklendirilmiş İlişkisel Veritabanı İlişkisel Veritabanı Kavramlarına Giriş 6
Özel SQL Sorguları 90 numaralı bölümdeki tüm çalışanları bulmak için farklı SQL sorgulamaları yazabiliriz: SELECT * FROM employees WHERE department_id = 90; Tekrardan, sonuçlar bir sonraki sayfada görebilirsiniz. 7
Örneklendirilmiş İlişkisel Veritabanı İlişkisel Veritabanı Kavramlarına Giriş 8
Birincil Anahtar Birincil anahtar (PK), tablodaki her bir satırı benzersiz olarak belirleyen bir sütun ya da sütunlar kümesidir. (Çoklu sütun PK) 9 (Tek sütun PK)
Birincil Anahtar Kuralları Her bir tablo birincil anahtar sahip olmalı ve de birincil anahtar benzersiz olmalı. Birincil anahtar sütunu boş olamaz. (Çoklu sütun PK) 10 (Tek sütun PK)
Birincil Anahtar Adayları Bir tabloda birden fazla sütundan ya da sütunların birleşiminden oluşan tablo birincil anahtarı olabilir. Her sütun ya da sütunların birleşimi aday anahtardır çünkü birincil anahtar olarak kullanılmak için seçilebilir. 11 (Aday Anahtar) (Aday Anahtar)
Aday Anahtarı Seçme Tabloda bir aday anahtarı birincil anahtar olarak seçin. Diğer aday anahtarlar alternatif anahtarlar olacaktır (ya da benzersiz anahtarlar). 12 (Birincil Anahtar) (Alternatif ya da Benzersiz Anahtar)
İkincil Anahtar İkincil anahtar (FK), bir sütun ya da sütunların birleşimidir. Bir tablodaki bulunan bir değerin başka bir tabloda bulunan birincil anahtarla eşleşmesi durumudur. (İkincil Anahtar) 13 (Birincil Anahtar)
İkincil Anahtar Kuralları Şayet birincil anahtar bir ya da birden çok ikincil anahtardan oluşuyorsa ikincil anahtar değeri boş olmamalıdır. 14
Sütun Bütünlüğü Bir sütun yalnızca sütunun tanımlı veri formatı ile tutarlı olan değerleri içermelidir 15
Veri Bütünlüğü Kuralları Özeti İlişkisel Veritabanı Kavramlarına Giriş Veri bütünlüğü kuralları (ayrıca kısıtlamalar olarak da bilinir) bir veritabanı için ilişkisel doğru durumu tanımlar. Veri bütünlüğü kuralları kullanıcıların veritabanını tutarlı vedoğru bir şekilde bırakılması için sadece bu işlemleri gerçekleştirebilmesini sağlar. 16
Veri Bütünlüğü Kuralları Özeti İlişkisel Veritabanı Kavramlarına Giriş Kısıtlama Tipi Açıklama Örnek Varlık Bütünlüğü Birincil anahtar benzersiz olmalıdırve birincil anahtarın hiçbir kısmı boş olmamalıdır Veri Bütünlüğü İkincil anahtar varolan birincil anahtar değeri ile eşleşmeli SütunBütünlüğü Bir sütun, sadece sütun için tanımlanan veri formatında değerler içermeli Kullanıcı Tanımlı Bütünlülük Bir veritabanındasaklanan veriler iş kurallarına uymak zorundadır EMPLOYEEStablosundaki emp_nosütunu boş olmamalı EMPLOYEEStablosundaki dept_nosütunundaki değer DEPARTMENTS tablosundaki dept_no sütunundaki değer ile eşleşmeli ACCOUNTS tablosundaki balance sütunundaki değer nümerik olmalı ACCOUNTS tablosundaki balance sütunundaki değer 1.00 ın altında ise hesap sahibine bir bilgi göndermeliyiz 17