Veri Tabanı İşlemlerinde Kullanılan Bazı Terimler Veri Tabanı İşlemlerinde Kullanılan Bazı Terimler Veri tabanı sistemlerinde en önemli şeylerden birisi verilerin okunması, yazılması, güncellenmesi, silinmesi, ve aranması işlemlerini gerçekleştirmek için kullanacağınız ortak bir dilin oluşturulmasıdır SQL (Structered Query Language) adı altında ortaya çıkan bir standart “Yapısal Sorgulama Dili” oluşturulmuştur. Bu dil ihtiyaçlar doğrultusunda (RFC) belirli zaman aralıklarıyla güncellenerek süregelen standartlar ve bunların kullanım kuralları oluşturulmuştur. MySQL diğer bir çok veri tabanı yönetim sistemi gibi SQL dilini kullanarak sorgu yapabileceğiniz kurulumu ve yönetimi kolay çok farklı ortamlarda çalışabilen yüksek bir esnekliğe sahip bir veri tabanı sistemidir. Özellikle internet tabanlı uygulamaların geliştirilmesinde PHP programlama dili ile birlikte kullanılmaktadır. Veritabanı kullanımında önemli olan bir şey de hangi iş için hangi veritabanının kullanılacağına karar vermektir. Hangi veritabanının kullanılacağına karar vermek için sahip olmak istenen özellikler bilinmeli ve hangi veritabanı istenen özellikleri karşılıyor araştırılmalıdır. Web programlama da genelde isimleri beraber anılan programlama dilleri ve veritabanları birlikte kullanılır. PHP/MySQL, ASP/MSSQL,JAVA/Oracle vb. Veritabanlarını sahip oldukları özelliklere göre farklı şekillerde sınıflandırabiliriz. Veritabanları data dosyaları, api, sorgulama dilleri, yönetim araçları ve ilişkili sistemleri beraber düşündüğümüzde Veritabanı Yönetim Sistemi(Database Management System-DBMS) olarak adlandırılabilir. Mysql, Postgresql, MSSQL, Oracle vb. genel anlamda DBMS olarak adlandırılmalarına karşın Mysql 5.0 dan önceki versiyonlar eğer database engine olarak Innodb seçilirse aktif olan modern veritabanlarında bulunan bazı özellikleri içermemekteydi. Modern bir veritabanı yönetim sistemi kendinden istenen çeşitli özellikleri bünyesinde barındırdığında(Oracle,MSSQL,Mysql 5.0 ve sonrası) İlişkisel veritabanı yönetim sistemi - Relational Database Management System - RDBMS, nesne yaklaşımlı model izliyorsa Nesneye Dayalı Veritabanı Yönetim Sistemi - Object Relational Database Management System - ORDBMS olarak adlandırılır. Veritabanlarını birbirinden ayıran bu önemli özellikler ise: Transaction, Trigger, Stored procedures & functions, Cluster, Replication, View, Schema, referantial integrity, foreign keys olarak sıralanabilir. Bu özellikler kısaca; Transaction : Bir işlemin yapılması sırasında birden fazla sql sorgusunun belli bir düzen içerisinde doğru ve tam olarak çalışması sonucu onaylanması veya işlemlerden herhangi birisinin tamamlanamaması durumunda yapılan diğer işlemlerin de iptal edilmesi şeklinde bir işlemin tam olarak yapılmasını ya da hiç yapılmamasını güvence altına almak için kullanılan bir sistemdir. Trigger : Tanımlanan olayların gerçekleşmesi durumunda önceden hazırlanan ve olayla ilişkilendirilen procedure veya fonksiyonun otomatik olarak devreye girmesi. Stored Procedures & Functions : Yazılan özel scriptler ile veritabanı içerisinde istenen işlemlerin yapılabilmesi için daha önceden veritabanında bulunmayan procedure veya fonksiyonların oluşturulabilmesi. Cluster : Birden çok bilgisayarın bir arada çalışarak tek bir sistem gibi davranması sonucu paralel büyüme stratejisi ile yüksek performans artışı sağlayan sistem. Replication : Bir ana bilgisayar (master) ve ona bağlı alt bilgisayarların (slave) anabilgisayardan otomatik olarak veri güncellemelerini alması bu sayede anlık olarak ana bilgisayarın bir yedeğinin oluşturulması. Yoğun select sorgularının alt bilgisayarlarda çalıştırılarak yükün dağıtılması sağlanabilir. Bu sistemde tüm insert, update, delete komutları anabilgisayarda çalıştırılmalıdır. View : Sık yapılan sorguların bir tablo gibi kullanılarak erişimin sağlanması. www.dijitalders.com Veri Tabanı İşlemlerinde Kullanılan Bazı Terimler 1 Veri Tabanı İşlemlerinde Kullanılan Bazı Terimler Schema : Veritabanı yapılarının tutulduğu sistem. Referantial Integrity : İlişkisel veritabanlarında tablolar arasındaki ilişkiler tutulur. Bu ilişkiler doğrultusunda ana tablolara bağlı olan alt tabloların olabilir. Bu gibi durumlarda ana tablodaki kayıtların silinmesi veya primary key alanların değiştirilmesi halinde alt tablolardaki ilişkili kayıtların zarar görmemesi için gerekli kontrolleri yaparak, uygun olmayan durumlarda işlem yapılmasını engelleyerek veri tutarlılığının korunmasını sağlar. Foreign Key Support : Bir tablodaki alan başka bir ana tablodaki bir alana bağlı ise bunun belirtilerek referantial integrity sağlanabilmesi. ACID Compliant:Atomicity, Consistency, Isolation, Durability kelimelerinin başharflerinden oluşur. Kısaca açıklamak gerekirse; Atomicity : İşlemin tamamlanması ya da iptal olması. Consistency : Transaction ın bir durumdan diğerine başarı ile geçerek koyulan transaction kurallarının tamamını başarılı olarak gerçekleştirmesi (Commit) veya herhangi bir adımı gerçekleştiremediği durumda tüm transaction işleminin iptal etmesi.(Roll Back) Isolation : Ayrım, herhangi bir transaction tüm adımları tamamlanana kadar diğer herhangi bir transaction tarafından yapılmış olan işlemler görünmez. Durability : Sağlamlık, onaylanan commit edilen bir transaction sonucunda veriler harddisklere yazılır ve artık bundan sonra oluşabilecek sistem hatalarından korunmuş olur.(İşletim sisteminin kilitlenmesi çökmesi, servisin çökmesi kilitlenmesi sonlanması vs tabii ki gerekli disk veri koruma önlemlerinin önceden alınmış olduğunu varsayıyoruz. RAID,MIRROR,Backup vs.) Kaynak www.lampforweb.com/index.php/mysql/veri-tabanlari-sql-dili-mysql-1/ , www.lampforweb.com/index.php/mysql/veri-tabanlari-sql-dili-mysql-2/ www.dijitalders.com Veri Tabanı İşlemlerinde Kullanılan Bazı Terimler 2