Veri Tanımlama Dili (VTD)
Veri tabanı tanımlarını VTYS'ye iletmek için kullanılan
biçimsel dile Veri Tanımlama Dili (DDL: Data Definition Language) adı verilir.
Veri Tanımlama Dili kullanılarak oluşturulan veri tabanı
tanımları, VTYS'nin Veri Tanımlama Dili Derleyicisi olarak adlandırılabilecek
bir bileşeni tarafından çözümlenir, varsa eksik ve yanlışları bulunarak
kullanıcıya iletilir.
Yanlışlardan arınmış veri tabanı tanımları VTYS tarafından
uygun yapılara dönüştürülerek saklanır.
Veri tabanı tanımlarının VTYS tarafından derlenerek
saklanması veri tabanı yaklaşımının temel özelliklerinden biridir.
Bu süreç sayesinde, veri tabanı tanımlarının yetkili kişiler
tarafından bir kez yapılması, tanımların kalıcılığının sağlanması ve
kullanıcıların bu tanımları kullanmaları ve bu tanımlara uygun işlem yapmaları
sağlanmış olur.
Programlama dili kullanılarak gerçekleştirilen dosya tabanlı
uygulamalarda, bilgisayar belleklerinde yalnız veri saklanır. Uygulama
programlarında, veri üzerinde yapılacak işlemler yanında verinin tanımı da yer
alır.
Veri tabanı yaklaşımında ise veri tanımlama ile veriler
üzerindeki uygulama işlemleri birbirinden tamamen ayrılmıştır.
Veri tanımlama ve daha önce yapılmış tanımları değiştirme
yetkisi yalnız Veri Tabanı Sorumlusu (Database Administrator) olarak
adlandırılan ve veri tabanının tümünden sorumlu olan kişi ya da kişilere
aittir.
Veri tabanı üzerinde işlem yapan, uygulamaları
gerçekleştiren kullanıcıların ise veri tanımlama ya da mevcut tanımları
değiştirme yetkisi yoktur.
VTD ile yapılan tanımlarda veri tabanı tanımları içinde yer
alan en önemli tanımlar şunlardır:
Mantıksal düzeyde yapılan düzenlemeler oluşturulan yapılar
ve her yapıda hangi verilerin yer aldığı.
Her verinin türü, uzunluğu, varsa varsayılan değeri ve diğer
özellikleri.
Veriler arası ilişkiler ve her türlü kısıtlamalar.
Fiziksel veri yapıları ile ilgili tercihler ve parametreler.
Kullanıcı tanımları ve kullanıcıların hangi veriler üzerinde
hangi işlemleri yapmaya yetkili olduklarına ilişkin tanımlar.
Veri tabanı tanımları veri sözlüğü (data dictionary) olarak
da adlandırılır.
VTYS’nin fiziksel ortamında aşağıda belirtilen çeşitli
veriler saklanır:
veri dosyaları
veri tabanı tanımlarının yer aldığı veri sözlüğü
veri dosyalarına ya da veri sözlüğüne erişim için kullanılan
dizinler (indeksler)
veri değerlerine ve uygulamalara ilişkin istatistiksel
veriler ve günlük dosyaları (logfiles)
Sorgu Dili ve Sorgu İşleyicisi
Veri tabanı uygulamaları için kullanılan en yaygın araç
sorgu dilidir.
Kullanıcı, sorgu dili ile, gerçekleştirmek istediği işlemi
yalın bir biçimde ifade eder.
Kullanıcının oluşturduğu sorguda, neyin yapılmasının
istendiği yer alır; bunun nasıl yapılacağı ise yer almaz.
Yapısal Sorgu Dili (SQL)
IBM, deneysel bir ilişkisel veritabanı yönetim sistemi
geliştirmek amacıyla System/R adlı bir proje başlatır.
Bu sistem için SEQUEL (Structured English Query Language)
adında bir sorgu dili geliştirilmeye başlanmıştır.
1979’ da tamamlanan bu proje sırasında geliştirilen dilin
adı SQL (Structured Query Language) olarak değiştirilmiştir.
ORACLE
System/R projesini izleyen bir grup mühendis, ilişkisel
veritabanındaki potansiyeli görmüş ve Relational Software, Inc. adında bir
şirket kurmuşlardır (1979)
Oracle adını verdikleri ilk ticari ilişkisel veri tabanı
yönetim sistemini geliştirmişler ve SQL’i bu sistemde sorgu dili olarak
kullanmışlardır.
Sorgu İşleyicisi
VTYS'nin, sorguların işlenmesi ile ilgili görevleri
gerçekleştiren bileşenine Sorgu İşleyici (Query Processor) adı verilir.
Sorgu işleyicinin görevleri:
-Sorgunun sözdizimsel ve anlamsal özümlemesini yapmak.
-Kullanıcının verilen işlemi yapmaya yetkili olup olmadığını
denetlemek.
-Sorguyu işletmek için kullanılabilecek algoritmaları
(işletim senaryolarını) belirlemek ve “Query
-Optimizer” alt bileşeni yardımıyla
en iyisini seçmek.
-Sorgunun işletimini gerçekleştirdikten sonra yanıtını
oluşturup kullanıcıya iletmek.
Veri İşleme Dili (DML)
Veri tabanı üzerinde, veriyi değiştirme, silme ve güncelleme
gibi sorgularla ifade edilemeyecek ya da sorgularla ifade edilmesi uygun
olmayan işlemler de gerçekleştirilir.
Bu işlemler için Veri İşleme Dili (DML: Data Manipulation
Language) olarak adlandırılan bir dil kullanılır.
Genişletilmiş Programlama Dili
Veri tabanı üzerindeki uygulamaları gerçekleştirmek için
genişletilmiş bir dil oluşturulur.
Bu dilde hem veri tabanı işlemlerini gerçekleştiren DML
komutları, hem de diğer işlemleri gerçekleştiren C# ve Visual Basic gibi genel
amaçlı programlama dillerinden bir ya da birkaçı ile yazılmış taşıyıcı dil
komutları yer alır.
Oluşturulan genişletilmiş dil (DML + taşıyıcı dil) ile
hazırlanan uygulama programları, VTYS'nin bileşeni olan genişletilmiş
derleyicilerle derlenerek saklanır ve gerektiğinde çalıştırılarak kullanılır.
Veri Tabanı Yöneticisi
Veri Tabanı Yöneticisi (Database Manager), kullanıcı
isteklerini veri tabanı üzerinde gerçekleştiren ve çok kullanıcılı ortamdaki
işletimsel sorunları çözümleyen yazılımlar bütünüdür.
VTYS’nin gerçekleştirdiği işlemlerin önemli bir bölümü bu
katman tarafından gerçekleştirilmektedir.
Veri Tabanı Yöneticisinin birçok bileşeni vardır. Bunlardan
en önemli iki tanesi şunlardır:
Bellek Yöneticisi (Storage Manager)
-Dosya Yöneticisi (File Manager)
-Tampon Yöneticisi (Buffer Manager)
Hareket Yöneticisi (Transaction Manager)
Bellek Yöneticisi
Veri Tabanı Yöneticisinin, verilerin ikincil
belleklerde saklanması ile ilgili işlevlerini yöneten kesimdir.
belleklerde saklanması ile ilgili işlevlerini yöneten kesimdir.
Bir VTYS'nin Bellek Yöneticisi olarak, VTYS'nin altında
çalıştığı işletim sisteminin dosya sistemini kullanılabilir.
Ancak büyük boyutlu veri tabanlarını kurmak
ve işletmek için kullanılan VTYS'ler için verimlilik çok önemlidir ve gerek ana bellek, gerekse ikincil bellek yönetiminin VTYS tarafından gerçekleştirilmesinde yarar vardır.
ve işletmek için kullanılan VTYS'ler için verimlilik çok önemlidir ve gerek ana bellek, gerekse ikincil bellek yönetiminin VTYS tarafından gerçekleştirilmesinde yarar vardır.
Bellek Yöneticisi aşağıdaki iki bileşenden oluşur:
Dosya Yöneticisi (File Manager)
Verinin ikincil bellek dosyalarında saklanmasını sağlayan ve
ana bellek ile ikincil bellek arasında verinin bloklar halinde aktarılmasını
sağlayan yazılımlardır.
Tampon Yöneticisi (Buffer Manager)
Dosya yöneticisi aracığıyla ikincil bellekten getirilen veri
bloklarını ana bellek sayfalarında saklayan, ana bellek sayfalarını yöneten ve
gerektiğinde ana bellek sayfalarındaki veri bloklarının, dosya yöneticisi
aracılığıyla ikincil belleklere yazılmasını sağlayan yazılımdır.
Hareket Yöneticisi
Veri Tabanı Yöneticisinin, veri tabanı yaklaşımının
üstünlüklerinden faydalanmasını sağlayan kesimidir.
Veri tabanı yaklaşımının üstünlükleri arasında:
Çok kullanıcılı ortamda çok çeşitli kullanıcı isteklerinin
eşzamanlı gerçekleştirilmesi ve bu arada veri tabanı ve uygulama
tutarlılıklarının korunması,
Veri tabanı üzerinde yapılan işlemlerin yazılım, donanım ya
da güç kaynağı ile ilgili bozukluklar nedeniyle yitirilmemesi gibi
avantajlar bulunmaktadır.
Bu avantajları gerçekleştirmek için 4 temel özellik
sağlanmalıdır (ACID).
ACID (Atomicity, Consistency, Isolation, Durability)
Hareket Yöneticisinde belirtilen hareket (transaction), bir
bütün oluşturan ve tutarlılık açısından veri tabanı üzerinde birlikte
gerçekleştirilmesi gereken işlemler bütünüdür.
Tutarlılık açısından, bir hareketi oluşturan işlemlerin ya
tümünün gerçekleştirilmesi, ya da hiçbirinin gerçekleştirilmemesi (o ana kadar
yapılan tüm değişiklikler geri alınarak hareketin başlangıç zamanındaki duruma
dönülmesi) gerekir. Buna hareketin Bölünemezlik (Atomicity) özelliği adı
verilir.
Veri tabanında saklanan ilişkili verilerin belirli kurallar
ve kısıtlamalar dahilinde tutarlılığının (Consistency) sağlanması gerekir.
Örneğin öğrencinin kişisel bilgilerinin yer aldığı bir
tabloda bir öğrencinin numarası değiştiğinde, aynı öğrencinin not bilgilerinin
saklandığı diğer tabloda eski bilgi yenisi ile güncellenmez ise veri
tutarsızlığı oluşur.
Bütünlük Kısıtlamaları (Integrity Constraints) kullanılırsa,
bu tip güncellemelerin uygulama programı üzerinden yapılmasına gerek olmadan,
VTYS tarafından bu işlemler otomatik olarak yapabilir.
Veriler üzerinde değişikliğe neden olan (veri ekleyen, silen
ya da verileri güncelleyen) hareketler birlikte işletildiğinde, henüz
tamamlanmamış (ve belki de tamamlanmayarak geriye alınacak) bir hareket
tarafından gerçekleştirilen değişiklik işlemleriyle oluşturulan veri
değerlerinin diğer hareketler tarafından görülmemesi gerekir. Bu da hareketin
İzolasyon (Isolation) özelliğidir.
Hareket tamamlandığında (commit) bu değişiklikler diğer
hareketler tarafından görülebilir.
Hareketler veri üzerinde karmaşık işlemler
gerçekleştirebilir. Bu işlemlerin bütününü güvence altına almak için VTYS
hatalara karşı dayanıklı olmalıdır.
Sunucuda meydana gelebilecek sistem sorunu, elektrik
kesilmesi, işletim sisteminden ya da farklı yazılımlardan kaynaklanabilecek
hata durumlarında VTYS'nin herhangi bir veri kaybı yaşanmamasını sağlaması da
Dayanıklılık (Durability) özelliğidir.
bir sonraki dersimizde görüşmek üzere esen kalın... ebi
yararlanılan kaynaklar:
Yrd. Doç. D. Altan MESUT [web adresi]
Öğr. Gör. Dr. Sibel SOMYÜREK [web adresi]
Öğr. Gör. M. Mutlu YAPICI[WEB Adresi]
bir sonraki dersimizde görüşmek üzere esen kalın... ebi
yararlanılan kaynaklar:
Yrd. Doç. D. Altan MESUT [web adresi]
Öğr. Gör. Dr. Sibel SOMYÜREK [web adresi]
Öğr. Gör. M. Mutlu YAPICI[WEB Adresi]
Hiç yorum yok:
Yorum Gönder