ER Şemaları Kullanılarak İlişkisel Veritabanının Tasarlanması
Jan 24, 2016
ER Şemaları Kullanılarak İlişkisel Veritabanının
Tasarlanması
ER Şemalarının Tablolaştırılması İçin Kurallar
1) Güçlü Varlıklar (Strong Entity) Kuralı:
• ER şemasındaki bütün güçlü varlıklar için VT içinde bir tablo yaratılır.
• Bu tablo içerisine varlığın bütün basit özellikleri (simple attributes)
yeni bir alan olarak eklenir. Bu tabloda, birleşik (composite) özellikler
basit özellikleri ile yer alırken, çok değerli(multivalued), birleşik/çok
değerli (composite/multivalued) ve türetilmiş(derived) özellikler yer
almaz.
• Varlığın sahip olduğu anahtar, tablonun ana anahtarı(primary key)
olarak seçilir.
COMPANY ER
Güçlü Varlıklar: EMPLOYEE, DEPARTMENT ve PROJECT
EMPLOYEE
FName Minit LName SSN BDate Addrs Sex Salary
DEPARTMENT
DName DNumber
PROJECT
PName PNumber PLocation
ER Şemalarının Tablolaştırılması İçin Kurallar
2) Zayıf Varlıklar (Weak Entity) Kuralı:
• ER şemasındaki bütün zayıf varlıklar için VT içinde bir tablo yaratılır.
• Bu tablo içerisine zayıf varlığın bütün basit özellikleri (simple
attributes) yeni bir alan olarak eklenir.
• Zayıf varlığın bağımlı olduğu güçlü varlığın primary key’i yeni
oluşturulan tabloya yabancı anahtar (foreign key) olarak eklenir.
• Oluşturulan yeni tablonun primary key’i zayıf varlığın partial key’i ve
eklenen foreign key’in birleşiminden oluşur.
COMPANY ER
Zayıf Varlıklar: DEPENDENT
DEPENDENT
ESSN Dependent_Name Sex BDate Relationship
ER Şemalarının Tablolaştırılması İçin Kurallar
3) 1:1 İlişki (one to one relationship) Kuralı:
• Bu durumda varlıklardan birisi seçilerek, seçilen varlığın primary key’i
diğer varlığa foreign key olarak aktarılır.
• Seçme işlemi için varoluş koşuluna (total participation) bakılır.
• Foreign key, ilişkiye varoluş koşulu ile bağlı olan tabloya aktarılır.
Aynı tabloya eğer varsa ilişkinin özellikleri (attributes) de eklenir.
COMPANY ER
1-1 İlişkiler ve varlıklar: EMPLOYEE ve DEPARTMENT arasında
MANAGES ilişkisi vardır.
EMPLOYEE
FName Minit LName SSN BDate Addrs Sex Salary
DEPARTMENT
DName DNumber MgrSSN MgrStartDate
ER Şemalarının Tablolaştırılması İçin Kurallar
4) 1:N İlişki (one to many relationship) Kuralı:
• Bu durumda, N’in bulunduğu taraftaki varlık tablosuna 1’in bulunduğu
taraftaki varlık tablosunun primary key’i foreign key olarak eklenir.
• Eğer varsa ilişkinin özellikleri(attributes) N tarafındaki tabloya eklenir.
COMPANY ER
1-N İlişkiler ve varlıklar: EMPLOYEE ve EMPLOYEE arasında
SUPERVISION (recursive relationship), DEPARTMENT ve
EMPLOYEE arasında WORKS_FOR, DEPARTMENT ve PROJECT
arasında CONTROL ilişkisi vardır.
EMPLOYEE
FName Minit LName SSN BDate Addrs Sex Salary SuperSSN DNo
DEPARTMENT
DName DNumber MgrSSN MgrStartDate
PROJECT
PName PNumber PLocation DNum
ER Şemalarının Tablolaştırılması İçin Kurallar
5) M:N İlişki (many to many relationship) Kuralı:
• Bu durumda, ilişki adı kullanılarak yeni bir tablo oluşturulur.
• İlişkiye katılan her iki varlığın primary key’i yeni tabloya foreign key
olarak aktarılır.
• Eklenen foreign key’lerin her ikisinin birleşimi yeni tablonun primary
key’i olarak kabul edilir.
• Eğer varsa ilişkiye ait özellikler de yeni tabloya eklenir.
COMPANY ER
M-N İlişkiler ve varlıklar: EMPLOYEE ve PROJECT arasında
WORKS_ON ilişkisi vardır.
EMPLOYEE
FName Minit LName SSN BDate Addrs Sex Salary SuperSSN DNo
WORKS_ON
ESSN PNo Hours
PROJECT
PName PNumber PLocation DNum
ER Şemalarının Tablolaştırılması İçin Kurallar
6) Çok değerli özellikler (multivalued attributes) Kuralı:
• Bu durumda, yeni bir tablo yaratılır.
• Çok değerli özellik ve bağlı olduğu varlığın primary key’i tabloya
eklenir.
• Bu iki özelliğin birleşimi yeni tablonun primary key’ini oluşturur.
COMPANY ER
Çok değerli özellik ve bağlı olduğu varlık: Locations özelliği
DEPARTMENT varlığına bağlı.
DEPT_LOCATIONS
DNumber DLocation
ER Şemalarının Tablolaştırılması İçin Kurallar
7) Eğer 2’den fazla varlık aynı ilişkiye katılıyorsa (ternary
relationship):
• Bu durumda, yeni bir tablo yaratılır.
• İlişkiye katılan bütün varlıkların primary keyleri yeni tabloya foreign
key olarak aktarılır ve bunların birleşimi yeni tablonun primary key’i
olur.
• Eğer ilişkiye ait özellikler varsa bunlarda tabloya eklenir.
Ternary Relationship Örneği
Ternary Relationship Örneği
ER DIAGRAM FOR A BANK DATABASE
VT Tabloları?
“UNIVERSITY” ER Şeması
VT Tabloları
Student
Class
StudentID SSN
Sex
Zip
Degree
City
Birth date
State
Name
Address
Department
DName DCode OfficeNumber
OfficePhone
College
Course
CName
CourseDesc
CNumber
Credits
Section
Instructor Year
SemesterSectionNumber
GPA
Numeric Grade
Letter Grade
Grade_Report
Belong_To
Offer
Minor In
Major In
N 1
N 1 M
N
N 1
M
N
Tel