Computer Engineering Department DATABASE MANAGEMENT SYSTEMS LAB 2 WORKSHEET



Benzer belgeler
Computer Engineering Department LAB 1 WORKSHEET

VeritabanıYönetimi Varlık İlişki Diyagramları. Yrd. Doç. Dr. Tuba KURBAN

Veri Tabanı-I 2.Hafta

Veritabanı Tasarımı ve Yönetimi. Uzm. Murat YAZICI

Veritabanı Tasarımı. Basit Eşleme: Dönüşüm İşlemi

VERİ TABANI DERS NOTLARI Ders #3: Relational Model (İlişkisel Model) References ER examples from Elmasri, Navathe, Fund. of Database Systems, 5th

İLİŞKİSEL VERİTABANLARI

EBE-368 Veri Tabanı Yönetim Sistemleri Veri Tabanı Tasarımı

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) İlişkisel Veritabanı Modeli

EBE-368 Veri Tabanı Yönetim Sistemleri İlişkisel Model (The Relational Model)

BĐL378 - VERĐTABANI YÖNETĐM SĐSTEMLERĐ

İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir.

Bölüm 1: Veritabanı Yönetim Sistemlerine Giriş

Veritabanı Tarihi. 1960s: Bilgisayarlar artan saklama kapasiteleri ile birlikte firmalar tarafından karşılanabilir hale gelmeye başladı

Fonksiyonel(İşlevsel) Bağımlılık

Veri Bütünlüğü ve Constraint ler. Veritabanı 1

VERİ TABANI YÖNETİM SİSTEMLERİ Melih BÖLÜKBAŞI

VERİTABANI ORGANİZASYONU

BÖLÜM -7: TABLOLARI OLUŞTURMA VE YÖNETME

VERİ TABANI YÖNETİM SİSTEMLERİ-II

SQL e Giriş. Uzm. Murat YAZICI

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir.

ACCESS DERS Tablolarda Düzenleme

Tavsiye Edilen Önhazırlık Temel SQL Server 2000 bilgisi edinmek.

KISITLAMALAR (CONSTRAINT)

VTYS İlişkisel Veri Modeli Y R D. D O Ç. D R. M. B E T Ü L Y I L M A Z

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Ara Öğr. Gör. Murat KEÇECĠOĞLU

Bölüm 4: DDL Veri Tanımlama Dili

BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ

2 İlişkisel Veritabanı Tasarımı ve Normalizasyon. Veritabanı 1

2 İlişkisel Veritabanı Tasarımı. Veritabanı 1

NOT: VERİTABANINDAKİ TABLOLARI OLUŞTURMAYI DA UNUTMAYACAĞIZ.

1 Temel Kavramlar. Veritabanı 1

Veritabanı Tasarımı. NOT NULL ve UNIQUE Kısıtlamaları Tanımlama

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

İLİŞKİSEL VERİTABANI. İlişkisel veritabanlarının ortak özelliği verilerin tablolar aracılığı ile tutulmasıdır.

VERİTABANI Veritabanı Normalizasyonu

ADO.NET Entity. Framework. Temel Kavramlar

Geliştirme Klavuzu İlk Uygulama Hello World

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri

SORGULAR VE ÇEŞİTLERİ II

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

2. Oracle Data Miner İle Örnek Bir Veri Madenciliği Çalışması

Power BI. Neler Öğreneceksiniz?

Ders Notlarının Creative Commons lisansı Feza BUZLUCA ya aittir. Lisans:

İLİŞKİSEL VERİ MODELİ

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri Kısıtlamalar (Constraints)

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Varlık İlişki Modeli

Veritabanı Tasarımı. İlişki Eşleme

DESTEK DOKÜMANI. Tablolu Malzeme Sınıfları

EKLEME SORGUSU. 2) ornekveritabani.accdb isimli veritabanınızı çift tıklayarak açınız. Sorarsa, İçeriği Etkinleştir komutunu uygulayınız.

1 Temel Kavramlar. Veritabanı 1

Veri Tabanı Hafta Dersi

VERİTABANI Veritabanı Yönetimi

Mühendislikte Veri Tabanları Dersi Uygulamaları (MS-Access)

Veritabanı Yönetim Sistemleri İleri SQL

Veritabanı ve Yönetim Sistemleri

SQL PROGRAMLAMA. Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı GO deyimidir.

Veritabanı Tasarımı. Sütun Değerlerini Güncelleme ve Satırları Silme

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

İLİŞKİSEL VERİTABANLARINDA BİRLEŞTİRME

Mühendislikte Veri Tabanları Dersi Uygulamaları (ArcGIS-SQL)

Veri Tabanı-I 4.Hafta

SQL Komutları (2) Uzm. Murat YAZICI

TEMEL SQL SORGU ÖRNEKLERİ. Yukarıdaki sorguyu yazıp çalıştırdığımızda db_market adında bir veritabanı oluşturulur.

Üst Düzey Programlama

Birden Çok Tabloda Sorgulama (Join)

10-Veri Tabanları.

Veritabanı ve Yönetim Sistemleri

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) İş Kuralları ve Veri Modelleri

Bo lu m 7: Hesap Tabloları

TABLOSAL VERĐLERĐ EDĐTLEME YENĐ SUTUN EKLEME

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

Android ile SQLLite Veri Tabanı

Veritabanı Dersi. Teoriden Pratiğe. Çağıltay N.E., Tokdemir G.

Veri Tabanı Dersi 8. Laboratuvarı

«BM364» Veritabanı Uygulamaları

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Varlık Bağıntı Modeli

Bağlı Dosya Oluşturma Uygulaması

Veritabanı Tasarımı. Kartezyen Çarpım ve Join İşlemleri

Veritabanı. SQL (Structured Query Language)

Datasoft Yazılım Personel Bordrosu Programında Yapılan Güncellemeler Kullanıcı Kılavuzu ( )

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

Veritabanı Tasarımı Ve Yönetimi. Varlık-İlişki Modeli

VERİTABANI. SQL (Structured Query Language)

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Varlık İlişki Modeli Örnek Uygulamalar

VERİTABANI YÖNETİMİ. İlişkisel Veritabanı 4.HAFTA. Veritabanı Yönetimi Prof. Dr. İbrahim Çil

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Veritabanı Tasarımı. Birincil Anahtar, İkincil Anahtar ve Kontrol Kısıtlamaları

Veritabanı Tasarımı. İlişkileri Eşleştirme

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

BÖLÜM13 3- EXCEL DE VERİ İŞLEMLERİ

Klasik Dosya Sistemi. (Yomralıoğlu, 2002)

Veri Tabanı Hafta Dersi

BIM 312 Database Management Systems. Veritabanı Kavramına Giriş

ICubes Giriş. adresinden sisteme girilir. Açılan sayfaya kullanıcı adı ve şifre yazılarak platforma giriş yapılır

Mantıksal Operatörlerin Semantiği (Anlambilimi)

Transkript:

Faculty of Engineering and Architecture Computer Engineering Department DATABASE MANAGEMENT SYSTEMS LAB 2 WORKSHEET LOGICAL SCHEMA ER-to-Relational Mapping Algorithm Bir ER diyagramına uygun olan veritabanı tablolar şeklinde gösterilebilir. Her bir entity ve ilişki seti için, onların adına düzenlenmiş farklı bir tablo bulunur. Her tablo birbirinden farklı sütun isimleri(özellikler)ne sahiptir. Bir ER diyagramını tablolara çevirmek, ilişkisel bir veritabanı oluşturmanın temelidir. Bileşik özellikler kendilerini oluşturan basit özelliklerden sütun oluşturularak çevrilebilir. Ör. İsim özelliği, önisim ve soyisim olmak üzere iki ayrı özellik şeklinde sütunlara dönüşür. Adım 1 : ER diyagramda çizdiğin tüm regular (strong) entityler için bir tane tablo oluştur. Her entity nin simple attribute ünü de tabloya sütun olarak ekle. Composite attributelerin her bir simple attribute ünü de sütün olarak ekle. Entity de key olarak belirtilen attributelerden bir tanesini tablomuz için primary key olarak seç. Eğer entity nin seçilen key i composite bir attribute ise o zaman tabloda bulunan basit sutünlar hep birlikte bir primary key i oluşturacaktır. Adım 2 : ER diyagramdaki her weak entity type W için bir R relation oluştur. Tüm simple attributeleri sütun yap. Composite attributelerin de simple attributelerini tabloya sütun olarak yerleştir. Weak entity type ın sahibi entity nin primary key ini sütuna ekle. Wean entity type ın partial key i ile birlikte owner entity nin primary keyi bu tablo için primary key olacak.

Adım 3 : ER diyagramdaki her bir 1 : 1 R ilişki tipi için R ilişkisine katılan entityler için S ve T tabloları tanımla. Üç yaklaşım mevcut : 1) Foregin Key Yaklaşımı (En kullanışlı olan) 2) Merged Relation yaklaşımı 3) Cross reference ya da relationship relation yaklaşımı Foreign Key yaklaşımı : S ya da T tablosundan birini seç. Örneğin S yi seçelim. T nin primary key ini S tablosuna foreign key olarak yerleştirelim. Eğer entitylerden ilişkiye total katılan varsa ona foreign key i koymak daha mantıklıdır. Böylelikle NULL değerlerden kaçınmış oluruz. Örneğin departman ve employee arasında 1:1 lik yönetme işi mevcut. Departman ilişkiye total olarak katılır. Eğer departmanın primary key ini Employee e foreign key yaparsak : Herkes departman yönetmediği için bir çok gereksiz NUL değerine sahip olacağız. Oysa ki Departman tablosuna Employee primary key i foreign key olarak konulsa bu sıkıntı ortadan kalkacaktır. İlişkinin attribute ü de aynı tabloya sütun olarak eklenir. Adım 4 : 1 : N ilişkisinde N tarafındaki entity için bir S tablosu oluştur. S de ilişkinin 1 kısmını oluşturan T tablosunun primary key i foreign key olarak bulunsun. Çünkü N tarafındaki diğer tablo ile en fazla bir kere ilişkilidir. Gereksiz satırlardan kurtulmak için doğru dönüştürme yapmaya çalışıyoruz. Bizim örneğimizde 3 tane 1:N ilişki var. 1. EMPLOYEE : EMPLOYEE, 2. DEPARTMENT : EMPLOYEE, 3. DEPARTMENT : PROJECT. 1.için Super_ssn adlı bir foreign key ekliyoruz. Employee nin supervisior ının primary key ine reference edecek.

2.için N kısmı yine Employee olduğu için çalışanın çalıştığı departmanı gösteren departman numarasını ekliyoruz. 3.için N kısmında olan Project e Dnum adlı foreign key eklenmiştir. Adım 5 : ER diyagramdaki her M:N ilişkisi için ilişkiyi gösteren bir tablo oluştur. İlişkiye katılan iki entity nin de keyleri bu tabloda yer alacak ve birlikte primary keyi oluşturacaktır. İlişkide bulunan attributeler sütun olarak eklenecektir. Burada iki tane attribute ile primary key oluşturuyoruz. Sadece bir tane attribute ten oluşamazdı primary key. Çünkü o zaman Essn ya da Pno tek başına kayıtlara uniquelik kazandıramayacaktı. Adım 6 : Her multivalued attribute A için bir tablo oluştur. A ile ilgili tüm attributeleri sütun olarak içerecektir. Bunun yanında tablonun primary key i olan K yı ve foreign key olarak da multivalued attribute e sahip tablonun primary key ini içerecektir. Eğer multivalued attribute aynı zamanda composite bir attribute ise simple attributelerini de tabloya sütun olarak ekleyeceğiz. Adım 7 : n ary bir ilişkide (n>2 olmak üzere) ilişki R yi gösterebilmek için bir S tablosu oluşturulur. Bu tablo foreign key olarak ilişkiye katılan entitylerin primary keylerini içerecektir. Aynı zamanda ilişkinin basit attributeleri varsa composite attributelerin simple attributelerini de sütun olarak içerecektir. Bu yeni tablonun primary key i de ilişkiye katılan entityleri referans eden foreign keylerin kombinasyonudur. Adım 8 : Class hiyerarşisini çevirmede 3 seçenek mevcuttur. Seçenek 8A : Superclass ve her bir subclass için tablo oluşturulur. Superclass ın primary key i subclasslarda da primary keydir. Bu seçenek her durumda çalışır.

Seçenek 8B: Sadece her bir subclass için ayrı tablo yapılır. Her bir tablo hem kendi attributelerini hem de superclass ının attributelerini içerecek. Primary key süper class ın primary key i olacak. Bu seçenek total katılımlı disjoint kalıtımda önerilir. Aksi takdirde tekrar eden kayıtlar olacaktır.

Seçenek 8C: Superclass ve tüm subclasslar attributeleri ile birlikte tek bir tabloda toplanırlar. Sadece disjointte çalışır. Subclasslar da çok fazla sayıda spesifik attributeler var ise çok sayıda NULL değer içerilmesine sebep olur. Seçenek 8D: Bu seçenekde de süper klass ve sub classlar tek bir tabloda. Tüm attributeler de burada. Bir tane boolean flag sütunu mevcut. O kaydın S i subclassına ait olup olmadığını gösteriyor. Overlapping özelliği bulunan subclasslarda kullanılır. Disjointde de çalışır.