620 likes | 959 Views
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
E N D
İ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
İ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
Değer türü(sayı, karakter, tarih vb) • Büyüklüğü (10 hane vb) • Değer girilme zorunluluğu • Veri tekrarı • Anahtar öznitelik
File Patient Record Key Check-in Check Out Room No. 42 2/1/96 2/4/96 N763 78 2/3/96 2/4/96 N712 Purchase Record File Item Date Price Customer Key Skate Board 2/1/96 49.95 John Smith 42 Baseball Bat 2/1/96 17.99 James Brown 978 File Accident Report Date Injury Name Key Location 75 Elm Street 2/1/96 Broken Leg John Smith 42 2/2/96 Concussion Sylvia Jones 654 12 State Street 2/2/96 Cut on Ear Robert Doe 123 2323 Broad Street İlişkisel Veri Tabanı
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
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
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
Normalizasyon Kuralları • 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
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
select A1 ,A2 , ..., An veya * from r1 ,r2 , ..., rm where P; – A: öznitelikler-attributes – r: tablolar/ilişkiler – P: koşul
İstatistiksel Fonksiyonlar avg: average value min: minimum value max:maximum value sum: sum of values count: number of values
Dönem ve Öğrenci Verileri Öğrenci kimlik Öğrenci aldığı dersler Öğrenci Danışmanı Dönem Not Ortalaması
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)
Öğ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)
Öğrenci Kimlik Bilgileri SELECT * FROM OgrenciKimlik WHERE (((OgrenciKimlik.ogrenciNo)=[No gir]));
SELECT * FROM OgrenciKimlik WHERE (((OgrenciKimlik.adi)=[Adı]) AND ((OgrenciKimlik.soyadi)=[Soyadi]));
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]));
Dersi Alan Öğrenciler SELECT OgrenciKimlik.ogrenciNo, OgrenciKimlik.adi, OgrenciKimlik.soyadi, OgrenciNot.dersKodu, Ders.dersler FROM DersINNER JOIN (OgrenciKimlikINNER JOINOgrenciNotON OgrenciKimlik.ogrenciNo = OgrenciNot.ogrenciNo)ON Ders.dersKodu = OgrenciNot.dersKodu WHERE (((Ders.dersler)=[Ders Adı]));
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
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
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
Temel İşlevler • Verilerin bilgisayara girilmesi/aktarılması • Fiziksel ortamda depolama • Erişim • Güvenlik • İşleme • Sorgulama, Mekansal analizler • Rapor ve harita hazırlama • Yayınlama
Diğer bilgi sistemleri ile benzerlikleri • 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
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
Temel Bileşenler • Veri • Yazılım • Donanım • İnsan • Yönetim YÖNETİM
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
Yazılım Veri Girişi Veri İşleme Sorgulama Coğrafi Analiz Veri Depolama Veri Yönetimi CBS YAZILIMI Sunuş İletişim
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
Bir veya birden çok katmanla yapılan işlemler, yeni oluşumlar • En kısa yol vb işlemler
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
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
Internet vb ağ uygulamaları • İstemci/sunucu mimarisi • verilerin bir veya daha çok sunucuda bulunması ve erişim • verilerin internette sunulması • verilere internette erişim
Mobil uygulamalar • GPS, iletişim teknolojisi • bilgisayardan uzakta iletişim sistemleri ile veri toplama/güncelleme • araç takibi • navigasyon
Donanım • Merkezi veya dağıtık yapı • LAN, WAN, Internet ağları veya tek bilgisayar • Yazıcı, çizicivb birimler
İnsan • Sistem oluşturma ekibi • Yöneticiler • Operatörler ve diğer kullanıcılar
Veri • Yeryü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
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
Binalar Yapı Adaları Caddeler Riskli bölgeler İlçeler İller Dünya 3.1. Vektör Veriler • Noktalar • Çizgiler • Poligonlar