VERİTABANLARI VERİTABANI NEDİR? • Veri tabanı, en geniş anlamıyla; birbiriyle ilişkili verilerin tekrara yer vermeden, çok amaçlı kullanımına olanak sağlayacak şekilde depolanması olarak tanımlanabilir. • Daha kolay erişmek, yönetmek ve güncellemek için çeşitli bilgilerin düzenli bir şekilde toplanmış hali bir veritabanıdır. • Okulumuzda öğrencilerin notlarının tutulduğu veritabanı. • Nüfus müdürlüklerinde vatandaşların kimlik bilgilerinin tutulduğu veritabanı. EBT2 A. Karamete & M. E. Korkusuz 2 Temel Kavramlar • Dosya : Veri saklama birimlerinde depolanan veri topluluklarına dosya denir. Örn : Word, Excel, Paint programları bilgilerini bir dosyaya kaydeder. • Kayıt : Dosya kendi içinde kayıtlara bölünmüştür. Örn : Bir sınıf listesi gözönüne alınırsa her bir öğrenciye ait bilgiler birer kayıt oluşturur. EBT2 A. Karamete & M. E. Korkusuz 3 Temel Kavramlar • Alan : Her kayıt belli bir bilgi içerebilir. Numara, sıra no, arasınav notu gibi. Bu bilgilerin her birine alan denir. Sıra No Numara Arasınav Notu .... Bir kayıt birbiri ile ilişkili alanlardan oluşur. EBT2 A. Karamete & M. E. Korkusuz 4 Veritabanı Dosya Türleri • Sıralı Erişimli Dosya : Tüm kayıtlar tek tek taranarak istenen kayıtlara ulaşılır. • Doğrudan Erişimli Dosya : Kayıtlar tek tek okutulmadan istenen kayda doğrudan erişilir. • Dizinli (İndexli) Dosyalar : Doğrudan erişimli dosyaların en tanınmışıdır. Veri dosyasının yanında bir de dizin dosyası tutulur. • Hesaba Dayalı Dosyalar : Doğruda erişimli dosya türüdür. Dizinli dosyalar gibi ayrı bir dizinde tutulmazlar. Dosyanın herhangi bir kaydına ulaşmak için bir hesap algoritması kullanır. EBT2 A. Karamete & M. E. Korkusuz 5 Veritabanı Yönetim Sistemleri (VTYS) DataBase Management System (DBMS) • Karmaşık dosya yapıları, çok sayıdaki dosya arasındaki ilişki, verilerin saklanması, kullanıcıların dosyalara ulaşması problemlerinin çözümü veritabanı yönetim sistemleri yaklaşımını ortaya çıkarmıştır. • Bu yaklaşımda verilerin girilmesi ve saklanması veriye erişen uygulama programlarından bağımsızdır. EBT2 A. Karamete & M. E. Korkusuz 6 VTYS • Veritabanı yönetim sistemleri birbiriyle ilişkili veriler ve programlar topluluğundan oluşmaktadır. • Veri topluluğu bir veri tabanı olarak değerlendirilir. • Veri tabanı sistemleri veri kümelerinin düzenli bir şekilde tutulduğu ve bu verilerin çeşitli yazılımlarla yönetildiği ortamlardır. EBT2 A. Karamete & M. E. Korkusuz 7 VTYS Uygulama Programları VERİTABANI VTYS EBT2 A. Karamete & M. E. Korkusuz 8 VTYS • Örneğin, Necatibey Eğitim Fakültesinin ders dağılım programlarının hazırlandığı veritabanı olarak mySQL’i (VTYS) uygulama programı olarak da PHP’ yi kullanmaktadır. EBT2 A. Karamete & M. E. Korkusuz 9 NEF VERİTABANIN mySQL TASARIMINDAN BİR GÖRÜNTÜ EBT2 A. Karamete & M. E. Korkusuz 10 NEF VERİTABANIN PHP KULLANICI ARAYÜZÜNDEN BİR GÖRÜNTÜ EBT2 A. Karamete & M. E. Korkusuz 11 Veritabanı Sistemlerinin Üstünlükleri • Verilerin tekrar edilmesini önler. • Verilerin tutarlı olmasını sağlar (Veri Bütünlüğü = Data Integrity) • Aynı andaki erişimlerde tutarsızlıkların ortaya çıkmasını önler. • Verilerin güvenliğini sağlar (Kullanıcıların her alana erişememesi iyi bir özelliktir. Bunun için çeşitli yetkiler atanır ve verilerle birlikte bu yetkiler de saklanır). EBT2 A. Karamete & M. E. Korkusuz 12 SQL (Structured Query Language) • İlişkisel bir veritabanının standart kullanıcı ve uygulama kullanım arabirimine SQL denir. • Pek çok VTYS sorgulama olarak SQL kullanır. Örn : mySQL, MSSQL, Access,Oracle Şimdi kısaca bu sistemleri tanıyalım: EBT2 A. Karamete & M. E. Korkusuz 13 MySQL En popüler veritabanı yönetim sistemlerindendir. Açık kaynak kodlu olmasından dolayı geniş kullanıcı kitleleri tarafından tercih edilir. MySQL kullanıma sunulmadan önce “Battle Testing” denilen ve aylar süren bir aşamadan geçtiğinden dolayı güvenlik ve performans açısından iyi yol almıştır. Çoklu depolama motor mimarisi nedeniyle özellikle yönetim açısından iyi yol almıştır. MySQL yirmiden fazla platform ve işletim sistemi tarafından desteklenmektedir. EBT2 A. Karamete & M. E. Korkusuz 14 MySQL Avantajları 1. Esneklik ve çok kullanıcı desteği (web üzerinden MySQL verilerini birden çok kullanıcı yönetebilir, MySQL sayesinde kişiler verilere internet üzerinden kullanıcı ya da yönetici arabirimlerini kullanarak yetkilendirilmeleri çerçevesinde ulaşırlar.) 2. Hız (Oldukça hızlı ve kararlı bir yapısı vardır). 3. Fiat (Kişisel kullanımda GPL (General Public Licance) lisansı nedeniyle bedavadır. Ticari kullanım ise birçok çözüme göre daha uygundur) 4. Kullanım Kolaylığı 5. Platform Bağımsızlığı (Herhangi bir platform sınırlaması yoktur; Windows, MacOS, Linux ve pek çok unix türeviyle sorunsuz çalışır). 6. Sınırları yüksektir.(50 milyon sütun ve üstüne destek veren MySQL varsayılan tablo boyutu olarak 4GB limite sahiptir). 7. MySQL topluluğu (Açık kaynaklı olmasının da yardımıyla geniş bir topluluğa ve kullanıcı kitlesine sahiptir). EBT2 A. Karamete & M. E. Korkusuz 15 MySQL Dezavantajları 1. Hiç kullanılmayacak olan kodların da kullanılıyor olması. 2. MySQL ticari veritabanı sistemlerinde bulunan gelişmiş özelliklere sahip değildir. 3. Çalıştığı sunucuda işlem yüküyle ters orantılı bir hıza sahiptir. EBT2 A. Karamete & M. E. Korkusuz 16 Microsoft Access Access; microsoft tarafında geliştirilen JET veritabanı motoru üzerinde grafik arabirimle çalışan bir veritabanı yönetim sistemidir. EBT2 A. Karamete & M. E. Korkusuz 17 Access Avantajları 1. JET veritabanı: (Access tarafından kullanılan JET (Joint Engine Technology, Birleşik Motor Teknolojisi) küçük ve orta seviyeli çözümler için oldukça iyi bir seçimdir). 2. Raporlama sistemleri oldukça gelişmiştir. 3. Sihirbaz desteği kullanım kolaylığı sağlar., 4. Veritabanı SQL e kısa sürede çevrilir. EBT2 A. Karamete & M. E. Korkusuz 18 Access Dezavantajları 1. Office içinde bulunur ve ücretlidir. 2. Büyük ölçekli çözümler için uygun değildir. 3. Farklı paylaşım yöntemleri olsa da aslında tek kullanıcılıdır. 4. Access dosyaları yerel bir bilgisayar içinde saklanır, şifreleme yapılmazsa dosyalar başkaları tarafında kolayca kopyalanabilir. EBT2 A. Karamete & M. E. Korkusuz 19 PostgreSQL Berkeley Üniversitesi Bilgisayar Bilimi Bölümü tarafından geliştirilen, nesne ilişkili veritabanı sistemidir. Avantajları 1. Lisans Kolaylığı (PostgreSQL ile ilişkilendirilmiş ek lisans maliyetleri ortadan kalkıyor) 2. Güvenirlik ve Kararlılık: (Veritabanı Kullanıcıları tarafından en güvenilir vertabanı olarak kabul edilir. Pekçok sistem yöneticisi tarafında “Her zaman Çalışır” yorumu yapılır). 3. Açık kaynak kodu ve gelişime açıklık 4. Büyük ölçekli çözümler için idealdir. EBT2 A. Karamete & M. E. Korkusuz 20 PostgreSQL Dezavantajları 1. Hakkında düzenli bilgiye ulaşmak zor. 2. PostgreSQL desteği özellikle ucuz hosting yapan şirketler tarafından verilmiyor. 3. Windows ile sorunları olduğu iddia ediliyor. EBT2 A. Karamete & M. E. Korkusuz 21 Oracle Büyük çözümler için en iyi çözümlerden biridir. Avantajları 1. Büyük şirketler ve holdingler’in kuşkusuz en iyi çözüm. 2. Performans: Oracle10g ile beraber neredeyse en iyi çözüm. 3. Bakım durumlarında bile kapatılmıyor. 4. Şifreleme: Şifreleme direk olarak veritabanı seviyesinde yapılıyor bu da hızı artırıyor. 5. Yedekleme ve Geri Yükleme: EBT2 Yedekleme işlemini kendi içinde yapabiliyor ve istenilen bir tarihe veritabanını otomatikman geri döndürebiliyor. A. Karamete & M. E. Korkusuz 22 Oracle Dezavantajları 1. Deneyimli Yönetici ihtiyacı (Oracle konusunda deneyimli olmayan ve yüksek sistem bilgisine sahip olmayan bir yönetici sistemi yönetemez). 2. Açıklar: yanlış ayar yapılırsa ciddi güvenlik açıkları olabilir. 3. “Windows ile kullanıldığında ciddi güvenlik açıkları olabilir” gibi kötü bir üne sahiptir. EBT2 A. Karamete & M. E. Korkusuz 23 KAYNAKÇA • Veri Tabanı Sistemleri, Dr. Yalçın ÖZKAN, Alfa Yayınları • Access 2003, Virginia Andersan, Alfa Yayınları • PC Word Ocak 2005 EBT2 A. Karamete & M. E. Korkusuz 24