NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir...

29
NORMALİZASYON Tasarlanan ilişkisel şema yeterli olmayabilir. Bu nedenle, yeterli olmayan bir ilişkisel şema, niteliklerini daha küçük ilişkisel şemalara bölerek ayrıştırılır. Normalizasyon, belirli bir veri kümesi için en basit yapıyı bulmakla ilgilidir. Güncelleme anomalilerini (ekleme, silme, değiştirme) ve veri tutarsızlıklarını önlemek için normalleştirme yapılır.

Transcript of NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir...

Page 1: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

NORMALİZASYON

• Tasarlanan ilişkisel şema yeterli olmayabilir.

• Bu nedenle, yeterli olmayan bir ilişkisel şema,niteliklerini daha küçük ilişkisel şemalara bölerekayrıştırılır.

• Normalizasyon, belirli bir veri kümesi için en basityapıyı bulmakla ilgilidir.

• Güncelleme anomalilerini (ekleme, silme, değiştirme)ve veri tutarsızlıklarını önlemek için normalleştirmeyapılır.

Page 2: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

Bir veritabanı

tasarımını neden

normalleştirelim?

Yerden tasarruf

Farklı ilişki türlerini ele almak

– Birden çoğa

– Çoktan bire

– Diğer veri ilişkileri türleri.

Verilerin özniteliği yedekleme

Mevcut veritabanlarına bağlantıları kolaylaştırır.

Veri fazlalıklarını azaltma

Veritabanı kararlılığını ve esnekliğini artırır.

Veri belirsizliğini azaltır.

Page 3: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

İlk Normal FormYinelenen Grupları Ortadan Kaldır

Normalleştirilmemiş form:

Parcel Id Köşe Noktaları1011 2382,3482, 2384,3821, 2348,3842,

2399,3492, 2395,38901025 5482,3891, 5418,3812, 5420,3889

Normalleştirilmiş form:(Tüm satırlar aynı uzunlukta ve her veri değeri atomiktir)

Parcel Id Corner Points1011 2382,3482, 1011 2384,38211011 2348,38421011 2399,34921011 2395,38901025 5482,38911025 5418,38121025 5420,3889

Page 4: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

İkinci Normal FormAnahtarın Bir Kısmında Veri Bağımlılığını Ortadan Kaldırmak

Normalleştirilmemiş form:

PID Municipal Land Registration Office Area1011 Ankara Yaprak cad, Mamak 2001012 Ankara Yaprak cad, Mamak 3401025 Konya Kozlu cad. Meram 1261026 Konya Kozlu cad. Meram 670

Normalleştirilmiş formlar:PID Municipal Area1011 Ankara 2001012 Ankara 3401025 Konya 1261026 Konya 670

Municipal Land Registration Office Ankara Yaprak cad, Mamak Konya Kozlu cad. Meram

İkinci ve üçüncü normal formlar,anahtar olmayan ve anahtarözellikler arasındaki ilişkilerleilgilenir.

Anahtar olmayan özellikler

Kompozit anahtar özellik

Page 5: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

Üçüncü Normal Form Anahtarda Bağımlı Olmayan Verileri Elde Etme

Normalleştirilmemiş form:

PID Municipal OwnerSIN OwnerName Area1011 Ankara 234-876-723 A.Deniz 2001012 Ankara 234-876-723 A.Deniz 3401025 Konya 477-654-194 H.Uzun 1261026 Konya 477-654-194 H.Uzun 670

Normalleştirilmiş form:

PID Municipal OwnerSIN Area1011 Ankara 234-876-723 2001012 Ankara 234-876-723 3401025 Konya 477-654-194 1261026 Konya 477-654-194 670

OwnerSIN OwnerName234-876-723 A.Deniz477-654-194 H.Uzun

Anahtar olmayan özellik başka bir anahtar olmayan özellik hakkında bir gerçek olduğunda üçüncü normal form ihlal edilir.

Üç normal form arasında, 1NF zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez.

Anormalliklerin güncellenmesi nedeniyle veri tabanındaki tutarsızlıkları önlemek için 2NF ve 3NF önerilmektedir.

Page 6: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

DBMS ve CBS Arasındaki Farklar

• Bir DBMS, büyük hacimli verileri yönetmek için genel amaçlıbir sistemdir.• Geleneksel olarak, DBMS'ler iş uygulamaları için tasarlanmışve kullanılmıştır.• CBS, büyük hacimli mekansal verileri yönetmek ve analizetmek için kullanılan bir sistemdir.

• CBS bir DBMS bileşeni içerir

Page 7: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

CBS ve DBMS

DBMS veya CBS'nin daha önce depolanmış olan talepverilerini geri alabilme yeteneği.

Coğrafi arama, CBS veri alımının sırrıdır.

Birçok veri organizasyonu coğrafi arama yapamaz.

CBS sistemleri, yerleşik DBMS'lere sahiptir veya ticaribir DBMS'ye bağlanır.

Örnekler: Dbase, ORACLE, Excel, Paradox

Page 8: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

Veri yapısı

• Bir veri yapısı, bilginin sembolik bir temsiledönüştürülmesine izin veren bir dizi kural iletanımlanabilir. Veri yapısı, veri parçalarının sırasını vebunların birbirleriyle nasıl ilişkili olduğunu belirler.

• Bir veri yapısının seçimi, temsilin (raster veya vektör),üzerinde gerçekleştirilen işlemlerin hızının ve sonuçolarak kullanışlılığının depolanma gereksiniminietkiler.

Page 9: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

Veri Yapıları nelerdir

- Bir bilgisayardaki verileri düzenlemek için biçimlerdir.- Veri dosyasını yorumlamak için şablon olarak kullanılırlar.129392877383892002934839203- Veri dosyası oluşturmak için şablon olarak kullanılırlar.

77383 89200 1293928

Hat uzunluğu X1 Y1 X2 Y2

Page 10: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

Yapılar arasında ortak özellikler:- Bir tam sayı 32 bit ile gösterilir (yaklaşık -2 milyar ila +2 milyar arasındatam sayı)- Bir nokta, iki (X) koordinat ve biri (y) koordinatı için olmak üzere iki pozitiftamsayı ile temsil edilir.-Bir çizgi, bir puan listesiyle temsil edilir.

Yapı 1

X1Y1X2Y2......X23Y23 –1 X24Y24X25Y25..........X40Y40 –1EOF

Yapı 2

23X1Y1X2Y2.............X23Y2317X24Y24X25Y25...........X40Y40EOFNP

Yapı 3

23X1Y1X2Y2.............X23Y23-1 17X24Y24X25Y25...........X40Y40-1EOF

Birinci hat İkinci hat

Page 11: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

Üç yapılarını karşılaştırma:

Hız: Çizelgenin başlangıcındaki NP okunacak koordinat sayısını belirlediği içinYapı 2 ve 3'ten bir satır okumak daha hızlıdır.

Yapı 1'den bir satır okumak. Yapı 2'den bir satır okumak

LOOP read NPread X do NP times

if X is -1 then exit loop read Xread Y read YEnd Loop end do

Page 12: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

Sağlamlık:

Veri yapısı, veri bozulmasına dayanabiliyorsa sağlam olabileceği söylenebilir.

Yapı 3 iyidir.

Depolama:

Yapı 1 ve 2 aynı boyuttadır. Yapı 3, gereksiz verilerden dolayı daha büyüktür.

-Bir veri yapısını seçerken dikkat edilmesi gereken pek çok yön var.-Bazı yapılar diğerlerinden daha belirli amaçlar için daha uygun olabilir.-Bir yapı seçerken bir uzlaşma yapılmalıdır.

Page 13: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

Mekansal Veri Yapılarında PopülerUnsurlar

• Koordinatlar, uzunluk ve alan gibi mekansal nitelikler.

• Mekansal olmayan özellikler

• Otoyol adı gibi özellik (varlık) için benzersiz bir tanımlamakodu (veya özellik tuşu)

• Bir sınıflandırma kodu (veya özellik kodu (varlığın bir otoyolsınıfına ait olduğunu belirtmek için).

• Diğer mekansal varlıklar ile topolojik ilişkiler.

• Veri kaynağı: Bu özellik için veri kaynağını gösterir. (uydugörüntüleri, yer araştırması, vb. veriler) DOĞRULUK İÇİN Önemli.

Page 14: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

Bir Varlığın Kimliği ve Sınıflandırılması

Kimlik ve Sınıflandırma, çoğu veritabanında depolanan bir varlığın iki önemli özelliğidir.

Bir varlığın kimliği, varlığı diğerlerinden ayırır. (benzersiz bir kimlik kodu veya özellik tuşu)

Her otoyolun ayrı bir adı vardır. Ama hepsi otoyollar ve bir karayolu sınıfı oluştururlar.

Bir sınıf, bazı ortak özelliklere sahip bir varlık grubudur.Ulaşım (Demiryolları, Yollar, Nehirler, vb.)

HY1 HY2

HY3HY5

Page 15: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

Sınıflandırma Kodu (Özellik Kodu)

-Bir sınıf, sınıftaki varlıkların paylaştığı ortak özniteliklerin listesiyle tanımlanır.SurfaceType = PavedDivided=yesLanes=4

- Bir sınıflandırma kodu, ortak özniteliklerin listesiyle ilişkili kısa bir addır.HYPAD104

- Bir grup varlığın aynı anda ele alınması için bir sınıflandırma kodukullanılabilir. (HY) bir otoyol grubunu temsil eder.

Teoride, veritabanı zaten öznitelikleri içeriyorsa, bir sınıflandırma koduna gerekyoktur.

Page 16: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

Özellik Kodu (Sınıflandırma Kodu)

-Özelliğin niteliğini açıklayan bir özellik sınıfı için bir sınıflandırma kodudur.-Uzamsal varlığın ait olduğu özellik sınıfını tanımlamak için kullanılır.

HY, otoyol özelliklerinin sınıfını tanımlar.-Özellik kodu alfa sayısal veya sadece sayısal olabilir. Yani. A3B3, HY, 2834 vb-Özellik kodu sınıflara ve alt sınıflara ayrılabilir.

HYPA, döşeli otoyolların bir alt sınıfını tanımlar ve HYPAD104, dört şeritli, döşeli,bölünmüş bir otoyol sınıfını tanımlar.

Kodlar, uzunlukları ve anlamları birlikte özellik kodlama standardını oluşturur.Özellik kodlama standartları, kuruluşa ve kullanılan GIS sistemine büyük ölçüdebağımlıdır.

Kanada Geomatik Bilimler Konseyi (CCOG), hiyerarşik düzende düzenlenen 10karakterli bir featute kodu önermiştir. Ulusal Topografik Veri Tabanı, sayısal birkod kullanır.

Page 17: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

CCOG Özellik Kodlama Sistemi

• Özellik kodlamasının hiyerarşik sırası, genelleme / uzmanlaşma kavramına dayanmaktadır.

• Genelleştirme (süper sınıf): anaokulu, ilkokul, ortaokul, okul olarak genelleştirilebilir.

• Uzmanlık (alt sınıf): Anaokulu özel bir okul türüdür.

Page 18: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

CCOG Özellik Kodlama Sistemi

BUILDINGB

COMMERCIAL EDUCATION GOVERNMENTE

UNIVERSITY SCHOOL LIBRARY26000

KINDERGARDEN PRIMARY SECONDARY220 310 360

Bir ilkokulda bir özellik kodu varBE26000310

Seviye 1Sınıf

Seviye 2kategori

3. seviye5 basamaklı sayı

Seviye 43 basamaklı sayı

Page 19: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

Hiyerarşik Kodlama Sisteminin Avantaj veDezavantajları:

• Kod farklı genelleme seviyelerinde kullanılabilir

• CBS, tam DBMS yeteneklerine sahip değilse, veri alımı içinkullanışlıdırlar.

• Tüm kullanıcılar aynı şekilde özellikleri sınıflandırmakdezavantaj değildir.

CCOG Özellik Kodlama Sistemi

Page 20: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

• NTDB Standartları ve Spesifikasyonları, 1: 50000 ve 1: 250000 haritaları için özellik kodlarının bir listesini sağlar.

• Sayısal bir kod kullanılır.• Kod, iki bölümün birleşimidir: bir varlık kodu ve özniteliklerin listesi için bir

kod.Örneğin:Varlık Kodu KombinasyonuBina 105 (varlık kodu) 105

-Okul 56 (özellik kodu) 161Anaokulu 1 162İlkokul 2 163 Ortaokul 3 164

• Bu kod, bir sınıf hiyerarşisi anlamına gelmez.• Kodlama seviyesinin önemi kolayca tespit edilemeyebilir.• Sayılar kendilerine herhangi bir anlam katmayabilir.

NTDB Özellik Kodlama Sistemi

Page 21: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

Vektör formatında doğrusal özellikler içinbasit bir veri yapısı

• ÖZELLİK KODU, ÖZELLİK ANAHTARI, NOKTALARIN SAYISI, X1,Y1,X2,Y2,X3,Y3,....Xn,Yn, UZUNLUĞU, diğer özellikler.

Örneğin:

“HWY”,“E5”,5,45,67,60,50,60,45,72,51,75,55,45,56,1978,”Patika”

Page 22: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

Özelliklerin Sembolizasyonu

• Önceki veri yapıları veri sorgulama ve analiz için uygundur, sunum içinuygun değildir.

• Kartografik bilgi ve mekânsal bilgi karıştırılmamalıdır.• Kartografik bilgiler, verilerin görüntülenmesi ile ilgilidir ve bu, bir

uygulamadan diğerine değişebilir.• Mekansal verilerin kartografik özelliklerinin bağımsız bir semboloji dosyası

aracılığıyla kontrol edilmesi arzu edilir.• Sembolik noktalar ve grafik çizgiler farklı şekillerde saklanır. Grafik

çizgilerini oluşturan noktalar veritabanında saklanır, ancak sembolleringrafiklerini oluşturan noktalar bir nokta sembol dosyasında ayrı ayrıdepolanır.

• Bazı sistemler standart bir sembol seti sağlarken, diğerleri sembololuşturma ve bunları CBS (semboloji dosyası) içinde saklayabilmekabiliyetini sağlar.

Page 23: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

Niteliklerin Özellikleri

• boyut

• dağıtım

• Desen

• bitişiklik

• Komşuluk

• şekil

• ölçek

• oryantasyon.

Page 24: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

Coğrafi özelliklerin temel özellikleri

Page 25: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

CBS Analizi

• CBS analizlerinin ve tanımlarının çoğu, coğrafiözelliklerin özelliklerinin araştırılması vearalarındaki ilişkilerin belirlenmesidir.

Page 26: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

Nokta Sembollerinin Kullanılması

• Daire

• Havalimanı

• Çapraz +

• Nokta

• Kare

A

BDijital dosyaveritabanı

Nokta Sembol Dosyası Gösterim

Oryantasyon 0 derece ve büyütme ile A-Havalimanında 1Yönelim 0 derece ve büyütme 4 ile B-Havalimanında

Page 27: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

Nokta dosyasındaki sembollerin düzenlenme nedenleri:

-Sembollerin grafikleri için ortak bir kayıt, aynı türdensembollerin birbiriyle özdeş görünmesini garanti eder.

-Sembollerin şeklini değiştirmek daha kolaydır.

-Veri tabanının boyutunu azaltmaya yardımcı olur.

Page 28: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

Çizgi Sembollerinin Kullanılması

MunicipalBdry Kısa çizgi + boşlukNationBdry Kısa çizgi + boşluk + Nokta + BoşlukProvinBdry Nokta + Boşluk

Nokta sembolüDosya

GösterimBir belediye sınırı

Page 29: NORMALİZASYON2).pdf · zorunludur, çünkü SQL gibi bir ilişkisel sorgu dili 1NF'de olmayan bir ilişkiyi idare edemez. Anormalliklerin güncellenmesi nedeniyle veri tabanındaki

Çizgi dosyasındaki sembollerin düzenlenme nedenleri:

-Çizgi çizgi bölümleri için depolama çok yüksek.

-Kesintisiz bir çizgi, parçalanmış parçalara göre analiz için dahauygundur.

-Sondaki çizgi modelini değiştirmek daha kolaydır.