postgresql - Angelfire

advertisement
Veritabanı Nedir?
www.asif.co.sr
GİRİŞ

1.
2.
3.
4.
5.
6.
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 key adı 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

1.
2.
3.
4.
5.
Ö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
1.
2.
3.
4.
5.
6.
7.
8.
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 veri depolayabilir.
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
END
www.asif.co.sr
Download