Veritabanı Tasarımı İlişkisel Veritabanı Kavramlarına Giriş İ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 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur. İlişkisel Veritabanı Kavramlarına Giriş 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 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur. İlişkisel Veritabanı Kavramlarına Giriş Örneklendirilmiş İlişkisel Veritabanı 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) (sütun) 4 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur. İlişkisel Veritabanı Kavramlarına Giriş 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 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur. İlişkisel Veritabanı Kavramlarına Giriş Örneklendirilmiş İlişkisel Veritabanı 6 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur. İlişkisel Veritabanı Kavramlarına Giriş Ö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 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur. İlişkisel Veritabanı Kavramlarına Giriş Örneklendirilmiş İlişkisel Veritabanı 8 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur. İlişkisel Veritabanı Kavramlarına Giriş 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) (Tek sütun PK) 9 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur. İlişkisel Veritabanı Kavramlarına Giriş 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) (Tek sütun PK) 10 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur. İlişkisel Veritabanı Kavramlarına Giriş 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. (Aday Anahtar) 11 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur. (Aday Anahtar) İlişkisel Veritabanı Kavramlarına Giriş 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). (Birincil Anahtar) 12 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur. (Alternatif ya da Benzersiz Anahtar) İlişkisel Veritabanı Kavramlarına Giriş İkincil 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. 13 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur. (Birincil Anahtar) İlişkisel Veritabanı Kavramlarına Giriş İkincil Anahtar Kuralları Şayet birincil anahtar bir ya da birden çok ikincil anahtardan oluşuyorsa ikincil anahtar değeri boş olmamalıdır. 14 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur. İlişkisel Veritabanı Kavramlarına Giriş Sütun Bütünlüğü Bir sütun yalnızca sütunun tanımlı veri formatı ile tutarlı olan değerleri içermelidir 15 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur. İlişkisel Veritabanı Kavramlarına Giriş Veri Bütünlüğü Kuralları Özeti 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 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur. İlişkisel Veritabanı Kavramlarına Giriş Veri Bütünlüğü Kuralları Özeti Kısıtlama Tipi Açıklama Örnek Varlık Bütünlüğü Birincil anahtar benzersiz olmalıdır ve birincil anahtarın hiçbir kısmı boş olmamalıdır EMPLOYEES tablosundaki emp_no sütunu boş olmamalı Veri Bütünlüğü İkincil anahtar var olan birincil anahtar değeri ile eşleşmeli Sütun Bütünlüğü Bir sütun, sadece sütun için tanımlanan veri formatında değerler içermeli EMPLOYEES tablosundaki dept_no sü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ı Kullanıcı Tanımlı Bütünlülük Bir veritabanında saklanan veriler iş kurallarına uymak zorundadır 17 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur. ACCOUNTS tablosundaki balance sütunundaki değer 1.00’ın altında ise hesap sahibine bir bilgi göndermeliyiz