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

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

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

Veritabanı Tasarımı. Yapay, Birleşik ve İkincil UID ler

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

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

Veritabanı Tasarımı. İlişkisel Veritabanı Kavramlarına Giriş

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

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

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

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

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

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

VERİTABANI ORGANİZASYONU

Veritabanı Tasarımı. Sütunlar, Karakterler ve Satırlar ile Çalışma

İLİŞKİSEL VERİTABANLARI

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

SORGULAR VE ÇEŞİTLERİ II

KISITLAMALAR (CONSTRAINT)

Veritabanı Tasarımı. Tablo Oluşturma

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

Veritabanı ve Yönetim Sistemleri

KISITLI OPTİMİZASYON

Veritabanı Tasarımı. SQL Deyimi Anatomisi

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

1 Temel Kavramlar. Veritabanı 1

Veritabanı Tasarımı. DML İşlemleri ve Görünümler

Veri Tabanı ve Yönetim Sistemleri Final Projesi Kuru Temizleme Takip Sistemi. Hazırlayanlar : Fatma Çiftçi Zeynep Doğru

10-Veri Tabanları.

Bağlı Dosya Oluşturma Uygulaması

Computer Engineering Department DATABASE MANAGEMENT SYSTEMS LAB 2 WORKSHEET

Aşağıdaki örnekte, aynı düzen tablosu ve hücreleri içerikle birlikte gösterilmektedir.

Veritabanı Tasarımı COUNT, DISTINCT, NVL

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

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

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

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

Veritabanı Tasarımı. Düzenli İfadeler

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

SİSTEM VE YAZILIM. o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur.

Veritabanı. SQL (Structured Query Language)

Veri Tabanı Yönetim Sistemleri Bölüm - 3

1 Temel Kavramlar. Veritabanı 1

Proje Yönetimi Uygulamaları Görev Tanımlama

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.

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

Analiz Raporu. Projenin amacının, konusunun, işlevinin ne olacağı, hangi yazılımlar kullanılacak gibi parametrelerin belirlenmesi.

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

DigiPara Liftdesigner Hidrolik Üniteleri Geliştirici Eğitimine Hoş Geldiniz

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

VERİTABANI Veritabanı Normalizasyonu

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

VERİTABANI Veritabanı Tasarımı

Resim 1. Access açılış sayfası. Resim 2. Access veri tabanı düzenleme sayfası

IDE4DB Veritabanı Geliştirme Platformu Bitirme Projesi Sunumu

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

Veritabanı Tasarımı. Değişimi Modelleme: Zaman

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Normalizasyon

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

BTP 209 SİSTEM ANALİZİ VE TASARIMI

Veri Tabanı Hafta Dersi

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1

Veritabanı Tasarımı. Tablo Değiştirme

SQL e Giriş. Uzm. Murat YAZICI

Sayı Kavramı ve Sayma

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

ACCESS DERS Tablolarda Düzenleme

Veritabanı Tasarımı. İndeksler ve Eşanlamlar

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

MT487_2005guz_final_cevaplar (cevaplar vurgulu ve koyu yazılmıştır)

VERİTABANI Veritabanı Yönetimi

Fiziksel Veritabanı Modelleme

BİL Bilişim Teknolojileri. Access

Tekrar. Veritabanı 2

Veri Tabanı Tasarım ve Yönetimi

SQL Komutları (2) Uzm. Murat YAZICI

BMB202. Veritabanı Yönetimi Ders 5. İlişkisel Cebir ve SQL. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

MONTAJ ÇİZİMİN ÖZELLİKLERİ VE GEREKLİ BİLGİLER.

A GRUBU Noktaları adlandırılmış K 6 tam çizgesinin tam olarak 3 noktalı kaç tane alt çizgesi vardır? A) 9 B) 20 C) 24 D) 60 E) 160

POWER BI. Power BI Bileşenleri: Power BI'daki İş Akışı

13 Aralık Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar. Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz

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

Veri Tabanı Hafta Dersi

SAYISAL ELEKTRONİK. Ege Ü. Ege MYO Mekatronik Programı

<fn> FORMAT (a1,a2,a3,...) : format deyiminin satır numarasıdır READ, WRITE deyimleri ile verilir. : alan bildirim deyimleridir.


Mikroişlemciler (EE 208) Ders Detayları

BİLGİSAYAR 3 MOLEKÜLER BİYOLOJİ VE GENETİK BÖLÜMÜ YARD. DOÇ. DR. MEHTAP YALÇINKAYA /

Internet Programming I. Hafta I. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

Hazırlayan Tarih İmza Özge Bakülüer. Gözden Geçiren Tarih İmza Devrim Erdönmez. Onaylayan Tarih İmza İDARE

Tegsoft Sesli Yanıt Sistemi (IVR)

2 Temel Kavramlar (Devam) Veritabanı 1

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

VERİ TABANI UYGULAMALARI

2. Belgeye Metin Ekleme

VERİ TABANI ve YÖNETİMİ

Üst Düzey Programlama

DESTEK DOKÜMANI ALIM MUHASEBE HESAPLARI PENCERESĐNDE HESAP DAĞITIM DETAYLARI

VERİ TABANI NEDİR A. TABLO OLUŞTURMA

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız.

Transkript:

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

Amaç Bu ders aşağıdaki hedefleri kapsamaktadır: İlişki eşleme kuralını 1:M ve çizgili ilişkilerin dönüşümünde doğru bir şekilde uygulama İlişki eşleme kuralını M:M ilişkilerin dönüşümünde doğru bir şekilde uygulama 1:1 ilişkileri dönüştürme İlişki haritalama kuralı uygulayın İlişki eşleme kuralını yay ilişkilerin dönüşümünde doğru bir şekilde uygulama 2

Amaç Herhangi bir kişi için bir ev inşa ettiğinizi düşünün. Ağaç, boya, kapı, pencere, çivi ve tornavida gibi tüm malzemelere ve yeteneğe sahipsiniz fakat tasarımınız yok. Başlamadan, kaç oda eklenmesi gerektiğini, pencerelerin nereye konulacağını, kapılar nasıl yönlendirilmesi gerektiğini ya da her bir odanın ne renk boyanacağını bilemezsiniz. Böyle bir şekilde bir ev inşa edebilirsiniz ve bitirmek için bu kararları alırsınız. Fakat yapısal tasarım planı ile başlayamazsınız. Nihai ürün, müşteri aklındaki ev olmayabilir. 3

Amaç İlişkiler, bir tablonun diğer tabloya ilişkilendirilmesi için birincil ve ikincil anahtarları arasında eşleştirilmelidir. İlişkileri eşlemezsek sadece bilgi içeren ve veritabanında başka bir şey ile bağlı olmayan birçok bağımsız tabloya sahip oluruz. Varlıklar arasındaki ilişkileri eşleme müşteri, tasarımcı, geliştirici ve veritabanı ürünü yöneticisi arasındaki görüşmeyi kolaylaştırmak için kritik bir "ilk adım" olarak hizmet vermektedir. 4

İlişkiler için Kurallar Bir ilişki, tablodaki ilişkinin birçok tarafında, bir ya da daha çok ikincil anahtar sütunu oluşturabilir. İkincil anahtar sütununu isimlendirirken tablonun kısa adını kullanırız. Bir sonraki sayfadaki örnekte görüleceği üzere, EMPLOYEES tablosundaki dpt_id ikincil anahtar sütunu, DEPARTMENT ile ilişkiliyken, epe_id tam tersi bir ilişkidedir. İkincil anahtar sütunu, iş gereksinimlerine bağlı olarak zorunlu ya da seçimli olabilir. Örnekte, dpt_id zorunlu, epe_id seçimlidir. 5

İlişkiler için Kurallar 6

Bir Taraflı Zorunlu İlişkileri Eşleme Bir taraflı zorunlu olan ilişkiler ya da ikili taraflı zorunlu olan ilişkiler, bir taraflı seçimli olan ilişkiler ile tamamen aynı şekilde eşleştirilir. Kavramsal model, ilişkinin her iki sonundaki seçimliliğiyakalamak için yeterince zengindir. Bununla birlikte fiziksel model, bir ikincil anahtar kısıtlamasının birçok sondaki zorunlu ilişki zorlamasından dolayı sınırlıdır. Örnekte, fiziksel model bir BANT ın en az bir MÜZİSYEN den oluşması gerekliliği için zorlayamaz. Bir taraftaki seçimlilik ek programlama aracılığıyla tanımlanmalıdır. 7

SeçimliliğiZorlama 8

Devredilemez İlişkileri Eşleme Kavramsal modeldeki devredilemez bir ilişki, veritabanı tablosundaki ikincil anahtar sütunun güncellenemeyeceği anlamına gelmektedir. İkincil anahtar kısıtının kendisi veritabanında bunu zorlayamaz. Veritabanının bu iş kuralını izlediğinden emin olmak için ek programlamaya ihtiyaç duyulur. Takım arkadaşlarının uygun kod yazmaları ve bu iş kuralını zorlamaları için kuralları belgelemek önemlidir. 9

Devredilemez İlişkileri Zorlama (Bu ikincil anahtar sütunundaki değer değişmeyecektir.) 10

Çizgili İlişkileri Eşleme Bir çizgili ilişki, bir ikincil anahtar sütunu ile birçok tarafta eşleştirilir, tıpkı diğer 1:M ilişkiler gibi. Bu durumda, ikincil anahtar sütunu çift rol oynar çünkü aynı zamanda birincil anahtarın parçasıdır. Örnekte, ACCOUNTS tablosundaki bak_number BANKS tablosundaki birincil anahtara ilişkilendirilen bir ikincil anahtardır. Ayrıca ACCOUNTS tablosunun birincil anahtarının parçasıdır. 11

Çizgili İlişkileri Eşleme (Bu ikincil anahtar sütunundaki değer değişmeyecektir.) 12

Kademeli Çizgili İlişkiler Hiyerarşiler kademeli çizgili ilişkilere yol açabilir. Hiyerarşisinin en üstündeki varlığın UID si, hiyerarşinin en altındaki varlıklar boyunca taşınır. Örnekte ODA için UID, ODA numarası, SUIT numarası, KAT numarası ve YAPI numarasından oluşur. Bu çizikli ilişkiler ile temsil edilir. Bu fiziksel modele dönüştürüldüğü zaman, sonuçta elde edilen ikincil anahtar sütunu adı orijinal tabloların ön adını içereceğinden çok uzun olacaktır. Örnekte, ROOMS için BUILDINGS tarafından gelen ikincil anahtar sütunu adlandırması sue_flr_bdg_idyerine sue_bdg_id olarak tanımlanmıştır. 13

Kademeli Çizgili İlişkiler 14

Kademeli Çizgili İlişkiler Her bir tablo için örnek veri kademeli çizgili ilişkiyi göstermektedir. 15

Çoka-Çok İlişkileri Eşleme M:M bir ilişki, kesişme tablosuna eşleyen bir kesişme varlığı ile çözülür. Bu kesişme tablosu, orijinal tabloya ilişkilendirilen ikincil anahtar sütunu içerir. Örnekte REVIEWS tablosu CRITIC ve MOVIE tabloları arasında var olan tüm kombinasyonları içerir. 16

Çoka-Çok İlişkileri Eşleme 17

Bire-Bir İlişkileri Eşleme 1:1 ilişkiyi dönüştürürken, bir ikincil anahtar ve bir benzersiz anahtar oluşturulur. Bu ikincil anahtarın tüm sütunları ayrıca benzersiz anahtarın bir parçasıdır. Eğer ilişki bir tarafta zorunlu ise ikincil anahtar ilgili tabloda oluşturulur. Örnekte SODA_BOTTLES tablosundaki bcp_code ikincil anahtar sütunu BOTTLE CAPS tablosundaki birincil anahtarı gösterir. SODA_BOTTLES tablosunda bcp_code ayrıca benzersizdir. 18

Bire-Bir İlişkileri Eşleme (mühürlü olma) 19

Seçimli Bire-Bir İlişki Eğer ilişki her iki tarafta seçimli ise hangi tablonun ikincil anahtar alacağını seçebilirsiniz. Kesin bir kural yoktur fakat bazı ipuçları: İkincil anahtarı daha az satır olan tabloda tanımlayın. İkincil anahtarı işletme için daha anlamlı olacak tabloda tanımlayın. Örnekte, araç kiralama acentası boşluklardan çok arabalarla ilgili olduğundan ikincil anahtar CARS tablosuna konulabilir. Bununla birlikte otopark işi yapan firma için boş yer önemlidir bu yüzden ikincil anahtar SPACES tablosuna konulabilir. 20

Seçimli Bire-Bir İlişki 21

Bire-Çok Zorlama Eğer ilişki her iki tarafta zorunlu ise 1:M ilişkide olduğu gibi aynı kısıtlamaya sahip olursunuz. Bu yüzden bunu zorlamak için ek kodlama yazmaya ihtiyaç duyarsınız. 22

Yayları Eşleme Yaya sahip bir varlık tek taraflı ilişkideki tablolardan olan ikincil anahtar içeren tabloya eşlenir. Hatta yaydaki ilişki çok tarafta zorunlu ise sonuçlanan ikincil anahtarlar seçimlilik olmalıdır. 23

Yayları Eşleme 24

Yayları Eşleme Yay, özel ilişkileri temsil ettiği zaman, tablodaki her bir satır için ikincil anahtarın tek bir değer alması için ek kodlama gereklidir. Veritabanında saklanan bir onay kısıtlaması bunu kolayca yapabilir. Örneğin, onay kısıtı için kod aşağıdaki gibi olacaktır: CHECK (pse_id is not null AND phe_id is null) OR (pse_id is null AND phe_id is not null) Eğer ilişki tamamen seçimlilikise, şunu ekleyebilirsiniz: OR (pse_id is null AND phe_id is null) 25

Yayları Eşleme 26

Yayları Eşleme Yerel boşluk numarası (pse_id) için değer mevcut ise özel ev numarası (phe_id) sütunu boş olmalıdır. Tam tersine, pse_id boş ise, phe_id dolu olmalıdır. Tamamen seçimli ilişkide ek kodlama her iki numaranın da boş olmasını sağlayacaktır. 27