Veri tabanı tasarım prosesi genel şeması Temel Kavramlar



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

Computer Engineering Department LAB 1 WORKSHEET

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

Kavramsal Tasarım. Veritabanlarına Giriş Dersi

Veritabanı Tasarımı Ve Yönetimi

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

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

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

Veri Tabanı-I 2.Hafta

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

Bölüm 2 Varlık-İlişki Veri Modeli: Araçlar ve Teknikler. Fundamentals, Design, and Implementation, 9/e

Computer Engineering Department DATABASE MANAGEMENT SYSTEMS LAB 2 WORKSHEET

Veritabanı Yönetim Sistemleri, 2. basım Zehra ALAKOÇ BURMA, 2009, Seçkin Yayıncılık

İLİŞKİSEL VERİ MODELİ

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

Veri Tabanı Yönetim Sistemleri. Yrd. Doç. Dr. M.Betül Yılmaz

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

Veritabanı ve Yönetim Sistemleri

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

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

Varlık-İlişki Modeli (Entity-Relationship Model)

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

İTÜ DERS KATALOG FORMU (COURSE CATALOGUE FORM)

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

BİL 354 Veritabanı Sistemleri. Entity-Relationship Model

STAJ RAPORU INTERNSHIP REPORT

Veritabanı ve Yönetim Sistemleri

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

İSTANBUL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİTİRME PROJESİ 1. GetFit (Spor Merkezi) Uygulaması

BTP203 VERİTABANI YÖNETİM SİSTEMLERİ

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

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

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

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

NESNEYE YÖNELİK PROGRAMLAMA. Yrd.Doç.Dr. Zeynep ORMAN

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

Veri Tabanı-I 4.Hafta

YZM 2108 Yazılım Mimarisi ve Tasarımı

Chapter 5 Sistem Modelleme. Lecture 1. Chapter 5 System modeling

HASTANE OTOMASYONU VERİ TABANI YÖNETİM SİSTEMLERİ TEMEL VERİTABANI KAVRAMLARI

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

DOKUZ EYLÜL ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ MÜDÜRLÜĞÜ DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CSE 5055

License. Veri Tabanı Sistemleri. Konular büyük miktarda verinin etkin biçimde tutulması ve işlenmesi. Problem Kayıt Dosyaları

WEEK 11 CME323 NUMERIC ANALYSIS. Lect. Yasin ORTAKCI.

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

Veri Tabanı Hafta Dersi

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

İTÜ DERS KATALOG FORMU (COURSE CATALOGUE FORM)

Requirements Engineering

İleri Veritabanları (COMPE 502) Ders Detayları

Dersin Kodu Dersin Adı Dersin Türü Yıl Yarıyıl AKTS MAKİNA PROJESİ II Zorunlu 4 7 4

İşlevsel Bağımlılık. DAĞITIM (müşteri_no, şehir_kodu, şehir_adı, gönderi_no, miktar)

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

Veritabanı Dersi. Teoriden Pratiğe. Çağıltay N.E., Tokdemir G. Veritabanı Sistemleri Dersi -Bölüm XII: Durum Çalışması Çağıltay, N., Tokdemir, G.

VERİTABANI DERS NOTLARI

İTÜ DERS KATALOG FORMU (COURSE CATALOGUE FORM) Dersin Türü (Course Type)

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

Maltepe Üniversitesi Endüstri Mühendisliği Bölümü Veri Tabanı Yönetimi (END 210)

Veri Tabanı Dersi 8. Laboratuvarı

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

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

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

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

VERİ TABANI SİSTEMLERİ

«BM364» Veritabanı Uygulamaları

Bölüm 6. Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler

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

COMPE 341 FINAL REPORT BÜŞRA BILGILI EMIRHAN AYDOĞAN MERYEM ŞENTÜRK M. ARDA AYDIN. ATILIM UNIVERSITY Department of Computer Engineering

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

VERİTABANI ORGANİZASYONU

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

İlişkisel Veri Tabanları I

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 6. Yrd.Doç.Dr.Hacer Karacan

DERS BİLGİ FORMU DERS BİLGİLERİ. Türü Zorunlu/ Seçmeli DERS PLANI

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

UNICASE.... kapsamlı bir CASE* aracı. *

Sınıf Diyagramları Amaç: Sınıf Diyagramları Nasıl Çizilir?

YEDİTEPE ÜNİVERSİTESİ MÜHENDİSLİK VE MİMARLIK FAKÜLTESİ

Eylül 2007 de v1.0 ı yayınlanan SysML sayesinde endüstri mühendislerinin de ihtiyacı karşılanmış oldu.

SiSTEM ANALiZi ve TASARIMI

İSTANBUL KEMERBURGAZ ÜNİVERSİTESİ

CENG 302 Yazılım Mühendisliği Yazılım Mimarisi - Devam. Alper UĞUR

Model Güdümlü Geliştirme ile Gömülü Kaynakların Yönetimi

YEDİTEPE ÜNİVERSİTESİ MÜHENDİSLİK VE MİMARLIK FAKÜLTESİ

BM208- Nesneye Dayalı Analiz ve Tasarım. Sunum 7

DOKUZ EYLUL UNIVERSITY FACULTY OF ENGINEERING OFFICE OF THE DEAN COURSE / MODULE / BLOCK DETAILS ACADEMIC YEAR / SEMESTER. Course Code: CME 4002

TÜMLEŞİK MODELLEME DİLİ. UML (Unified Modeling Language)

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

WRE2205. Hızlı Kurulum Kılavuzu ve Garanti Kartı WRE2205

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

Veri Tabanı Hafta Dersi

Sınavında sık yapılan temel hatalar:

Alper VAHAPLAR

Bilgi Sistemleri Tasarımı (SE 503) Ders Detayları

Hiyerarşik Yazılım Tasarımı Kavramı

Veritabanı Tasarımı. Introduction to the Oracle Academy

YBS104 - VERİ TABANINA GİRİŞ. Yrd. Doç. Dr. Fırat YÜCEL Akdeniz Üniversitesi Enformatik Bölümü

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 3001

Özgeçmiş (CV/Resume) Hazırlanması

Veritabanı Yönetim Sistemleri İleri SQL

Transkript:

Ders # 2 VERİ TABANI DERS NOTLARI Veri Tabanı Tasarımı Varlık Bagıntı ile veri modelleme (data modeling with EER, UML) Ünal Yarımağan, "Veri Tabanı Sistemleri", Akademi Yayınevi, 2010 Elmasri, Navathe, "Fundamentals of Database Systems", 5th Edition, Addison Wesley, 2008 Toby Teorey, Sam Lightstone, Tom Nadeau, H.V. Jagadish,"DB Modelling & Design, Logical Design", 5th Edition, Morgan Kaufmann, 2011

Genel Bakış Veri tabanı tasarım prosesi genel şeması Temel Kavramlar Varlık, Varlık kümesi ve nitelikleri, Bağıntı, Bağıntı kümesi, bağıntı sınırlamaları ve bağıntı türleri, Rol tanımlama Anahtar nitelik Zayıf Varlık Kümeler Yardımcı Kavramlar Genelleme Kümeleme, Kompozisyon Örnek bir VT :(COMPANY veri tabanı) ER ve UML veri modeli ile örnekler

VT Tasarım Prosesi VT tasarımı Veri modelleme Veri mühendisliği, bilişim uzmanlığı ile ilgili Uygulama tasarımı Program akış ve arayüzlerin tasarımı Yazılım mühendisliği ile ilgili Use Data-flow, sequence diagrams or scenarios ER

VT Tasarım Prosesi

VT Tasarımı Gereksinimlerin toplanması ve analizi (Requirements collection and analysis) VT Tasarımcısı, veri gereksinimlerini anlamak ve belgelemek için müstakbel veri tabanı kullanıcıları ile görüşmeler (interview) yapar Çıktı: veri gereksinimleri Uygulama için işlevsel gereksinimler (Functional requirements)

Kavramsal şema VT Tasarımı Kavramsal bir tasarım Veri gereksinimlerini açıklamalı Varlık türleri detaylı açıklama (entity types) Bağıntıları detaylı açıklama (relationships) Kısıtlamaları ayrıntılı açıklama (constraints) Üst-düzeyli veri modelinden gerçekleştirim veri modeline dönüşüm (Transformed from high-level data model into implementation data model)

VT Tasarımı Mantıksal tasarım veya veri modeli eşlemesi (data model mapping) Result is a database schema in implementation data model of DBMS Physical design phase Internal storage structures, file organizations, indexes, access paths, and physical design parameters for the database files specified

Varlık Bağıntı (Entity-Relationship, ER) Modeli ER modelde verileri tanımlama: Varlıklar (Entities) Bağıntılar (Relationships) Nitelikler (Attributes) UML diyagramları (UML notasyonu) Yazlım geliştirme metodolojisinde kullanıır. ER daki varlık UML nesnesine karşılık gelir. UML nesnesinde 3 kısım var: isim, nitelikler ve operasyonlar. 8

Varlık/Bağıntı kümeleri Var olan ve diğerlerinden ayırdedilebilen her nesneye varlık denir. Benzer varlıkların oluşturduğu kümeye varlık kümesi denir. Varlıkların nitelikleri vardır. Bu nitelikler ile varlıklar birbirinden ayırdedilir. EMPLOYEE (İŞÇİ) John Smith, Research, ProductX Her niteliğin bir değer alanı, yani olurlu değerlerinin tümünü içeren bir küme (domain) vardır. Niteliğin tipi, değer aralığı, formatı bu kapsamdadır. İki ya da daha çok varlığın arasındaki «olayı» tanımlamaya yarayan kavrama bağıntı denir. Aynı türdeki benzer bağıntıların kümesine ise bağıntı kümesi denilir. ÖĞRENCİ DERSİ ALIYOR ise DERS ile ÖĞRENCİ arasındaki bağıntı

Temel yapı taşları: varlık, bağıntı Composite attribute A key A key Multivalued attr. ÖĞRENCİ N R N DERS three CAR entity instances in the entity set for CAR 10

Bağıntı Küme sınırlamaları Bağıntı ismi (relationship name): manaya uygun bir isim Bağıntıdaki varlıklar (participating entity types): 2 veya daha çok, aynı veya farklı varlıklar arasında Bağıntının derecesi (degree of a relationship): 2,3,... Eleman sayıları,kaça-kaçlık olduğu (cardinality ratio): 1-1, 1-N, N-1, N-N ROL tanımlama: Bağıntıdaki varlıkların bağıntıdaki işlevlerini belirleyen bir rolleri vardır. Bunun açık, anlaşılır olmadığı durumlarda belirtilmesi gerekir. 11

ER notasyonları

Var olma bağımlılığı (existence dependency): B varlık kümesindeki her bir b varlığı, A varlık kümesindeki bir a varlığı ile mutlaka bir bağıntı kurması gerekiyorsa, «B varlık kümesi A varlık kümesine var olma bağımlıdır» denir. Burada A birincil varlık, B ikincil varlık olarak adlandırılır. (total / partial participation) ER: N N A a okuyan B b 13

Anahtar ve Güçlü/Zayif Varlık Kümeleri Varlık/Bağıntı kümesindeki varlık/bağıntıları birbirinden ayırd etmek için kullanılan nitelik veya nitelik grubuna anahtar denir. Super anahtar (superkey): Bütün anahtarlar super anahtardır. Aday anahtar (candidate key) : BA Bir varlık/bağıntı kümesinin K super anahtarının hiç bir öz-alt kümesi super anahtar değilse, K o varlık/bağıntı kümesinin aday anahtarı olur. ( diğer bir ifade ile «aday anahtar»=«minimal super key») Bir varlık kümesinde anahtar bulunamıyorsa (bütün nitelikler birarada olsa da anahtar olmuyorsa) bu varlık kümesine «zayıf varlık kümesi» denir. Anahtarı olan varlık kümesine «güçlü varlık kümesi» denilir. Zayıf varlık kümesi, güçlü bir varlık kümesi ile 1-1 veya N-1 tipinde var olma bağımlı bir bağıntı kurmalıdır. Zayıf varlık kümesindeki, aynı güçlü varlığa bağlı olan varlıkları ayırd edebilmek için ayırdedici nitelik(ler)-an tanımlamak gerekir. 15

zayıf varlık kümesi örnekleri isim LİSE 1 N okuyan ÖĞRENCİ öğrno satışno tarih geneltoplam SatışFormu 1 ss N Satır satırno

Anahtar Belirleme Bağıntılardaki anahtarlar: N-N bağıntı kümesinin anahtarı, bağıntı içerisindeki varlık kümelerinin anahtarlarının hepsidir. 1-N bağıntı kümesinin anahtarı N-tarafındaki bağıntının anahtarıdır. 1-1 bağıntı kümesinin anahtarı ise herhangi bir varlık kümesinin anahtarı olabilir. Zayıf varlık kümesinin anahtarı, var olma bağıntısı içerisindeki güçlü varlık küme(ler)sinin BA ları + AN dir. Buna göre; önceki örneklerdeki bağıntıların anahtarlarını belirleyiniz. 17

çok dereceli ER-bağıntı örnekleri ÇALIŞAN ÇPM PROJE MAKİNE Yukarıdaki 3 lü bağıntıda: İki varlık arasındaki bağıntı, 3. varlıktan bağımsız bir şekilde ifade edilemiyor. 18

çok dereceli ER-bağıntı örnekleri

çok dereceli ER-bağıntı örnekleri Which one conveys more information? (s,j,p) (s,p) (j,p) (s,j) One more step further: If we do not want to use weak entity type, how to design?

EER-Genelleme («IS A», «Ait olma» bağıntısı) ER: (disjoint,total) gno YOLCUGEMİSİ olcusayısı kalitesınıfı GEMİ ağırlık d YÜKGEMİSİ yük Kapasitesi yüktürü Katılım kısıtlaması: Zorunlu Seçimli Ayrıklık kısıtlaması: OR AND 4 farklı kısıtlama tanımlanabilir, ihtiyaca göre kullanılabilir. Supertype varlık nitelikleri/anahtarı, subtype varlıklarında geçerlidir. ER: (disjoint,partial) ER: (overlap,total) 21

Kümeleme(aggregation, "part of" bağıntısı) «has a», «bulunur/sahiptir» bağıntısı Küme ile Parçaları arasındaki bağıntılar için kullanılır. Parça kümeye "varolma bağımlı" ise composition oluyor. (UML'de kullanılıyor) Generalization'daki Supertype varlık nitelikleri/anahtarı, subtype varlıklarında geçerli idi. "Part-of" bağıntılarında ise, bütün varlık tipindeki niteliklerin parçalar tipindeki varlıklara geçmesi mümkün değildir. 22

UML ile modelleme

UML generalization constructs UML composition/aggregation constructs composition: parçalar tek başına bulunamaz, bir mana ifade etmiyorlar. Parça, kümeye varolma bağımlıdır. aggregation: parçalar kendi başlarına bir mana ifade ediyorlar. Örneğin, Course silinse Teacher mevcut kalabilir.

UML n-ary relationship UML'de primary key

UML ile Varlık ve Bağıntı Örnekleri ARABA Kayıt No BA Plaka No Marka Model Sene Renk ÖĞRENCİ # adı soyadı cns doğumtar 0..* notu => aldığı 0..* DERS # adı kredisi dili A 1..* 0..* => AB B BÖLÜM 1..1 0..* => okuyan ÖĞRENCİ 26

Örnek (UML) ERKEK 0..1 0..1 => evli KADIN A 1..6 0..50 => AB B => yönettiği ÖĞRETMEN KAYIT DERS üst 1..1 PERSONEL 0..* ÖĞRENCİ ast notu ÖĞRENCİ DERS # adı soyadı cns doğumtar 0..* => aldığı 0..* # adı kredisi dili 27

Örnek (UML) LİSE liseno BA liseadı sehir 1..1 0..* => okuyan ÖĞRENCİ öğrno AN adı soyadı Aşağıdaki örnekte bir kişi aynı kursu farklı yıllarda tekrar alabiliyorsa bağıntı kümesinin anahtarı ne olur? KİŞİ kişino BA adı soyadı 0..* 0..* => katılır KURS kno BA kadı ktür yıl başarı

GEMİ gno BA ağırlık Örnek (UML) YOLCUGEMİS İ yolcusayısı kalitesınıfı YÜKGEMİSİ yükkapasitesi yüktürü 0..* Personel pno BA padı AkdBir ano BA adı kurtarih 0..1 1..1 AkdPer ünvan dalı {zorunlu,or} {zorunlu,or} İdariPer eğitim görevi 0..1 Kadrolu YarıZamanlı Yabancı kadroder aylıkmaas sözleşmetar dersbaşınaücr ülkesi dili 29

UML, composition Oda No AN 1..* 1..1 Bina <== bulunan bno BA 0..1 0..* Personel pno BA 1..* => calışır 1..1 Bölüm bno BA

Örnek 1: COMPANY Database We need to define a database schema design based on the following (simplified) requirements of the COMPANY Database: The company is organized into DEPARTMENTs. Each department has a name, number and an employee who manages the department. We keep track of the start date of the department manager. A department may have several locations. Each department controls a number of PROJECTs. Each project has a unique name, unique number and is located at a single location. We store each EMPLOYEE s social security number, address, salary, and birthdate. Each employee works for one department but may work on several projects. We keep track of the number of hours per week that an employee currently works on each project. We also keep track of the direct supervisor of each employee. Each employee may have a number of DEPENDENTs. For each dependent, we keep track of their name, sex, birthdate, and relationship to the employee.

Initial Design of COMPANY DB Based on the requirements, we can identify four initial entity types in the COMPANY database: DEPARTMENT, PROJECT, EMPLOYEE and DEPENDENT The initial attributes shown are derived from the requirements description DEPARTMENT number BA name manager managerstartdate locations PROJECT number BA name location controllingdept EMPLOYEE Ssn BA fname lname department birthdate salary worksonprojects supervisor adress DEPENDENT name dependstoemp birthdate relationships

İlk tasarım sonrası iyileştirmeler-1 Eğer mevcut nitelik başka bir varlığa işaret ediyorsa: Nitelik Bağıntı haline dönüsmeli. Eğer mevcut nitelik cok değer alabiliyorsa: Nitelik Varlık kümesi haline dönüsmeli. Eğer mevcut varlık kümesi sadece 1 niteliğe sahip ve bir bağıntısı varsa: Varlık kümesi nitelik haline dönüşmeli. Varlık kümeleri arasında "genelleme" mümkünse yapılmalı. Yukarda-aşağıya (top-down), aşağıdanyukarıya (bottom-up) yaklaşımlar kullanılmalı. Bağıntıların dereceleri tekrar degerlendirilmeli, gerekirse "kümeleme" ile daha acık yapılanmalar kullanılmalı.

İlk tasarım sonrası iyileştirmeler-2: fazlalıkların çıkarılması Eğer bir bağıntı diagramdan cıkarıldığı zaman bilgi kaybı olmuyorsa, bu bağıntının fazladan/gereksiz (redundant) olduğuna karar verilmiş olur. Genelde, diagramdaki cevrimler kontrol edilir. Cevrim icindeki bir bağıntının fazladan olma ihtimali vardır. Aşağıdaki örnekte, bir SECTION'a ait not girişi takip ediliyor. Eğer girilen bir not (GRADE), bir SECTION için ise ve o SECTION bir PROF tarafından veriliyosa; "assigns" bağıntısına ihtiyaç olacak mıdır? Elbette "Olmayacaktır".

COMPANY DB (devam) In the refined design, some attributes from the initial entity types are refined into relationships: Manager of DEPARTMENT -> MANAGES Works_on of EMPLOYEE -> WORKS_ON Department of EMPLOYEE -> WORKS_FOR Controlling_Department of PROJECT CONTROLS Supervisor of EMPLOYEE SUPERVISION Dependent_name of DEPENDENT DEPENDENTS_OF In general, more than one relationship type can exist between the same participating entity types(manages and WORKS_FOR are distinct relationship types between EMPLOYEE and DEPARTMENT (Different meanings and different relationship instances.) 35

COMPANY DB UML DIAGRAMI EMPLOYEE DEPARTMENT..1 1..* ==> works for 1..1 ==> supervises 1..1 ==> manages 1..1 0..* 1..* startdate 0..1 1..1 0..* 1..* LOCATION ==> has 0..* city BA 0..* PROJECT DEPENDENT hours 1..* 36

COMPANY DB ER DIAGRAM Recursive relationship

Örnek-2 (ER,UML) Şehirler, ülkeler ve nehirleri gösteren bir veritabanı tasarımı. Şehir N R 1 Ülke N Şehir Ülke 1..* 1..1 1..* S Nehir Nehirlerin hangi şehirlerden geçtiğini tutmak istersek? M Nehir 0..* Şehir N R 1 Ülke Şehir 1..* 1..1 Ülke N S M Nehir 1..* 0..* Nehir

Örnek 3 Bir şirketteki bölümler ve personel bilgilerini tutan Bölüm-Personel veri tabanını düşünelim. Her bölüm çok sayıda personele sahiptir ve her personel en fazla bir bölüme bağlıdır. Bir bölümün sadece bir yöneticisi (mutlaka) vardır. Buna göre aşağıdaki durumları birbirinden bağımsız olarak cevaplayınız Bir bölümün yöneticisi ancak o bölüme bağlı bir personel olabiliyor ise, Nasıl bir ER modeli çizilebilir? B 1..1 ==> sahip 0..* P Yoneticimi? Bir bölümün yöneticisi herhangi bir personel olabiliyor ise, Nasıl bir ER modeli çizilebilir? B 1..1 ==> sahip 0..* P 0..1 <== yönetir 1..1

Örnek 4 SATIŞ FORMU SatışNO: 12 SatırNo ParçaNo Parçaİsim Tanım Miktar 1 23645 ayakkabı Birim Fiya t Tarih: 11.06.2009 Toplam Spor,basketbo l 1 110 110 2 12674 gomlek klasik tarz 2 80 160 3...... GenelTopl am: 880 Yukarıda satış bilgileri tutan örnek bir satış formu içeriği görülmektedir. Buna karşılık gelen veri tabanı, SATIŞ, PARÇA ve SATIR olmak üzere 3 varlık setinden oluşmaktadır. (Aynı ParçaNolu parçalar farklı satırlarda tekrar edebilir.) Bu varlık setlerini, özeliklerini ve aralarındaki ilişkileri gösteren ER diyagramını çiziniz. SATIŞ 1..1 PARÇA pno BA isim fiyat tanım 0..* SATIR 0..* miktar 0..1 geneltoplam ve satırtoplamfiyatı nitelikleri türetilmiş nitelik. Kavramsal tasarımda yazılmasa da olur.

Örnek 5 Birden çok oyuncu içeren takımlar arasında, iki takım içeren oyunlar ile ilgili bilgiler tutulmak isteniyor. (Oyuncu en fazla bir takımın elemanı olabilir. ) her oyunda hangi takımların yer aldığı (hangi takım ev sahibi hangisi misafir olduğu) ve oyunun tarihi ve sonucu gibi bilgiler tutuluyor. her oyunda takımın hangi oyuncularının yer aldığı bilgisi takip ediliyor. N 1 M oynar oyuncu ait skor ev 1 takım 1 N oyun N N misafir skor PK tarih sonuç

Örnek 6 Bir banka hesabına ait işlemler hakkında işlem zamanı(gün,saat), işlem tipi ve miktar bilgileri tutuluyor.bu olayı takip eden ER diyagramı: hesap 1 N ait gün işlem GS saat miktar tip Not: gün,saat partial key oluyor. Farklı hesaplarda aynı saat içinde aynı miktar ve tip işlem olabilir!!! Yukarıdaki çözüm, aynı hesap üzerinde aynı saat içinde işlem yapılmaması durumunda geçerlidir. Bu koşul kalktığı zaman, tasarım işlem zamanı olarak sistem zamanını saklamalıdır; hesap 1 N ait gün işlem GSS saat miktar tip saniye Not: gün,saat,saniye partial key oluyor. Farklı hesaplarda aynı saniye içinde aynı miktar ve tip işlem olabilir!!!

UÇAK REZERVASYON SİSTEMİ Each FLIGHT is identified by a flight NUMBER, and consists of one or more FLIGHT_LEGs with LEG_NUMBERs 1, 2, 3, etc. Each leg has scheduled arrival and departure times and airports, and has many LEG_INSTANCEs--one for each DATE on which the flight travels. FARES are kept for each flight. For each leg instance, SEAT_RESERVATIONs are kept, as is the AIRPLANE used in the leg, and the actual arrival and departure times and airports. An AIRPLANE is identified by an AIRPLANE_ID, and is of a particular AIRPLANE_TYPE. CAN_LAND relates AIRPLANE_TYPEs to the AIRPORTs in which they can land. An AIRPORT is identified by an AIRPORT_CODE.

Örnek 7: Figure 3.17, Elmasri/Navathe book

Örnek 8 Adayların şirketler ile yaptıkları görüşme ve teklif edilen iş pozisyonunu takip etmek istiyoruz. Aday bir şirketin birden çok bölümü ile görüşme yapabilir ve her bölümden farklı pozisyon teklifler alabilir; bir bölümden ancak 1 pozisyon teklifi alabilir. Teklif edilen pozisyonun maasi, özellikleri gibi bir takım özellikler daha tutulmak isteniyor.. Görüşmenin yapıldığı gün (yıl/ay/gün) bilgisi tutluyor. Aynı bölüm ile görüşme ancak farklı bir günde olabiliyor. Gerek aday isimleri gerek şirket isimleri sistemde biricik olduğunu varsayabiliriz.. Bölüm hakkında bir bilgi tutulmuyor. isim ADAY N pozisyon mülakat Tarih(gün) N BÖLÜM isim N yaptı 1 ŞİRKET isim isim ADAY 1 görüşme 1 ŞİRKET isim Tarih(gün) Bölüm BT N MÜLAKAT N teklif 1 POZİSYON... isim maaş 45

Örnek 9 (genelleme) ER diyagramında IS A (AİT OLMA) bağıntısı Katılım, zorunlu ise çift çizgi ile, zorunlu değilse tekçizgi ile Ayrıklık, OR(disjoint) ise yuvarlak içinde d ile, AND (notdisjoint) ise yuvarlak içinde o ile ifade eidliyor. 46

Örnek 10 (genelleme) 47

Örnek 11 (genelleme) 48

Örnek 12: bilgisayar satis VT klavye 1 dizüstü dh N Çevre birim d monitör fare 1 bilgisayar 1 d masaüstü 1 1 dh N Uygun nitelikler belirleyebilirsiniz... N by yazılım bi N İşl ist. N gerekir md N M donanım d hafıza video seeskartı

Örnek 13: Büyük VT tasarım örneği

örnek 13 (devam)

EK (Aktivite diagramları)