Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

CBS'de Oznitelik verisine bagli sorgulamalar, Lecture notes of Information Technology

Geographic Information Systems SQL queries

Typology: Lecture notes

2015/2016

Uploaded on 11/04/2021

uugucgil
uugucgil 🇹🇷

1 document

1 / 10

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
UCS508-COĞRAFİ BİLGİ SİSTEMLERİNDE YORUMLAMA VE ANALİZ TEKNİKLERİ
CBS’de Öznitelik Verisine Bağlı Sorgulamalar
CBS’DE ÖZNİTELİK VERİSİNE BAĞLI
SORGULAMALAR
Öznitelik Verileri
Konumsal Nesne-Öznitelik Verisi İlişkisi
Öznitelik Verilerine Bağlı Sorgulamalar
Tablolar Arası İlişkiler
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download CBS'de Oznitelik verisine bagli sorgulamalar and more Lecture notes Information Technology in PDF only on Docsity!

UCS508-COĞRAFİ BİLGİ SİSTEMLERİNDE YORUMLAMA VE ANALİZ TEKNİKLERİ

CBS’DE ÖZNİTELİK VERİSİNE BAĞLI

SORGULAMALAR

Öznitelik Verileri

Konumsal Nesne-Öznitelik Verisi İlişkisi

Öznitelik Verilerine Bağlı Sorgulamalar

Tablolar Arası İlişkiler

UCS508-COĞRAFİ BİLGİ SİSTEMLERİNDE YORUMLAMA VE ANALİZ TEKNİKLERİ

Giriş

Veritabanlarının en vazgeçilmez özelliklerinden biri depolanan veriden hızlı bilgi elde edilebilmesidir. Bu özellik veritabanlarının sorgulanması ve analiz edilmesi ile mümkündür. Bilindiği üzere veritabanı sorgulaması ve analizi bütün Veritabanı Yönetim Sistemleri (VTYS) tarafından kullanılan Yapılandırılmış Sorgulama Dili (Structured Query Language – SQL) ile yapılmaktadır. Ancak SQL yalnızca bir araçtır. Verilerden hızlı bilgi elde edebilmek için sorgulama aracının yanı sıra veri yığınlarının ilişkili oldukları diğer veri yığınlarına çabuk erişilmesi gerekir. Verilerin yığınlar halinde depolanması ve veri yığınlarının birbirleri ile ilişkilendirilmesi, akla ilişkisel veritabanı modelini getirmektedir. İlişkisel veritabanı modeli (relational database model) ile verilerin yığınlar (kümeler) hâlinde işlenebileceği ve yığınlar arasında ilişkiler kurulabileceği görülmüştür. Mantık ve alt küme olgusunun veritabanı üzerine uygulanabilirliğini ortaya koyan ilişkisel veritabanı modeli, dayandığı bu matematiksel teori nedeni ile ilişkisel adını almaktadır. Kendinden önceki veritabanı modellerinin gelişmiş bir versiyonu olarak ifade edilebilen bu model oldukça yaygın kullanılan bir veritabanı modelidir. Günümüzde veritabanı yönetim sistemi yazılımlarının büyük bir çoğunluğu ilişkisel veritabanı modelini desteklemektedir. Veritabanı kuramı ortaya atıldığında ilk geliştirilen model hiyerarşik veritabanı modelidir (hierarchical database model). Hiyerarşik veritabanı modelinde, adından da anlaşılacağı üzere yalnızca birden çoğa bir ilişki söz konusudur. Zaman içerisinde farklı ilişkilerin de gerekliliği gündeme gelince, ağ veritabanı modeli (network database model) geliştirilmiş ve birden çoğa ilişkinin yanı sıra çoktan çoğa ilişki kurulabilmiştir. Ancak hiyerarşik veritabanı ve ağ veritabanı modellerinin esnek olamayışı, bu modellerde veriyi bilgiye dönüştürme sürecinde tablolar arası ilişkilerin tam olarak tanımlanamaması, ilişkisel veritabanı modelinin ortaya atılmasında tetikleyici bir etken olmuştur. İlişkisel veritabanı modelinin en önemli özelliklerinden biri anahtar alan kavramıdır. İlişkisel veritabanı modeli anahtar alanlar yardımı ile tablolar arasında ilişki kurulmasını sağlamış, özellikle diğer modellerden farklı olarak varlıklar arasındaki doğal ilişki olan bire bir (1:1) ilişkinin tablolar arasında kullanılmasına olanak tanımıştır.

UCS508-COĞRAFİ BİLGİ SİSTEMLERİNDE YORUMLAMA VE ANALİZ TEKNİKLERİ

Öznitelik Verisi Bilgi Alanı ve Değişken Türleri

Konumsal nesnelerin konum bilgisi, genelde tablolardan görsel olarak okunabilen değişken tanımı dışında, binary (ikili) yapıdaki bilgi alanlarında saklanır. Öznitelik verileri ise, görsel olarak okunabilen bilgi alanlarında depolanırlar. Bilgi alanları yani sütunlar, veri tipine göre değişken tanımları ile ifade edilirler. Değişken türleri veritabanının yapısına göre çok çeşitli olabilir. Bazı değişken türleri çok küçük farklılıklarla birbirinden ayrılırken, bazı değişken türleri ise veritabanlarına göre farklı isimler alabilirler. Birçok veritabanı yazılımında aşağıda sıralanan değişken türleri kullanılmaktadır:

  • Tamsayı (Integer)
  • Uzun tamsayı (Long Integer)
  • Ondalık (Decimal)
  • Çift (Double)
  • Metin (Text)
  • Tarih (Date)
  • Saat (Time)
  • Doğru/Yanlış (Boolean)
  • İkili (Binary)
  • Uzun ikili (Long Binary)
  • Kesirli (Float)
  • Not (Memo) Örneğin; Apartman adı metinsel bir bilgidir ve bilgi alanı değişken türü metin (text) seçilmelidir. Bina kat adedi 3,5,7 gibi tamsayı değerlerinden oluşmaktadır. Dolayısıyla değişken türü tamsayı (integer) olmalıdır. Bağımsız bölüm adedi bir apartmandaki konut ve işyerlerinin toplamına eşittir ve bina büyüklüğüne bağlı olarak 1 ve üzeri tamsayı (integer) değerleri alabilir. Binaların metrekare cinsinden taban alanları sayısal bir değer olup, ondalık (decimal) basamaklar içerebilir. Son olarak binaların yapım tarihleri, tarih (date) türünde bir değişken olacaktır. Sonuç olarak veritabanı tasarlarken en önemli nokta; verinin yapısının incelenmesi ve öznitelik verisinin bilgi alanlarının ve değişken türlerinin bu yapıya göre seçilmesidir. Resim 2.2.’de örnek tablo tasarımı verilmiştir.

UCS508-COĞRAFİ BİLGİ SİSTEMLERİNDE YORUMLAMA VE ANALİZ TEKNİKLERİ Resim 3 .2. Örnek tablo tasarımı

Öznitelik Verilerine Bağlı Sorgulamalar

Öznitelik verilerine bağlı sorgulamalar SQL (Structured Query Language) adı verilen yapısal sorgulama dili kullanılarak yapılmaktadır. SQL veritabanlarındaki verilere ulaşmak ve işlemek için ideal bir araçtır. SQL bir ANSI (American National Standards Institute) standardı olmasına karşın kullanılan veritabanı yazılımlarına göre farklı versiyonlarda karşımıza çıkmaktadır. Çeşitli veritabanı yazılımları tarafından kullanılan farklı SQL versiyonlar› SELECT, INSERT, UPDATE, DELETE, WHERE gibi ANSI standardındaki temel komutlara ek olarak kendi genişletmelerini kullanmaktadır. SQL kullanılarak şu işlemler yapılabilir;

  • Veritabanlarında sorgulama,
  • Tablo verilerinin görüntülenmesi,
  • Tablolara yeni kayıt ekleme,
  • Tablolardaki kayıtları güncelleme,
  • Tablolardan kayıt silme,
  • Yeni veritabanı yaratma,
  • Veritabanı içinde yeni tablo yaratma,
  • Veritabanlarında sanal görüntü tablolar› (view) yaratma,
  • Kullanıcı yetkilerini düzenleme. Öznitelik verilerine bağlı sorgulamalar standart veritabanı sorgulamasıdır. Veritabanı sorgulaması ile seçilen kayıtlar haritada da seçilmektedir. Böylece yapılan sorgulama harita üstünde görüntülenebilmektedir. CBS’nin en güçlü özelliklerinden biri yapılan sorgulamalar ile öznitelik verilerinden harita elemanlarına, harita elemanlarından öznitelik verilerine ulaşılabilmesidir. Öznitelik verilerine bağlı sorgulamalar haritadaki veri katmanlarının yazınsal verilerinin sorgulanması ile yapılmaktadır. Örneğin haritadaki bina katmanında 2000 yılında yapılmış binaların seçimi aslında SQL komut satırı ile yapılmaktadır (SELECT * FROM Bina WHERE [YAPIM_YILI]=2000). Resim 2.3.’te sorgulama için açılan pencerede SQL sorgulama komut

UCS508-COĞRAFİ BİLGİ SİSTEMLERİNDE YORUMLAMA VE ANALİZ TEKNİKLERİ bulmak için “SELECT * FROM Bina WHERE [YAPIM_YILI] Is Null”, veya YAPIM_YILI bilgi alanı boş olmayan kayıtları bulmak için “SELECT * FROM Bina WHERE [YAPIM_YILI] IsNot Null” SQL komut dizinleri kullanılmaktadır. Birden fazla koşul için örnek vermek gerekirse, 2000 - 2005 yılları arasında yapılan 4 kat ve üzeri binaların seçimi **“SELECT * FROM Bina WHERE [KAT_ADEDI] >= 4 AND [YAPIM_YILI]

1999 AND [YAPIM_YILI] <2006”** SQL komut dizini ile yapılmaktadır. Resim 3 .4. Birden Fazla Koşul Vererek Öznitelik Verilerine Bağlı Seçme Sorgulaması

Tablolar Arası İlişkiler

Birden çok farklı tabloda depolanan karmaşık veritabanı tasarımlarında tablolar arasında ilişkilerin kurulması gerekir. Tablolar arası ilişkiler, veri tekrarını engelleyerek verimlilik artışı sağlar. İlişkiler her iki tabloda da bulunan ortak bilgi alanları üzerinden, anahtar alanlardaki verilerin eşleştirilmesiyle kurulur. Çoğu durumda (bire bir ilişki hariç), bu eşleştirme alanları, birinci tabloda benzersiz kayıt barındıran birincil anahtar alan (primary key field) ile ikinci tablodaki çoklu kayıt içeren yabancı anahtar alan (foreign key field) bağlantısı ile sağlanır. Tablolar arasında 3 farklı tipte ilişkiden söz edilebilir.

  • Bire bir (one to one 1-1)
  • Birden çoğa (one to many 1-M)
  • Çoktan çoğa (many to many M-N)

Bire Bir (one to one) İlişki

Bire bir ilişkide, her iki tabloda ilişki kurulacak ortak bilgi alanı genellikle birincil anahtar (primary key field) ya da tekil anahtar alan (unique key field) olarak seçilir. TCDD bilet sistemini örnek alalım. İki adet tablo kullanalım. Yolcu tablosu ve bilet tablosu. Bu iki tablo arasındaki

UCS508-COĞRAFİ BİLGİ SİSTEMLERİNDE YORUMLAMA VE ANALİZ TEKNİKLERİ ilişki bire bir olur. Her yolcu yalnızca bir bilet satın alır ve her bileti yani koltuğu sadece bir kişi satın alabilir. İlişki kurulurken yolcu tablosuna mı yoksa bilet tablosuna mı ortak bilgi alanı eklemeliyiz? Eğer bilet tablosuna TCKIMLIK_NO bilgi alanı eklersek satılmayan koltuklar için “NULL” boş kayıt oluşturmuş oluruz. Bu istenen bir durum değildir. Yolcu tablosuna BILET_NO bilgi alanı eklersek her yolcu için bir bilet satın alınmış olacağı için herhangi bir NULL değeri yani boş kayıt oluşturmamış oluruz (Resim 2.5). Aslında bu iki tablonun tek bir tabloda birleştirilmesi gerektiği, bire bir ilişki kurmanın bir veritabanı tasarımcısı için çok kullanışlı olmadığı düşünülebilir. Bazı durumlarda bu kanı doğru olmakla birlikte bazı uygulamalarda bire bir ilişkinin veritabanı performansını arttırdığı gözlenmiştir. Resim 2.5.’de görüldüğü gibi yolcu ve bilet tablosu BILET_NO bilgi alanı üzerinden birebir ilişki ile ilişkilendirilmiştir. Vagonlardaki tüm koltuklar bilet tablosu içerisinde benzersiz olarak kaydedilmiş, yolcu tablosunda ise sadece satılan koltuklar yolcu ile ilişkilendirilmiştir. Tablolarda boş kayıt oluşturulmamış olduğu için veritabanında performans artışı sağlanmıştır. Resim 3 .5. Bire Bir İlişki Örneği

Birden Çoğa (one to many) İlişki

Birden çoğa ilişkilerde ana tablonun bir kaydı, ikinci tablonun bir ya da birden fazla kaydı ile ilişkilidir. Bu sayede birden fazla tekrar eden kayıtların saklanmasında etkili bir depo alanı kullanımı sağlar. Bu ilişki tipi hiyerarşik veritabanı modelinin ortaya çıkmasını sağlamıştır. Örnek vererek açıklamak gerekirse bir kreş-yuva için anne ve çocuk ilişkisini ele alalım. Örneğe göre ilişki kuracağımız tablolar anne ve çocuk tabloları olsun. Bir anne birden fazla çocuğunu kreşe getirmiş olabilir, diğer bir deyişle annenin birden fazla çocuğu olabilir. Ancak bir çocuğun birden fazla annesi olamaz. Buna göre tablolar arasında birden çoğa ilişki kurulmalıdır (Resim 2.6.). Resim 2.6.’da görüldüğü üzere Sibel Coşkun’un kreşe gönderdiği Bora, Sude ve 0ya olmak üzere üç çocuğu vardır. Anne tablosundaki TCKIMLIK_NO bilgi alanı birincil anahtar alandır. Bu alan çocuk tablosunda yabancı anahtar alan olarak belirlenmiş ANNE_KIMLIK_NO bilgi alanı ile eşleştirilmiş ve tablolar arasında birden çoğa ilişki kurulmuştur. Bu ilişki yardımı ile annenin adı

UCS508-COĞRAFİ BİLGİ SİSTEMLERİNDE YORUMLAMA VE ANALİZ TEKNİKLERİ Resim 3 .7. Çoktan Çoğa İlişki Örneği Özetlemek gerekirse öğrenci ve ders tablosu arasındaki çoktan çoğa ilişkinin, ilişki tablosunun diğer iki tablo ile (öğrenci ve ders tablosu) birden çoğa ilişki kurularak tanımlandığı görülmektedir. Veri modelinin şematik gösterimi Resim 2.8.’de verilmiştir. Resim 2.8. Çoktan Çoğa İlişki Şematik Veri Modeli Gösterimi