ER diagrami

advertisement
VT TASARIMI ve MODELLEME
Yard.Doç.Dr. Cihad DEMİRLİ
Sunu içeriği kaynağı: Gözüdeli, Y.(2010) Yazılımcılar için SQL Server 2008 R2 & Veri Tabanı Programlama, SeçkinYay. , Ankara.
ERM (Entity Relationship Modelling)
Varlık - Bağıntı modelleme ilişkisel veritabanı
teoreminin ilk zamanlarından bu yana
kullanılmaktadır.
Diğer tüm modellere temel teşkil etmiştir.
ERM - Öğeleri
Üç farklı öğesi mevcuttur;
Varlık (entity)
Nitelik (attribute)
İlişki/bağıntı
ERM - Aşamaları
1. Gereksinimler göz önüne alınarak varlık, nitelik ve ilişkiler
tayin edilir.
Ana varlık: Bir veri tabanında veri tabanının etrafında inşa edildiği temel veri topluluğudur. Her veri tabanında ana varlık
olmayabilir. Birden fazla ana varlık olabilir.
Örn.: Mağaza VT
•
•
Bir ürünün bir satırında yer alacak yapıya ürün varlığı denir.
Ürün varlığının nitelikleri olacaktır (fiyatı,adı,markası, satış kuru vs)
Bir sonraki aşamada (mantıksal) her bir varlık tablo, nitelik de
sütun olarak ele alınacak.
ERM - Aşamaları
2. Bağılılıklar ve kısıtlayıcılar tayin edilir
Örn.: Mağaza VT
• Ürün ve reyon varlıkları arasında bir bağlantı söz konusudur
(cardinality).
• Bağlılık bir ER diyagramındaki varlıkların birbiri ile ilişkilerinin
tayininde önemlidir.
Her bir ürün birden fazla reyonda olabilir.
(ürün tarafından da reyon tarafından da birden fazla bağlılık olacaktır)
Her bir ürün sadece bir reyona dahil olabilir.
(her reyonda birden fazla ürün yer alırken, bir ürün sadece bir reyonda yer alıyorsa, bağıntıdan söz edilmez.
bunun yerine reyon, ürünün bir niteliğidir denir.)
ERM - Aşamaları
Bağıntı türleri:
(1:1)
kadin
(1,1)
evlilik
(1,1)
erkek
(1:1)
(1:n)
kadin
(1,n)
annelik
(1,1)
cocuk
(1:n)
(n:m)
ogrenci
(n,m)
alır
(n:m)
(n,m)
ders
ERM - Aşamaları
3. Genel tipler ve özel tipler tayin edilir
Örn.: Mağaza VT
• Bazen ela alınan veritabanı sistemi genel ve özel varlıklar barındırıyor
olabilir. Mağaza çalışanları, müşteriler ve tedarikçiler için bir bağıntı
defteri oluşturulabilir.
Çalışanlar (ad, soyad, maaş bilgisi ….)
Müşteriler (ad,soyad, toplam puan ….)
Tedarikçiler (ad, soyad, vade …)
ad, soyad … genel bilgi / diğerleri özel bilgi
ad, soyad … bilgileri kisi varlığı içerisinde tutulur (genel tip)
özelleşmiş bilgiler calisan, musteri, tedarikci varlık içerisinde tutulur (özel tip)
ERM - Aşamaları
4. Kavramsal bir ER diyagramı oluşturulur
Örnek 1:
ReyonKod
UrunKod
UrunReyon
Urun
SatisKuru
ListeFiyat
UrunAd
Reyon
ReyonAd
ERM - Aşamaları
maas
basTarih
Örnek 2:
basTarih
bitTarih
alır
bitTarih
basTarih
SicilNo
calisir
bitTarih
peronsel
(n,m)
(n,m)
EgitDuzey
magaza
satilir
(n,m)
AdSoyad
yapar
UrunKod
urun
MagNo
Ad
Adres
basTarih
gorev
Ad
Birim
bitTarih
Mantıksal Model
• Başlangıç olarak ER diyagramı oluşturulur.
– Bir önceki slaytta gösterilmiştir
• Platform ve fiziksel plan bağımsız veritipleri
kullanılır.
– Bir VTYS özgü tiplerden kaçınılır
• Doğruluk açısından plan gözden geçirilir.
– Tasarımın tüm aşamaları gözden geçirilmelidir
ER Diyagramı ile Mantıksal Model
Oluşturmak
1. Projede yer alacak varlıklar belirlenir
(e-ticaret web uygulaması)
–
–
–
–
–
–
–
–
–
Ürünler
Müşteriler
Faturalar-Siparişler
Markalar
Kategoriler
Ürünler hakkında müşteri fikirleri
Alışveriş sepeti
…
…
ER Diyagramı ile Mantıksal Model
Oluşturmak
2. Her varlık için bir tablo tanımlanır
– Bir nesneye ait veriler satır olarak tutulur
– Birincil anahtar içermelidir
• Kendine ait bir anahtar varsa eklenir
• Kendine ait bir anahtar yoksa ardışık ve tekrarlanmayan
bir numara eklenir
ER Diyagramı ile Mantıksal Model
Oluşturmak
3. Her bir nesnenin uygulamada gerekli olacak varlığı bir
sütun olarak tabloya eklenir
(e-ticaret web uygulaması)
– Ürün tablosunda; UrunKodu,UrunAdı, Marka, Fiyat ..
bilgileri tutulur
– Müşteri tablosunda; Ad, SoyAd, Tel, Eposta, Sifre, Adres, ..
bilgileri tutulur. (eposta bilgisi tekil)
– Sipariş tablosunda; (siparisverenin) Eposta, UrunKod
(siparisedilen) .. bilgileri tutulur.
–…
–…
ER Diyagramı ile Mantıksal Model
Oluşturmak
4. Bir kısım nitelikleri aynı olan varlıklar belirlenir
(e-ticaret web uygulaması)
– Genel ve özel ilişkisi ile varlıklar birleştirilir
(mümkünse)
• Çalışanlar ile müşterilerin; ad, soyad, telefon gibi
bilgileri kisi tablosunda tutulabilir.
ER Diyagramı ile Mantıksal Model
Oluşturmak
6. Nesnelerin nitelikleri göz önüne alınarak
arasındaki ilişkiler tanımlanır
(e-ticaret web uygulaması)
– Nesne listesi tablo listesi gibidir
– İlişkiler belirlenir (ilişkideki türleri belirleyin; bir, çok…)
• Sepete müşteriler ürün atar. Bir sepet bir müşteriye aittir.
Her müşterinin sepeti olabilir. Bir müşteri sepetinden birden
fazla ürün olabilir.
• Siparişi müşteriler verir. Bir sipariş bir müşteriye aittir. Bir
siparişte birden fazla ürün yer alabilir.siparişte yer alan her
bir ürünün kaç adet olduğu, satış anında fiyatının ne olduğu,
üstünde tanımlı bir indirim varsa ne kadar olduğu
tutulmalıdır.
ER Diyagramı ile Mantıksal Model
Oluşturmak
7. Aday anahtarı belirleyin
(e-ticaret web uygulaması)
– Bir varlığa ait aynı biçimdeki ayırt edici bir
tekilleştiricidir
– Bir varlık için birden fazla aday anahtar olabilir
• Müşteri varlığı
– TC Kimlik No
– Eposta
– Cep Telefonu
– Aday anahtarlardan biri birincil anahtar diğerleri
alternatif anahtar olarak tayin edilir
ER Diyagramı ile Mantıksal Model
Oluşturmak
8. Nitelik kısıtlamaları tayin edilir
(e-ticaret web uygulaması)
– RDMS aracılığıyla veri girişleri ile ilgili birçok durum denetlenebilir.
– Denetlemelerde kısıtlayıcılar kullanmak işi kolaylaştırır.
• Bütünlük kısıtlamaları: VT’nin tutarlı bir bütün olması için; eksik, yanlış ya da çelişen
verinin VT’de tanımlanmaması adına ortaya konulan her türlü kısıtlamalardır.
• Anlamsal bütünlük kısıtlamaları: Sistem analizinde veritabanında uyulması gereken
kuralların ifadesidir. ABK genellikle veritabanı programcıları tarafından ya da uygulama
programı programcıları tarafından yazılan arayüzlerle kontrol edilirler.
– Örn. Bir sipariş geldiğinde, sipariş tarihi olarak bir değer verilmediyse VTYS o günün tarihi versin
denilebilir. Fatura adresi boş olamaz denerek bu alanın boş olmaması gerektiği VT seviyesinde
garantilenebilir.
• Referans bütünlük kısıtlamaları: Bir ilişkideki bazı niteliklerin alabileceği değerlerin bir
başka ilişkideki var olan bazı niteliklerin sahip oldukları değerlerle sınırlandırılmasıdır.
• Alan kısıtlamaları: 1. derece – alan tipleri, 2. derece – değer alanları, 3. derece – NULL
değeri kısıtlamaları (ARAŞTIRMA ÖDEVİ)
GÖREV
Kendi Sisteminiz için ER Diagramı çiziniz
Download