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

Benzer belgeler
BTP 209 SİSTEM ANALİZİ VE TASARIMI

VERİTABANI YÖNETİMİ. Veritabanı Normalizasyonu 5.HAFTA. Veritabanı Yönetimi Prof. Dr. İbrahim Çil

BMB202. Veritabanı Yönetimi Ders 4. Normalizasyon. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Veri Tabanı Hafta Dersi

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

2. NORMALİZASYON. Normalizasyon, taslak veri tabanı üzerinde birtakım işlemler yapılarak taslağı son haline yaklaştırma yöntemidir.

VERİTABANI Veritabanı Normalizasyonu

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

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

Veri Tabanı-I 4.Hafta

Veritabanı ve Yönetim Sistemleri

TEMEL KAVRAMLAR. 1.1 Klasik Dosya Yapıları Kayıt ve Alan Sıralı Dosyalar 1 / 192

YGS BİYOLOJİ. Test A E D A C D B D D A B 2 D A E E D D D B A A B C 3 B A C D A C C A D B C E D E

İLİŞKİSEL VERİ MODELİ

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

SQL e Giriş. Uzm. Murat YAZICI

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

SORGULAR VE ÇEŞİTLERİ II

YGS 1 PUAN OLUŞUMU ÇORLU İMKB ANADOLU ÖĞRETMEN LİSESİ REHBERLİK SERVİSİ TÜRKÇE 20% FEN BİLİMLERİ 30% SOSYAL BİLİMLER 10% TEMEL MATEMATİK 40%

VERİ TABANI ve YÖNETİMİ

AYRANCI AYSEL YÜCETÜRK ANADOLU LİSESİ KURS PROGRAMI DİL VE ANLATIM 2 3 TÜRK EDEBİYATI 3 3 TARİH 2 3 COĞRAFYA 2 3 MATEMATİK 6 5 FİZİK 2 3 KİMYA 2 3

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

Herhangi bir tablonun tekrarlı veriler içerdiği duruma birinci normal form denir. Birinci normal formu Aşağıdaki tablo ile ele alacağız.

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

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

YAYINLANAN RAPORLAR FORMU EĞİTİM DOKÜMANI

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

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

Veri Tabanı-I 2.Hafta

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

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

ve kullanıcı gereksinim listeleri size yol gözünden

Coğrafi Bilgi Sistemlerine Giriş. Ünite 5 - Veri Tabanı Yönetim Sistemleri

PHYS 121 General Physics I (Yrd.Doç.Dr. E. TARHAN) Fizik Bölümü F1. PHYS 121 General Physics I (Yrd.Doç.Dr. G. ARAL) Fizik Bölümü F3

VERİTABANI ORGANİZASYONU. Neslihan GENÇ BiliĢim Teknolojileri Öğretmeni

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

Maslak Kampüsü Lise Sınav Takvimi

Tekrar. Veritabanı 2

İNTERNET PROGRAMCILIĞI HAFTA. MYSQL ile VERİTABANI İŞLEMLERİ - 1. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Veritabanı Oluşturma, Silme

9. SINIFLAR. 1.YAZILI 1.Yazılı 17 Mart 2014 Matematik Din Kültür Ve Ahlak Bilgisi. 1.Yazılı 18 Mart 2014 T.E.D. 2. Yabancı Dil

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

VERİTABANI. SQL (Structured Query Language)

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

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

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

VERİ TABANI SİSTEMLERİ

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

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

1 Temel Kavramlar. Veritabanı 1

AYDES PROJESİ HIZLI RAPORLAR FORMU EĞİTİM DOKÜMANI

VERİTABANI ORGANİZASYONU

T.C. SELÇUK ÜNİVERSİTESİ AKÖREN ALİ RIZA ERCAN MESLEK YÜKSEK OKULU

NÜTRİSYON TAKİBİ. Nütrisyon takip formu; «Hemşire Fizik Değerlendirme ve Gözlem» ekranından veya order uygulama aşamasında otomatik açılır.

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

YÖNETMELİK. MADDE 4 Aynı Yönetmeliğin 16 ncı maddesinin dördüncü fıkrası yürürlükten kaldırılmıştır.

Veritabanı Yönetim Sistemleri

2017 YGS-LYS. Psk. Dan. İrem Perizat SEZER USTABULUT Psk. Dan. Ezgi TANIŞ

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

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

Veri Tabanı Hafta Dersi

VERİTABANI DERS NOTLARI

DESTEK DOKÜMANI. Ürün : Tiger Enterprise / Tiger Plus Bölüm : Genel Muhasebe 1/5

SQL Komutları (2) Uzm. Murat YAZICI

İLİŞKİSEL VERİTABANLARI

DML işlemleri. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı May Öğr. Gör. Murat KEÇECĠOĞLU

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

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

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

Chronos Yönetim ekranları kullanım Kılavuzu

08118 Veri Tabanı I. Database Management System. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr.Gör. Murat KEÇECĠOĞLU

İLAN. Başvuru Tarihi Başlangıcı 8 Ocak Başvuru Tarihi Sonu 12 Ocak Sonuçların İlan Tarihi 17 Ocak 2018

bizmed Versiyonu ile Stok İşlemlerinde Yapılan Değişiklikler

Kod Listeleri Genel Yapısı

9. SINIF. final 9. Sınıf Aylık Dergi Seti FİNAL EĞİTİM KURUMLARINDA ÖĞRENCİLERE VERİLECEK KAYNAKLAR. TOPLAM - 110t. Kurumun KDV li Alış Fiyatı

T.C. ERCİYES ÜNİVERSİTESİ EĞİTİM BİLİMLERİ ENSTİTÜSÜ MÜDÜRLÜĞÜ EĞİTİM-ÖĞRETİM YILI GÜZ DÖNEMİ İLANI

İLAN. Yatay Geçiş Başvuru Tarihleri Temmuz Kesin Kayıt Hakkı Kazananlar İçin Yerleştirme Tarihleri

ZEKA KÜPÜ YAYINLARI FİYAT LİSTESİ KİTAPLARIMIZIN ADI

T.C. AFYON KOCATEPE ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ YÖNETİM KURULU KARARLARI

Veritabanı. SQL (Structured Query Language)

Talep ve Şikayet Geri Dönüş Ekranı Kullanım Kılavuzu

19. Ulusal Ortaokul Matematik Olimpiyatı ve 22. Ulusal Bilim Olimpiyatları. Anadolu Üniversitesi Sınav Hizmetleri Sınav Kılavuzu

:47:00 1

T.C. ERCİYES ÜNİVERSİTESİ EĞİTİM BİLİMLERİ ENSTİTÜSÜ MÜDÜRLÜĞÜ EĞİTİM-ÖĞRETİM YILI GÜZDÖNEMİ İLANI

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

Kredili Sistem Öğrencilerini Belirlemeye Yönelik İp Uçları:

Veri Tabanı Tasarım ve Yönetimi

Çek-Senet Modülü Dizayn. Dökümanı. Turquaz Muhasebe. Versiyon 0.2. Önsel Armağan. 15 Eylül 04

AYDES PROJESİ. ULUSAL ve ULUSLARARASI NAKDİ BAĞIŞ HİZMET GRUBU EĞİTİM DOKÜMANI

VET ON KULLANIM KLAVUZU

T.C. AFYON KOCATEPE ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ YÖNETİM KURULU KARARLARI

T.C. AFYON KOCATEPE ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ YÖNETİM KURULU KARARLARI

Aşağıdaki tabloyu inceleyin. Yeni kayıt girme, var olan bir kaydı silme veya güncelleme işlemlerini bu tabloya göre yapacağız.

Sorgu penceresine sorgu yazılır. Örnek olarak yazılan SELECT * FROM personel ifadesi, personel tablosundaki bütün kayıtların listelenmesini sağlar.

1 Temel Kavramlar. Veritabanı 1

Sayın Velimiz, 16/03/ Eğitim-Öğretim Yılı II. Yarıyıl Veli-Öğretmen görüşme gün ve saatleri aşağıda bilgilerinize sunulmuştur.

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

AYNİ BAĞIŞ HİZMET GRUBU EĞİTİM DOKÜMANI

1. Araçların tüm bilgilerini ve bağlı oldukları kiralama noktasının adres ve telefonunu içeren tam listesi:

Veri Tabanı, Veri Ambarı, Veri Madenciliği. Veri Madenciliği Uygulama Alanları

MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ

Transkript:

İşlevsel Bağımlılık R bir ilişki şeması, X ve Y nitelik kümeleri ise R nin alt kümeleri olsun (X R, Y R). Eğer X nitelik kümesinin değerleri Y nitelik kümesinin değerlerini belirliyorsa (X in her farklı değeri Y nin belirli bir değerine karşılık geliyorsa); Y niteliği X niteliğine işlevsel bağımlıdır denir ve X Y şeklinde gösterilir. X ten bir nitelik çıkarıldığı halde bu bağımlılık hâlâ geçerli ise kısmi bağımlılık (partial dependency) söz konusudur.

İşlevsel Bağımlılık DAĞITIM (müşteri_no, şehir_kodu, şehir_adı, gönderi_no, miktar) 1. müşteri_no şehir_kodu, şehir_adı 2. (müşteri_no, gönderi_no) miktar 3. şehir_kodu şehir_adı (geçişli bağımlılık) İlkinde anahtar alanı oluşturan niteliklerden 1 tanesi, iki farklı niteliği belirleyebiliyor (kısmi bağımlılık) Bir müşteriye birden fazla defa ürün gönderilebildiği için ikincisinde iki nitelik bir anahtar oluşturuyor. İlk ikisi anahtara göre bağımlı, üçüncüsü geçişli bağımlı (transitive dependent).

Normalleştirme Aşamaları Birinci Normal Form İkinci Normal Form Üçüncü Normal Form Boyce-Codd Normal Formu Dördüncü Normal Form

Normal Olmayan Form İlişkisel veri tabanı modelinin temel kuralına göre bütün niteliklerin aldığı değerler atomik (tek ve basit) olmalıdır. Aşağıdaki DAĞITIM tablosu bu kurala uymamaktadır, bu yüzden normal değildir. müşteri_no şehir_kodu şehir_adı gönderi_no miktar 1 34 İstanbul 1,2,3,4,6 300,200,400,200,100 2 6 Ankara 1,2 300,400 3 6 Ankara 2 200 4 34 İstanbul 2,4,5 200,300,400

Birinci Normal Form Uygulandığında: müşteri_no şehir_kodu şehir_adı gönderi_no miktar 1 34 İstanbul 1 300 1 34 İstanbul 2 200 1 34 İstanbul 3 400 1 34 İstanbul 4 200 1 34 İstanbul 6 100 2 6 Ankara 1 300 2 6 Ankara 2 400 3 6 Ankara 2 200 4 34 İstanbul 2 200 4 34 İstanbul 4 300 4 34 İstanbul 5 400

Birinci Normal Formun Sorunları Birinci normal formdaki bir tablo bazı alanlarda tekrarlı verilere sahiptir. Örneğimizde şehir_kodu ve şehir_adı alanlarında her müşteri için tekrarlı veriler vardır. Bu tekrarlar ekleme, silme ve güncelleme işlemlerinde sorunlara neden olacaktır.

Satır Ekleme Sorunu Başka bir müşterinin bilgilerinin (müşteri_no, şehir_kodu, şehir_adı) girilmesi için mutlaka o müşteriye bir dağıtım işleminin yapılması (gönderi_no ve miktar değerlerinin girilmiş olması) gerekiyor. müşteri_no şehir_kodu şehir_adı gönderi_no miktar 1 34 İstanbul 1 300 4 34 İstanbul 5 400 5 35 İzmir

Satır Silme Sorunu Bir müşteriye tek bir dağıtım yapıldıysa (örn. 3 no lu müşteri), o dağıtım işlemi iptal edildiğinde, sadece gönderi_no ve miktarı değil, o dağıtımın yapıldığı müşteri hakkındaki diğer bilgiler de (müşteri_no, şehir_kodu, şehir_adı) yok olur. müşteri_no şehir_kodu şehir_adı gönderi_no miktar 1 34 İstanbul 1 300 1 34 İstanbul 2 200 3 6 Ankara 2 200

Güncelleme Sorunu 1 numaralı müşteri Ankara ya taşınırsa, bu müşteri ile ilgili tüm satırların güncelleştirilmesi gerekecektir. Eğer tablo çok büyük ise, sadece bir müşteri ile ilgili küçük bir değişiklik bile binlerce kaydın güncelleştirilmesini gerektirebilir. müşteri_no şehir_kodu şehir_adı gönderi_no miktar 1 34 İstanbul 1 300 1 34 İstanbul 2 200 1 34 İstanbul 3 400 1 34 İstanbul 4 200

İkinci Normal Form Birinci normal formdaki sorunlardan (en azından güncelleme sorunundan) kurtulmak için nitelikler arasındaki işlevsel bağımlılıktan yararlanılarak birinci normal form (1NF) tablolarının birden fazla tabloya dönüştürülmesi sonucunda ikinci normal forma (2NF) ulaşılır. İkinci normal formda, ilişkisel tablonun her bir anahtar olmayan sütunu birincil anahtara kısmi bağımlı değil, tam işlevsel bağımlı olmalıdır.

İkinci Normal Form şehir_kodu ve şehir_adı nitelikleri (müşteri_no, gönderi_no) birleşik anahtarının sadece müşteri_no niteliği üzerinde tam işlevsel bağımlıdır. O halde şehir_kodu ve şehir_adı nitelikleri müşteri_no ile beraber ayrı bir tablo oluşturmalıdır. DAĞITIM(müşteri_no, şehir_kodu, şehir_adı, gönderi_no, miktar) MÜŞTERİLER(müşteri_no, şehir_kodu, şehir_adı) MİKTARLAR(müşteri_no, gönderi_no, miktar)

İkinci Normal Form Uygulandığında: müşteri_no şehir_kodu şehir_adı 1 34 İstanbul 2 6 Ankara 3 6 Ankara 4 34 İstanbul MÜŞTERİLER MİKTARLAR müşteri_no gönderi_no miktar 1 1 300 1 2 200 1 3 400 1 4 200 1 6 100 2 1 300 2 2 400 3 2 200 4 2 200 4 4 300 4 5 400

İkinci Normal Formun Sorunları Birinci normal formdaki güncelleme sorununu ikinci normal forma dönüştürme ile ortadan kaldırmış olsak ta, ikinci normal formda da ekleme ve silme sorunları olabilmektedir.

Satır Ekleme Sorunu MÜŞTERİLER tablosuna yeni bir müşteri kaydı girilmediği sürece yeni bir şehir tanımı yapılamaz. İzmir ilini tabloya dahil edebilmek için İzmir de bulunan bir müşteriye ihtiyaç vardır. müşteri_no şehir_kodu şehir_adı 1 34 İstanbul 2 6 Ankara 3 6 Ankara 4 34 İstanbul 35 İzmir

Satır Silme Sorunu Tablodan bir müşteri silindiğinde, eğer o şehirdeki tek müşteri ise, şehir_kodu ve şehir_adı bilgileri de yok olacaktır. müşteri_no şehir_kodu şehir_adı 1 34 İstanbul 2 6 Ankara 3 6 Ankara 4 34 İstanbul 5 35 İzmir

Üçüncü Normal Form Birinci normal formdaki sorunlardan kurtulmak için nitelikler arasındaki kısmi işlevsel bağımlılıkları ortadan kaldırmıştık. İkinci normal formdaki sorunlardan kurtulmak için de nitelikler arasındaki geçişli işlevsel bağımlılıkları ortadan kaldırmamız gerekir. Örneğimizde şehir_kodu şehir_adı işlevsel bağımlılığının geçişli olduğunu belirtmiştik (bak slayt 7). Bir anahtara bağlı olmayan bu bağımlılığı ayrı bir tabloya dönüştürerek üçüncü normal formu (3NF) elde edebiliriz.

Üçüncü Normal Form Uygulandığında: ŞEHİRLER şehir_kodu şehir_adı 6 Ankara 34 İstanbul 35 İzmir MÜŞTERİLER müşteri_no şehir_kodu 1 34 2 6 3 6 4 34 5 35 MİKTARLAR müşteri_no gönderi_no miktar 1 1 300 1 2 200 1 3 400 1 4 200 1 6 100 2 1 300 2 2 400 3 2 200 4 2 200 4 4 300 4 5 400

Boyce-Codd Normal Formu Her belirleyicinin bir anahtar oluşu halidir. Örnek olarak aşağıdaki ilişkiyi düşünelim: ÖĞRENCİ(ÖğrNo, Bölüm, Danışman) ÖĞRENCİ ÖğrNo Bölüm Danışman 123 Fizik A. ERCAN 123 Kimya M. AKINCI 456 Biyoloji K. SÖNMEZ 789 Fizik A. ERCAN 999 Kimya B. ÖZKAN

Boyce-Codd Normal Formu ÖğrNo Bölüm Danışman 123 Fizik A. ERCAN 123 Kimya M. AKINCI 456 Biyoloji K. SÖNMEZ 789 Fizik A. ERCAN 999 Kimya B. ÖZKAN 1NF? 2NF? 3NF? EVET (bütün niteliklerin aldığı değerler atomik) EVET (kısmi bağımlılık yok) EVET (geçişli bağımlılık yok)

Boyce-Codd Normal Formu ÖğrNo Bölüm Danışman 123 Fizik A. ERCAN 123 Kimya M. AKINCI 456 Biyoloji K. SÖNMEZ 789 Fizik A. ERCAN 999 Kimya B. ÖZKAN Her üç normal formu da sağlıyor. Sorun var mı? EVET 1. 456 numaralı öğrenci silinirse Biyoloji ve K.SÖNMEZ yok olacak 2. Bir öğrenci Matematik bölümüne kayıt olana kadar bu bölüm var olmayacak.

Çözüm: Belirleyicileri anahtar yap Birincil Anahtar: (ÖğrNo, Bölüm) Aday Anahtar: (ÖğrNo, Danışman) İşlevsel Bağımlılıklar: (ÖğrNo, Bölüm) Danışman Danışman Bölüm ÖğrNo Bölüm Danışman 123 Fizik A. ERCAN 123 Kimya M. AKINCI 456 Biyoloji K. SÖNMEZ 789 Fizik A. ERCAN 999 Kimya B. ÖZKAN Belirleyiciler

Boyce-Codd Normal Formu (BCNF) Uygulandığında: ÖĞRENCİ ÖğrNo Bölüm Danışman 123 Fizik A. ERCAN 123 Kimya M. AKINCI 456 Biyoloji K. SÖNMEZ 789 Fizik A. ERCAN 999 Kimya B. ÖZKAN ÖĞRENCİ_DANIŞMAN ÖğrNo Danışman 123 A. ERCAN 123 M. AKINCI 456 K. SÖNMEZ 789 A. ERCAN 999 B. ÖZKAN DANIŞMAN_BÖLÜM Danışman Bölüm A. ERCAN Fizik M. AKINCI Kimya K. SÖNMEZ Biyoloji B. ÖZKAN Kimya

Özet NF: Normal olmayan form 1NF: Bütün alan değerleri atomik ise R 1NF de 2NF: R 1NF de ise ve anahtar olmayan tüm nitelikler anahtara tam bağımlı ise R 2NF de 3NF: R 2NF de ise ve anahtar olmayan tüm nitelikler anahtara geçişsiz bağımlı ise R 3NF de BCNF: Her belirleyici bir aday anahtar ise R BCNF de Belirleyici: Başka bir niteliğin tam işlevsel bağımlı olduğu nitelik