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