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 EMPLOYEE Güçlü Varlıklar: EMPLOYEE, DEPARTMENT ve PROJECT 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 DEPENDENT Zayıf Varlıklar: 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 PROJECT PName PNumber PLocation DNum WORKS_ON ESSN PNo Hours
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 DEPT_LOCATIONS Ç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 Semester SectionNumber GPA Numeric Grade Letter Grade Grade_Report Belong_To Offer Minor In Major In N 1 M Tel