İlişkisel Veri Modeli Gösterimi

advertisement
İlişkisel Veri Modeli
Veri Tabanı Modeli
İlişkisel Şema
Varlık-İlişki Çizelgesi
Tablolar, Sütun Adları
(Özellikler)
(E-R Diagram)
BİL 106 Veritabanı Yönetimi
Fiziki Bellek
Dosya Yapıları ve
İndisler
TOBB ETÜ
İlişkisel Veri Modeli
Kavramlar
• İlişki (Relation) : Satır ve sütunlardan oluşan iki boyutlu tablo.
• Özellik (Attribute) : İlişkinin adlandırılmış sütunu.
• Alan (Domain) : Bir veya birkaç özelliğin alabileceği değerler kümesi.
• Özellikler Kümesi (Tuple) : İlişkideki bir satır.
• Derece (Degree) : İlişkinin özellikleri sayısı.
• Satırların sayısı (Cardinality)
• İlişkisel Veritabanı (Relational Database) : Normalleştirilmiş ilişkiler kümesi.
Formal Olmayan Kavramlar
• Tablo (Table)
• Sütun (Column)
• Satır (Row)
• Sütundaki değerler
• Tablo tanımı
BİL 106 Veritabanı Yönetimi
Formal Kavramlar
• İlişki (Relation)
• Özellik (Attribute)
• Özellikler Kümesi (Tuple)
• Alan (Domain)
• İlişki Şeması
TOBB ETÜ
İlişkisel Veri Modeli
Kavramlar (Örnek)
Özellikler (Attributes)
Sicil No
Adı
Soyadı
Giriş Tarihi
Doğum Tarihi
1
Mehmet
Taner
06/03/2004
15/10/1970
2
Aysu
Şahin
15/10/2003
01/08/1966
3
Kemal
Atlı
29/05/2002
10/02/1971
4
Ali
Demirci
12/05/2005
18/07/1974
5
Gülin
Merter
07/08/2007
23/02/1972
Birincil Anahtar
Satır Sayısı
İlişki (Relation)
PERSONEL
Sütun Sayısı - Derece (Degree)
ÜNVANLAR
Sıra No
Unvan_Kodu
Açıklama
Terfi Tarihi
Sicil No
1
SM
Satış Müdürü
06/03/2004
1
2
PM
Proje Müdürü
15/10/2003
1
3
MUH
Mühendis
29/05/2002
2
4
UZMUH
Uzman Mühendis
12/05/2005
2
BİL 106 Veritabanı Yönetimi
Satırlar (Tuples)
Yabancı Anahtar
TOBB ETÜ
İlişkisel Veri Modeli
Matematiksel İlişkiler
• D1 = {2, 4} ve D2 = {1, 3, 5} kümeleri için
• R ilişkisi R ⊆ D1xD2, kartezyen çarpımı sonucu
R= {(2,1),(2,3),(2,5),(4,1),(4,3),(4,5)}
• Kartezyen çarpımın her bir altkümesi bir ilişkidir
• Örnek R={(x,y) | x  D1, y  D2, ve y=1} ilişkisi için aşağıdaki altküme söz
konusudur
• R = {(2,1), (4,1)} ilişkisinde 2 satır (tuple) vardır.
BİL 106 Veritabanı Yönetimi
TOBB ETÜ
İlişkisel Veri Modeli
İlişkilerin Özellikleri
• İlişkilerin diğer ilişkilerden farklı bir adı vardır.
• İlişkinin her özelliği tek atomik (bölünemez) değer içermelidir.
• Her özelliğin farklı bir adı vardır.
• Özellikler belli bir veri kümesinden değerler alabilir.
• Özelliklerin sırasının önemi yoktur.
• Her satır birbirinden farklıdır.
• Satırların sırasının önemi yoktur.
BİL 106 Veritabanı Yönetimi
TOBB ETÜ
İlişkisel Veri Modeli
Şemalar
• İlişki Şeması : R(A1, …, Ak) şeklinde uygun alanlardan değerler alan k adet
özellikli ilişkidir.
• İlişki Adı (Özellik1, Özellik2, Özellik3, …)
• Örnek: PROJE (Proje No, Proje Adı, Bütçe, Süre, Bölüm No)
• Veritabanı Şeması
• R1(…), R2(…), …, Rn(…) şeklinde n adet ilişki şemaları kümesi
• Örnek: ŞİRKET veritabanı şeması
•ÇALIŞAN (Sicil No, Adı, Göbek Adı, Soyadı, Tam Adı, Doğum Tarihi, Maaşı,
Cinsiyeti, Bölüm No, Yönetici)
•BÖLÜM (Bölüm No, Bölüm Adı, Çalışan Sayısı)
•BÖLÜM_YÖNETİCİ (Bölüm No, Sicil No, Başlama Tarihi)
•PROJE (Proje No, Proje Adı, Bütçe, Süre, Bölüm No)
•PROJE_ÇALIŞAN (Proje No, Sicil No, Haftalık Saati)
•SİGORTALI (Sicil No, Sıra, Adı, Doğum Tarihi, Cinsiyeti, Yakınlık)
BİL 106 Veritabanı Yönetimi
TOBB ETÜ
İlişkisel Veri Modeli
Anahtarlar
• Genel Anahtar (Superkey) : İlişkideki satırları eşsiz biçimde tanımlayan
özellik veya özellikler kümesi
• Basit Anahtar : Yalnız bir özellikten oluşan anahtar.
• Karmaşık Anahtar : Birkaç özellikten oluşan anahtar.
• Aday Anahtar (Candidate Key) : Herhangi biçimde parçalandığı takdirde
genel anahtarlık özelliğini kaybeden karmaşık anahtar veya basit genel
anahtar.
• Birinci Anahtar (Primary key) : Aday anahtarlar arasından seçilmiş aday
anahtar.
• Yabancı anahtar : Bir ilişkinin, başka bir ilişkinin aday anahtarı ile eşleşen
özellik veya özellikler kümesi.
BİL 106 Veritabanı Yönetimi
TOBB ETÜ
İlişkisel Veri Modeli
Anahtarlar
• Aday Anahtarın Özellikleri
• Eşsizlik : Her bir satır için eşsiz değer alması.
• Bölünmezlik : Karmaşık aday anahtarın herhangi bir alt kümesinin
anahtar özelliği yoktur.
•Birincil Anahtar için beklenen ( zorunlu olmayan) özellikler
• Özellikler kümesi en küçük olmalı
• Değerlerinin değişme olasılığı düşük olmalı
• Kullanıcı ve programcılar için kolay kullanılabilir ve anlaşılabilir ismi
olmalı (SQL sorgularında ve programlarda sıkça kullanılacağı için)
BİL 106 Veritabanı Yönetimi
TOBB ETÜ
İlişkisel Veri Modeli
İlişkisel Bütünlük
• NULL değerler : İlişkideki bir özelliğin, bir satır için uygulanabilmeyen veya
halihazırda belli olmayan değerini ifade eder.
• Varlık Bütünlüğü (Entity Integrity) : İlişkide birincil anahtar özelliği null değer
alamaz. Çünkü, birincil anahtar satırları eşsiz biçimde tanımlamak için
kullanılır.
• Erişimsel Bütünlük (Referential Integrity): İlişkideki yabancı anahtarın değeri
için 2 durum söz konusudur.
• ana ilişkinin birincil anahtarının herhangi satırındaki bir değerine eşit
olmalıdır
veya
• birincil anahtarın bir parçası değilse null değeri alabilir.
• İş Kuralları (Business Rules) : Kullanıcılar veya veritabanı yöneticisi
tarafından belirlenmiş kurallar. (Örnek; Bir personelin yıllık mazeret izni 40
saati geçemez)
BİL 106 Veritabanı Yönetimi
TOBB ETÜ
İlişkisel Veri Modeli
İlişkiler Üzerinde GÜNCELLEME İşlemleri
• Satır EKLEME
• Satır SİLME
• Satırdaki bir veya daha fazla özelliği DEĞİŞTİRME
• Güncelleme işlemleri bütünlük kısıtlamalarını ihlal etmemelidir.
• Bir güncelleme, başka güncellemelerin otomatik olarak yapılmasını
gerektirebilir. (Tanımlanmış olan bütünlük kısıtlamaları nedeniyle)
• Birden fazla güncelleme işleminin ard arda sırayla çalıştırılması gerekebilir.
(Örnek; PERSONEL ilişkisine bir satır eklenmesi durumunda, BÖLÜM
ilişkisindeki Çalışan_Sayısı özelliğinin değeri 1 artırılır. PROJE
ilişkisindeki Bütçe özelliğinin değeri personel maliyeti kadar artırılır.)
BİL 106 Veritabanı Yönetimi
TOBB ETÜ
İlişkisel Veri Modeli
İlişkiler Üzerinde GÜNCELLEME İşlemleri
• Bütünlük kısıtlamalarının ihlal edilmesi durumunda aşağıdaki işlemlerden
birisi yapılabilir
• İhlale neden olan işlem iptal edilir (REJECT)
• İşlem yerine getirilir fakat kullanıcı uyarılır (WARNING)
• İhlalin neden olacağı veri tutarsızlığını önlemek üzere bir dizi
güncelleme işlemi tetiklenir (CASCADE veya SET NULL seçenekleri)
(Örnek; BÖLÜM ilişkisinden bir satırın silinmesi durumunda PERSONEL
tablosunda bu bölümde çalışanların bilgilerini içeren satırların silinmesi
veya satırların Bölüm_No özelliklerine NULL değeri verilmesi)
• Kullanıcının belirlediği bir hata-düzeltme programının çalıştırılması
BİL 106 Veritabanı Yönetimi
TOBB ETÜ
İlişkisel Veri Modeli
Örnek Veritabanı (Sanal Alışveriş Sitesi)
• Veritabanı Gereksinimleri
• Sanal alışveriş sitesinde değişik KATEGORİLER altında ÜRÜNLER
bulunmalıdır.
• Her ÜRÜN farklı bir FİRMA tarafından tedarik edilmektedir.
• MÜŞTERİ’lerin hangi tarihte hangi ÜRÜN’den kaç adet SİPARİŞ
verdiği saklanmalıdır.
BİL 106 Veritabanı Yönetimi
TOBB ETÜ
İlişkisel Veri Modeli
Satış
Fiyat
Ürün ID
Örnek Veritabanı (SANAL ALIŞVERİŞ SİTESİ)
Varlık-İlişki Çizeneği
KDV Oranı
ÜRÜN
N
N
1
AİT OLDUĞU
KATEGORİ
N
Kategori ID
Ürün Adı
TEDARİK
EDEN
1
Firma Adı
ÜRÜN_SİPARİŞ
Adet
N
Adres
Firma ID
Kategori Adı
FİRMA
Telefon
Tarih
SİPARİŞ
Adres
N
MÜŞTERİ_SİPARİŞ
1
MÜŞTERİ
Telefon
BİL 106 Veritabanı Yönetimi
Ad
Soyad
Müşteri ID
TOBB ETÜ
İlişkisel Veri Modeli
Örnek Veritabanı (Sanal Alışverişi Sitesi)
İlişkisel Veri Modeli Gösterimi
İlişki Şemaları
• ÜRÜN (Ürün No, Ürün Adı, Satış Fiyatı, Kategori No, Firma No)
• KATEGORİ (Kategori No, Kategori Adı, KDV Oranı)
• FİRMA (Firma No, Firma Adı, Adresi, Telefon)
• MÜŞTERİ (Müşteri No, Adı, Soyadı, Adresi, Telefonu)
• SİPARİŞ (Sipariş No, Tarih, Müşteri No)
• ÜRÜN_SİPARİŞ (Sipariş No, Ürün No, Adet)
BİL 106 Veritabanı Yönetimi
TOBB ETÜ
İlişkisel Veri Modeli
Örnek Veritabanı (ŞİRKET) – İlişkisel Veri Modeli Gösterimi
İlişki Şema Çizeneği
URUN
URUNNO
URUNADI
KDVORANI
KATEGORIADI
FIRMA
FIRMAADI
ADI
SIPARIS
SOYADI
SIPARISNO
URUNNO
BİL 106 Veritabanı Yönetimi
ADRESI
ADRESI
TARIH
SATISFIYATI
KATEGORINO
TELEFON
TELEFONU
KATEGORINO
FIRMANO
KATEGORI
FIRMANO
MUSTERINO
MUSTERI
MUSTERINO
SIPARISNO
ADET
URUN_SIPARIS
TOBB ETÜ
Download