2.1. İlişkisel veri tabanları “relational database”

61
2.1. İlişkisel Veri Tabanları “Relational Database”

Upload: eagan-lancaster

Post on 30-Dec-2015

64 views

Category:

Documents


5 download

DESCRIPTION

2.1. İlişkisel Veri Tabanları “Relational Database”. İlişkisel Veri Tabanları. Sütun ve satırlardan oluşan tablolar ile verileri depolamak için kullanılan bir veri tabanı modelidir - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

2.1. İlişkisel Veri Tabanları

“Relational Database”

Page 2: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

2

İlişkisel Veri Tabanları

Sütun ve satırlardan oluşan tablolar ile verileri depolamak için kullanılan bir veri tabanı modelidir

Bir tablo, belirli bir nesneye ait özellikleri içerir. Sütunlar detayın özelliklerdir (öznitelik), satırlar nesneye ait birer olaydır (kayıt)

Her tablonun/nesnenin kendisi için indeks anlamını taşıyan bir özniteliği vardır (primary key). Nesneye ait tüm kayıtlarda bu özniteliğin değeri tekdir

Page 3: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

3

İlişkisel Veri Tabanları

Tablolar arasında bağlantı kurmak için “primary key”

yada başka bir sütun olan “secondary/foreign key” kullanılır

Birbiri ile ilişkili nesneler/tablolar İlişkisel yapı bire-bir ve bire-çok (çoka-bir)

ilişkiyi destekler Çoka-çok ilişki 3 tablo ile çözülür (ilişkiler

bire-çok, bire-çok) haline dönüştürülür

Page 4: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

4

Değer türü (sayı, karakter, tarih vb) Büyüklüğü (10 hane vb) Değer girilme zorunluluğu Veri tekrarı Anahtar öznitelik

Page 5: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

5

İlişkisel Veri Tabanı

Purchase RecordItem Date Price Customer KeySkate Board 2/1/96 49.95 John Smith 42Baseball Bat 2/1/96 17.99 James Brown 978

Patient RecordKey Check-in Check Out Room No.42 2/1/96 2/4/96 N76378 2/3/96 2/4/96 N712

Accident ReportDate Injury Name Key Location2/1/96 Broken Leg John Smith 42 75 Elm Street2/2/96 Concussion Sylvia Jones 654 12 State Street2/2/96 Cut on Ear Robert Doe 123 2323 Broad Street

File

File

File

Page 6: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

6

Örnek

Page 7: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

7

Kavramsal Veri Tasarımı

Varlıklar, Öznitelikler ve İlişkilere karar verme

Varlık-İlişki (E-R) diyagramı

veya

UML sınıf diyagramının çizilmesi

Page 8: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

8

Malik

M

BagimsizBirim

M

AraziArsa

N MApartmanEv

vardır

vardır

Hisse

dogumTarihi

dogumYeri

kimlikNo

babasi

adiSoyadi

1

M

M

1

daireKodu

daireNo

kisiSayisi

binaKodu

KatAdedi

kapiNo

binaismi

DaireSayısı

KullanimAmaci

parselKodu

mahalle

adaNo

yuzOlcumu

parselNo

AlimTarihi

hissePaydasi

hissePayi

Varlık-İlişki Diyagramı

Page 9: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

9

UML Sınıf Diyagramı

Page 10: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

10

Mantıksal Veri Tasarımı

Kavramsal şema, kullanılacak yazılım doğrultusunda mantıksal şemaya dönüştürülür

E-R deki varlıklar veya UML sınıfları birer tablo olarak düşünülür

Çoka-çok bağlantılar da arada bir tablo söz konusudur

Anahtar öznitelikler tanımlanır Tabloların normalizasyon kurallarına

uyup uymadığı denetlenir

Page 11: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

11

Anahtar Öznitelikler

Page 12: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

12

Normalizasyon/Ayrıştırma

Bir tablo içerisinde yer alacak kayıdın nelerden (hangi özniteliklerden) oluşacağına karar vermeye yarayan kurallardır

E-R veya UML diyagramlarının bu kurallara uyup uymadığı denetlenir

Sonuçta bellek, erişim, bütünlük açısından problemsiz tablolar oluşturulmuş olur

Page 13: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

13

Bir satırdaki her kolon tek bir bilgi içerebilir. Tekrarlayan gruplar olmamalıdır

Bir tablodaki öznitelikler anahtar özniteliğe bağımlı olmalıdır

Diğer öznitelikler arasında birbirine bağımlılık olmamalıdır

Normalizasyon Kuralları

Page 14: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

14

SQL-Standard/Structured Query Language

İlişkisel VTYS’nde veri tanımlama ve erişim olanakları sağlar

Doğrudan veya bir programlama dili içinde kullanılır

İlişkisel cebir ve küme işlemleri temellidir

Sorgulama sonucu görsel olarak ilgili kayıtları içeren yeni bir tablodur

Page 15: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

15

select A1 ,A2 , ..., An veya *from r1 , r2 , ..., rmwhere P;

– A: öznitelikler-attributes– r: tablolar/ilişkiler– P: koşul

Page 16: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

16

İstatistiksel Fonksiyonlar

avg: average valuemin: minimum valuemax:maximum valuesum: sum of valuescount: number of values

Page 17: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

Normalizasyon-Örnek

Page 18: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

18

Dönem ve Öğrenci VerileriÖğrenci No

Adı-Soyadı

Doğum Tarihi

Doğum Yeri

Babası Adresi Danışman Kodu

Danışmanı Ders Kodu

Grubu Dersler Sınıf Not Not karşılığı

00440045 Ali Yalçın

10/10/1980 İstanbul Ahmet ..... 430003 Ayşe Okur 430351 1 Veri Tabanı

A-501 A 4

00440045 Ali Yalçın

10/10/1980 İstanbul Ahmet ..... 430003 Ayşe Okur 430242 1 Hata Teorisi

A-502 B 3

00440045 Ali Yalçın

10/10/1980 İstanbul Ahmet ..... 430003 Ayşe Okur 430233 2 Jeodezi A-504 F 0

00440016 Mine Çayır

5/5/1985 Ankara Ali ..... 430015 Mehmet Polat

430242 1 Hata Teorisi

A-502 F 0

00440016 Mine Çayır

5/5/1985 Ankara Ali ..... 430015 Mehmet Polat

430233 3 Jeodezi A-501 B 3

00430024 Ayşe Özgür

2/2/1985 Muğla Veli 430015 Mehmet Polat

430222 1 Fotogrametri

A-503 A 4

00430024 Ayşe Özgür

2/2/1985 Muğla Veli 430015 Mehmet Polat

430233 1 Jeodezi A-505 A 4

00430024 Ayşe Özgür

2/2/1985 Muğla Veli 430015 Mehmet Polat

430351 2 Veri Tabanı

A-504 B 3

00440013 Ali Yalçın

2/12/1983 İstanbul Ahmet 430003 Ayşe Okur 430351 1 Veri tabanı A-501 C 2

Öğrenci kimlikÖğrenci aldığı derslerÖğrenci DanışmanıDönem Not Ortalaması

Page 19: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

19

Öğrenci No Adı Soyadı Doğum Tarihi Doğum Yeri Babası Adresi

00440045 Ali Yalçın 10/10/1980 İstanbul Ahmet .....

00440016 Mine Çayır 5/5/1985 Ankara Ali .....

00430024 Ayşe Özgür 2/2/1985 Muğla Veli

00440013 Ali Yalçın 2/12/1983 İstanbul AhmetÖğrenci No

Danışman Kodu

00440045

430003

00440016

430015

00430024

430015

00440013

430003

sicilNo Adı Soyadı ......

430003 Ayşe Okur

430015 Mehmet Polat

OgrenciKimlik(ogrenciNo, adi, soyadi, dogumTarihi, dogumYeri, babasi, adresi)PersonelKimlik(sicilNo, adi, soyadi, ...)OgrenciDanisman(ogrenciNo, sicilNo)

Page 20: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

20

Ders Kodu Grubu Sınıf

430351 1 A-501

430233 2 A-504

430242 1 A-502

430233 3 A-501

430222 1 A-503

430233 1 A-505

430351 2 A-504

Ders Kodu Dersler

430351 Veri Tabanı

430242 Hata Teorisi

430233 Jeodezi

DersSinif(dersSinifKodu, dersKodu, grubu, sinifi)Ders(dersKodu, dersler)

Page 21: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

21

Not Not karşılığı

A 4

B 3

C 2

D 1

F 0

F0 0

OgrenciNot(ogrenciNotKodu, ogrenciNo, dersKodu, grubu,notu)NotKarsilik(notu, notKarsiligi)

Öğrenci No Ders Kodu Grubu

Not

00440045 430351 1 A

00440045 430242 1 B

00440045 430233 2 F

00440016 430242 1 F

00440016 430233 3 B

00430024 430222 1 A

00430024 430233 1 A

00430024 430351 2 B

00440013 430351 1 C

Page 22: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

22

ÖğrenciDanışmanDersNot(Öğrenci No,Adı-Soyadı,Doğum Tarihi,Doğum Yeri,Babası,Adresi,Danışman Kodu,Danışmanı,Ders Kodu,Grubu,Dersler,Sınıf,Not,Not karşılığı)

OgrenciKimlik(ogrenciNo, adi, soyadi, dogumTarihi, dogumYeri, babasi, adresi)

PersonelKimlik(sicilNo, adi, soyadi, ...) OgrenciDanisman(ogrenciNo, sicilNo) DersSinif(dersSinifKodu, dersKodu, grubu, sinifi) Ders(dersKodu, dersler) OgrenciNot(ogrenciNotKodu, ogrenciNo, dersKodu,

grubu,notu) NotKarsilik(notu, notKarsiligi)

Page 23: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

23

Page 24: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

SQL Örnekleri

Page 25: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

25

Öğrenci Kimlik Bilgileri

SELECT *

FROM OgrenciKimlik

WHERE (((OgrenciKimlik.ogrenciNo)=[No gir]));

Page 26: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

26

SELECT *

FROM OgrenciKimlik

WHERE (((OgrenciKimlik.adi)=[Adı]) AND ((OgrenciKimlik.soyadi)=[Soyadi]));

Page 27: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

27

Aldığı Dersler

SELECT OgrenciKimlik.ogrenciNo, OgrenciNot.dersKodu, Ders.dersler

FROM Ders INNER JOIN (OgrenciKimlik INNER JOIN OgrenciNot ON OgrenciKimlik.ogrenciNo=OgrenciNot.ogrenciNo) ON Ders.dersKodu=OgrenciNot.dersKodu

WHERE (((OgrenciKimlik.ogrenciNo)=[No]));

Page 28: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

28

Dersi Alan Öğrenciler

SELECT OgrenciKimlik.ogrenciNo, OgrenciKimlik.adi, OgrenciKimlik.soyadi, OgrenciNot.dersKodu, Ders.dersler

FROM Ders INNER JOIN (OgrenciKimlik INNER JOIN OgrenciNot ON OgrenciKimlik.ogrenciNo = OgrenciNot.ogrenciNo) ON Ders.dersKodu = OgrenciNot.dersKodu

WHERE (((Ders.dersler)=[Ders Adı]));

Page 29: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

29

Dönem Not Ortalaması

SELECT OgrenciNot.ogrenciNo, OgrenciKimlik.adi, OgrenciKimlik.soyadi, Avg(NotKarsilik.notKarsiligi) AS NotOrtalaması INTO aa

FROM OgrenciKimlik INNER JOIN (NotKarsilik INNER JOIN OgrenciNot ON NotKarsilik.notu = OgrenciNot.notu) ON OgrenciKimlik.ogrenciNo = OgrenciNot.ogrenciNo

GROUP BY OgrenciNot.ogrenciNo, OgrenciKimlik.adi, OgrenciKimlik.soyadi;

! Aritmetik Ortalama

Page 30: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

30

SELECT Avg(NotKarsilik.notKarsiligi) AS NotOrtalaması

FROM [ogrenci bul "no"] INNER JOIN (NotKarsilik INNER JOIN OgrenciNot ON NotKarsilik.notu=OgrenciNot.notu) ON [ogrenci bul "no"].ogrenciNo=OgrenciNot.ogrenciNo;

! Aritmetik Ortalama

Page 31: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

31

3. Coğrafi Bilgi Sistemleri

Page 32: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

32

Coğrafi Bilgi Sistemleri

Konumsal verileri üreten, kullanan

kurumların, kişilerin;

günlük işlerini kolaylaştıran,

destekleyen

karar verme ve problem çözme işlerinde

destek sağlayan

bilgi/bilişim sistemleridir

Page 33: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

33

Verilerin bilgisayara girilmesi/aktarılması Fiziksel ortamda depolama Erişim Güvenlik İşleme Sorgulama, Mekansal analizler Rapor ve harita hazırlama Yayınlama

Temel İşlevler

Page 34: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

34

Veri tabanı yönetim sistemi yazılımları

Donanım

İletişim yapısı

Kişi bileşeni

Bazı süreçler – Uygulama programları

Bazı yöntemler

Diğer bilgi sistemleri ile benzerlikleri

Page 35: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

35

Tarihçe

Tematik kartoğrafya Plancılar klasik yöntemler ile (elle)

harita çakıştırma yöntemini uygulamışlardır

Bu ilk kez 1950’de planlama kitabında Jacqueline Tyrwhitt tarafından tanımlanmıştır

McHarg , yer seçimi için transparan haritaları çakıştırarak kullanmıştır

Page 36: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

36

Temel Bileşenler

Veri Yazılım Donanım İnsan Yönetim YÖNETİM

Page 37: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

37

Yazılım

CBS paket programı ArcGIS, MapInfo, PostGIS vb, CAD

yazılımlarının CBS modülleri CBS paket programı ekleri: üç boyutlu

analizler, mekansal analizler, şebeke analizi, internetten sunuş vb

Uygulama yazılımı VTYS İletişim ile ilgili yazılımlar

Page 38: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

38

Yazılım

CBS YAZILIMI Veri DepolamaVeri Yönetimi

Veri Girişi

Veri İşlemeSorgulama

Coğrafi Analiz

Sunuşİletişim

Page 39: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

39

Yazılım

Temel fonksiyonlar ekranda sayısallaştırma vb veri girişi farklı dosya formatlarını okuma ve

dönüştürme koordinat sistemi dönüşümü sql sorgulamaları istatistiksel işlemler görselleştirme arayüz, makro olanakları vb

Page 40: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

40

Bir veya birden çok katmanla yapılan

işlemler, yeni oluşumlar

En kısa yol vb işlemler

Page 41: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

41

Yüzey oluşturma, enterpolasyon

çeşitli veri türlerinden TIN-üçgenleme ile

yüzey oluşturma

çeşitli veri türlerinden, diğer enterpolasyon

yöntemleri ile GRID oluşturma

“Multipatch” tarzı 3B poligon, çizgi veriler

Page 42: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

42

Yüzey verileri ile işlemler, sorgulamalar

eğim, bakı, gölgelendirme vb

görülebilirlik analizleri

istatistiksel işlemler

görüntü-yüzey kaplama

3B modelleme

Page 43: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

43

Internet vb ağ uygulamaları

İstemci/sunucu mimarisi

verilerin bir veya daha çok sunucuda

bulunması ve erişim

verilerin internette sunulması

verilere internette erişim

Page 44: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

44

Mobil uygulamalar

GPS, iletişim teknolojisi

bilgisayardan uzakta iletişim sistemleri ile veri

toplama/güncelleme

araç takibi

navigasyon

Page 45: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

45

Merkezi veya dağıtık yapı

LAN, WAN, Internet ağları veya tek

bilgisayar

Yazıcı, çizici vb birimler

Donanım

Page 46: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

46

Sistem oluşturma ekibi

Yöneticiler

Operatörler ve diğer kullanıcılar

İnsan

Page 47: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

47

Veri

Yer yüzeyinin üstünde, altında, üzerinde belli bir biçimi ve konumu olan somut veya soyut nesnelerin koordinat öznitelik-özellik konumsal ilişki zaman değerleridir

Diğer veriler; kişi vb

Page 48: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

48

Veri

Geometrik (Grafik) veriler Vektör Raster/Grid

Geometrik (Grafik) olmayan veriler Geometrik veriler için tanımlayıcılar (öznitelikler) Geometrik veri ile dolaylı ilgisi olan veya olmayan

diğer veriler

Page 49: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

49

Raster

Vektör

Yeryüzü

Page 50: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

50

3.1. Vektör Veriler

Noktalar Çizgiler Poligonlar

Binalar

Yapı Adaları

Caddeler

Riskli bölgeler

İlçeler

İller

Page 51: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

51

Vektör Veri

Nokta/Çizgi/Poligon (çokgen/alan/)

özellikleri

koordinatları (x,y,z)/(x,y)

konumsal ilişkileri

Page 52: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

52

Nokta

Kuyu, ağaç, rögar vb

Page 53: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

53

Çizgi

Ulaşım, Altyapı vb

Page 54: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

54

Çizgi

Ulaşım, Altyapı vb

Page 55: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

55

Poligon

Mahalle, Bina, Parsel vb

Page 56: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

56

Poligon

Mahalle, Bina, Parsel vb

Page 57: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

57

Dosya Türleri ve Uzantıları

ncz

map,tab,ind

shp, dbf, shx vd

mdb vb Kooordinat vb verinin de depolandığı Veri

Tabanı dosyaları (CVT)

GML (Geographic Markup Language): CBS de

vektör verinin hazırlanmasi için kullanılır, XML in

geliştirilmişidir

UVDF (Ulusal Veri Dönüşüm/Değişim Formatı)

Page 58: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

58

Page 59: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

59

Page 60: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

60

Page 61: 2.1.  İlişkisel Veri Tabanları  “Relational Database”

61

Katman/tabaka/detay/sınıf

Aynı

Geometri

Öznitelikler

Koordinat Sistemi

Ölçek

Doğruluk

Toplama yöntemi, zamanı vb