Konumsal Veritabanı 1 Dersi 3. Ünite Özet

Veritabanı Modelleri

Hiyerarşik Veritabanı Modeli

Hiyerarşik veritabanı modeli 1960’lı yıllarda geliştirilen ve kullanılan ilk veritabanı modelidir. Bu model, 1966’da Saturn-V roketi ve Apollo uzay aracı malzeme envanter faturalarının fazlalığı nedeniyle IBM firmasının geliştirdiği Information Management System (IMS)’in temelini oluşturur. IMS’in gelişimi sürecinde hiyerarşik veritabanı modeli de gelişme göstererek bir çok programlama dili ile entegre çalışabilecek hale gelmiştir. Günümüzde halen Windows Registry yapısı bu modeli kullanmaktadır. Çoklu ilişkileri temsil edebilmek için, varlık tiplerinde gereksiz veri tekrarı yapmadan, her ilişkinin ayrı ayrı tanımlanması, bu modelin ana ilkesidir.

Hiyerarşik Veritabanı Modelinin Avantajları

  • Veritabanı oluşturulduktan sonra yapılacak işlemlerde kolaylık sağlar,
  • İşlem verimliliği yüksektir,
  • Hiyerarşik düzene uygun yapılara çok iyi uyum sağlar. Örnek olarak aile soy ağacı verilebilir,
  • Hiyerarşik veritabanı modelinin kullanıldığı yazılımların dilleri basittir, şeklinde sıralanabilir.

Hiyerarşik Veritabanı Modelinin Dezavantajları

  • Yapı oluşturulurken çok zaman ve işlem gerektirir,
  • Yapı oluşturulurken yapılan bir hatanın düzeltilmesi neredeyse imkansızdır,
  • Hiyerarşiden bir segment çıkartıldığında, yapıda bu segmente bağlı olanlara ulaşım kesileceğinden, ekleme ve çıkartma işlemleri yapı kurulurken düşünülüp iyi tasarlanmalıdır,
  • Üzerinde işlem yapan programcının hataya yol açmaması için yapıyı ileri düzeyde bilmesi gerekmektedir, şeklinde sıralanabilir.

Ağ Veritabanı Modeli

Ağ veritabanı modeli, hiyerarşik veritabanı modeli ile aynı zamanlarda gelişmeye başlamış bir modeldir. Ancak bu veritabanı modelinde bazı verilerin çoklu bir alt/üst (parent/child) ilişkisine sahip olması durumu, çoktan-çoğa ilişki şekli kullanılarak tanımlanabilmiştir. Ağ veritabanı modeli ilk kez, 1971 yılında gerçekleştirilen Veri Sistemleri Dilleri Konferansı’nda (Conference on Data Systems Languages - CODASYL) tanımlanmıştır. Bu nedenle bazı kaynaklarda bu isimle birlikte de anılmaktadır.

Ağ Veritabanı Modelinin Avantajları

  • Model tasarımı oldukça kolaydır,
  • Ağ modeli hiyerarşik veritabanının tüm işlevlerini yerine getirebilmesinin yanı sıra eksik kalan birçok özelliğini de tanımlar,
  • Sahip olmadan üye kaydı yaratılamadığı için veri bütünlüğü sağlanabilir,
  • Veriye ulaşmak hiyerarşik veritabanı modelinden daha kolaydır,
  • Ağ veritabanı modelinde veri tekrarı en aza indirilerek, oluşturulan veritabanının gereksiz yere büyümesi ve performans düşüşü problemlerinin oluşması engellenebilir, şeklinde sıralanabilir.

Ağ Veritabanı Modelinin Dezavantajları:

  • Veritabanında yapılacak değişiklikler, veritabanını kullanan yazılımların yeniden yazılmasını gerektirebilir.
  • Bu nedenle veritabanı yaratıldıktan sonra yapısında değişiklik yapmak oldukça zordur,
  • Ağ veritabanı modelinde tüm kayıtlar adresleme kullanarak tanımlandığı için yapı oldukça karmaşıktır,
  • Veri ekleme, çıkarma ve güncelleme çok fazla sayıda adres güncelleme anlamına gelmektedir. Dolayısıyla kullanımı ileri derecede programlama bilgisi gerektirmektedir, olarak sıralanabilir.

İlişkisel Veritabanı Modeli

İlişkisel veritabanı modeli, Dr. Edgar F. Codd’un 1970 yılında yayınladığı “A Relational Model of Data for Large Shared Data Banks” makalesiyle ortaya çıkmıştır. Codd makalede, nesnelerin tablolar halinde ifade edilebileceği ve nesneler arasındaki ilişkinin ortaya koyulabileceği bir mantığı anlatmıştır. Bu mantığı da matematiksel temeller üzerine oturtmuştur. Matematikteki mantık ve alt küme olgusunun veritabanı üzerine uygulanabilirliğini ortaya koymuştur. İlişkisel veritabanı modeli, dayandığı bu matematiksel teori sayesinde ilişkisel ismini alır. 1970’li yıllarda geliştirilmiş olmasına rağmen, 1985’lerden sonra yaygınlaşan bir veritabanı modelidir. Günümüzde veritabanı yönetim sistemi yazılımlarının büyük bir çoğunluğu (Oracle, Sybase, Informix, MS-SQL, Mysql vb.) bu modeli kullanmaktadır.

İlişkisel Veritabanı Modelinin Avantajları

  • Kullanımının kolay olması,
  • Satır ve sütunlardan oluştuğu için değişikliklerin hızlı bir şekilde fark edilip düzenlenebilmesi,
  • Esnek olduğu için proje süresinde gereklilik arz eden ilişkilerin kurulup düzenlenebilmesi,
  • Çoklu çalışma imkânı sağlaması ve yetkilendirme sistemine sahip olması,
  • Karmaşık bir hiyerarşi ve ağ yapısında olmaması, verilerin birbirlerinden bağımsız olarak tablolarda tutulabilmesi,
  • Matematiksel bir teori üzerine oturduğu için sorgulama ve düzenleme dilinin kolay olması şeklinde sıralanabilir.

İlişkisel Veritabanı Modelinin Dezavantajları

  • Veri bağımsızlığı ile oluşan tabloların ve işlem yükünün fazlalığından dolayı, işlem hızının veritabanının bulunduğu makinenin performansına bağlı olması,
  • Sık kullanılacak verilerin yük getirmemesi için, veritabanı mimarisi oluşturulurken belirlenip önceden kurgulanmak zorunda olması,
  • Veri bağımsızlığından kaynaklı olarak verilerin birbirleri ile olan ilişkilerini anlamlandırma zorluğu olarak sıralanabilir.

Nesneye Yönelik Veritabanı Modeli

Nesneye yönelik veritabanı modeli, fikir olarak 1970’lerde ortaya atılmış olmasına rağmen, modelin yaygın kullanımı 90’lı yıllarda başlamıştır. Modelin bu kadar geç kullanılmaya başlamasının sebebi, ilişkisel veritabanı modelinin görüntü, karmaşık çizimler ve ses ya da video dosyaları gibi karmaşık veri tiplerini etkin şekilde kullanamamasıdır. Temel olarak nesneye yönelik veritabanı modeli, nesneye yönelik programlama dilinin veritabanına uygulanarak kullanılmasıdır. Nesneye yönelik veritabanı modelleri verileri tamsayı, gerçek sayı ya da dizi halinde saklamak yerine, nesneyi saklayan veritabanı modelleridir.

Nesneye Yönelik Modelinin Avantajları

  • Nesneler yazılımda çeviriciye ihtiyaç duymazlar ve bu nedenle model oldukça hızlıdır,
  • Daha kısa bir kod yapısına sahiptir,
  • Veri modeli gerçek nesnelere dayanır,
  • Eşzamanlılık kontrolü oldukça iyidir, şeklinde sıralanabilir.

Nesneye Yönelik Veritabanı Modelinin Dezavantajları

  • Kullanım ve kurulumu diğer modellere göre zordur,
  • İlişki sayısı arttıkça veriye ulaşım yavaşlayabilir,
  • İlişkisel veritabanı modeline göre daha az kullanıcı aracı vardır şeklinde sıralanabilir.

Varlık-İlişki Modeli

Yaşadığımız dünyanın temelde varlıklar ve bunlar arasındaki ilişkilerden oluştuğunu kabul eden Peter PinShan Chen (1976) tarafından geliştirilen modele Varlıkİlişki Modeli (Entity-Relationship Model) adı verilmiştir. Bu model günümüzdeki halini alana kadar 3 gelişim süreci geçirmiştir. Chen’den sonra 1990 yılında James Martin tarafından geliştirilerek “Genişletilmiş Varlık-İlişki Modeli”, ‘The National Information Standards Organization’ (NISO) tarafından geliştirilerek ‘Integration Definition for Information Modeling’(IDEF1X) ve nesne tabanlı yapıyı destekleyen Birleşik Modelleme Dili “(Unified Modeling Language (UML))” haline gelmiştir. Modelin geliştirilme amacı ilişkisel veritabanları ve ağ yapılarının modellenmesinde ortak bir standart belirlemektir.

Varlık-İlişki Modelinin Avantajları

  • Kavramsal bir yapı olduğundan oluşum aşaması basittir,
  • Sadece varlıklar ve aralarındaki ilişkileri göstermek yeterlidir,
  • Bir şeması olduğundan görsel açıdan yapıyı ve yapının hatalarını görmek daha kolay haldedir,
  • Şema üzerinde çoklu çalışmaya olanak sağlar,
  • Veri modeli değişikliklerine olanak sağlar, şeklinde sıralanabilir.

Varlık-İlişki Modelinin Dezavantajları

  • Bir varlığa fazla nitelik tanımlanamaması,
  • Sadece ikili ilişkiler içermesi,
  • Standart bir diyagram gösterimine sahip olmaması,
  • Veri manipülasyonu için bir gösterime sahip olmaması şeklinde sıralanabilir.

Konumsal Veritabanı Modeli

Teknolojinin gelişmesi ile birlikte coğrafi veriler kâğıt haritalar yerine bilgisayar yazılımlarında üretilmeye başlamıştır. Bilgisayar kullanımı, eldeki coğrafi verilerin pek çok farklı şekilde etkileşimli olarak işlenmesine ve analiz edilmesine olanak sağlamıştır. Bu amaca hizmet etmek için coğrafi bilgi sistemleri yazılımları hızla gelişmeye başlamıştır. Başlarda, üretilmiş konumsal veriler, dosya yapısında saklanmaktaydı. Ancak bu yapı bilgisayar donanımlarının kapasitesini fazlaca zorladığı için sınırlı bir hareket alanı sağlamaktaydı. Zaman içinde konumsal verilerin depolama ve erişim algoritmalarının geliştirildiği konumsal veritabanı modelleri ortaya çıkmaya başlamıştır.

Konumsal Referans

Konumsal referans, konumsal nesne ve raster verilerin yeryüzündeki konumlarının hangi koordinat sistemine göre hesaplanacağını tanımlar. Konumsal referans, veritabanında ilişki ve ilişki türleri gibi ayrı bir tablo olarak tanımlanır ve saklanır.

Veritabanı Dizimi

Veritabanı dizini (database index), bir veritabanında yapılacak sorguların hızlandırılması için kullanılan veri yapısıdır. Veritabanında dizinin çalışma mantığı telefon rehberindeki isimlerin alfabetik sıraya sokulmasına benzer. Ancak numaraya göre bir sorgu yapmak istiyorsak, çabuk sonuç almak için verilerin telefon numarasına göre de ayrıca sıralanması gerekmektedir. Bu, aynı verilerin iki farklı yerde tutulması anlamına gelmektedir. Konumsal veritabanlarında iki tip dizin vardır. Bunlar; Öznitelik Dizinleri ve Konumsal Dizin olarak listelenebilir.

Öznitelik Dizinleri: Konumsal veritabanı modelinde öznitelik dizinleri standart veritabanı dizinleridir. Sorgulama işleminin sık uygulandığı alanlar için uygulanır. Anahtar bilgi alanında uygulanan dizinlere birincil dizin, anahtar bilgi alanı dışındaki uygulamalara ikincil dizin adı verilir.

Konumsal Dizin: Konumsal dizin kavramı da standart dizinde olduğu gibi konumsal nesnelerin daha kolay bulunmasını sağlar. Ancak yapıları öznitelik dizinlerine göre daha karmaşıktır. Konumsal dizin geometrik kapsam ve konumsal kapsam olmak üzere nesnelerin bulunmasını, seçilmesini ve sorgulanmasını hızlandıracak iki farklı biçimde uygulanır.

Geometrik Kapsam (Envolope): Geometrik kapsam geometrik konumsal nesnelerin en büyük ve en küçük x-y değerlerini içine alan bir dikdörtgendir. Bu dikdörtgenin kenarları koordinat sistemine paraleldir. Dizinlerde olduğu gibi konumsal nesnelerin bulunmasını, gösterilmesini ve seçilmesini hızlandıran bir yapıdır.

Konumsal Kapsam (Spatial Extent): Konumsal kapsam, geometrik kapsama benzer bir yapıdır. Bir konumsal nesne tablosundaki ortak konumsal referansa sahip tüm nesnelerin x ve y koordinatlarını kapsayan geniş alanı tanımlar. Başka bir deyişle konumsal kapsam, konumsal nesne tablosundaki tüm nesnelerin en büyük ve en küçük x, y değerlerinden oluşan bir dikdörtgendir.

Topoloji

Topoloji nesnelerin konumsal ilişkilerini temel alan matematik dalıdır. Konumsal veritabanında topoloji kuralları kullanılarak, nesnelerin geometrik benzerliği, komşuluk, konumsal ilişkiler ve geometrik şekillerin değişmesi sonucunda diğer ilişkilerde bir bozulma olup olmadığı incelenebilir.

Konumsal Veritabanı Modelinin Avantajları

  • Tüm konumsal veriler tek ve merkezi bir veritabanı üzerinde tutulabilir,
  • Veri girişi ve güncelleme işlemleri kullanıcı hataları daha aza indirilerek yapılabilir,
  • Konumsal nesneler kolaylıkla platformlar arası taşınabilir ve diğer veritabanı sistemleri ile entegre olabilir,
  • Konumsal nesneler hem topolojik hem de ilişkileriyle birlikte tanımlanabilir,
  • Harita üzerinde bulunan konumsal nesnelerin gösterimi dinamiktir ve birçok kullanıcı konumsal veriye aynı anda ulaşabilir ve güncelleyebilir, şeklinde sıralanabilir.

Konumsal Veritabanı Modelinin Dezavantajları

  • Tasarımı oldukça zor ve karmaşıktır,
  • Kullanıcılar için üst seviye eğitim gerektirir,
  • Uygun ve kapsamlı donanım gereksinimi vardır,
  • Veri dönüşümü maliyetlidir,
  • Konumsal veri işlemesi için düşük performans ile çalışır, şeklinde sıralanabilir.

Nesne-İlişkisel Veritabanı Modeli

1999 yılında SQL:1999 sürümü ortaya çıktıktan sonra ilişkisel veritabanı farklı veri tiplerini destekler bir hal almıştır. İlişkisel veritabanı farklı veri tiplerini desteklese de hala ikili veri halinde tutabildiği (BLOB) veriler, veritabanında çok yer kapladığından tercih sebebi değildir. Nesneye yönelik veritabanı modeli ile daha uygun olan bu özellik yüzünden nesne yönelimli veritabanı modeli kullanılır hale gelmiştir. Nesne yönelimli veritabanı da ilişkisel veritabanı modeli kadar esnek bir kullanıma sahip olmadığından, bu iki modeli birleştiren Nesne-İlişkisel Veritabanı Modeli ortaya çıkmıştır.

Nesne-İlişkisel Veritabanı Modelinin Avantajları

  • Farklı veri türleri ile çalışabilir (diziler, alfanümerik türler gibi),
  • Hızlı ve kolay sorgulanabilir,
  • Çoklu çalışma olanağı sağlar,
  • Performans olarak hızlıdır, şeklinde sıralanabilir.

Nesne-İlişkisel Veritabanı Modelinin Dezavantajları

  • İki modelin ortak özelliklerinden oluştuğu için karmaşık bir yapıya sahiptir,
  • Şematik olarak ilişkiler arttıkça anlaşılırlığını kaybeder,
  • İlişkisel veritabanı gibi veri odaklı olmadığından kolay anlaşılır değildir, olarak sıralanabilir.

Bahar Dönemi Dönem Sonu Sınavı
25 Mayıs 2024 Cumartesi