Özellik

advertisement
VERİTABANI YÖNETİMİ
VERİ MODELİ
3.HAFTA
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Veri Modelleri
 Veri
tabanının oluşturulması amacıyla geçmişten günümüze kadar bir takım
farklılıklarla çeşitli veri modelleri geliştirilmiştir. Her biri, bir öncekinin eksiğini
tamamlamak amacına yöneliktir.
Basit Veri Modelleri
 Geliştirilen
ilk iki model (Hiyerarşik veri modeli ve Ağ veri modeli), diğerlerine
göre basit bir yapı oluşturduğu için bu modelleri basit veri modelleri olarak
adlandırmamız yerinde olacaktır.
Modern Veri Modelleri
 Zamanla
bilgisayarda bir işlem yapabilmek için sadece verinin islenmesi yeterli
olmamaya başladı. Bu nedenle veri ilişkilerinin daha kolay, anlaşılır ve esnek
olabilmesi amacıyla yapılan çalışmalar modern veri modellerinin ortaya çıkmasını
sağladı.
 Modern




veri modelleri aşağıdaki gibi sıralanır:
Varlık-ilişki Veri Modeli
İlişkisel Veri Modeli
Nesne İlişkisel Veri Modeli
Nesne Yönelimli Veri Modeli
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Modelleme
 Model:
Bir nesnenin, bir sistemin veya bir fikrin temsilidir.
 İnsana ait düşünceleri, açık ve analiz edilebilir sunumlara dönüştürme
sürecine modelleme denilir (Olson ve Courtney, 1992)
Mühendisler bir sistemi tasarlarken;
 Tasarladıkları sisteme ait bir model geliştirirler
 Model üzerinde denemeler yaparlar
 Model’in farklı durumlarda davranışlarını incelerler
 Böylece problemi kolayca çözülebileceği bir yapıya oturtmaya çalışırlar.
 Temel modelleme araçları iki gereksinimi karşılamalıdır:
 İfade edebilme gücü: Gerçek dünyadaki durumları tanımlayabilecek
şekilde genel bir yapıda olmalı.
 Kullanışlılık: Kolay kullanılabilen ve yönetilebilen bir yapıda olmalıdır.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Veri Modelleme
 Veri
tabanında asıl önemli kavram, kayıt yığını ya da bilgi parçalarının
tanımlanmasıdır. Bu tanıma şema adı verilir.
 Şema, veri tabanında kullanılacak bilgi tanımlarının nasıl modelleneceğini
gösterir. Bu modele veri modeli (data model), yapılan işleme de veri
modelleme denir. En yaygın olanı ilişkisel modeldir (relational model).
 Bu modelde veriler tablolarda saklanır.
 Tablolarda bulunan satırlar (row) kayıtların kendisini, sütunlar (column)
ise bu kayıtları oluşturan bilgi parçalarının ne türden olduklarını belirtir.
 Başka modeller (sistem modeli ya da ağ modeli gibi) daha belirgin ilişkiler
kurarlar.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Veri Modelleri : Tarihçe
 Hiyerarşik
Veri Modeli en eski model olup 60-70'li yıllarda kullanılmıştır
 1969’da ortaya çıkan Ağ Veri Modeli 1970’li yıllarda ve 1980’li yılların ilk
yarısında kullanılmıştır.
 İlişkisel veri modeli de ilk kez 1969 yılında ortaya atılmış, 1970’li yılların
sonunda kullanılmaya başlanmış ve 1985 yılından sonra yaygınlaşmış bir
yaklaşımdır.
 1990’lı yıllarda yaygın kullanılan VTYS'lerin hemen hemen tümünün
ilişkisel tabanlı olduğu söylenebilir.
 Nesneye-yönelik veri modeli yaklaşımı ise on yılı aşkın süredir gündemde
olan, günümüzde çok yaygın kullanılmasa bile, kullanımı giderek
yaygınlaşan bir yaklaşımdır.
 Geçmişe baktığımızda, ilişkisel yaklaşımın kullanılmaya başlanması ile
sıradüzensel ve ağ yaklaşımlarının terk edildiği görülmektedir.
 Buna karşılık nesneye-yönelik yaklaşımın kullanılmaya başlanması ile
ilişkisel yaklaşım terk edilmemiştir.
 Günümüzde hem ilişkisel hem de nesneye-yönelik yaklaşımı birlikte
kullanan VTYS'lerinin yaygınlaştığı görülmektedir.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Veri Modeli
 Bir
veri tabanı yapısının temelini veri modeli kavramı oluşturmaktadır.
 Veriyi mantıksal düzeyde düzenlemek için kullanılan kavramlar, yapılar ve
işlemler topluluğuna veri modeli denir.
 Veri modeli, bir veritabanının yapısını açıklayan kavramlar bütünüdür.
Veritabanı yapısı ise; veri türleri, bağıntılar ve veri kısıtlamalarından oluşur.
 Verileri mantıksal düzeyde düzenlemek için kullanılan yapılar, kavramlar ve
işlemler topluluğuna veri modeli (data model) denir.
 Veri tabanı, bir veri modeli üzerine inşa edilir. Veri modelleri, veri
tabanındaki ilişkileri soyut bir şekilde canlandırdığından kavramsal düzeyde
oluşturulur.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Veri modeli
 Bir
VTYS'yi kullanarak oluşturulacak her veri tabanında yer alacak veriler
ve veriler arası ilişkiler, mantıksal düzeyde ilgili veri modeline göre
düzenlenir; bu veri modeli kullanılarak veri tabanının kavramsal şemaları
oluşturulur.
 Varlıklar arasında oluşan karmaşık ilişkileri basite indirgemek amacıyla
geliştirilmiştir.
 En çok kullanılan veri modeli “ilişkisel veri modeli” dir. Günümüzde
kullanılan VTYS'lerin hemen hemen tümü ilişkisel veri modeline dayalıdır.
Son zamanlarda ortaya çıkan nesneye yönelik veri modeli, ilişkisel veri
modeli ile birlikte bazı VTYS'lerde kullanılmaktadır.
 İlişkisel
veri modeli türlerinden olan Varlık-İlişki (Entitiy-Relationship )
modeli günümüzde yaygın şekilde kullanılmaktadır.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Varlık – İlişki Modeli (Entitiy-Relationship E-R )
 Veritabanı
tasarlanırken, ilk olarak, veritabanı yapılacak kuruluşun veri
tabanına olan ihtiyacı belirlenir ve ihtiyaç hissedilen bilgilerin analizi
yapılır.
 Bu süreçte, veritabanı tasarımcısı, kullanıcı ihtiyaçlarını tespit eder.
Veriler toplanıp sistem analizi yapıldıktan sonra, ilişkisel veri modeline
göre bir veritabanı şeması oluşturulur.
 Bu şema, aslında veritabanı kullanıcılarının ihtiyaç duydukları verilerin
kısa açıklamasıdır. Bu şema içerisinde varlık tipleri ve ilişkilerin
açıklaması bulunur.
 Daha sonra bu şemaya göre tablolar çıkarılır.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Varlık-İlişki Modeli
 Varlık-ilişki
modeli,1976 yılında PP Chen tarafından geliştirilen bir modeldir.
 Varlık-ilişki modeli, VTYS'den bağımsız veri çözümlemede en çok kullanılan
modeldir.
 Varlık-İlişki Modeli Kavrsamsal Tasarım aşamasında kullanılır
 ER modelinde veritabanı şeması ER diyagramları şeklinde gösterilir.
 Veritabanımızdaki varlıklar ve ilişkiler nelerdir?
 Bu varlıklar ve ilişkiler arasındaki hangi bilgileri veritabanında saklayacağız?
 Bütünlük kısıtlamaları ve iş kuralları nelerdir?
 Bu model kullanılarak önce;
1. VTYS'den bağımsız olarak veriler çözümlenir,
2. Veri Modellemesi Yapılır,
3. Veriler ve veriler arası ilişkilerin anlamları ve özellikleri incelenerek varlık ilişki şemaları
oluşturulur;
4. Kullanılacak VTYS belirlenir.
sonra da varlık ilişki çizelgeleri bu sistemin veri modeline dönüştürülerek
Yönetimi
veri tabanı şemaları oluşturulur. ©Veritabanı
Prof. Dr. İbrahim Çil
Varlık-İlişki Modeli Temel Kavramları
Varlık (Entity) :
Gerçek hayatta diğerlerinden ayırt edilebilen nesnelere varlık denir. Yada
Var olan ve benzerlerinden ayırt edilebilen her nesneye varlık (entity) denir.
Diğer nesnelerden ayırt edilebilen tekil (unique) mini-dünya nesnesidir. (Somut
(ÜRÜN) veya Soyut (SİPARİŞ) olabilir)
Örnek; Kütüphanedeki QA76.2345.R4 numaralı KİTAP
İstanbul Üniversite’sindeki 98010076 numaralı ÖĞRENCİ, vb.
Bir varlık, kişi, araba, ev veya çalışan gibi fiziksel nesneler olabileceği gibi, şirket, iş
veya ders gibi fiziksel olmayan nesneler de olabilir.
Her varlık kendisini tanımlayan kendisine has özelliklere sahiptir. Örneğin, bir
çalışan varlığı, çalışan adı, yaşı, adresi, maaşı ve görevi özellikleri ile tanımlanır.
Her varlığın niteliğinin bir değeri olur.
Aynı türden benzer varlıkların oluşturduğu kümeye ise varlık kümesi
Örneğin öğrenci varlıkların tümü öğrenci varlık kümesini oluştururlar.
Öğrenciler, Endüstri Mühendisliği Bölümü öğrencileri, yurtta kalan öğrenciler,
renkler, dersler, tarihler, satış miktarları,... vb. varlık kümesi örnekleridir.
E-R Diyagramda Dikdörtgen şekli ile temsil edilir.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
ÖĞRENCİ
Varlık-İlişki Modeli Temel Kavramları
Özellik (Attribute) : Veritabanındaki varlıklar özellikler kümesiyle (attribute set)
tanımlanır. Her bir varlığın, özellikleri için aldığı bir değer vardır.
Örnek; 98010076 numaralı adı Ahmet soyadı Özer olan ÖĞRENCİ)
Öğrenci  { ÖğrenciNo, Adı, Soyadı}
Özellik: Bir varlık kümesindeki varlıkların özelliklerini göstermek ve varlıkları
birbirinden ayırt etmek için özellikler kullanılır.
Gerçek dünyada varlık kümelerinin çok sayıda özellikleri olabilir, ancak veri
modellemede, gerçek dünyanın soyut bir modeli oluşturulduğu için, bu özelliklerin
yalnız küçük bir kısmı, uygulamalar için gerekli olanları (örn. Sicil no, Ad, Soyad,
Adres, … vb) seçilerek kullanılır.
Her bir varlığın, özellikleri için aldığı bir değer vardır.
NULL – Özelliğin hiç bir değere sahip olmadığını (boş) gösterir.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Varlık-İlişki Modeli Temel Kavramları
 Gerçek
dünyada varlık kümelerinin çok sayıda nitelikleri olabilir, ancak veri
modellemede, gerçek dünyanın soyut bir modeli oluşturulduğu için, bu niteliklerin
yalnız küçük bir kısmı, uygulamalar için gerekli olanları (örn. Sicil no, Ad, Soyad,
Adres, … vb) seçilerek kullanılır.
Varlık kümesi ve özellikleri
 Varlık
ilişki şemasında varlık kümeleri dikdörtgen içinde belirtilir. özellikler ise oval bir
daire içinde belirtilerek ilgili varlık kümesine çizgi ile bağlanır.
 Varlık
kümesindeki bir veya daha fazla niteliğin değeri, herbir varlık için farklı ise bu
özellik anahtar özelliktir.
 Örneğin
öğrenci varlık kümesinde öğrencino anahtar özelliktir. Çünkü bir
üniversitede, öğrenci varlık kümesinde hiçbir varlığın öğrencino niteliği aynı olamaz.
 Anahtar
özellik, varlık ilişki şemasında niteliğin altı çizilerek gösterilir.
Öğrenci varlık kümesi ve özellikleri
ÖğrenciNo
ÖĞRENCİ
Öğrenci Soyadı
kalitesi
unosu
Öğrenci Adı
uadi
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
resmi
URUN
fiyat
starihi
Özellik (Nitelik)
Bir varlık kümesindeki varlıkların özelliklerini göstermek ve varlıkları birbirinden ayırt
etmek için nitelikler (attributes) kullanılır. Veritabanındaki varlıklar özellikler kümesiyle
(attribute set) tanımlanır.
E-R Diyagramda Oval / Elips şekli ile temsil edilir.
Tekli Nitelik (Özellik):
Bir varlığın bir niteliğinin aldığı değer tek ise bu niteliğe tek değerli nitelik denir.
Öğr_No
Ders_adı
Çok Değerli Nitelik (Özellik):
Birden fazla değer alabilen niteliklere çok-değerli nitelik denir.
Öğr_tel
Cep telefonu
Ev telefonu
…
Öğr_mail
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
[email protected]
[email protected]
[email protected]
…
Birleşik Nitelik

Birleşik Özellik (Composite Attribute) : Birden fazla özelliğin birleşmesiyle oluşan
özellik. Birden fazla nitelik birleştirilerek yeni bir nitelik oluşturulabilir. Bu tür
niteliklere birleşik nitelik adı verilir.
 Örneğin,
“mahalle”, “cadde”, “sokak”, “apartman”, “posta kodu” ve “şehir” gibi
nitelikler birleştirilerek “adres” isimli yeni bir nitelik oluşturulabilir.
Sokak
Cadde
posta kodu
Şehir
Adres
 Örneğin:
Personel numarası (1966 2007 121)
Personel işe giriş
tarihi
Kayıt numarası
Personel doğum
tarihi
Personel numarası
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Türetilen Nitelik
 Bir
varlığa ait özellikler kullanılarak yeni bir özellik türetilebilir.
 Diğer niteliklerin hesaplanması sonucunda elde edilen niteliklerdir.
 Bir nitelik kullanılarak bir başka varlık niteliği elde edilebiliyorsa, bu
yeni niteliğe türetilen nitelik adı verilir.
 Örneğin, “personel” varlığının “doğum tarihi” niteliğinden
yararlanılarak “yaş” niteliği elde edilebilir. Bu örnekte “yaş” niteliği
türetilen niteliktir, tasarımda ayrıca tanımlanmasına gerek yoktur.
Personel
•
Doğ_tar
Yaş
Örnek; Doğum Tarihi özelliğinden türetilen Yaş özelliği.
Doğum Tarihi  1.1.1982
Yaş  (Bugün - DoğumTarihi) = 32
 Örnek:
Sayaç son okuma tarihi => Suyu kullanma gün sayısı
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Varlık-İlişki Modeli Temel Kavramları
• Veri Türü (Data Type): Bir özelliğin içerebileceği verinin hangi türden olacağını
belirler.
Örnek; Tamsayı - INTEGER,
Değişken sayıda karakter - VARCHAR,
Tarih – DateTime,
Para – Money,
vs.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Değer Alanı
 Bir
özelliğin alabileceği değerler. Her niteliğin bir etki alanı (domain)
vardır. Etki alanı ilgili niteliğin olabilecek değerlerinin tümünü içeren
bir kümedir.
Cinsiyet → Erkek, Kız,
Göz Rengi → Mavi, Ela, Kara, vs.)
Vize → [0-100]
İl→Adana, Adıyaman,………Zonguldak.
Nitelik
Göz Rengi
Ela
Değer
Mavi
Yeşil
Siyah
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Anahtar Özellik
 Anahtar
Özellik (Key Attribute): Varlık kümesinde yer alan her varlığı
kesin olarak tanımlamaya yarayan özelliklere aday anahtar adı verilir.
 Çalışan varlık türünde SİCİLNO ve TC_KİMLİK_NO özellikleri aday
anahtar olabilir. Fakat Çalışan_ADI özelliği olamaz, çünkü aynı ada sahip
birden fazla Çalışan olabilir.
 Anahtar Özellik: Tablolar içindeki kayıtların diğerlerinden ayrıştırılması ve
ihtiyaç durumunda diğer tablolardaki kayıtlar ile olan bağıntılarının
kurulabilmesi için her kaydı tek (unique) olarak tanımlamaya yarayan
anahtar nitelik belirlenir.
 Bir varlık kümesi içindeki varlıkları ya da bir ilişki kümesi içindeki ilişkileri
birbirinden ayırt etmek için kullanılan özellik ya da nitelik grubuna bu
varlık ya da ilişki kümesinin anahtar alanı yada özellik denir.
 Anahtar, hem varlık kümeleri hem de ilişki kümeleri için geçerli bir kavram
olsa da, daha çok varlık kümeleri için kullanılır.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Varlık-İlişki Modelinin Elemanları
 Varlık
Varlık-İlişki Diyagramlarında Kullanılan Semboller
 Nitelik(özellik)
 İlişki
Varlık
Özellik
İlişki
Anahtar
Türetilen
Özellik
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Çok değerli
özellik
Varlık-İlişki Diyagramlarında Kullanılan Semboller
Sembol
Anlamı
Varlık Türü
Zayıf Varlık Türü
İlişki Türü
Belirleyici İlişki Türü
Özellik
Anahtar Özellik
Çok değerli Özellik
Birleşik Özellik
Türetilmiş Özellik
1
N
2-li İlişki
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
İlişkiler
 İki
veya daha fazla varlık kümesi arasında kurulan anlamlı bağıntılara
ilişki denir. İlişkiler varlık ilişki şemasında dörtgen ile gösterilir.
Dörtgen içine ilişkinin adı yazılır.
• Müşteri varlık kümesi ile ürün varlık kümesi arasında satın alır ilişkisi
Müşteri
Satın
alır
Ürün
Genelde ilişkiler iki varlık kümesi arasında yapılır. Ancak bazı
durumlarda, ilişkide ikiden fazla varlık kümesi yer alabilir.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
İlişkisel Veri Tabanı: İlişki tipleri
Üç temel ilişki tipi vardır:
• Bire – bir: İlişki içinde her şeyden bir tane olduğunu gösterir.
• Birden – çoğa: Bir tablodaki bir satır başka bir tablodaki birden fazla
satırla bağlantılıdır.
• Çoktan – çoğa: Bir tablodaki birden fazla satır başka bir tablodaki
birden fazla satırla bağlantılıdır.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
İlişki Türleri
Veri
modeli üzerinde değişik biçimlerde gösterilebilir. Bu
gösterimden biri şu şekildedir.
Bire bir ilişki
Bire-Çok İlişki
çoğa-Çok İlişki
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
İlişki Kümesi Örnekleri
Varlık 1
Ülke
Üniversite
Öğrenci
1
1
n
n
İlişki
Var
Olur
Aldığı
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
1
Varlık 2
1
n
m
Başkent
Fakülte
Ders
Veritabanı tasarımcıları kavramsal veri modelini bir varlık ilişki (entityrelationship) diyagramı kullanarak temsil ederler
Varlık ilişki
diyagramı
SİPARİŞ
1
Sahip
Varlık özellikleri
Sipariş_no
Sipariş_tarihi
Teslim_tarihi
Parca_no
Parca _miktari
Siparis_tutari
M
PARÇA
M
Sahip
1
SATICI
Parca_no
Parca _tanımı
Brim_fiyat
Satici_no
Satici_no
Satici_adi
Satici_adresi
Kutular varlıkları (entity), elmas şekli
ise ilişkileri temsil eder.
Her tarafta bulunan 1 yada M
değerleri varlıklar arasındaki ilişkinin
niteliğini belirler: 1-e-1, 1-e-çok, yada
çok-a-çok.
Burda, her SİPARİŞ birden fazla
PARÇA ‘ya sahip olabilir. Her PARÇA
ise sadece tek bir SATICI dan temin
edilir.
Ama aynı tedarikçi birden çok parça
tedarik edebilir.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Tanımlayıcı Özellik
Varlık kümeleri arasındaki ilişkiden oluşan özelliklere tanımlayıcı
özellik denir. Tanımlayıcı özellikler ilişkinin olması ile var olabilir. İlişki
oluşmaz ise bu özellikler de var olamaz.
Müşteri varlık kümesi ile ürün varlık kümesi arasında satın alır ilişkisinde,
müşterinin ürünü aldığı tarih ile satın aldığı ürünün miktarı özellikleri
tanımlayıcı özelliklerdir. Tanımlayıcı özellikler ilişki ile bağlanır
Tarih
Ad
UrunKod
Ad
MusteriNo
Müşteri
n
Satın
alır
m
Ürün
Fiyat
Adres
Stokmiktarı
Miktar
©Veritabanı
Yönetimi
Müşteri – ürün satın alır ilişkisinde
tarih
ve miktar tanımlayıcı özelliktir
Prof. Dr. İbrahim Çil
Varlık-İlişki Şemasının
Tablolara Dönüştürülmesi
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Varlık-İlişki Şemasının Tablolara Dönüştürülmesi
 Varlık-ilişki
modeli kullanılarak veri modelleme yapıldığında, eğer veri
tabanını gerçekleştirmek için ilişkisel bir VTYS kullanılacaksa, oluşturulan
varlık-ilişki çizelgesinin ilişki şemalarına dönüştürülmesi gerekir.
 Bu amaçla varlık-ilişki modelindeki her farklı kavramın (varlık kümesi,
nitelik, ilişki kümesi, ilişki kümesinin tanımlayıcı niteliği, güçlü ve zayıf
varlık kümeleri, var olma bağımlılığı, genelleme, kümeleme, ..vb) ilişkisel
modelde nasıl gösterileceğinin bilinmesi gerekir.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Varlık kümelerinin larına Dönüştürülmesi
Varlık İlişki Şeması
kalitesi
unosu
İlişki şeması:
uadi
resmi
URUN
starihi
fiyat
URUN (unosu, uadi, kalitesi, resmi, starihi, fiyat)
Fiziksel olarak VTYS de tablonun oluşturulması:
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Varlık kümelerinin ilişki şemalarına Dönüştürülmesi
Varlık-ilişki modelindeki her varlık kümesi için ilişkisel modelde bir ilişki
şeması oluşturulur.
İlişkinin nitelikleri olarak da varlık kümesinin nitelikleri kullanılır.
adı
soyadi
ÖĞRENCİ
dersadı
dogtar
cinsiyeti
kredisi
DERS
dkodu
ogrno
Örnek olarak, ÖĞRENCi ve DERS varlık kümelerine karşılık, ilişkisel
modelde aşağıdaki ilişki şemaları oluşturulur.
ÖĞRENCİ (ogrno, adı, soyadı, cinsiyeti, dogtar)
DERS (dkodu, dersadı, kredisi)
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
ilişki kümelerinin Dönüştürülmesi
 Genel
olarak varlık-ilişki modelindeki her ilişki kümesi, ilişkisel modelde
bir ilişki şemasına dönüştürülür.
 Ancak kimi ilişki kümeleri için ilişkisel modelde ayrı bir ilişki şeması
oluşturmaya gerek yoktur.
 Bunun yerine varlık kümesi için oluşturulan ilişki şemalarından birine,
diğer varlık kümesinin anahtarında yer alan nitelikleri eklemek yeterlidir.
 Her
Varlık için birer tablo oluşturulur, ve Bir tarafta olan Varlığın Birincil
Anahtarı, Çok tarafta olan Varlığa Yabancı Anahtar olarak eklenir.
 Birden-çoğa ya da çoktan-bire ilişkisel modelde ilişki kümesi için ayrı bir
şema oluşturmaya gerek yoktur.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
İlişkisel Şema Tasarımı Ölçütleri
Niteliklerin anlamları olmalı: her bir niteliğin bir diğerleriyle olan ilgileri ve
nasıl yorumlanmaları gerektiği belirgin olmalıdır.
Veri giriş ve güncelleme problemleri engellenmeli: aynı verinin iki kez
girilmesi, olmayan verinin silinmeye çalışılması veya güncellenmeye
çalışılması gibi hatalar engellenmelidir.
Boş değerler minimize edilmeli: veri girişlerinde mümkün olduğu kadar
boş geçmemeye dikkat edilmeli.
İlave satırlar engellenmeli: tabloların birleştirilmesi sonucu bazen
gereksiz satırlar meydana gelir. İlave satırların engellenmesi için şart
cümlecikleri doğru yazılmalıdır.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Varlık-İlişkisel Modelin İlişkisel Tablolara Dönüştürülmesi
 Varlık
türlerinin dönüştürülmesi- Her bir güçlü varlık türü için, bu varlık
türünün tüm özelliklerini içeren tablo oluşturmalı. Karmaşık özelliklerin
basit bileşenlerini kullanmalı. Anahtar özelliklerden birisini tablonun
birincil anahtarı olarak kabul etmeli. Eğer, birincil anahtar varlık türündeki
karmaşık özellik ise, bu özelliğin tüm bileşenlerini birlikte karmaşık
anahtar olarak kabul etmeli
 Zayıf varlık için de benzer yolla tablo oluşturmalı. Ama bu tabloya, sahip
(uygun güçlü ilişkinin) birincil anahtarını yabancıl anahtar olarak ilave
etmeli.
 Her 1:1 ve 1:M türlü R ilişki türü için , bu ilişkiye katılan varlık türlerine
uygun ilişkileri tanımlamalı. Bu ilişkilerden birisinin birincil anahtarını
diğerinde (genelde ilişkinin «M» tarafında ) yabancıl anahtar olarak
kullanmalı.
 Her M:M türlü ilişki için yeni bir S tablosu oluşturmalı. Katılımcı ilişkilerin
birincil anahtarını S tablosunda yabancıl anahtarlar olarak kullanmalı.
M:M ilişki türünün tüm özelliklerini (basit) bu tabloya ilave etmeli
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Varlık-İlişkisel Modelin İlişkisel Tablolara Dönüştürülmesi
Varlık kümelerinin dönüştürülmesi Her
bir varlık türü için, bu varlık türünün tüm özelliklerini içeren tablo oluşturmalı.
 Karmaşık
 Anahtar
özelliklerin basit bileşenlerini kullanmalı.
özelliklerden birisini tablonun birincil anahtarı olarak kabul etmeli.
ilişki kümelerinin Dönüştürülmesi
 Her
1:1 ve 1:M türlü R ilişki türü için, bu ilişkiye katılan varlık türlerine uygun
ilişkileri tanımlamalı.
 Bu
ilişkilerden birisinin, genellikle 1 tarafındaki varlığın birincil anahtarını
diğerinde (genelde ilişkinin «M» tarafında ) yabancıl anahtar olarak kullanmalı.
 Birden-çoğa
ya da çoktan-bire ilişkisel modelde ilişki kümesi için ayrı bir şema
oluşturmaya gerek yoktur. Her Varlık için birer tablo oluşturulur, ve Bir tarafta olan
Varlığın Birincil Anahtarı, Çok tarafta olan Varlığa Yabancı Anahtar olarak eklenir.
 Her
M:M türlü ilişki için yeni bir tablo oluşturmalı. Varlık tablolarının ilişkilerin
birincil anahtarı yeni tabloya yabancıl anahtarlar olarak kullanmalı. M:M ilişki
türünün tüm tanımlayıcı özelliklerini (basit) bu tabloya ilave etmeli
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Bire-bir ilişkilerin dönüştürülmesi
 Bire-bir
varlık kümelerini ilişkisel modelde göstermek için, varlık
kümelerinden birinin anahtarını, varsa ilişkinin tanımlayıcı nitelikleri ile
birlikte, diğer varlık kümesine karşı gelen şemaya eklemek yeterlidir.
 Birden-bire (ilişki her iki yönde de işlevsel) ilişkisel modelde ilişki
kümesini göstermek için de ayrı bir şema oluşturmaya gerek yoktur.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Varlık İlişki Şemasının Tablolara Dönüştürülmesi
Bire-bir ilişkilerin dönüştürülmesi
Birebir ilişkiyi oluşturan varlık kümeleri tablolara dönüştürülür. özellikleri
tabloların alanlarına dönüşür. Uygun olan varlık kümesinin anahtar alanı
diğer varlık kümesine yabancı anahtar olarak eklenir. Bire-bir ilişkide
belirtilen tanımlayıcı özellikler, yabancı anahtar eklenen tabloya alan olarak
eklenir.
Çalışan-Bölüm çalışır bire-bir ilişkisi şeması
ad
sicilno
bölümno
1
Çalışan
çalışır
1
bölümadı
Bölüm
adres
soyad
Bölüm (bölümno, bölümadı)
Çalışan (sicilno, ad, soyad, adres, bölümno)
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Bire-Bir İlişki : A varlık kümesindeki bir varlık, B varlık kümesindeki sadece bir
varlık ile ilişkili ise.
Ücret
Proje Adı
Adı
1
PROJE
Proje_No
Bütçe
Proje_Yöneticisi
Süresi
Soyadı
1
Çalışan
Giriş Tarihi
Sicil No
Doğum Tarihi
Yaş
Çalışan
Proje
Proje No
Proje Adı
Bütçe
Süresi
Sicil No
Adı
Soyadı
Giriş Tarihi
Doğum Tarihi
1
A1
200
10 yıl
1
Mehmet
Taner
06/03/2004
15/10/1970
2
B2
100
3 yı
2
Aysu
Şahin
15/10/2003
01/08/1966
3
A2
100
4 yıl
3
Kemal
Atlı
29/05/2002
10/02/1971
4
Ali
Demirci
12/05/2005
18/07/1974
Proje_Yöneticisi
Proje No
Sicil No
Ücret
Yaş
2
4
10
35
3
2
12
43
1
3
9
39
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
BİRE-BİR (1:1) İlişki
Bire-çok(1-n) ilişkilerin tablolara dönüştürülmesi
İlişkinin n tarafındaki tabloya 1 tarafındaki tablonun anahtar alanı yabancı
anahtar olarak eklenir. İlişkide belirtilen tanımlayıcı özellikler n tarafına
alan olarak eklenirler.
Bölüm_No
Soyadı
Hoca Adı
Bölüm Adı
1
Bölüm
N
Bölüm_hoca
Hoca
Sicil No
Telefon
Web Sayfası
Kodu
N
Hoca
Sicil No
Hoca Adı
Soyadı
Telefon
Bölüm No
10
Ali
Dal
2929843
2
20
Emel
Kel
2924573
1
32
Mahmut
Gül
2928462
3
Bölüm No
Bölüm Adı
Kodu
Web Sayfası
11
Ali
Bal
2928382
4
1
Endüstri
108238
www.mat.etu.edu.tr
24
Can
Gür
2928373
4
2
Çevre
198347
www.fiz.etu.edu.tr
16
Nur
Ser
2926523
null
3
Makine
102938
www.kim.etu.edu.tr
4
Bilgisayar
178293
www.biy.etu.edu.tr
1
Bölüm
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Bire-çok(1-n) ilişkilerin tablolara dönüştürülmesi
Örneğin ÜRÜN VE TEDARİKÇİ varlık kümeleri arasındaki 1-n okur ilişkisinde parça
ve tedarikçi varlık kümeleri tablolara dönüştürülür. İlişkinin n tarafındaki tablo olan
parça tablosuna tedarikçi tablosunun anahtar alanı olan ted_kodu alanı yabancı
anahtar olarak eklenir.
TEDARİKÇİ
Telefon_No
ParçaKodu
Adı
Ted_Kodu
1
Satın
Alma
N
Adresi
PARÇA
Açıklama
Ted_Kodu
Adı
Miktar
Yukarıdaki varlık ilişki şeması tablolara dönüştürülürse;
Tedarikçi(ted_kodu, adı, Adresi, Telefon_No)
Parça(parçakodu, adı,
miktar, açıklama, ted_kodu)
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Çoğa-çok(n-m) ilişkilerin tablolara dönüştürülmesi
 İlişkiyi
oluşturan varlık kümeleri tablolara dönüştürülür. Ancak ilişki
isminde yeni bir tablo oluşturulur.
 İlişkiyi oluşturan tabloların anahtar alanları yeni tabloya yabancı
anahtar olarak eklenir.
 İlişkide belirtilen tanımlayıcı özellikler varsa yeni tabloya alan olarak
eklenir.
 Yeni tablonun anahtar alanı ilişkiyi oluşturan tabloların yabancı
anahtarlarından oluşan ikili veya daha fazla alandan oluşur. Ancak bazı
durumlarda bu anahtar tanımı yeterli olmaz. Yeni tabloya tabloya uygun
şekilde yeni bir anahtar alan eklenir.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Çoğa-çok(n-m) ilişkilerin tablolara dönüştürülmesi
Ad
Ders Adı
Final
N
Soyad
M
ÖĞRENCİ
ÖĞRENCİ_
DERS
Ad
Ali
Fatma
Ruhu
Soyad
Can
Kara
Say
Ders Kodu
1
N
1
N
DERS
Vize
Numara
ÖĞRENCİ
Numara
101
102
103
Kredi
ÖĞRENCİ_DERS
numara
Ders Kodu
101
201
101
207
103
207
103
105
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
DERS
Ders Kodu
201
105
207
Vize
60
80
75
67
Ders Adı
Programlama
Veri Tabanı
Fizik
Final
67
89
45
36
Kredi
4
4
3
Tablolar Arası İlişki (Bağıntı)
Tablodaki örnekte Karar verme isimli kitap Yağız Baş, Access isimli
kitap ise Selim Taş ve Ali Can tarafından yazılmıştır.
Kitap Tablosu
Yazar Tablosu
Kitap_No
Kitap_Ad
1
Karar verme
2
Access
Kitap_Fiyat
Yazar_No
Yazar_Ad Yazar_Soyad
16.50
1
Selim
Taş
45.50
2
Yağız
Baş
3
Ali
Can
KitapYazar Tablosu
Kitap_No
Yazar_No
1
2
2
1
2
3
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Örnek
Bu
örnek bölümleri ve çalışanları ile bir şirketi temsil
etmektedir. Her çalışan yalnızca tek bir bölüme aittir. Bir
bölümde bir yada daha çok sayıda çalışan bulunabilir.
Çalışanların görevleri projeler üzerinedir. Her biri aynı
zamanda birkaç projede çalışır ve projede çalışan birden
çok çalışan bulunmaktadır. Buradan hareketle önce veri
tabanında oluşturulacak varlıkları belirlemeye
çalıştığımızda bunların; Bölüm, Çalışan ve proje olduğu
görülür. Bu varlıkların özellikleri de göz önüne alındığında
aşağıdaki varlık ilişki şeması oluşturulur.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Örnek
Bno
ÇalışanNo
Bölüm
Badi
1
Çalıştığı bölüm
Bütçe
Proje
Çadı
Çalışan
N
Yeri
ProjeAdı
N
ÇSoyadi
Baş Tarihi
M
Çalıştığı proje
Pno
İş
Oluşturulan Tablolar
Bölüm (Bno, Badi, Yeri)
Çalışan (ÇalışanNo, Çadi, Çsoyadı, Bno)
Proje (Pno, ProjeAdı, Bütçe)
Çalıştığıproje(ÇalışanNo, Pno, Baş Tarihi, İş)
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
soru
Veritabanı Gereksinimleri
•Şirket, BÖLÜM’lerden oluşmaktadır. Her bölümün bir numarası, bir adı ve
bir adresi vardır.
•Her BÖLÜM, belli sayıda PROJE kontrol etmektedir. Her projenin bir
numarası, bir adı, bir bütçesi ve bir süresi vardır.
•Veritabanında şirket ÇALIŞAN’larının sicil numarası, adı, maaşı, cinsiyeti
ve doğum tarihi saklanacaktır. Her çalışan bir BÖLÜM’de yer almaktadır,
fakat birden fazla PROJE’de çalışabilir. Her çalışanın, projelerde haftalık
çalışma saatleri kaydedilecektir.
Yukarıdaki açıklamaya göre Varlık-İlişki şemasını çiziniz.
soru
Bir futbol oyuncusu sadece bir takımda oynayabilir, ancak bir futbol
takımında birden fazla oyuncu vardır.
Yukarıdaki açıklamaya göre Varlık-İlişki şemasını çiziniz.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
DOĞUM TAR.
DOKTOR_NO
ADRES
ADI
UZMANLIK
DOKTOR
SOYADI
TELEFON
CİNSİYET
n
MUAYENE
_İD
TARİH
MUAYEN
E EDER
KARAR
m
DOĞUM TAR.
ADI
HASTA
SOYADI
ADRES
CİNSİYET
TELEFON
HASTA_NO
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Ders no
ad
dersadi
vize
n
Dersler
Öğrenci
no
final
cinsiyet
m
notlar
soyad
Öğrenciler
Doğum tar
durum
teorikkredi
n
bütünleme
uygulamakredi
okur
n
1
açılır
1
Fakülteler
1
açılır
n
Bölümler
Fakülte_no
Fakülte adi
Bolüm_no
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Bolüm_adi
Download