veritabanları

advertisement
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
Download