Bütünlük kısıtlamları, Nitelikler Arası Bağımlılıklar ve NORMalizasyon

Slides:



Advertisements
Benzer bir sunumlar
Veri Tabanı Yapıları İçerik aşağıdaki Kitaptan alınmıştır.
Advertisements

Alakalı müşterileri hedefleyin. Google ile Yeniden Pazarlama Remarketing with Google. Target customers who are already showing interest in your business.
Sustainable Developement & International Perspective in School Bu proje T.C. Başbakanlık DPT AB Eğitim ve Gençlik Programları Merkezi Başkanlığı (
    SiMETRi SiMETRi.
VERİ TABANI YÖNETİMİ Ders 11: PL/SQL’e Giriş
İkili Ağaçlar İkili Arama Ağaçları
ERD to ER Relations Fundemantals of Database systems Elmasri, Navate kitabından alıntılar içerir Veri Tabanı Sistemleri Dersi Teoriden pratiğe , Çağıltay,
NORMALLEŞTİRME Normalleştirmenin amacı
İLİŞKİSEL VERİ MODELİ Tablolar ile Gösterim
Varlık-İlişki Modeli Örneği
İlişkisel Veri Modeli.
The Relational Algebra and Relational Calculus
Veri Tabanı Yönetim Sistemleri
Veritabanı Yönetim Sistemleri Hızlı ve Kısa Giriş
Kavramlar İlişki (Relation)
Atama ve eşleme (eşleştirme) problemleri (Matching and Assignment problems)
Mantıksal Tasarım Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü.
ER Şemaları Kullanılarak İlişkisel Veritabanının Tasarlanması
Online Learning Support Team
Veritabanı Tasarımı ve Yönetimi
Normalizasyon Bütünlük Kısıtları. (integrity constraints) Veritabanında yer alacak değerleri sınırlar. Nesne bütünlüğü: Her nesne “unique” olarak ifade.
S 2/e C D A Computer Systems Design and Architecture Second Edition© 2004 Prentice Hall Chapter 6 Overview Number Systems and Radix Conversion Fixed point.
The Relational Algebra and Relational Calculus
BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1
DEVRE TEOREMLERİ.
Bölüm 7: İlşikisel Veritabanı Tasarımı ve Normalizasyon
COMPANY Veritabanı Örneği (Gereksinimler)
Chapter 2: Relational Model Tablosal (İlişkisel) Model
COSTUMES KILIKLAR (KOSTÜMLER)
SERVING WATER TO A THIRSTY PERSON Bu Proje AB Tarafından Finanse edilmektedir. This Project is funded by European Union. Responsibility for the information.
Veri Yapıları ve Algoritmalar
BM-305 Mikrodenetleyiciler Güz 2015 (6. Sunu) (Yrd. Doç. Dr. Deniz Dal)
Database for APED Büşra Bilgili | Emirhan Aydoğan | Meryem Şentürk | M. Arda Aydın COMPE 341.
AVL Trees / Slide 1 Silme * Anahtar hedefi silmek için, x yaprağında buluruz ve sonra sileriz. * Dikkat edilmesi gereken iki durum vardır. (1) Hedef bazi.
Veri Madenciliği Birliktelik Analizi: Temel Kavramlar ve Algoritmalar
S ÜLEYMAN Ş AH ÜN İ VERS İ TES İ DERS KAYIT İŞ LEMLER İ / COURSE REGISTRATION PROCESS.
21/02/2016 A Place In My Heart Nana Mouskouri « Istanbul « (A Different Adaptation)
DÜŞÜN, HAYAL ET Imagine there’s no heaven,it’s easy if you try DÜŞÜN Kİ CENNET DİYE BİRŞEY YOK, BÖYLE DÜŞÜNMEYİ BİR DENE.
RELIGIOUS TRADITIONS BAGS TO DO IN YOUR CITY T.C. Ünye Kaymakamlığı ANAFARTA ORTAOKULU.
Environmental pollution Traffic Infrastructural problems Unconscious employee Urbanization and industrialization Lack of financial sources.
There was a man who was thinking of building an honourable structure that could last for milleniums and show the king’s power. So, he racked his brain.
AVRUPA BİRLİĞİ GUNDTVİG ÖĞRENME ORTAKLIĞI ‘ALTIN ÇOCUKLAR ALTIN EBEVEYNLER’ PROJESİ EUROPEAN UNION GRUNDTVIG LEARN PARTNERSHIP GOLDEN PARENTS FOR GOLDEN.
Nasa programs for students.
MUNZUR WATER Bu Proje AB Tarafından Finanse edilmektedir. This Project is funded by European Union. Responsibility for the information and views set out.
CHILD PORNOGRAPHY IŞIK ÜNİVERSİTESİ
İSTATİSTİK II Hipotez Testleri 1.
İSTATİSTİK-II Korelasyon ve Regresyon.
İleri Muhasebe ve Denetim Düzenleme Programı Modül 24: UFRS’lerin Bankacılık Sektöründe Kabul Edilmesi (Bölüm II) 2. Denetçi Perspektifi Reinhard Klemmer,
VERİ TABANI DERS NOTLARI
BİLİMSEL ÇALIŞMA BASAMAKLARI SCIENTIFIC WORKING STEPS MHD BASHAR ALREFAEI Y
Algoritmalar II Ders 17 İteratif İyileştirme Yöntemi.
Bölüm # 2 VERİ TABANI DERS NOTLARI Veri Tabanı Tasarımı
RA-Relational Algebra
Chapter 1 (Bölüm 1) The accounting equation(muhasebe denklemi) and the balance sheet(bilanço)
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
AE= COS (Phi_e) *Cos (Lambda_e)
Döngüler ve Shift Register
NİŞANTAŞI ÜNİVERSİTESİ
İSTATİSTİK II Hipotez Testleri 1.
MAKİNA TEORİSİ II GİRİŞ Prof.Dr. Fatih M. Botsalı.
Recursion (Özyineleme)
NİŞANTAŞI ÜNİVERSİTESİ
Relations between angles and sides.. Examples and meaning Larger angles longer side If two angles in a tringle have unequal measures then the sides opposite.
PREPARED BY: 9-B STUDENTS. Sumerians, who laid the foundations of great civilizations and the world cultural heritage, emerged to the st The Sumerians.
DÜZLEMSEL MEKANİZMALARIN
AE= COS (Phi_e) *Cos (Lambda_e)
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-3-DDL
People with an entrepreneurial mindset are always brave.
NİŞANTAŞI ÜNİVERSİTESİ
Examples: In the Figure, the three points and coordinates are given that is obtained with CAD program. If these three points are represented by the curve.
Sunum transkripti:

Bütünlük kısıtlamları, Nitelikler Arası Bağımlılıklar ve NORMalizasyon Veri tabanı,2009 Bütünlük kısıtlamları, Nitelikler Arası Bağımlılıklar ve NORMalizasyon Kaynaklar (türkçe, ing.): Prof. Dr. Ünal Yarımağan, Veri Tabanı Sistemleri Elmasri, Navathe, Fund. of Database Systems, 5th ed., Addison Wesley

Veri tabanı,2009 Gİrİş Bazı niteliklerin birbirinden bağımsız olmaması neticesinde, birbirinden bağımsız belirlenememesinden kaynaklanan kısıtlamalardır. Bir ilişki tablosunda bağımlılıkların en az olması istenir. Çünkü, ona göre daha az denetim yapılacaktır. Konu Başlıkları: Aykırılıklar (anomalies.) İşlevsel Bağımlılık (Kısmi, tam, önemli, önemsiz, geçişli bağımlılık) İşevsel Bağımlılık Kümesinin Kapanışı, Armstrong Aksiyomları, Kanonik Örtü, Artıklık Normalizasyon (1NF,2NF,3NF,BCNF) Ayrıştırma Algoritmaları

Guidelines to “good” relation schemas Veri tabanı,2009 "good" relation schemas depends on the grouping of attributes Some guidelines: Attributes of different entities (EMPLOYEEs, DEPARTMENTs, PROJECTs) should not be mixed in the same relation. Only foreign keys should be used to refer to other entities. Entity and relationship attributes should be kept apart as much as possible. Information should not be stored redundantly Wastes storage Causes problems with update anomalies Insertion anomalies Deletion anomalies Modification anomalies Relations should be designed such that their tuples will have as few NULL values as possible. Attributes that are NULL frequently could be placed in separate relations (with the primary key)

Anamolies in schemas EMP_PROJ(Emp#, Proj#, Ename, Pname, No_hours) Veri tabanı,2009 EMP_PROJ(Emp#, Proj#, Ename, Pname, No_hours) Update Anomaly: Changing the name of project number P1 from “Billing” to “Customer-Accounting” may cause this update to be made for all 100 employees working on project P1. Insert Anomaly: Cannot insert a project unless an employee is assigned to it. Conversely, cannot insert an employee unless a he/she is assigned to a project. Delete Anomaly: When a project is deleted, it will result in deleting all the employees who work on that project. Alternately, if an employee is the sole employee on a project, deleting that employee would result in deleting the corresponding project.

Veri tabanı,2009 İşlevsel Bağımlılık R ilşkisine ait şemada, X ve Y bütün niteliklerin (R)’nin alt kümeleri olsun. Yukarıdaki ifade, XY olması için gerekli olan koşuludur. XY, “X niteliği Y’yi belirler” demektir. TAŞIT (PLAKA_NO, MARKA, MODEL, YIL, AĞIRLIK,RENK) PLAKA_NO  MARKA, MODEL, YIL, AĞIRLIK,RENK MARKA, MODEL  AĞIRLIK Kavramsal seviyede tanımlanan bir bağımlılık bütün olgular için sağlanmalıdır.

ÖRNek A B C D 1 X E 2 Y 3 4 Olgu seviyesindeki bağımlılık örnekleri: Veri tabanı,2009 ÖRNek A B C D 1 X E 2 Y 3 4 Olgu seviyesindeki bağımlılık örnekleri: D  C AB  CD AC  BD AD  BC BC  D

İşlevsel Bağımlılık türlerİ Veri tabanı,2009 f: XA için; Eğer X’in en az bir özalt kümesi A’yı belirliyorsa, f kısmi ‘dir. Eğer X’in hiç bir özalt kümesi A’yı belirlemiyorsa, f tam ‘dir. Eğer A, X’in bir alt kümesi ise, f önemsizdir. Eğer A, X’in bir alt kümesi değil ise, f önemlidir. Eğer AB ise XB geçişli ‘dir. En değerli, en çok bilgi taşıyan bağımlılıklar: önemli, tam ve geçişli olmayanlardır. ÖRNEK: R( ÖNO,ÖADI, BNO, BADI,FAKNO, DKODU, DADI, KRD, NOTU) BNO,BADI,FAKNO  BNO,FAKNO önemsiz.. ÖNO, DKODU  NOTU önemli, tam ÖNO, DKODU,DADI  NOTU kısmi BNO  FAKNO tam ÖNO  FAKNO geçişli

İşlevsel bağımlılık türetme Veri tabanı,2009 İşlevsel bağımlılık türetme Armstrong Aksiyomları, Dönüşlülük: Arttırma: Geçişlilik: Birleşim: Ayrıştırma: Sözde geçişlilik: R(A,B,C,D,E,G) F: A  BD BC  EG D  E ise; DG  E ? A  E ? A  ABD ? A  B ve A D AC  EG

İşlevsel bağımlılık kümesinin kapanışı, F+ Veri tabanı,2009 R nitelik kümesi üzerinde F: işlevsel bağımlılık kümesi olsun. R’deki tüm önemsiz işlevsel bağımlılıklar F’den türetilecek tüm kısmi ve geçişli bağımlılıkları içeren işlevsel bağımlılık kümesine F’in kapanışı (closure) F+ denir. (Örnek için Bkz. Örnek 4.7) R nitelik kümesi üzerinde F işl.bağ. kümesi olsun. X, R’nin alt kümesi olmak üzere X’in kapanışı X+, X’in belirlediği niteliklerin tümüdür. X+, hesaplama algoritması: T={X} F’deki her WZ için; eğer T değiştiği sürece 2. adımı tekrarla.. Sonuçta X+ =T olarak bulunur.

örnek R ( A, B, C, D,E,G) A+ = R B+ = B C+ = C D+ = D A  BCDE E+ = E Veri tabanı,2009 örnek A+ = R B+ = B C+ = C D+ = D E+ = E G+ = BDG (AB)+ = ? (BC)+ = ? (CG)+ = ? (CDE)+= ? (DEG)+ =? (BCDE)+=? R ( A, B, C, D,E,G) A  BCDE G  BD BC  E CG  A BDE ACG

Kanonik örtü, Fc Veri tabanı,2009 F işlevsel bağımlılık kümesine eş olup en az işlevsel bağımlılık içeren kümeye kanonik örtü, Fc denir. Böylece Fc ‘de önemsiz, kısmi ve geçişli bağımlılıklar olmamalı. F= Fc olması: F’deki işl. bağ. , Fc’den türetilebilir. Fc’deki işl. bağ. ,F’den türetilebilir. Fc Kanonik örtünün sağlaması gereken 4 koşul: (canonical form) İşl.bağ. sol tarafları birbirinden farklı olmalı. (Artık işl. Bağımlılık içermemeli.) İşl.bağ. sol tarafında artık nitelik olmamalı. İşl.bağ. sağ tarafında artık nitelik olmamalı. Örnek: R(A,B,C,D), F: BC CA BC A B A Fc= BC CA

Example (from elmasri, navathe) Let the given set of FDs be E : {B → A, D → A, AB → D}. Find the minimum cover of E=Ec. 1.) First canonical form is satisfied. (all left sides are different.) 2-1 ve 2-2) Any redundant attribute on the left/right hand side? Can AB → D be replace with AD or BD? BA, BAB, ABD  BD is valid. AB → D can be replaced with BD. E= {B → A, D → A, B → D}. 4.)Lastly, check any redundant dependency? BD, DA BA is valid. Thus BA is redundant. Therefore, Ec={D → A, B → D}.

Artık bağımlılık Veri tabanı,2009 f, F-{f}’deki işl.bağ. lardan türetilebiliryorsa, f artık bağımlılıktır. Artıklık algoritması: ((f: XY)’nin F’de artık olup/olmamasının bulunması) T={X} F-{f}’teki her WZ için; eğer T değiştiği sürece 2. adımı tekrarla.. Sonuçta eğer ise f:XY , F’de artıktır. 2 nokta önemli: f: XY ‘de Y tek değilse, ayrıştırıp her bir X.. İçin artıklık kontrolü yapılmali. Bütün artık olan bağımlıılkları bulurken, her bulunan artık bağımlılığı F’den çıkarıp o şekilde devam etmeliyiz, yoksa hatalı olur.

ÖRNEK: R(A,B,C,D,E,G) F: ABCDE G  BD BC  E CG A BDE  ACG Veri tabanı,2009 R(A,B,C,D,E,G) F: ABCDE G  BD BC  E CG A BDE  ACG Fc: ABDE G  BD BC  E BDE  ACG   AB AC AD AE GB GD BC E CG A BDE  A BDE  C BDE  G

Super anahtar, anahtar R nitelik kümesi üzerinde Veri tabanı,2009 Super anahtar, anahtar R nitelik kümesi üzerinde K, nitelik alt kümesinin kapanışı R’ye eşitse (K+=R ise), K, super anahtardır. K, super anahtar ve K’nin hiçbir alt kümesi R’deki tüm nitelikleri belirlemiyorsa, K (aday) anahtardır. Örnek: R(A,B,C,D,E) ilişki şeması için F= { AC, BD, DAE, CEB} ise R’nin aday anahtarlarını belirleyiniz? A+ ? B+  ? C+? D ? AB  ? AC  ? AD  ? AE ? BC ? BD ? BE  ? CD ? CE? ...... TANIM: İlişkinin anahtarlarının en az birinde yer alan niteliklere ASAL; hiç birinde yer almayanlara ise ASAL OLMAYAN nitelik denir.

Normalizasyon Bir R, ilişki tablosunda Veri tabanı,2009 Normalizasyon Bir R, ilişki tablosunda Tüm niteliklerin değer alanları yalın(atomic) ise R, 1NF’dir. (Bu zaten RM’de relation(table) tanımı..) Asal olmayan tüm nitelikler, tüm anahtarlara tam işlevsel bağımlı ise R, 2NF’dir. Asal olmayan tüm nitelikler, tüm anahtarlara geçişli bağımlı değil ise R, 3NF’dir. (Asal olmayan nitelikler birbirinden bağımsız olmalı...) R’de tüm belirleyenler, ilişkinin anahtarı ise R, BCNF’dir. (asal nitelikler ile ilgili bir kısıtlama getiriyor!!)

ÖrnekLER: ÖĞRENCİ (ÖNO, ÖADI,DERS(DADI,NOTU)) 1nf değil Veri tabanı,2009 ÖrnekLER: ÖĞRENCİ (ÖNO, ÖADI,DERS(DADI,NOTU)) 1nf değil ÖĞRENCİ (ÖNO, ÖADI,DADI,NOTU) 1nf SATICI (ÜKODU,FNO,FADI,FADRESİ,SFİYATI) FNO  FADI, FADRESİ 2nf değil TAŞIT (PLAKANO,MARKA,MODEL,YIL,AĞIRLIK,RENK) PLAKANO  TAŞIT talosu MARKA, MODEL  AĞIRLIK O zaman TAŞIT, 2nf fakat; 3nf değil.. R(A,B,C,D,E) için F= { AC, BD, DAE, CEB} ise anahtarlar: B, D, AE, CE oluyor... 3nf sağlıyor. A  C; fakat A anahtar değil  BCNF değil..

ÖRNEKLER ÖĞRDERS (ÖĞRNO,DKODU,DADI,NOTU) Veri tabanı,2009 ÖRNEKLER ÖĞRDERS (ÖĞRNO,DKODU,DADI,NOTU) DADI DKODU DKODU DADI DKODU, ÖĞRNO  NOTU DADI , ÖĞRNO  NOTU DKODU ÖĞRNO DADI NOTU ÖĞRDERS, 3 nf olup bcnf değildir.. ANAHTAR NEDİR? KURS (ÖĞRNO,DKODU,ÖĞRETMEN,NOTU) KURS, 2 nf değildir.. ÖĞRETMEN DKODU DKODU, ÖĞRNO  NOTU ÖĞRNO NOTU DKODU ÖĞRETMEN ANAHTAR NEDİR?

ÖRNEKLER (ELMASRI/NAVATHE)

ÖRNEKLER (ELMASRI/NAVATHE)

ÖRNEKLER (ELMASRI/NAVATHE)

ÖRNEKLER (ELMASRI/NAVATHE) Anadolu yakası arsaları 100,200,300,....900.m2 Avrupa Yakası arsaları: 250,550,850,1150..m2 olsun... AREA  COUNTY_NAME

İlişkilerin ayrıştırılması Veri tabanı,2009 R nitelik kümesi üzerinde F: işlevsel bağımlılık kümesi olsun. r, R’de bir durum (state) olmak üzere; {R1, R2, .......Rn}’nin, R’nin doğru bir ayrıştırması olması için; R’nin herbir niteliği en az bir Ri’de bulunmalı. Ayrıştırma yitimsiz olmalı (lossless-join) Olabilecek her r tablo olgusunun Ri’lere göre izdüşümlerinin doğal birleşimi (natural join) r’ye eşit olmalıdır. Buna göre, Olgu seviyesinde yitimsiz olması, ayrışmanın kavramsal olarak yitimsiz olmasını gerektirmiyor. Çünkü bazı olgular için yitimsiz ayrışırken; aynı fonk. bağ. Kümesi ve parçalanma için başka olgularda yitimli olabilyor. Ayrıştırma işlevsel bağımlılıkları korumalıdır. 2. madde mutlaka sağlanması gerekirken, 3. madde her zaman mümkün olmamaktadır. Örnek: R(A,B,C) için F= {AB, C  B} olsun. R1 (A,B) ve R2(B,C) parçalaması için aşağıdaki olguya bakalım: A B C a1 b1 c1 c2 a2 b2 c3 c4 a3 a4 A B C a1 b1 c1 a2 b2 c3 a3 c2 a4 c4 A B a1 b1 a2 b2 a3 a4 B C b1 c1 b2 c3 c2 c4

ikili ayrıştırılmada yitimsizlik koşulu Veri tabanı,2009 ikili ayrıştırılmada yitimsizlik koşulu R’nin {R1,R2} ikili ayrıştırılması için yitimsizlik koşulları şöyledir: R1 ve R2’de ortak nitelik(ler) bulunmalıdır. R1 ve R2’deki ortak nitelik(ler), R1 ve R2’den en az birinin anahtarı olmaldır. Örnek: R(A,B,C) için F= {AB, C  B} olsun. R1 (A,B) ve R2(B,C) parçalamasında ortak nitelik B, herhangib ir tablonun anahtarı değil. Bu yüzden ayrıştırma yitimsiz değil. Örnek: R(A,B,C,D,E) için F= {ABC, D  B, E  A, CD  E} olsun. R’nin anahtar kümesini belirleyin. R1(A,B,C) ve R2(A,D,E) ayrıştırması için ne söylenebilir?

Veri tabanı,2009 R’nin {R1,R2,...Rk} şeklinde çok ilişkiye ayrıştırmada yitimsizlik sınaması (Bkz. Sf:88,89)

İşlevsel bağımlılıkların korunması algoritması Veri tabanı,2009 İşlevsel bağımlılıkların korunması algoritması Bkz. Sf:90, ve Örnek4.17

Veri tabanı,2009 BCNF ayrıştırması R nitelik kümesi üzerinde F: işlevsel bağımlılık kümesi olsun. R, BCNF değilse ayrıştırma aşağıdaki gibidir: R1=R, k=1, T={R} F+’yı hesapla T’de BCNF olmayan her Ri için, F+’da bağımlılıklardan Ri’de tanımlı, önemli her XY bağımlılığı için Eğer X Ri’nin anahtarı değilse: Ri’den Y’deki nitelikleri çıkar, k++, T’ye Rk(X,Y) ilişki şeması ekle. T’deki tüm ilşkiler BCNF oluncaya kadar 3.adımı tekrar et. Örnek için Bkz. 4.18 ve 4.19 Birden çok farklı BCNF ayrıştırması mümkündür. BCNF ayrıştırmaların hepsi yitimsizdir, fakat bazı ayrıştırmalar işl. bağımlılıkları korumayabilir.

Veri tabanı,2009 3NF ayrıştırması R nitelik kümesi üzerinde F: işlevsel bağımlılık kümesi olsun. R, 1NF ve 2NF fakat 3NF değilse ayrıştırma aşağıdaki gibidir: k=1, T={} Fc’yı hesapla Fc’de her XY bağımlılığı için eğer T’deki Ri ilişkilerinden hiçbiri XY niteliklerini içermiyorsa; k++, T’ye Rk(X,Y) ilişkisini ekle. Sonuçta eğer T’deki Ri ilişkilerinden hiçbiri, R’nin anahtarlarından hiçbirini içermiyorsa; k++, T’ye Rk(K) ilişkisini ekle (K, R’nin anahtarlarından biri) Örnek için Bkz. 4.20 Her Fc için tek bir ayrıştırma mümkündür. 3NF ayrıştırma ile her zaman, yitimsiz ve işl. bağımlılıkları koruyan ayrıştırmalar mümkündür.