BIM 312

advertisement
BIM 312
Database Management
g
Systems
Veritabanı Kavramına Giriş
Veritabanı Nedir?
Veritabanı, birbirleriyle ilişkili verilerin hızlı ve verimli
bir şekilde ulaşılmasına olanak verecek biçimde
saklanmasıyla
kl
l oluşan
l
k
kayıtlar
l topluluğudur.
l l ğ d
Veritabanı, sistem süreçlerinde oluşan verilerin daha
sonra ulaşılmak amacıyla elektronik ortamlarda, belli
kurallar ve birbirleriyle olan ilişkilerini koruyacak
şekilde saklanmasıyla oluşan kayıtlar topluluğudur.
Neden Veritabanı Kullanılır?
Gereksiz veri tekrarını önler.
Bellek israfını önler.
Daha güvenli bir şekilde verilerin saklanmasını sağlar.
Veri paylaşımı sağlanır.
Veriler daha düzenli bir şekilde tutulur, veri bütünlüğü
ğ
sağlanır.
• Verilerin yönetilmesi için kullanılmalıdır.
•
•
•
•
•
Neden Veritabanı Kullanılır?
Küçük bilgi kümeleri için metin dosyaları ya da hesap
çizelgeleri çoğu zaman yeterli olacaktır. Ancak saklanan
veri miktarı arttıkça, bu verilere daha hızlı ve verimli
bir şekilde ulaşabilmek için veritabanı gerekecektir.
Veritabanı gerektirecek hızın ve veri miktarının ölçüsü
işletmeye, verinin kullanım amacına, verinin önemine,
yapılacak yeni yatırım için ayrılabilecek bütçeye ve
daha başka birçok etmene bağlıdır.
Neden Veritabanı Kullanılır?
Veritabanı’nın Yararları
Hız: Veritabanında saklanan verilere ulaşmak, kağıt
üzerinde ya da farklı elektronik dosyalarda saklanan
verilere ulaşmaktan daha hızlıdır.
Yer tasarrufu: Veritabanı kullanıldığında o kadar verinin
saklanacağı kağıttan ve bu dosyaların tutulacağı yerden
tasarruff edilmiş
dl
olur.
l
Paylaşım kolaylığı: Veritabanında sakladığınız verileri
aynı ağ üzerindeki kullanıcılarla ya da Internet’e açarak
tüm dünya ile paylaşmak mümkündür.
Veritabanı’nın Yararları
Güvenlik:
Veritabanları
üzerinde
veritabanı
yöneticisinin gerekli güvenlik kısıtlamalarını ayarlaması
ile yüksek güvenlik sağlanabilir.
Doğruluk: Veritabanlarındaki veriler, tek bir kaynaktan
paylaşıldığı için tekrara yol açmaz ve doğruluğundan
emin olunabilir.
olunabilir Oysaki kağıt üzerindeki veya metin
dosyalarındaki veriler çoğunlukla versiyon ve tarih
bilgisine dikkat edilmediğinden yanlış bilgilendirmeye
yol açabilirler.
Veritabanı İşlemleri
Yeni dosya
y eklemek
Yeni veri eklemek
Veri değiştirmek
Veri silmek
Dosya silmek
l k
Var olan veriyi çeşitli biçimlerde ya da sorgu
sonuçlarına göre görüntülemek
Veritabanı Türleri
Veritabanı türleri,, verileri yyapılandırma,
p
, saklama ve bu
verilere ulaşma şekillerindeki farklılıklarla ayrılırlar.
Yapısal olarak üç ana veritabanından söz edilebilir:
İlişkisel veritabanları
Hiyerarşik
y
ş veritabanları
Nesneye yönelik veritabanları
İlişkisel
ş
Veri Tabanları
En yaygın olarak kullanılan veri tabanlarıdır.
Çünkü hem ana bilgisayarlarda hem de PC tabanlı
ortamlarda çalışan örnekleri vardır.
İlişkisel veritabanı, verileri tablo adı verilen
listelerde saklayarak listeler arasında ilişkiler
tanımlar.
İlişkisel veri tabanlarının temel
ö llikl i şu şekilde
özellikleri
kild sıralanabilir:
l
bili
yapısal
Bir ilişkisel veri tabanı içinde bilgiler, tablolar
halinde saklanırlar.
saklanırlar
Tablolar dikey olarak “alan”lardan, yatay olarak
“kayıt”lardan
y
oluşurlar.
ş
Bir tablodaki alan veya alanlar, esas anahtar
olarak tanımlanırlar.
Bir tablodaki kayıtlar, tanımlanan bir esas
anahtara göre sıralanırlar.
Hiyerarşik
y
ş Veri Tabanları
Hiyerarşik veri tabanları,
tabanları bilgileri bir ağaç yapısında saklar.
saklar
“Kök” olarak
l k bi
bir k
kayıtt ve b
bu kök
köke b
bağlı
ğl “dal”
“d l” k
kayıtlar
tl b
bu
tip veri tabanının yapısını oluşturur.
Nesneye yönelik veritabanları
Nesneler, bir tabloda yer alan bir kayıttan çok daha
Nesneler
karmaşık bir yapıya sahiptirler ve daha esnek bir yapıda
kullanışlı bir şekilde düzenlenebilirler.
Nesneye dayalı bir veri tabanında yapısı gereği arama
işlemleri çok hızlı yapılabilmektedir. Büyük tablolarla
uğraşırken
ğ ş
ilişkisel
ş
veri tabanları sayesinde
y
ççok daha
hızlı sonuca ulaşılmaktadır.
1) Microsoft Access
Microsoft firmasının Office paketi içinden çıkan Access,
paralı veritabanları arasında nispeten ucuz olarak göze
çarpar.
çarpar
Eğer bir web sitesinde veri miktarı ve aynı anda yapılan
işlem sayıları az ise, Access kullanabilirsiniz.
Tek bir veri tablosunda 2 GB a kadar veri depolayabilir ve
aynı anda 255 bağlantıya izin verebilirsiniz.
2) MySQL
Access ile karşılaştırıldığında daha güvenlidir.
Windows’un yanı sıra Linux, OS/2, Solaris, AIX ve birçok
işletim sistemini desteklemesi nedeniyle çok yaygındır.
Ev kullanıcıları tarafından,, kolayy kurulumu ve g
gelen
kurulum paketleri nedeniyle sıkça tercih edilmektedir.
Tablo başına 8 TB veri depolayabilmektedir.
Özellikle web uygulamaları için oldukça hızlıdır.
3) IBM DB2
IBM firmasının ürünü olan DB2, Access ve MySQL’e
göre daha performanslı, ancak küçük işletmelere
göre daha yüksek maliyete sahiptir.
sahiptir
Windows ve Unix sistemlerinde çalışabilir.
4) Microsoft SQL Server
Yine Microsoft firmasının bir ürünü olan Microsoft
SQL Server (MSSQL), iyi bir performansa sahiptir.
En büyük dezavantajı, sadece Windows üzerinde
çalışabilmesidir. Kullanım kolaylığı, güvenilirliği ve
i l
işlem
gü ü l dikkat
gücüyle
dikk t çekmektedir.
k kt di
Maliyeti
M
li ti diğer
diğ veritabanlarına
it b l
göre
ö yüksektir.
ük kti Tablo
T bl
başına 4 TB veri depolayabilmektedir.
5) Oracle
Oracle, dünyanın en güçlü ve güvenilir veritabanı olarak
gösterilmektedir, ancak çok yüksek maliyeti nedeniyle
sadece
d
bü ük kurumların
büyük
k
l
tercih
ih edebilecekleri
d bil
kl i bir
bi
veritabanıdır.
Windows ye Unix sistemlerinde kullanılabilmektedir.
Oracle, sınırsız sayıda tabloları desteklemektedir.
Oracle
desteklemektedir Çok
büyük yazılım desteği vardır.
Veritabanı Yönetim Sistemleri
Veritabanı Yönetim Sistemleri bir veritabanı üzerinde
yapılması gerekecek tüm işlemlerin veri tabanı
yöneticisi tarafından yapılmasını sağlayan, aynı
zamanda veritabanına gelen tüm istekleri işleme
ş
koyup
denetleyen sistemdir.
Veritabanı Yönetim Sistemleri
V it b
Veritabanı
yönetim
ö ti sistemlerinin
i t l i i b
başlıca
l
ttemell görevleri:
ö l i
Veritabanının
V
it b
ve verinin
i i ttanımlanması
l
Verinin güncellenmesi ve sunulması
V i b
Veritabanı
b k
bakımı
Güvenlik
Veri yedeklenmesi ve kurtarılması
Uygulama
yg
Alanları
Veritabanlarında tutulan veriler, sorgulama yazılımları,
rapor üreten yazılımlar,
yazılımlar hesap çizelgeleri,
çizelgeleri istatistik
yazılımları, karar destek yazılımları, grafik yazılımları
gibi farklı türden birçok yazılım tarafından
kullanılırlar.
Varlık-Bağıntı Modeli (E-R)
Günümüzde en yaygın kullanılan veritabanları ilişkisel
model üzerine kurulmuş veritabanlarıdır. 1970 yılında
E. F. Codd tarafından yayınlanan bir makale ilişkisel
veritabanı anlayışının oluşmasını sağlamıştır.
İlişkisel model, gerçek hayattaki varlıklar, varlıkları
tanımlayan nitelikler ve varlıklar arasındaki bağıntılar
üzerine kurulmuştur.
kurulmuştur Her varlık kendine özgü tekil bir
özelliği ile diğerlerinden ayrılır.
Varlık-Bağıntı Modeli (E-R)
Varlık-bağıntı modelinin dört temel kavramı vardır. Bunlar;
Varlık
Nitelik
Bağıntı
Anahtar nitelik
Varlık-Bağıntı Modeli (E-R)
Şekil 1.2 Varlık-Bağıntı Model Örneği
Varlık-Bağıntı Modeli (E-R)
Varlık Bağıntı Modelinin Yapıtaşları
Varlık-Bağıntı
İlişkisel
İli
ki l modeldeki
d ld ki “varlıklar”
“ l kl ” ilişkisel
ili ki l veritabanlarındaki
it b l
d ki
tablolardır. Tabloların isimleri açıklayıcı ve kısa olmalıdır.
Aynı veritabanı içinde aynı tablo ismi kullanılamaz.
kullanılamaz Tablo
satırlarının toplamı nesne kümesini oluşturur.
Varlık-Bağıntı Modeli (E-R)
Bir tablo,
Bi
t bl
nesneyii tanımlayan
t
l
“ it likl ”i içeren
“nitelikler”i
i
sütunlardan oluşur. Nitelik, bir varlığın karakteristik
tanımlayıcılarından biridir.
biridir Tablonun satırlarında varlığa
ait nitelik verileri görüntülenir.
İlişkisel modeldeki “bağıntılar” ilişkisel veritabanlarındaki
tablolar arasındaki bağıntılardır. Bu bağıntılar diyagram
üzerinde çizgiler ile görüntülenir.
Varlık-Bağıntı Modeli (E-R)
Nitelik Türleri
Basit nitelikler: Sadece tek bir değer içerir.
Kitap No.  123456
Türetilmiş nitelikler: Diğer niteliklerin hesaplanması
sonucunda elde edilen niteliklerdir.
D ğ
Doğum
Tarihi
T ihi  1.1.1982
1 1 1982
Yaş  (Bugün - DoğumTarihi) = 23
Varlık-Bağıntı Modeli (E-R)
Nitelik Türleri
Bileşik nitelikler: Birden çok bileşeni içerir.
Bulunduğu Yer  Raf No  5
Oda No  3
Birden fazla değeri olan nitelikler: Birden fazla değeri
i i
içerir.
Telefon  555 11 11, 555 22 22
Varlık-Bağıntı Modeli (E-R)
Anahtarlar
Bir varlığı ya da bağıntıyı tekil (unique) olarak
tanımlayan ve diğerlerinden ayırt edilmesine yarayan
nitelik ya da en küçük nitelik kümesine anahtar denir.
Anahtar nitelik tek sütun (Yazar_No) olabileceği gibi
birden fazla sütunu da içerebilir
ç
((Yazar_Ad ve
Yazar_Soyad).
Varlık-Bağıntı Modeli (E-R)
Bağıntı Türleri (Mapping Cardinalities)
En az 2 varlık arasında ortak nitelikler üzerinden bağıntı
yapılabilir.
Varlıklar arasında 4 ççeşit
ş bağıntı
ğ
türü olabilir:
• Bire-Bir (1-1)
• Bire-Birçok (1-m)
• Bir çoğa-Bir (n-1)
• Bir çoğa-Birçok (n-m)
B ğ t Türleri
Bağıntı
Tü l i (Mapping
(M
i Cardinalities)
C di liti )
Bire-Bir
Bi
Bi (1-1):
(1 1) İki varlık
l k için
i i de
d sadece
d
bi
birer
nitelik
i lik
ortaktır.
Bire Birçok (1-m):
Bire-Birçok
(1 m): Bir varlık
arl k diğer bir varlığın
arl ğ n birden
fazla niteliğine sahip olabilir.
Birçoğa Bir (n-1):
Birçoğa-Bir
(n 1): Bir varlığın birden fazla niteliği bir
diğer varlıkta bulunabilir.
Birçoğa-Birçok
Birçoğa
Birçok (n
(n-m):
m): Bir varlık diğer bir varlığın birden
fazla
niteliğine
sahip
olabileceği gibi kendi
niteliklerinin birden fazlası diğer varlıkta bulunabilir.
V l k B ğ t Modeli
Varlık-Bağıntı
M d li (E-R)
(E R)
Tablo 1.3 Tablolar Arası Bağıntı
Kitap Tablosu
Kitap No
Kitap_No
Kitap Ad
Kitap_Ad
1
Tutunamayanlar
2
Access
Yazar Tablosu
Kitap Fiyat
Kitap_Fiyat
Yazar No
Yazar_No
Yazar Ad
Yazar_Ad
Yazar Soyad
Yazar_Soyad
16.50
1
Hasan
Demir
45 50
45.50
2
Oğuz
Atay
3
Ayşe
Güçlü
KitapYazar Tablosu
Kitap_No
Yazar_No
1
2
2
1
2
3
Tablo 1.3 deki örnekte Tutunamayanlar isimli kitap Oğuz Atay, Access
isimli kitap ise Hasan Demir ve Ayşe Güçlü tarafından yazılmıştır.
Varlık-Bağıntı Modeli (E-R)
İlişkisel Veri Modeli
İlişki iki boyutlu bir çizelge olarak düşünülmelidir.
Çizelgenin her sütununda bir nitelik yer alır. Her satırda
ise bir çoklu vardır. 2 sütunlu bir çizelge düşünüldüğünde
bu çoklunun 1.
1 elemanı 1
1. sütun değerine
değerine, 2
2. elemanı 2
2.
sütun değerine sahip olur.
Kitap çizelgesi düşünüldüğünde veri modeli aşağıdaki
şşekilde olur:
KİTAP(Kitap_No,Kitap_Ad,Kitap_Fiyat)
Varlık-Bağıntı Modeli (E-R)
İlişkilerin özellikleri için aşağıdakiler söylenebilir:
Satırların sırası önemsizdir.
Sütunların sırası önemsizdir.
Tüm satırların birbirinden farklı olması gerekir.
Tüm satırlar farklı olduğuna göre en az bir
anahtar alan vardır.
Bir sütundaki değerlerin tümünün veri tipi aynıdır.
İlişkisel
ş
Model (Relational)
(
)
Veri Modeli,
Modeli Şema ve Örnekleme:
Veri modeli, bir veritabanının yapısını açıklayan
kavramlar bütünüdür.
Veritabanı yapısı; veri türleri, bağıntılar ve veri
kısıtlamalarından oluşur.
Veri modelleri ayrıca basit işlemler kümesini (erişim,
düzenleme) içerir.
İlişkisel
ş
Model (Relational)
(
)
Veritabanın tanımını veren şema,
şema veritabanı tasarımı
sırasında belirlenir ve çok sık olarak değişmez.
Kitap
Kitap_No
Kitap_Ad
Tablo 1.1 Şema Örneği
Kitap_Fiyat
İlişkisel
ş
Model (Relational)
(
)
Bir veritabanı içinde yer alan verinin belirli bir andaki
d
durumuna
veritabanı
it b
d
durumu,
veritabanı
it b
f t ğ f ya
fotoğrafı
da örneklemesi denir. Her veri ekleme, silme ya da
değiştirme durumunda örnekleme değişir.
değişir
Kitap
Kitap_No
1
2
Kitap_Ad
Tutunamayanlar
İnce Memed
Tablo 1.2 Örnekleme Örneği
Kitap_Fiyat
16.50 12.80
Download