Transcript 1. sunu

VTYS 2012
Mehmet Emin KORKUSUZ
BİA3202 VTYS
 Veri Tabanı Yönetim Sistemleri Dersi
 Saat :
 1. Öğretim 10:20 – 11:50 / 12:30 – 14:00
 2. Öğretim 17:05 – 18:35 / 18:55 – 20:25
 Derse geç kalmak yaptırıma tabidir.
 Derse devam mecburidir (OBS).
 Derste cep telefonunun çalması yaptırıma tabidir.
 Projelerin yapılmaması ağır yaptırıma tabidir.
KAYNAKLAR
 Veri Tabanı Yönetim Sistemleri I (Turgut Özseven)
 Veri Tabanı Sistemleri Dersi Teoriden Pratiğe (Nergiz Ercil Çağıltay – Gül
Tokdemir)
 Dr. Yalçın Özkan, Veri Tabanı Sistemleri, Alfa
 James R. Groff, Paul N. Weinberg, Editör:Selçuk Tüzel, Herkes İçin
SQL, Alfa
 Luke Welling, Laura Thomson, Editör:Selçuk Tüzel, Uzmanlar İçin
PHP ve MySQL, Alfa
 www.mysql.com
 www.korkusuz.gen.tr
DEĞERLENDİRME
 Ara Sınav : %40
 Yarıyıl Sonu Sınavı : %60
 Zamanında teslim edilmeyen ödevler teslim edilmemiş
sayılır.
Ders İçeriği
 VT Temel Kavramları
 İlişkisel Veri Tabanı Tasarımı
 SQL (MySQL)





 DDL
 DML
 DCL
Sorgular
Fonksiyonlar
Gruplandırarak Sorgulama
Join, Alt Sorgu
Trigger ve Procedure
Temel Kavramlar
 Geleneksel Dosya Sistemleri
 Sıralı erişimli dosya sistemleri
 Doğrudan erişimli dosyalar




Veri (Data)
Enformasyon (Information)
Bilgi (knowledge)
Veri Tabanı
Geleneksel Dosyalama
 Sıralı erişimli dosyalar (Sequental access files)
Sıralı Erişimli Dosyalar




Kayıtlar arasında sırayla ilerlenir
En son kayda ulaşmak için tüm kayıtları geçmek gerekir
Silme ve düzeltme işlemleri çok zordur
Kayıt sayısı arttığında sisteme maliyeti çok fazla olur
Geleneksel Dosyalama
 Doğrudan erişimli dosyalar (Random access files)
Doğrudan Erişimli Dosyalar

Doğrudan erişimli (Random Access)



Her bir kaydın adresi index dosyasında saklanır
Index dosyasındaki adrese doğrudan erişim yapılır
Hashed File



Kayıtlara erişmek için hesap yapılır
Her kaydın ve alanın kaç byte kapladığı saklanır
Hesaplanan adrese doğrudan erişilir
Veri
 Olgu, kavram ya da komutların, iletişim, yorum ve işlem
için elverişli biçimsel ve uzlaşımsal bir gösterimi.
 Olaylar ve varlıklar ile ilgili kaydedilebilir dolaylı olarak
bir anlam ifade eden ve işlenmemiş (ham) gerçekler
veya ölçümlerdir.
 Kaydedilebilir bilgi!
Enformasyon
 Karar vermek için bir değeri olan ve organize edilmiş
verilerin özetlenmesi ile elde edilen gerçeklerdir.
Bilgi
 Enformasyon haline dönüştürülmüş gerçeklerin analiz
edilmesi ve sentezlenmesi sonucu karar vermeye
yönelik olarak elde edilen daha üst seviyeli gerçekleri
içerir.
VERİ, ENFORMASYON VE BİLGİ
Karar Verme
Sentezlenir
Analiz Edilir
Özetlenir
Bilgi
Enformasyon
Organize Edilir
Toplanır
Veri
Yandaki grafik kavramlar
arasındaki bağıntı ve verinin
bilgiye dönüşüm sürecini
göstermektedir.
Karar verme amacıyla verinin
toplanıp, organize edilmesi,
özetlenmesi, analiz edilmesi ve
sentezlenmesi gerekir.
Veritabanı sistemleri bu aşamalarda önemli bir rol oynar ve bu aşamaların
sağlıklı olarak gerçekleştirilmesi için bir alt yapı hazırlanır.
VERİ, ENFORMASYON VE BİLGİ
Aşağıdakilerden hangisinin veri, enformasyon ve bilgi olduğunu
düşünüyorsunuz?
1. Bu yıl, Osman diğer tüm satış temsilcilerinden daha fazla komisyon
elde etmiştir.
2. Bu yıl, Trakya Bölgesi 500.000 TL’den fazla satış gerçekleştirmiştir.
3. Her yıl Osman tüm satış temsilcilerinden daha fazla satış
gerçekleştirir.
Veri Tabanı Yönetim Sistemleri








MySQL
MsSQL
PostgreSQL
Oracle
Sybase
Berkeley
Firebird
Ms access
Veri Tabanı Dilleri






SQL
PL/SQL
OQL : Object Query Language
CQL
4D Query Language
Datalog
Veri Tabanı Kavramları
 Veri Tabanı (Data Base)
 Alan (Field)
 Satır (Row)
 Sütun (Column)
 Tablo (Table)
 Veri Tipi (Data Type)
Veri Tabanı Kavramları
 Anahtar (Key)
 Birincil Anahtar (Primary Key)
 Tekil Anahtar (Unique Key)
 Yabancı Anahtar (Foreign Key)
 Katılım (=İlişkilendirme) (Joining)
 NULL
Veri Tabanı
 Veri tabanı düzenli bilgiler topluluğudur.
 Sistematik erişim imkânı olan, yönetilebilir,
güncellenebilir, taşınabilir, birbirleri arasında
tanımlı ilişkiler bulunabilen bilgiler kümesidir.
 Bir bilgisayarda sistematik şekilde saklanmış,
programlarca işlenebilecek veri yığınıdır.
Alan
Ogr_no Ad_soyad
d_tarih
d_yeri
e-mail
1
Melek Yücecengiz
26.03.1989
Bandırma
[email protected]
2
Zeynep Nur
24.06.1989
Balıkesir
[email protected]
3
Xxx Yyy
06.06.1983
Adana
4
Zzz Www
11.02.1978
Niğde
[email protected]
5
Aaa Bbb
22.08.1980
Antalya
[email protected]
6
Ccc Ddd
12.12.1984
İstanbul
[email protected]
[email protected]
Satır
Ogr_no Ad_soyad
d_tarih
d_yeri
e-mail
1
Melek Yücecengiz
26.03.1989
Bandırma
[email protected]
2
Zeynep Nur
24.06.1989
Balıkesir
[email protected]
3
Xxx Yyy
06.06.1983
Adana
[email protected]
4
Zzz Www
11.02.1978
Niğde
[email protected]
5
Aaa Bbb
22.08.1980
Antalya
[email protected]
6
Ccc Ddd
12.12.1984
İstanbul
[email protected]
Kayıt (Record)
Sütun
Ogr_no Ad_soyad
d_tarih
d_yeri
e-mail
1
Melek Yücecengiz
26.03.1989
Bandırma
[email protected]
2
Zeynep Nur
24.06.1989
Balıkesir
[email protected]
3
Xxx Yyy
06.06.1983
Adana
[email protected]
4
Zzz Www
11.02.1978
Niğde
[email protected]
5
Aaa Bbb
22.08.1980
Antalya
[email protected]
6
Ccc Ddd
12.12.1984
İstanbul
[email protected]
Tablo
Ogr_no Ad_soyad
d_tarih
d_yeri
e-mail
1
Melek Yücecengiz
26.03.1989
Bandırma
[email protected]
2
Zeynep Nur
24.06.1989
Balıkesir
[email protected]
3
Xxx Yyy
06.06.1983
Adana
[email protected]
4
Zzz Www
11.02.1978
Niğde
[email protected]
5
Aaa Bbb
22.08.1980
Antalya
[email protected]
6
Ccc Ddd
12.12.1984
İstanbul
[email protected]
Veri Tipi
 Alanda saklanacak bilgilerin türü farklılıklar gösterir.
Sayı, metin, tarih vb. olabilir.




Sayı tipleri
Tarih, zaman tipleri
Metin tipleri
Diğer tipler
Anahtar
 Tablolarda bulunan her bir kaydın diğerinden farklı
olmasını garanti altına bir alandır.
Birincil Anahtar
 Tabloda tutulan verilerden benzersiz yani anı değeri iki
kez içermeyecek olan sütun birincil anahtar olarak
belirlenir.
Tekil Anahtar
 Birincil anahtarda olduğu gibi bir değer sadece bir kez
girilebilir. Birincil anahtardan farklı olarak NULL değer
alabilir.
Yabancı Anahtar
 Bir tabloya girilebilecek değerleri başka bir tablonun
belli alanında yer alabilecek veri grubu ile
sınırlandırılmaya ve en önemlisi de ilişkilendirmeye
yarar...
İlişkilendirme
 Tek sorgu ile birden fazla tablodan işlemine denir.
NULL
 Tablodaki bir alana hiç değer girilmediğinde oluşur.
 NULL boşluk değil, değer bulunmamasıdır.
VTYS’NİN TEMEL BİLEŞENLERİ



Index ve Hesaplama yöntemlerini kullanır
Uygulamaların veri tabanına doğrudan erişmesini engeller
Uygulamadan bağımsızdır
VTYS
Veri Tabanı
Uygulama
Yazılımı
VTYS’NİN TEMEL BİLEŞENLERİ
Derlenmiş
VT
Tanımları
Veri Tabanı
Kullanıcı verileri
Metadata
Dizinler
Uygulama
Metadatası
Veri Tabanı
Yöneticisi
VT
Veri Tanımlama Tanımları
Dili (DDL)
Derleyicisi
Tablo yaratma
Form yaratma
Sorgu yaratma
Rapor yaratma
Sorgu İşleyicisi
(SQL)
Derlenmiş
Uygulama
Programı
Genişletilmiş
Programlama
Dili (DML +
taşıyıcı dil)
Derleyicisi
Kayıt ekleme
Kayıt silme
Kayıt güncelleme
Veri
Tabanını
Oluşturma
VT
Sorgus
u
Uygulama
Programı
Veri
Tabanını
Kullanma
VTYS’nin Faydaları






Veri Tekrarı (Data Redundancy)
Veri Tutarlılığı (Data Consistency)
Veri Paylaşımı (Data Concurrency)
Veri Bütünlüğü (Data Integrity)
Veri Güvenliği (Data Security)
Veri Bağımsızlığı (Data Indepedence)
Veri Tabanı Kullanıcıları
 Veri Tabanı Yöneticisi






Tasarım
Performans analizi
Erişim yetkileri
Yedekleme – Geri yükleme
Veri bütünlüğünü sağlama
Sistem sürekliliği
 Uygulama Programcısı
 Sorgu Dili Kullanıcısı
 Son Kullanıcı
VT Modelleri




Sıradüzensel Veri Modeli (Hierarchical Data Model)
Ağ Veri Modeli (Network Data Model)
İlişkisel Veri Modeli (Relational Data Model)
Nesneye-Yönelik Veri Modeli (Object-oriented Data
Model)
VT Modelleri - Tarihçe
 Sıradüzensel (Hiyerarşik) Veri Modeli en eski model
olup 60 ve 70'li yıllarda çok kullanılmıştır.
 1969’da ortaya çıkan Ağ Veri Modeli 1970’li yıllarda ve
 1980’li yılların ilk yarısında kullanılmıştır.
 İlişkisel veri modeli de ilk kez 1969 yılında ortaya
atılmış, 1970’li yılların sonunda kullanılmaya başlanmış
ve 1985 yılından sonra yaygınlaşmış bir yaklaşımdır.
 1990’lı yıllarda yaygın kullanılan VTYS'lerin hemen
hemen tümünün ilişkisel tabanlı olduğu söylenebilir.
VT Modelleri - Tarihçe
 Nesneye-yönelik veri modeli yaklaşımı ise on yılı aşkın süredir
gündemde olan, günümüzde çok yaygın kullanılmasa bile, kullanımı
giderek yaygınlaşan bir yaklaşımdır.
 Geçmişe baktığımızda, ilişkisel yaklaşımın kullanılmaya başlanması
ile sıradüzensel ve ağ yaklaşımlarının terk edildiği görülmektedir.
 Buna karşılık nesneye-yönelik yaklaşımın kullanılmaya başlanması
ile ilişkisel yaklaşım terk edilmemiştir.
 Günümüzde hem ilişkisel hem de nesneye-yönelik yaklaşımı birlikte
kullanan VTYS'lerinin yaygınlaştığı görülmektedir (ORDBMS).
Sıradüzensel (Hiyerarşik) Model
 1960’lar ve 1970’lerde kullanılmıştır.
 Programlama dillerindeki veri yapılarına benzer. Bir
kaydın 1 ebeveyn kaydı, 1’den çok çocuk kaydı vardır.
Kitaplar
(no, başlık)
Yazarlar
(ad, soyad)
Yayıncılar
Konular
Ağ Modeli
 1970’lerde.
 Her kaydın birçok ebeveyn ve birçok çocuk kaydı
bulunabilir.
Yazarlar
Konular
Kitaplar
Yayıncılar
İlişkisel Model
 1980’lerden günümüze.
 Veriler için kavramsal olarak basit bir model; veriler ve
ilişkiler “tablolar” üzerinde tanımlanır ve tüm bilgiler
görülebilecek şekildedir.
Nesneye-Yönelik Model
 1990’lardan günümüze.
 Veriler nesne olarak modellenir ve yaratılır.
 Nesneye-Yönelik Programlama (OOP) da olan sınıf ve
miras kavramlarına sahiptir.
 Karmaşık veriler üzerinde işlem yaparken yüksek
performans sunan bir yaklaşımdır
VT Mimarileri





Merkezi Sistem Mimarisi
Basit istemci/sunucu Mimarisi
Üç katmanlı istemci/sunucu Mimarisi
N Katmanlı Sistemler
Dağıtık Veritabanı Sistemleri Mimamirisi
TARİHÇE VE KURULUM MİMARİLERİ
Merkezi Sistem Mimarisi
 Bu mimaride,uç kullanıcı birimleri,VTYS ve
veriler aynı sunucu sistem üzerinde
konumlandırılır.Bu tür veritabanı
yapılarına,merkezi sistem adı da verilir.
TARİHÇE VE KURULUM MİMARİLERİ
Merkezi Sistem Mimarisi
 AVANTAJLARI
-Bu yapılar,çok yüksek gereksinimleri olmayan sistemler
için pratik ve uygun bir çözüm olarak kullanılmaktadır.
-Tek bir sunucu sistemin yönetime gereksinim duyulması
nedeniyle,sistem maliyeti ve bakım-onarım yatırımı daha
düşük olacaktır.
- Sistem yapısının basitliği,sorunların daha kolay
çözülebilmesini sağlayacaktır.
TARİHÇE VE KURULUM MİMARİLERİ
Merkezi Sistem Mimarisi
 DEZAVANTAJLARI
-Bilişim sistemleri gereksinimleri artan
organizasyonlarda,hem uygulamaların,hem de veritabanı
sisteminin ve istemcilerin tek bir sunucu tarafından
yönetiliyor olması sistem performansında önemli
sorunlara neden olabilmektedir.Bu sebeple son yıllarda
sunucu görevi yapabilecek olan bilgisayarların daha
yüksek performansla ve daha düşük maliyetlerle elde
edilebilmesi ve bilgisayar ağları teknolojilerindeki
gelişmeler nedeniyle,bir iletişim ağı üzerinden
istemci/sunucu mimarilerinin kullanılması tercih edilir
hale gelmiştir.
TARİHÇE VE KURULUM MİMARİLERİ
Merkezi Sistem Mimarisi
Merkezi
Bilgisayar
Veri tabanı
TARİHÇE VE KURULUM MİMARİLERİ
Basit İstemci/Sunucu
Mimarisi
 Birden fazla kullanıcının istemci olduğu basit
istemci/sunucu mimarisinde istemciler,iletişim ağı
aracılığı ile veritabanı sisteminin bulunduğu sunucuya
ulaşarak sistemi kullanırlar.Bu yapıya iki katmanlı
istemci/sunucu mimarisi adı da verilir.
 Birinci katman,istemci sistemlerden oluşur,bu katmanın
görevi,kullanıcı arayüzlerini kullanıcıya sunmak ve temel
veri işlemlerini gerçekleştirmektir.İkinci katman
ise,veritabanı sunucusundan oluşur.Bu katmanın görevi
geçerlilik işlemlerinin yapılması ve veritabanına erişimin
sağlanmasıdır.
TARİHÇE VE KURULUM MİMARİLERİ
Basit İstemci/Sunucu
Mimarisi
 AVANTAJLARI
-Mevcut veritabanına daha geniş bir erişim imkanı
sunulur.
-Daha yüksek bir performansın elde edilmesi sağlanır.
TARİHÇE VE KURULUM MİMARİLERİ
Basit İstemci/Sunucu
Mimarisi
 DEZAVANTAJLARI
-Bilişim sistemlerinin ve uygulama yazılımlarının
gereksinimlerinin daha yüksek olduğu durumlarda bu
mimari yaklaşımdan da istenilen performansın elde
edilememesi söz konusu olabilmektedir.Bu durumlarda
üç katmanlı yaklaşım olarak isimlendirebileceğimiz
mimari yaklaşım tercih edilmelidir.
TARİHÇE VE KURULUM MİMARİLERİ
Üç Katmanlı İstemci/Sunucu
Mimarisi
 1990’lı yıllardan itibaren,uygulamaların giderek daha
karmaşık ve daha kapsamlı bir hal alması ve bir
uygulamanın yüzlerce kişi tarafından geliştirilme ihtiyacı
gibi nedenlerden dolayı farklı arayışlar içine
girilmiştir.Bu çalışmaların sonucunda üç katmanlı
istemci/sunucu mimarisi ortaya çıkmıştır.
 Birinci katmanda,istemci bilgisayarlar bulunur.Bu
bilgisayarların temel görevi,kullanıcı arayüzlerinin
kullanıcılara sunulmasıdır.İkinci katmanda ise,uygulama
sunucusu bulunur.Bu sunucunun görevi,iş kurallarının
uygulanmasının sağlanması ve veri işleme mantığının
gerçekleştirilmesidir.Üçüncü katmanda ise veritabanı
sunucusu bulunur.Bu sunucun görevi,veri geçerliliğinin
ve veritabanına erişimin sağlanmasıdır.
TARİHÇE VE KURULUM MİMARİLERİ
Üç Katmanlı İstemci/Sunucu
Mimarisi
 AVANTAJLARI
-Yaklaşımın modüler olması
-Veritabanına erişimin doğrudan engellenmesi nedeniyle
daha güvenli olması
-Farklı işlemlerin farklı sunucular tarafından yönetiliyor
olması
-Performansının daha yüksek olması
-Web tabanlı uygulamalar için de uygun bir ortam olması
TARİHÇE VE KURULUM MİMARİLERİ
Üç Katmanlı İstemci/Sunucu
Mimarisi
 DEZAVANTAJLARI
-Web tabanlı uygulamaların gereksinimlerinin giderek
artması nedeniyle N-katmanlı yaklaşım adı verilen
gereksinimler çercevesinde bu mimariye ek bazı
katmanların eklendiği yeni yaklaşımlar kullanılmaya
başlanmıştır.
TARİHÇE VE KURULUM MİMARİLERİ
İki Katmanlı İstemci-Sunucu Mimarisi
Veritabanı Sunucusu
İstemci
Üç Katmanlı İstemci-Sunucu Mimarisi
İstemci
Uygulama Sunucusu
Veritabanı Sunucusu
TARİHÇE VE KURULUM MİMARİLERİ
N-Katmanlı Sistemler
 Bu yaklaşıma göre,katman sayısı gereksinimler
çerçevesinde arttırılabilmektedir.
 N-katmanlı yaklaşımlar günümüzde,farklı servis
hizmetleri için farklı sunucuların kullanılması ile tercih
edilen bir yaklaşım haline gelmiştir.
TARİHÇE VE KURULUM MİMARİLERİ
N-Katmanlı Sistemler
 AVANTAJLARI
-Güvenliğinin Artması
-Performansının artması
TARİHÇE VE KURULUM MİMARİLERİ
N-Katmanlı Sistemler
 DEZAVANTAJLARI
-Sistemin giderek daha karmaşık bir yapı alması
nedeniyle de bazı durumlarda dezavantaj da
olabilmektedir.
TARİHÇE VE KURULUM MİMARİLERİ
N-Katmanlı Sistemler
İletişim Ağı
Web
Yazılımları
Uygulama
Yazılımları
VTYS
Veritabanı
Web Sunucusu
Uygulama Sunucusu
Veritabanı Sunucusu
TARİHÇE VE KURULUM MİMARİLERİ
Dağıtık Veritabanı Sistemleri
Mimarisi
 Bu sistem,verilerin iletişim ağları ile birbirine bağlı olan
farklı sunucular üzerinde dağıtılmasını hedefler.
 Birbiri ile mantıksal olarak bağıntısı olan dağıtık veri
kümelerinin,tek bir VTYS tarafından yönetildiği yada
yönetilebileceği durumlarda bu mimari tercih edilebilir.
TARİHÇE VE KURULUM MİMARİLERİ
Dağıtık Veritabanı Sistemleri
Mimarisi
 AVANTAJLARI
-Veri kümelerinin birbirinden atrıştırılması ile veri
güvenliğini artırmıştır.
-Farklı işlemler için farklı veritabanı sunucularının
kullanılması nedeniyle de performansın arttırılmasını
sağlamıştır.
-Tek bir VTYS tarafından yönetimin sağlanması,sistem
bakım onarım maliyetlerinin çok fazla artmamasına ve
genel sistem yönetiminin göreceli olarak
karmaşıklaşmamasına neden olmuştur.
TARİHÇE VE KURULUM MİMARİLERİ
Dağıtık Veritabanı Sistemleri
Mimarisi
İletişim Ağı
VTYS
Veritabanı
Veritabanı
TARİHÇE VE KURULUM MİMARİLERİ
Dağıtık Veritabanı Yönetim Sistemleri
Mimarisi
 Bu yapılarda,VTYS’ler ve veritabanları farklı birçok sunucu
üzerinde dağıtık bir yapıda konumlandırılır.İstemciler,bir
sunucu aracılığı ile bu farklı veritabanı sistemlerine,iletişim ağ
yapısı aracılığı ile ulaşırlar.
TARİHÇE VE KURULUM MİMARİLERİ
Dağıtık Veritabanı Yönetim Sistemleri
Mimarisi
 AVANTAJLARI
-Kullanıcı gereksinimlerine yönelik esnek
-Bütün çözümlerin oluşturulmasında büyük kolaylıklar
sağlamaktadır.
TARİHÇE VE KURULUM MİMARİLERİ
Dağıtık Veritabanı Sistemleri
Mimarisi
İletişim Ağı
VTYS
Veritabanı
VTYS
Veritabanı