Veritabanı Tasarımı

advertisement
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
Download