260 likes | 532 Views
Veritabanı Nedir?. www.asif.co.sr. GİRİŞ. Bu sunuda aşağıdaki konular anlatılacaktır: Veritabanı tanımı SQL nedir? Veritabanlarının kullanım alanları Relational veritabanlarının açıklanması Veritabanı çeşitleri ve açıklamaları Hangi veritabanı nerede kullanılmalıdır?. Veritabanı nedir?.
E N D
Veritabanı Nedir? • www.asif.co.sr
GİRİŞ • Bu sunuda aşağıdaki konular anlatılacaktır: • Veritabanı tanımı • SQL nedir? • Veritabanlarının kullanım alanları • Relational veritabanlarının açıklanması • Veritabanı çeşitleri ve açıklamaları • Hangi veritabanı nerede kullanılmalıdır?
Veritabanı nedir? Merriam-Webster sözlüğünde bir veritabanı : “a usually large collection of data organized especially for rapid search and retrieval (as by a computer).” olarak tanımlanır.
Veritabanı nedir? • Kitaplıklar, uygulamalar ve yardımcı programların birleşmesinden oluşur. • Verilerin saklanması ve yönetilmesi ile ilgili konulardaki ayrıntılardan veritabanı yöneticilerini kurtarır. • Kayıtların güncellenmesi ve kayıtlar üzerinde araştırma yapılması da mümkündür.
SQL Nedir? • SQL (Structured Query Language) • Veritabanı dilidir. Program geliştiriciler, bir veritabanına veri eklerken, silerken, güncellerken veya sorgularken bu dili kullanırlar. • ANSI ve ISO standardıdır. • Select,Delete,Update,Where
Neden Veritabanı? • Gerçekten veritabanına gereksinmeniz var mı? • Veritabanları, verilerin saklanması ve yönetilmesi için kullanılmalıdır. • Küçük bilgiler için metin dosyaları yeterli olabilir. • Amacınızın iyi belirlenmesi gerekir.
Neden Veritabanı? • Veri sadece bir konuyu içeren bir listenin içinde mi? • Sorun karmaşık mı? • İstatiksel bir analiz mi yapmak istiyorsunuz? • Bir yönetim mi yapacaksınız? • Metinsel veritabanları • Kullanım kolaylığı
Neden Veritabanı? • Bilimsel formüllere gereksinmeniz olacak mı? • Veriyi paylaşma gereksinmeniz olacak mı? • Veriyi webde sunacak mısınız?
Relational Database Modeli • Tablolardaki kayıtlar matematiksel açıdan tuple olarak tanımlanırlar. • Bir tuple tanımlanmış bir veri tipi olan bileşenlerden oluşan sıralı grup olarak tanımlanır. • Tüm tuplelar aynı sayıda ve tipte bileşenlerden oluşur. • {“ab01”, “Isparta”, “2001”}. • {“ab02”, “Konya”, “2002”}.
Relational Database Modeli • Örnekteki her bir tuple da 3 bileşen bulunmaktadır: • Kaçıncı akademik bilişim olduğu (string) • Hangi ilde yapıldığı (string) • Yıl (numeric) • Relational veritabanlarında bu “kümeye” ya da tabloya eklenen tüm kayıtlar aynı biçemde olmalıdırlar
Relational Database Modeli • {“ab02”, “Konya”} – eksik bileşen • {“ab02”, “Konya”, “2002”, “Şubat” } –fazla bileşen • {2002, “ab02”, “Konya”} – yanlış bileşen tipleri (yanlış sırada)
Relational Database Modeli • Ayrıca tuple lardan oluşan bir tabloda aynı veriler bulunmaz.(No duplicate record). Dolayısıyla relational veritabanlarındaki herhangi bir tabloda birbiriyle tamamen aynı iki kayıt (row or record) bulunamaz. • Bu, çok gereksiz bir sınırlama olarak görünebilir. Örnek vermek gerekirse, aynı kullanıcının aynı malı iki kez sipariş etmesi görünürde engellenmiştir. Bunu da tabloya bir bileşen ekleyerek çözebilirsiniz.
Relational Database Modeli • Bir kayıttaki her bir bileşen “atomik”, yani bir veri olmalıdır; başka bir kayıt ya da diğer bileşenlerin listesi olamaz. • Tablodaki bileşenlerin veri tipleri de üsttekilerle ve dolayısıyla tablo tanımlarındakilerle aynı olmalıdır. (Veritabanı tarafından desteklenen veri tiplerinden biri olmalıdır.).
Relational Database Modeli • Birbiriyle eş kayıtları ayırmak için kullanılan bileşenlere key denir. • referential integrity. • Tablodaki bir kaydı diğer tüm kayıtlardan ayırmak için kullandımız bileşene, primary keyadı verilir. Primary key, o kaydı “unique” yapar. Tüm relational veritabanlarında her bir tablo ya da relationda mutlaka primary key olmalıdır.
Veritabanı çeşitleri • Öncelikle ne yapılacağına karar verilmelidir: • Bu veritabanı ile neler yapacaksınız? Küçük bir şirket çalışanlarının özel bilgileri mi tutulacak, yoksa büyük bir şirketin binlerce müşterilerinin bilğileri mi? • Sitenizi günde kaç kişi ziyaret edecek? • Aynı anda kaç işlem yapılacak? • Güvenlik ne ölçüde olacak? • Verilerinizin güvenliği ne ölçüde olacak?
Veritabanı çeşitleri • Yanlış bir kanı : “Paralı ürünler iyidir, ücretsiz ürünler iyi değildir!” • Linux, bu tezi çürüten, bilgisayar sektöründeki son yıllardaki en iyi konudur. • Bir veritabanının ücretsiz olup olmamasından çok işinizi görüp görmeyeceği önemlidir.
Veritabanı çeşitleri • Microsoft Access • MySQL • IBM DB2 • Informix • Microsoft SQL Server • PostgreSQL • Oracle • Interbase
MS Access • Microsoft Office ürünüdür. • Küçük ölçekli uygulamalar içindir. • Tablo başına 2 GB a kadar veri depolayabilir. • Aynı anda 255 bağlantıya izin verebilir. • Linux/MAC sistemlerinde kullanılamaz. • “Transaction locking” özelliğine sahiptir, ancak “trigger” ve “stored procedure” özelliklerine sahip değildir.
MySQL • MySQL Inc. • Windows, Linux, OS/2,Solaris, AIX vb. • “trigger” ve “stored procedure” özelliklerine sahiptir, ancak “Transaction locking” özelliği bulunmamaktadır. • Tablo başına 2 GB veridepolayabilir.
IBM DB2 • IBM • Access ve MySQL e göre daha performanslı, ancak küçük işletmelere göre daha yüksek maliyete sahiptir. • *nix ve Windows üzerinde çalışabilir. • Transaction locking”, “trigger” ve “stored procedure” özelliklerine sahiptir.
Informix • Illustra • Ücretli ve güçlü bir veritabanıdır. • Orta ölçekli işletmelerin yükünü kaldırabilecek kapasitededir. • 1994’deki Postgres kodundan geliştirilmeye başlanmıştır.
MS SQL Server • Microsoft • Dezavantajı: Sadece Windows üzerinde çalışabilir. Yüksek maliyet • Kullanım kolaylığı, güvenilirliği,işlem gücü • Maliyeti diğer veritabanlarına göre yüksektir. • Tablo başına 4 TB veri depolayabilmektedir. • “Transaction locking”, “trigger” ve “stored procedure” özelliklerine sahiptir.
PostgreSQL • PostgreSQL Global Development Group • Linux, Unix, BSD, Windows, AIX vb. • Ücretsiz, akademik bir veritabanı • Çok güçlü işlem yapısı • Veri güvenliği ön planda • Tablo başına 64 TB veri tutabilme özelliği • “Transaction locking”, “trigger” ve “stored procedure” özelliklerine sahiptir.
Oracle • Oracle, Inc. • Dünyanın en güçlü ve güvenilir veritabanı olarak gösterilmektedir. • Çok yüksek maliyet • Windows, Unix, Linux • Oracle, sınırsız sayıda tabloları desteklemektedir.
Hangi Veritabanını Seçmeli? • Küçük yoğunlukta trafik: MySQL ya da Access • Daha büyük ve orta ölçekli uygulamalar içinse, MS SQL ya da Linux üzerinde PostgreSQL kullanılabilir. • Oracle ise çok yüksek güvenilirlik ve işlem gücü gerektiğinde tercih edilen bir veritabanı sunucusudur
E N D www.asif.co.sr