VERİTABANI Veritabanı Normalizasyonu

Benzer belgeler
VERİTABANI Veritabanı Tasarımı

Veri Tabanı Hafta Dersi

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

İLİŞKİSEL VERİTABANLARI

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

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

Veritabanı ve Yönetim Sistemleri

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

VERİTABANI Veritabanı Yönetimi

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

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

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

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

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

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

ICATT ÇEVİRİ UYGULAMASI SİSTEM MİMARİSİ VE VERİTABANI TASARIMI

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

VET ON KULLANIM KLAVUZU

BTP 209 SİSTEM ANALİZİ VE TASARIMI

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

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

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

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

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

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

SORGULAR VE ÇEŞİTLERİ II

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

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

VERİ TABANI ve YÖNETİMİ

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

BAŞVURU SAHİBİ GERÇEK PAYDAŞ İŞLEMLERİ

3. Hafta Tablo İşlemleri BPR255 Veritabanı Yönetim. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri

Veri Tabanı-I 4.Hafta

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

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

Veri Tabanı Hafta Dersi

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

SQL Komutları (2) Uzm. Murat YAZICI

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

KISITLAMALAR (CONSTRAINT)

VERİTABANI ORGANİZASYONU

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

BAŞVURU SAHİBİ KAYIT İŞLEMLERİ

SQL e Giriş. Uzm. Murat YAZICI

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

Tablolar Arası İlşikiler ve Alan Özellikleri. Şekil 1. Magaza veritabanının tabloları ve tablolar arasındaki ilişkiler

Klinik veya poliklinik defterinde ilgili hasta bilgileri ekrandayken alt butonlardan Reçete butonuna basarak reçete formuna erişin.

1 Temel Kavramlar. Veritabanı 1


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

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

UZAKTAN EĞİTİM MERKEZİ

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

BAŞVURU SAHİBİ KAYIT İŞLEMLERİ

MS Access. üzerinde. defa çalıştırıldığında

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

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

VERİ TABANI YÖNETİM SİSTEMLERİ I. 4. VERİ TABANI TASARIMI ve NORMALİZASYONU

TAPU VE KADASTRO BİLGİ SİSTEMİ

BAĞIMSIZ DEĞERLENDİRİCİ KAYIT İŞLEMLERİ

AGSoft Çocuk Gelişim Takip Programı Kullanım Kılavuzu

Birim EBYS Sorumlularının Yapması Gerekenler 2014

ARLAB ARaştırma LABoratuvar Projesi Kullanım Kılavuzu

İl ve İlçe Milli Eğitim Müdürlüğü İşlemleri YÖNETİCİ MODÜLÜ Bölüm - 01

TAPU VE KADASTRO BİLGİ SİSTEMİ

BAĞIMSIZ DEĞERLENDİRİCİ KAYIT İŞLEMLERİ KALKINMA AJANSLARI YÖNETİM SİSTEMİ PROJESİ

ÖNEMLİ NOTLAR (OKUMADAN DEVAM ETMEYİNİZ)

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İ

Veri tabanı içinde bulunan tablolardakibazı sütunlarda bulunan bilgilerin, herkes tarafından görülmesi istenmeyebilir.

KBS TAŞINIR KAYIT VE YÖNETİM SİSTEMİ ONAYLI TİF/BAĞLI TİF/ZİMMET FİŞİ DÜZELTME VE SİLME İŞLEMLERİ KILAVUZU

Ekle sekmesindeki Tablolar grubundaki Tablo seçeneği ile tablo oluşturulur.

Microsoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access

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

4447 Sayılı Kanunun Geçici 10.Maddesi Sigortalı Giriş Uygulaması Kullanım Kılavuzu

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

Veritabanı ve Yönetim Sistemleri

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

Fiyat Farkı Faturası

T.C. SAĞLIK BAKANLIĞI Sağlık Hizmetleri Genel Müdürlüğü. Hasta Hakları ve Tıbbi Sosyal Hizmetler Daire Başkanlığı

10-Veri Tabanları.

KULLANIM KILAVUZU. Reserve Online Reservation Systems

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

Fiziki Varlık Yönetimi Yakıt Kontrol Modülü Kullanıcı Kitabı

SORGULAR. Öğr.Gör.Volkan Altıntaş

GIDA İŞLETMELERİNİN MODERNİZASYON VERİ GİRİŞ İŞLEMLERİ

e KAYIT UYGULAMASI KILAVUZU

VERİ TABANI YÖNETİM SİSTEMLERİ II. 7. FORMLAR ve ACCESS PROGRAMINDA FORM OLUŞTURMA

Turkcell Hizmetleri Logo Ocak 2016

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.

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

Tekrar. Veritabanı 2

DESTEK DOKÜMANI. Hızlı üretim işlemleri için öncelikle mamul kartında bulunan Mamul Alt Malzemeleri penceresine aşağıdaki bilgiler girilmelidir.

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

verileceğinden reçete silinmesi durumunda ilaca ait tüm bilgilerinde kaybolacağı unutulmamalıdır.

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

KATEGORİ MİZANI BAŞLARKEN KATEGORİ NEDİR? NEDEN N İHTİYAÇ DUYULUR?

Ücret Bütçe Simülasyonu

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

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

Ses Dosyaları. Bilge kunduz ses dosyalarını ayırt edebilmek için ses dosyalarına en kısa nasıl bir ad vermelidir?

Transkript:

VERİTABANI Veritabanı Normalizasyonu

NORMALİZASYON NEDİR? Normalizasyon kısaca veritabanında bulunan verileri düzenleme süreci olarak ifade edilebilir. Normalizasyon sürecinde veritabanlarında çok fazla sütun ve satırdan oluşan tablolar, veri tekrarlarının ve veri tutarsızlıklarının engellenmesi için dahaazsatır ve sütun içeren tablolara bölünmektedir. Bu tablolar belirli kurallara göre oluşturulmaktadır. Bu kurallara normalizasyon kuralları adı verilir. Her kural normalizasyon işleminin bir aşamasını belirtmektedir. Bu aşamalar normal form olarak tanımlanır.

Normalizasyon için birçok kural geliştirilmiştir. İlk üç kural E.F. Codd tarafından 1970 yılında oluşturulmuştur. Bundan sonra E.F. Codd ile Boyce birlikte Boyce-Codd normal formu geliştirmiştir. Bu kuralları zamanla dördüncü ve beşinci normal formların oluşturulması izlemiştir. Normalizasyonun amacı veri tekrarını en aza indirirek, veri fazlalığını ve veri turtarsızlığını önlemektir. Veri tekrarı veritabanı performansını etkilediği gibi gereksiz yere hafızada yer kullanılmasına, tutarsız verilerin depolanmasına neden olur. Birden fazla yerde veri tutulması ekleme, silme ve güncelleme gibi işlemlerin yapılmasını da zorlaştırır. Çünkü veri birçok yerde tutuluyor ise tüm veriler aynı şekilde eklenmeli, silinmeli ve güncelleştirilmelidir. Uygun biçimde normalize edilmiş bir veritabanında veri eklemek, silmek ve güncellemek çok daha hızlı ve kolay olur.

NORMALİZASYONUN AVANTAJLARI Veri yapısını düzenler. Veri bütünlüğünü sağlar. Veri tekrarını önler. Verilerin anlaşılabilirliği artar. Veritabanı performansını artırır.

1. NORMALİZASYON KURALI (BİRİNCİ NORMAL FORM) Tabloda bulunan her satırdaki her alanda sadece tek bir veri bulunması kuralıdır. Tek bir alanda birden çok veri tutmak veritabanı performansını düşürmekte ve verilerin sorgulanması, eklenmesi, güncellenmesi gibi işlemlerin yapılabilmesi için ek işlemler gerektirmektedir. Örneğin; öğrenci tablosunda tek bir satırda öğrencinin aldığı tüm dersleri belirtilirse bu kurala uyulmamış olur. Matematik dersine kayıtlı öğrencileri sorgulamak için önce ders alanında bulunan verilerin ayrıştırılması gerekmektedir. Bu da sorunlara neden olmaktadır. Bu nedenle tablonun birinci normal forma göre düzenlenmesi gerekmektedir.

1. NORMALİZASYON KURALI (BİRİNCİ NORMAL FORM) Birinci normalizasyon kuralının uygulanması tabloda da görüleceği gibi verileri ayrıştırırken veri tekrarına neden olmaktadır. Bu tabloda "Öğrenci No", "Adı", "Soyadı" alanlarında her öğrenci için tekrar eden kayıtlar bulunmaktadır. Bu tekrarlar tabloya satır eklemede, silmede ve güncellemede sorunlara neden olmaktadır.

Satır Ekleme Sorunu Tabloya bir satır eklerken mutlaka tüm verilere gereksinim duyulmaktadır. Örneğin öğrenci tablosuna bir öğrenci eklemek için "Ders" alanının da girilmesi gereklidir.

Satır Silme Sorunu Tablodan herhangi bir veri silinmesi için tüm satırın silinmesi gerekmektedir. Bu durum o satırdaki tüm verilerin silinmesine neden olacaktır. Örneğin öğrenci tablosundan bir öğrencinin ders kaydının silinmesi sonucunda o öğrenci ile ilgili diğer bilgiler de silinecektir.

Satır Güncelleme Sorunu Tabloda bulunan bir satırdaki tek bir alanın güncellenmesi için aynı veriye sahip diğer satırlardaki alanların da güncellenmesi gerekmektedir. Örneğin öğrenci tablosunda bir öğrencinin "Soyadı" alanı güncelleştirilmek istendiğinde tüm satırlardaki aynı öğrenciyle ilgili soyad verisi güncellenmelidir.

2. NORMALİZASYON KURALI (İKİNCİ NORMAL FORM) Birinci normal formda geçerli olan kurallar ikinci normal formda da geçerlidir. İkinci normal formda olan tüm veritabanı tasarımları, birinci normal forma dauymaktadır. Bir tabloda anahtar alan olmayan tüm alanların anahtar alana bağlı olması gerekmektedir. Anahtar alan ile diğer alanlar arasında kısmi bir bağımlılık değil tam bir bağımlılık bulunmaktadır. Alanlar arasındaki bağımlılıktan yararlanarak birinci normal formdaki tablolar, birden fazla tabloya dönüştürülerek ikinci normal forma ulaşılır. İkinci normal form, verilerin hafızada daha az yer kaplamasını sağlamak amacı ile geliştirilmiştir. Örneğin Eskişehir iline ait plaka numarası, ilçe ve beldeleri içeren bir tablo oluşturacak olursak, "Plaka", "İl", "İlçe No", "İlçe", "Belde No" ve "Belde" alanlarından oluşacaktır.

2. NORMALİZASYON KURALI (İKİNCİ NORMAL FORM)

Eskişehir iline ait plaka numarasını, ilçe ve beldelerini gösteren tablo birinci normal formda bir tablodur. Ancak tablo il, ilçe ve belde tablolarına bölünerek ikincil forma ulaşılabilir. Öncelikle il tablosu oluşturulur. İl tablosu "Plaka No" ve "İl Adı" alanlarını içerir. "Plaka No" alanı her şehir için farklı olacağı için eşsiz bir değere sahiptir ve birincil anahtar olarak tanımlanabilir.

İl tablosu oluşturulduktan sonra ilçe tablosu oluşturulur. Ancak ilçelerin il ile bağlantılı olması için ilçe tablosuna da "Plaka No" alanı eklenmelidir. İlçe tablosu "İlçe No", "Plaka No" ve "İlçe Adı" alanlarını içerir.

Beldeler, ilçeler ile bağıntılıdır. Bu nedenle belde tablosu oluşturulurken "İlçe No" alanı belde tablosuna eklenecektir ve tablo "İlçe No", "Belde No" ve "Belde Adı" alanlarından oluşacaktır.

Birinci normal formda tekrarlayan kayıtlar içeren ve birbirleriyle doğrudan bağımlı olmayan alanlar ayrılarak tablo, ikinci normal forma dönüştürülmüştür. İkinci normal formda birinci normal formda olan güncelleme sorunu ortadan kalkmasına karşın, satır ekleme ve silme sorunları devam etmektedir.

Satır Ekleme Sorunu Örneğin ilçe tablosuna yeni bir ilçe eklenebilmesi için il plaka numarasının da girilmesi gerekmektedir.

Satır Silme Sorunu Örneğin ilçe tablosunda bir ilçe silindiğinde il plaka numarasında silinmesi gerekmektedir.

3. NORMALİZASYON KURALI (ÜÇÜNCÜ NORMAL FORM) Üçüncü normal forma göre bir tablo içinde anahtar olmayan bir alan, anahtar olmayan diğer bir alan ile bağlantılı olamaz. Örneğin "Öğrenci No", "Adı" ve "Soyadı" alanlarından oluşan bir öğrenci tablosunda, öğrencilerin cinsiyet bilgilerinin de yer alması istenilebilir. Böyle bir durumda tabloya cinsiyet alanı eklenip erkekler için "E" kadınlar için "K" değerleri girilebilir. Ancak bu şekilde oluşturulacak tablo, üçüncü normal forma uymayacaktır. Üçüncü normal forma uyması için yeni bir cinsiyet tablosu oluşturup cinsiyet bilgilerini bu tablo ile ilişkilendirmek gerekmektedir.

3. NORMALİZASYON KURALI (ÜÇÜNCÜ NORMAL FORM)

4. NORMALİZASYON KURALI (DÖRDÜNCÜ NORMAL FORM) Dördüncü normal forma göre bir tablo içinde anahtar alanlar ile anahtarı olmayan alanlar arasında bire çok ilişki olamaz. Dördüncü normal formda olan tüm veritabanı tasarımları üçüncü normal forma da uymaktadır. Örneğin öğrencinin aldığı ders ve bildiği yabancı dil bilgilerini içeren tabloyu inceleyecek olursak; tabloda görüldüğü gibi ders ve yabancı dil bilgileri alanlarında boş kayıtlar oluşmaktadır.

Eğer boş kayıtlar yerine ders kaydının bulunduğu satıra yabancı dil bilgisi girilir ise bu sefer de tabloda görüldüğü gibi ders veya yabancı dil verisi kadar kayıt oluşturulması gerekecek ve bu durum veri tekrarına neden olacaktır.

Örneğin Ayşe Mutlu adlı öğrenci iki ders almakta ve bir tane de yabancı dil bilmektedir. Tabloda her ders kaydının olduğu satıra ayrıca yabancı dil bilgisi eklenmelidir. Oluşan tablo dördüncü normal forma göre düzenlenecek olursa, ders ve yabancı dil olarak iki tabloya bölünmelidir. Ders tablosu "Öğrenci No", "Adı", "Soyadı" ve "Ders" alanlarından, yabancı dil tablosu ise "Öğrenci No", "Adı", "Soyadı" ve "Yabancı Dil" alanlarından oluşacaktır.

5. NORMALİZASYON KURALI (BEŞİNCİ NORMAL FORM) Veritabanında bulunan tablolarda veri tekrarlarını ortadan kaldırmak amacı ile uygulanmaktadır. Dördüncü normal formda kaldırılamayan veri tekrarlarını ortadan kaldırmak için beşinci normalizasyon kuralı uygulanır. Beşinci normalizasyon kuralında tablo mümkün oldukça küçük parçalara bölünerek veri tekrarı ortadan kaldırır. Örneğin belirli firmaların ürünlerini satan bayileri ve bilgilerini gösteren tabloyu inceleyecek olursak. Bayiler birden çok firmanın birden çok ürününü satmaktadır. Bayilerin iki farklı firmanın ürettiği iki ayrı ürünü sattığını düşünürsek, oluşturulacak tablo;

Ancak bu şekilde oluşturulan tabloda "Firma 1" in "Ürün 1" i "Firma2" nin ise "Ürün2" yi ürettiği, "Bayii" ve "Bayi2" nin de sadece birer ürün satmakta olduğu görülmektedir. Bu şekilde oluşturulan tabloda gerekli veriler eksik kalmaktadır. Tabloyu genişletecek olursak;

Bu şekilde oluşan tablo bayiler ile ilgili tüm verileri içermekte ama veri tekrarı oluşmaktadır. Beşinci normal forma dönüştürmek için bu tablo üç tabloya bölünmelidir. Bölünen üç tabloda hem hangi bayinin hangi firmalar ile bağlantılı olduğunu, hem de hangi ürünleri sattığını ve hangi firmaların da hangi ürünleri ürettiğini gösterebilmekteyiz. Bu şekilde oluşturulan tablo beşinci normal forma uymaktadır.

BOYCE-CODD NORMAL FORMU Boyce-Codd normal form 1974'te Edgar Frank Codd ve Raymond Boyce tarafından geliştirilmiştir. Geliştirilen bu form yapısında amaç ilişkisel veritabanında oluşabilecek mantıksal hataları engellemektir. Boyce- Codd normal form yapısında, veritabanları birinci, ikinci ve üçüncü normal forma da uymak zorundadır. Bu formda belirleyici tüm alanların anahtar alan olması gerekmektedir. Örneğin öğrenci, bölüm ve danışman arasındaki ilişkiyi incelersek, oluşturulacak tablo "Öğrenci No", "Adı", "Soyadı", "Bölüm" ve "Danışman" alanlarını içerecektir.

Her bir satırdaki her alan sadece tek bir veri içermektedir. Bu nedenle birinci normal forma uymaktadır. Anahtar alan olmayan tüm alanlar anahtar alana bağlanmaktadır. Kısmi bir bağımlılık içermemektedir. Bu nedenle ikinci normal forma uymaktadır. Anahtar olmayan bir alan anahtar olmayan diğer bir alan ile bağlantılı değildir. Bu nedenle üçüncü normal forma uymaktadır.

Tablo üç normal formada uymaktadır ancak tabloda örneğin Ayça Yılmaz silindiği takdirde "Bölüm3" bilgileri de silinecektir. "Bölüm3" 'e yeni bir öğrenci kayıt olana kadar veritabanında "Bölüm3" kayıtlı olmayacaktır. Bu nedenle Boyce-Codd normal formuna göre tablo öğrenci-bölüm ve danışman-bölüm olarak iki ayrı tabloya bölünmelidir. Bu şekilde oluşturulan tablolar Boyce-Codd normal forma uymaktadır.