SAKARYA ÜNIVERSITESI Veritabanı Tasarımı Ve Yönetimi Hafta 2 Prof. Dr. Ümit KOCABIÇAK Bu ders içeriğinin basım, yayım vesatış hakları Sakarya Üniversitesi ne aittir. "Uzaktan Öğretim" tekniğine uygun olarak hazırlanan bu ders içeriğinin bütün hakları saklıdır. İlgili kuruluştan izinalmadandersiçeriğinin tümü ya da bölümleri mekanik, elektronik, fotokopi, manyetik kayıtveyabaşka şekillerde çoğaltılamaz, basılamaz ve dağıtılamaz. Her hakkı saklıdır 2008 Sakarya Üniversitesi
Veritabanı Tasarım Aşamaları Seçilen mini dünya Mevcut sistemin özellikleri İhtiyacın belirlenmesi Yazılım ve donanım maliyet analizi Varlıklar ve özniteliklerin belirlenmesi İlişkilerin belirlenmesi Varlık ilişki veri modelinin çıkarılması Varlık ilişki modelinden mantıksal modele geçiş İlişkilerin normalizasyonu (1NF, 2NF, 3NF ve BCNF) Tabloların yaratılması Kısıtların yaratılması Güvenlik ile hakların tanımlanması İlk verilerin yüklenmesi Kullanım durumlarının belirlenmesi Programlama
Varlık İlişki Modeli Varlik ilişki model ya da E R modeli (Entity Relationship model) 1976 yılında Chen tarafından geliştirilen bir modeldir. Kavramsal tasarım veritabanı tasarım safhalarında gösterildiği gibi ihtiyaçlar analizini takip eder ve veritabanında tutulacak olan verilerin yüksek seviyedee bir gösterimini verir. Bugüne kadar varlık ilişki modeli hiçbir VTYS de kullanılmamış, buna dayalı hiçbir VTYS geliştirilmemiştir. Buna karşılık Varlık İlişki Modeli, kavramsal tasarım için en popüler ve en çok kullanılan modeldir. Varlık İlişki Modeli ndeki notasyonlar oldukça bilgi verici ve insan bakışına yakın özelliklere sahiptir. E R modeli veri çözümlemede, veri modellemede çok kullanılan bir model, bir araçtır.
Varlık ilişki sembolleri
ER Model Temelleri sno ad kazanc Çalışan Varlık (Entity): Varolan ve benzerlerinden ayırtedilebilen herşeye varlık (entity) denir. Varlık kümesi (Entity Set): Aynı türden benzer varlıkların oluşturduğu kümeye denir. Günler, erkek öğrenciler, bilgisayar mühendisliği öğrencileri varlık kümesi örnekleri olarak sayılabilir. Bir varlık kümesindeki varlıkların özelliklerini göstermek ve varlıkları birbirinden ayırtetmek için nitelikler (attributes) kullanılır. Her varlık bir key e sahiptir. Her niteliğin bir değer alanı (domain) vardır.
ER Model Temelleri sno isim den beri kazanç dno dep_ad bütce personel çalışan Departman İlişki(Relationship): İki ya da daha çok sayıda varlığın bir araya gelmesi, aralarında ilişkii kurmasıdır. Örneğin bir öğrenci ile bir ders (öğrenci bu dersi aldığı için), bir firma ile bir malzeme (firma bu malzemeyi aldığı için),. Bu bağıntılar ikili bağıntılardır. Bir işçi, bir ürün ve bir makine (işçi bu ürünü üretirken bu makineyi kullandığı için) bir araya getirilirse, oluşturulan bağıntı üçlü bağıntı olur. İlişki kümesi(relationship Set): Benzer bağıntıların kümesine denir.
İlişki Tipleri Bire bir İlişki : Herhangi bir varlık varlık kümesinin en çok bir varlığı kümesindeki her varlık diğer ile ilintilidir. Erkek Evlilik Kadın 1 1
İlişki Tipleri Bire çok ilişki : İlk kümedeki her varlık diğer kümenin en çok bir varlığına ilintidir. Öğrenci Bölüm Okuyan Öğrenci Öğrenci 1 m m 1
İlişki Tipleri Çoka çok ilişki : Bir ilişkide herhangi bir kümede bulunan varlıklardan herbiri diğer kümede bulunan birçok varlıkla ilintilidir. Ders Öğrenci Ders Aldığı Öğrenci Ders Öğrenci n m
İlişki Anahtarları Süper Anahtar: Bir varlığın, varlık sınıfında tek türlü tanınmasını sağlayan bir yada birden çok öznitelik kümesi Aday Anahtar: Bağıntı için süper anahtar olacak bir özalt nitelik kümesine sahip olmayan süper anahtar Birincil Anahtar(Primary Key): Tablodaki varlıkların tek türlü tanınması için seçilen aday anahtar Yabancı Anahtar(Foreign Key): Bir baska tablonun aday anahtarı olan bir yada birden çok öznitelik kümesi
Zayıf Varlıklar Zayıf (weak)varlık türü mevcutluğu diğer varlık türüne bağlı olan varlık türü. Eğer bir varlık kümesinin niteliklerinin tümü alınsa bile bir anahtar oluşturmuyorsa buna zayıf varlık kümesi denir. Zayıf bir varlık kümesinin anlamlı olabilmesi için, bu varlık kümesi ile güçlü bir varlık kümesi arasındaki bağıntının varolma bağımlılığı oluşturması zorunludur. İlk_no adı sehir Ogrenci_no adi İlköğretim okuyan ogrenci
Genelleme (Generalization) Alt düzey varlık kümeleri genellenerek bir üst düzey oluşturulabilir. Bir firmada saat ücreti ile çalışanlar ile sözleşmeli çalışanlar genellenerek çalışanlar varlık kümesi oluşturulabilir. Saat_ucreti Sözleş. çalışan Her saat ücretli veya sözleşmeli çalışan aynı zamanda bir çalışandır şeklinde ifade edilebilecek bağıntıya ISA (is a) bağıntısı adı verilir. ISA bağıntısında üst düzey varlığın nitelikleri alt düzey varlık türlerine geçer. Çalışan nesnesine ait tüm özellikler, saatli çalışan ve sözleşmeli çalışan nesnelerinin de özellikleridir. sno Calisilan_saat Saatli çalışan ad calisan ISA yas sözleşmeno
Kümeleme(Aggregation) Veri modellemeyi kolaylaştıran kavramlardan birisidir. İkiden çok sayıda varlık kümesi arasında kurulan bağıntılar, uygun çözümler oluşturmazlar. Kümeleme kavramı varlık kümeleri ile aralarındaki bağıntının kümelenmesini ve bu kümenin bir varlık kümesi gibi düşünülmesini sağlar. pno ad sno yaş Çalışan gözleme e kadar Baş_tarihi den beri d_adi pbütçe dno Projeler Sponsor Bölümler bütçe
Örnek (Kitapçı Veritabanı) Kitapçı Veritabanı: Bir kitapçı dükkanındaki kitaplar için bir veritabanı hazırlamanızı istemektedir. Konu hakkında bilgiler aşağıda verilmiştir. Kitaplar ISBN numarası, başlık, yayınevi ID ve fiyat bilgilerine sahiptir. Bir kitap bir basımevi tarafından basılır ve en az bir yazarı vardır. Yazarlar yazar ID, ad, soyad, telefon yazan kişidir. no bilgilerine sahiptir. Yazar kitap Yayınevi kitap yayın şirketleridir. Yayınevleri bir ID, ad ve telefon no bilgilerine sahiptir.
Kitapçı Veritabanı (Varlık İlişki Diyagramı)
Örnek (Üniversite Kütüphanesi) Bir üniversite kütüphanesi sizin kendilerii için veritabanı tasarlamanızı istiyor. Bu kütüphanedeki bütün yayın türleri (Kitap, Süreli Yayın, Mültimedya), kullanıcılar (Akademisyen, Öğrenci, Personel) bir veritabanında saklanmaktadır. Her bir kullanıcının bir Sicili, Adı, Soyadı, türü vardır ( Akademisyen, Öğrenci, Personel) Her bir yayının türü vardır (Kitap, Süreli Yayın Mültimedya) Her bir Basılı kaynağın (Kitap, Süreli Yayın) bir ISBN, Adı, Yazarı, Basım Yılı, Basım yeri, Sayfa Adeti, Eki (Mültimedya var yok), Raf Numarası ve türü (kitap, Süreli Yayın) bulunmaktadır. Her bir Mültimedya ürünün numarası, raf numarası bulunmaktadır ve basılı bir kaynak ile ilişkilendirilmiştir.
Üniversite Kütüphanesi (Varlık İlişki Diyagramı)
Örnek (İmalat Firması) Bir ayakkabı imalat firması, ürettiği ayakkabılar için kullandığı bileşenler ve her ayakkabı çeşidi için kullandığı bileşenlerin hangi miktarlarda kullanıldığını gösteren bir Ayakkabı İmalat veritabanı oluşturacaktır. Veritabanında her ayakkabı ürününün kodu, adı, fiyatı, stok miktarı ve bu ayakkabının imal edilebilmesi için hangi bileşenlerden kaçar adet kullanılacağı belirtilmelidir. Her bileşenin kodu, adı, stok miktarı, satıcısı veritabanında olacaktır. Her satıcının kodu, adı, adresi ve telefon alacaktır. numarası veritabanında yer
İmalat Firması (Varlık İlişki Diyagramı)