Veri tabanı

advertisement
VERİTABANI YÖNETİMİ
Temel Terimler ve Kavramlar
1.HAFTA
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
İçerik



İlk dersimizde veritabanı temel kavramları açıklanarak, veritabanları ve
özellikleri, dosya sistemleri, konuları ele alınacaktır.
Veri tabanın hangi amaçla kullanıldığı, tarihsel gelişim süreci, nasıl bir
yapıya sahip olduğu, veritabanı yönetim sistemlerini öğreneceğiz.
Ders sonunda veritabanları hakkında genel bir bilgi sahibi olunması
hedeflenmektedir.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Giriş




Veri tabanları, günümüzde hayatımızın her aşamasında karşımıza çıkan
bir kavramdır.
Bir mağazada ürün bilgileri, okullarda öğrencilere, personele ait bilgiler,
hastanelerde hastaya, personele ilişkin bilgiler vs. bir yerde tutulmak
zorundadır.
İşte veri tabanları bu tür verileri depolamak ve daha sonra bu bilgilere
istenildiği zaman erişebilmek için kullanılır.
Bu derste veri tabanının ne olduğu, veri tabanına neden ihtiyaç
duyulduğu sorularına cevap verebilecek, hazırlamak istediğiniz herhangi
bir veri tabanının ihtiyaç analizini yapabilecek, ilişkisel veri tabanının ne
olduğunu öğrenecek ve ilişkisel veri tabanı tasarlanması sırasında
karınıza çıkacak olan sorunlara çözüm bulmak için kullanılan normal
formların neler olduğunu ve hangi sorunların nasıl çözümlendiğini
öğreneceksiniz.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Veritabanı Yönetimi Sistemleri: Ders Hakkında
Hafta
Konu
1
Veritabanı Sistemleri ve Temel Kavramlar
2
Veritabanı Tasarımı
3
Veri Modeli
4
İlişkisel Veri Tabanı
5
Veritabanı Normalizasyonu
6-7
SQL-Yapısal sorgulama dili
8
Veritabanı Mimarileri-Veritabanı sunucusu-
9-10
Wampserver ve MySQL Workbench
11
Web Tabanlı Veri Tabanı Uygulamaları
12-13-14
Microsoft SQL Server 2012
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
VTYS Dersinin amacı nedir?





Çağdaş Veri Yönetimini Anlamak,
Veri Tabanı Sistemlerinin Oluşturulması, Denetimi Ve Erişim
Yöntemlerini Ve Araçlarını Öğrenmek,
Veri Tabanları Yönetim Sistemlerinin Gelişim Yönlerini Araştırmak,
Verilecek Teori Bilgiler Temelinde Vtys Uygulamaları Yapmaktır.
Dersi anlamak ve başarılı olmak için…
1. Bilgiye ulaşmasını bilmek
2. Dersi takip etme
3. Ders notlarını takip etme
4. Farklı kaynaklara ulaşmak
5. Dersin gerekliliğini kavrama
6. Sizden istenenleri (ödev vb.) size verilen süre içerisinde etik
kurallar içinde yerine getirme
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Amaçlar
Veri Tabanları Konusunu Niçin Çalışmalıyız?



Bilgisayar teknolojisi hesaplamadan bilgiye doğru bir yöneliş halindedir.
Veri kümelerinin hacmi artmakta ve çeşitlenmektedir. Bilimsel verilerden
askeri verilere kadar birçok alanda veritabanı kullanımı artmıştır. Ayrıca,
Internet veritabanlarını bütün kullanıcılara açık hale getirdiği için kullanımı
en yüksek seviyeye çıkmıştır.
Kısacası içinde VT olmayan hemen hiçbir ciddi uygulama kalmamıştır.

Bu çerçevede amaç; çağdaş veri yönetimini anlamak, veri tabanı
sistemlerinin oluşturulması, denetimi ve erişim yöntemlerini ve araçlarını
öğrenmek, veri tabanları yönetim sistemlerinin gelişim yönlerini
araştırmak, verilecek teori bilgiler temelinde veritabanı yönetim sistemin
uygulamaları yapmaktır.

Önümüzdeki haftalar göz önüne alındığında bu derste veritabanı temel
kavramlarını anlama, ilişkisel sorgu dili SQL’i öğrenme ve uygulama
yapma, pratik bir ilişkisel veritabanı yönetim sistemini (Access, MySQL,
MS SQL Server gibi) kullanarak veritabanın gerçekleştirimi ve Veritabanı
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
üzerinde sorgulama yapmayı öğreneceğiz.
Terimler ve Kavramlar
Veri:







Veri kaydedilebilir bilinen gerçeklerdir.
Veriyi, veri tabanında kayıtlı fiziksel değer olarak tanımlayabiliriz.
Örneğin bir kişinin adı, adresi, telefon numarası gibi.
Veri, bir ya da daha çok bilgi parçasından meydana gelen bir topluluktur.
Sonuç çıkarmak, çıkarsama yapmak, ya da bir incelemeyi sürdürmek
için gerekli olaylara, ilişkilere ve sayısal ham bilgilere verilen ad (Eğitim
Terimleri Sözlüğü)
Bilgisayar için işlenebilir duruma getirilmiş sayısal ya da sayısal olmayan
bilgi (Matematik Terimleri Sözlüğü)
Olgu, kavram veya komutların, iletişim, yorum ve işlem için elverişli
biçimli gösterimi (Bilişim Terimleri Sözlüğü)
Olguların, kavramların, veya talimatların, insan tarafından veya otomatik
yolla iletişim, yorumlama ve işleme amacına uygun bir biçimde ifadesidir
(ANSI tanımı). Genellikle, biz veri veya veri birimleri üzerindeki
işlemlerimizi varlık hakkında her hangi bilgi almak için gerçekleştiririz.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Veri Yönetimi
Veri yönetimi, veriyi depolama ve depolanan veriye erişme sürecidir.
Veri yönetiminin üç temel işlevi vardır:
•
a) Verinin iç ilişkileri ve dış dünya ilişkilerinin belirlenip, standart veri
tanımlarının yapılması.
•
b) Belirli bir biçimde verinin depolama araçlarında depolanması.
•
c) Sistem kullanıcıları tarafından depolanmış verinin doğru bilgi
sağlayacak şekilde elde edilmesi.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Veri Yönetimi Yaklaşımları
Bilgisayar tabanlı veri yönetiminde iki yaklaşım söz konusudur:
a) Geleneksel dosya isleme ile veri yönetimi

Geleneksel dosya isleme sisteminde, belirli dosyalar, belirli uygulamalarla
yaratılır ve yönetilir. Veri bir programdan diğerine atılır. Her uygulama programı
veya sistemi, sadece belirlenmiş bir bölüm veya kullanıcı grubunun ihtiyaçlarını
karsılamak için tasarlanan verileri kullanır.
b) Veri tabanı sistemi ile veri yönetimi

Veri Tabanı Sistemleri (VTS), bilgisayarda çeşitli amaçlar için düzenli şekilde veri
saklayan ve isteğe göre bilgi üreten bir kayıt tutma ve saklama sistemidir. Bu
sistemler, genelde kişilerin, şirket veya kuruluşların özel ihtiyaçlarını karşılayacak
şekilde oluşturulmaktadır. Bu yaklaşım, verinin birden fazla programca
kullanılmasına izin veren bir yaklaşımdır.

Veri tabanı sistemi ile dosyalar belirli uygulamalarla yönlendirilmez. Veriler
sınırsız uygulamalarla paylaştırılacak biçimde düzenlenmiştir. Dosyalar arasında
ilişkilerin yaratılması söz konusudur.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Geleneksel Yaklaşım
Geleneksel Veri yönetimi yaklaşımı, dosya kökenlidir. Bu yaklaşımda her bir
uygulama kendi dosyalarıyla yürütülmektedir.
Yani her bir uygulama problemi için ayrı veri dosyaları oluşturulmakta ve
saklanmaktadır.
Bilgisayarlar kullanılmaya başlamadan önce dolaplar ve çekmeceler dosya ve
klasörlerle doldurulurdu. Bilgiler ise bu dolap veya çekmecelerde saklanırdı.
Bilgisayarların kullanılmaya başlanmasıyla bilgiler yine yukarda anlatılan teknikle
fakat dolap veya çekmeceler yerine elektronik ortamlarda saklanmaya
başlanmıştır.
Veri saklama birimlerinde depolanan veri topluluklarına "dosya" adı verilmektedir.
Bu sistemlerde saklanacak bilgilerle, saklayacak ve işleyecek programlar birbirine
bağımlı olarak çalışır. Bilgileri işlemek için kullanılacak olan programın,
kullanacağı dosyaların yapıları ve erişim biçimleri hakkında bilgi sahibi olması
gerekmektedir.
Klasik dosya sistemleri kullanıcıların ihtiyaçlarını karşılayan bir bilgisayar
programı yardımı ile verilerin saklanması, aranması ve güncelleştirilmesi işlemidir.
Bu tür dosya sistemlerinde her program kendi verisini belirler ve sadece o veriye
erişebilir.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Dosya sistemlerinin sakıncaları; Bunlar şöyle sıralanabilir:





Veri tekrarı: Aynı veri çeşitli dosyalarda birden fazla yer alabilmektedir
buda sistemin hantallaşmasına neden olur. Mesela bir stok dosyasında
stok numarası verisinin malzeme dosyasında, fatura dosyasında ve ambar
girişi dosyasında yer alması gibi.
Verinin birkaç dosyada güncellemesi: Veri birden fazla dosyada tekrar
edilebildiği için, verinin bir dosyada güncellenip diğerlerinde
güncellenmemesi Veri Bütünlüğünün (Data Integrity) bozulmasına
neden olabilir. Buna bağlı olarak birbiri ile çelişen raporlar üretilebilir.
Belleğin tekrarlı bilgi nedeniyle israfı: Aynı verinin birden fazla dosya
içinde bulunması nedeniyle kullanılan veri hard diskte fazla yer işgal
edecek. Yani hard disk tekrarlı veriler için kullanılmış olacaktır.
Sadece belirli bir dilin kullanılması: Verilerin dosya sisteminde
saklandığı ortamlar için değişik programlama dillerinden biri kullanılır.
Kullanılan bu programlama dili ise SQL dili gibi esnek değildir.
Özet olarak Dosya Sistemlerindeki Sorunlar şöyle sayılabilir; Veriler
birbirinden ayrı ve izole edilmiş, Çoğunlukla veri tekrarı var, Uygulama
programına bağımlı, Birbirine uyuşmayan (incompatible) veri dosyaları,
©Veritabanı Yönetimi
Anlaşılması zor.
Prof. Dr. İbrahim Çil
Veri Yönetimine Veri Tabanı Yaklaşımı
Veri tabanı, verileri bir merkezde toplayarak ve veri tekrarını minimize
ederek birçok uygulamaya verimli bir şekilde hizmet etmek üzere organize
edilmiş bir veri topluluğudur.
Veri tabanı teknolojisi geleneksel dosyalama sistemlerinin neden olduğu
çoğu problemi ortadan kaldırabilir.
Her uygulama için verileri farklı dosyalara saklamak yerine, burada veriler
fiziksel olarak tek bir yerde depolanır.
Tek bir veri tabanı birden çok uygulamaya hizmet verir.
Örneğin, işçi bilgilerini personel ve bordro dosyalarında ayrı ayrı saklamak
yerine, bu veriler tek bir insan kaynakları veri tabanında oluşturulabilir.
Bu yaklaşımda her bir uygulama, birleştirilmiş veri dosyalarını kullanır. Yani
veri dosyalan bütünleştirilmiştir.
Bu yaklaşım, verinin birden fazla programca kullanılmasına izin veren bir
yaklaşımdır.
Veri yönetimine Veritabanı yaklaşımını kullanmak için ilave yazılım yani Veri
Tabanı Yönetim Sistemi-VTYS gerekmektedir.
Veri tabanı yaklaşımı, geleneksel ©Veritabanı
yaklaşımın
sahip olduğu dezavantajları
Yönetimi
Prof. Dr. İbrahim Çil
ortadan kaldırmaktadır.
VTYS ve VT iki farklı kavramdır




VTYS bir yazılımdır, VT ise bir veri topluluğudur, yani fiziksel olarak
dosyalarda tutulan bir bilgi kümesidir
VTYS veri tabanlarını yönetir, depolar, siler, ekler v.b. işlemleri yapar. VT
ise üzerinde işlem yapılan bir veri grubundan ibarettir (bu işlemleri kendisi
yapamaz)
Programcı verileri depolamak için veri tabanına doğrudan ulaşmaz,
bunun yerine VTYS sistemine erişir ve ona talebini iletir
Dolayısıyla sistemde her zaman bir VTYS bulunmak zorundadır
VT Sistemi
Veritabanı
Veritabanı
Yönetim Sistemi
VT
VTYS
Fiziksel veri
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Veri tabanını
yöneten yazılımlar
topluluğu
Veritabanı





Veritabanı, bilgisayar temelli bir kayıt tutma sistemidir.
Veritabanı, bilgisayar ortamında saklanan düzenli verilerdir.
Veri tabanı; belirli bir veri modeli ile saklanan, sistematik erişim
imkânı olan, yönetilebilir, güncellenebilir, taşınabilir, birbirleri
arasında tanımlı ilişkiler bulunabilen bilgiler topluluğudur.
Bilgisayar terminolojisinde, sistematik erişim imkanı olan,
yönetilebilir, güncellenebilir, taşınabilir, birbirleri arasında
tanımlı ilişkiler bulunabilen bilgiler kümesidir.
Bilgisayarda sistematik şekilde saklanmış, programlarca
işlenebilecek veri yığınıdır
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Veritabani Yönetim Sistemlerinin Sağladığı Yararlar
Veri tekrarı azaltılır: Aynı veri değişik kişilerin PC’lerinde veya değişik bilgisayarlarda
tekrar tekrar tutulmaz; veri tekrarı azaltılır.
Veri tutarlılığı: Aynı verinin değişik yerlerde birkaç kopyasının bulunması “bakım”
zorluğu getirir: bir yerde güncellenen bir adres bilgisi başka yerde güncellenmeden
kalabilir ve bu durum veri tutarsızlığına yol açar.
Verinin paylaşımı sağlanır / Eşzamanlılık : VTYS kullanılmadığı durumlarda veriye
sıralı erişim yapılır. Yani birden çok kullanıcı aynı anda aynı veriye erişemez. Bir
VTYS’de ise verinin tutarlılığını ve bütünlüğünü bozmadan aynı veritabanlarına
saniyede yüzlerce, binlerce erişim yapılabilir.
Veri bütünlüğü: Bir tablodan bir öğrenci kaydı silinirse, öğrenci var olduğu diğer tüm
tablolardan silinmelidir.
Veri Bağımsızlığı: Programcı, kullandığı verilerin yapısı ve organizasyonu ile ilgilenmek
durumunda değildir. Veri bağımsızlığı, VTYS’lerinin en temel amaçlarındandır.
Verilerin güvenliğini sağlar: Verinin isteyerek ya da yanlış kullanım sonucu bozulmasını
önlemek için çok sıkı mekanizmalar mevcuttur. Veri tabanına girmek için kullanıcı adı
ve şifreyle korumanın yanı sıra kişiler sadece kendilerini ilgilendiren tabloları ya da
tablo içinde belirli kolonları görebilirler. 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.
©Veritabanı
Yönetimi
Her kullanıcının erişeceği veriler ayrı ayrı
tanımlanabilir.
Yetkiler ve kısıtlamalar ile
Prof. Dr. İbrahim Çil
istenilen kullanıcı erişim ayarları gerçekleştirilir.
Olumlu Yönleri
VERİ BAĞIMSIZLIĞI –Verinin uygulamalardan bağımsız olarak tutulması, mevcut
yazılımların yeniden gözden geçirilmesine gerek bırakmadan yeni yazılımların, yeni
verilerin ve yeni veri biçimlerinin eklenebilmesi
GEREKSİZ VERİ TEKRARININ OLMAMASI –Her veri planlı tekrarlar dışında bir
kez yer alır. tüm uygulamalar aynı veriyi kullanır. güncellemelerde bütünlük ve
tutarlık sorunları ortadan kalkar.
VERİ GÜVENLİĞİ –Herhangi bir veriye erişim ve işlem yapma önceden belirlenmiş
yetki dahilinde gerçekleşir. güvenlik ve kullanıcıya özgü bilgilerin korunması için
gerekli modüller VTYS içinde yer alır.
VERİ BÜTÜNLÜĞÜ –her veri, hatalı uygulamalar dışında her erişimde olması
gereken değeri yansıtır. hareket sonrası bir kez güncelleme yeterlidir.
EKONOMİK BOYUT –Veri kaynağı tek merkezde tutulur ve ortak kullanılır. daha
etkin teknik destek hizmeti sunulabilir.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Olumsuz Yönleri
BOYUT –Uygulama ile veri arasında yer alan katmanı oluşturan yazılım
demetinin getirdiği fazladan bellek gereksinimi
KARMAŞIKLIK ‐etkin kullanım için iç işleyişin bilinmesi gerekli ama bilgili
kişi sayısı sınırlı ve pahallı. ayrıca verinin saklanması, geri çağrılması,
korunması vb. konularda çeşitli seçenekler sözkonusu. bu seçeneklerin
tercihinde yapılacak bir hata istenmeyen sonuçlara yol açabilir.
MALİYET ‐daha fazla komut, daha uzun geliştirme süresi, daha fazla
uzman kişi kullanımı nedeniyle artan maliyet donanım gereksinimi artışı
‐çok daha fazla sayıda komut nedeniyle hem daha güçlü işlemci, hem de
daha fazla iç ve dış bellek gereksinimi söz konusu
SİSTEM PROBLEM MALİYETİ ‐tüm verinin tek bir merkezde toplanması
yüzünden herhangi bir bozulma durumunda tüm işler aksar. bileşkenin
parçalarının her biri; VTYS’nin tutulduğu bilgisayar, işletim sistemi, dış
bellek, iletişim sistemi, VTYS bozulabilir.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Veri Tabanlarının Kullanım Yerleri

Bilgisayar teknolojisi hesaplamadan bilgiye doğru bir yöneliş halindedir. Verilerin hacmi
artmakta ve çeşitlenmektedir. Bilimsel verilerden askeri verilere kadar birçok alanda
veritabanı kullanımı artmıştır. Kısacası içinde veri tabanı olmayan hemen hiçbir ciddi
uygulama kalmamıştır

Ayrıca, Internet veritabanlarını bütün kullanıcılara açık hale getirdiği için kullanımı en
yüksek seviyeye çıkmıştır.

Bir kütüphane takip otomasyonu, bir hastane otomasyonu, muhasebe programları ve daha
bir çok program temelde bir veritabanı uygulamasıdır.

Günlük hayatta veritabanı programlama telefon şirketleri tarafından yoğun olarak kullanılır.
Konuşmaların süreleri ay boyunca veri tabanlarında saklanır.
VERTABANLARI LE NERELERDE KAR9ILA9IYORUZ
Veritabanları hayatın her alanında kullanılmaktadır.
• Bankalar: tüm işlemler / hareketler / ATM’ler ile işlem yaparken;
• Kütüphane bilgisayarında tarama yaparken;
• Havayolları: rezervasyonlar, zaman programları
• Üniversiteler: Kayıt, dersler, notlar
• Satış: müşteriler, ürünler, alımlar
• Üretim: imalat, stok, siparişler, tedarik ihtiyaçları
• İnsan Kaynakları: personel kayıtları, maaşlar, vergi kesintileri
• İnternet yoluyla alışveriş yaparken;
• Üniversite kayıt işlemlerinde;
©Veritabanı Yönetimi
• Otel, uçak bileti rezervasyonlarında; Prof. Dr. İbrahim Çil
Veritabanı Yönetim Sistemleri-VTYS


Veri Tabanı Yönetim Sistemi (VTYS); bir veri tabanını oluşturmak,
üzerinde istenilen bilgiyi aramak, gerektiğinde bilgi eklemek-silmekdeğiştirmek ve veri tabanı ile ilgili her türlü işletimse gereksinimleri
karşılamak için kullanılan geniş kapsamlı yazılım sistemidir.
Veri tabanları, veri tabanı yönetim sistemleri aracılığıyla oluşturulur ve
yönetilir. Bu sistemlere; Microsoft Access, MySQL, IBM DB2, Informix, Interbase,
Microsoft SQL Server, PostgreSQL, Oracle ve Sysbase örnek olarak verilebilir.



VTYS, veri tabanı yazılımının bir parçası olarak, verinin nasıl
depolanacağı, kullanılacağı ve erişilebileceğini mantıksal olarak
yönlendiren bir kurallar sistemidir.
VTYS, paylaşılabilen bir kaynak olan veriyi yöneten bir üründür. Bu
ürün, kullanıcılara birbiriyle ilişkili verileri gruplama ve paylaşma imkanı
vermektedir.
VTYS, birbirleri ile ilişkili veri ve programlar topluluğundan oluşmaktadır.
Uygulama
Programları
Veritabanı
Yönetim
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil Sistemi
Veritabanı
PC bazlı veri tabanları ve Sunucu veri tabanları
Çok kullanılan veritabanı yönetim sistemleri:
MySQL
Microsoft SQL Server
Microsoft Access
Oracle
IBM DB2
Paradox
Interbase
Informix
Progress
PostgreSQL
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil

Sunucu veri tabanları:
1.Oracle
2.Informix
3.MS-SQLServer
4.Sybase
5.DB2
6.MySQL
7.Postgresql
PC bazlı veri tabanları :
1.Microsoft Access
2.FoxPro
3.FileMaker Pro
4.Paradox
Veritabanı Yönetim Sistemleri-VTYS





Veri tabanı yönetim sistemi bir organizasyonun verilerini bir merkezde
toplamasına, verimli bir şekilde yönetmesine ve çeşitli uygulama
programları tarafından bu verilere erişilmesine izin veren bir yazılımdır.
VTYS uygulama programları ile fiziksel veri dosyaları arasında bir
arabirim görevini görür. Uygulama programı spesifik bir veri parçasını
aradığında, VTYS bu veri parçasını veri tabanında bulur ve uygulama
programına aktarır.
Geleneksel veri dosyalarında ise bu iş için programcı program içinde
kullanılan her bir veri elemanının boyutunu ve formatını belirlemek ve
sonra da bu verilerin bulunduğu yeri bilgisayara söylemek durumunda idi.
Bu VTYS ler işlerini daha kolay yürütmek için kendi adına standart
oluşturmuştur. Ancak genel işlemlerde kullanılan dil aynıdır ve adı SQL
dir. MS SQL Server ve Sybase: Transact SQL
Oracle: PL/SQL

©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
VTYS yazılımları iki temel bölümden oluşur:
a) Kullanıcı görünümlerini, alanları, kayıt tiplerini ve kayıtlar arasındaki
ilişkileri belirleyen “Veri Tanımlama Dili-Data Definition Language (VTD)”ve
kaydetme, güncelleme, çağırma veya silme komutlarını içeren “Veri
Düzenleme Dili-Data Manipülatör Language (VDD)”.
b) Kullanıcılar üzerinde yetki düzenlenmesini sağlayan “Veri Kontrol Dili-Data
Control Language (DKD)” bölümü bulunur. Bu bölümler dışında seçimlik
olarak “Sorgulama Dili-Data Qery Language (SD)”, yardımcı programlar ve
Veri Sözlüğü gibi bölümlerden söz edilebilir.
VTYS
Veri Tanımlama Dili
Tablo oluşturma
Form oluşturma
Sorgu oluşturma
Rapor oluşturma
Veri Tabanı
VT Tanımları
Veri Tabanını
Oluşturma
VT Sorgusu
Sorgu İşleyicisi (SQL)
Veri Yönetme Dili
Kayıt ekleme
Kayıt silme
Kayıt güncelleme
©Veritabanı Yönetimi
Veri
Sözlüğü
Prof. Dr. İbrahim Çil
Veri Tabanını
Kullanma
Uygulama
Programı
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Veri Tabanı Uygulamaları Türleri



PC veri tabanları: – Genellikle kişisel, 1 kullanıcı
Çalışma Grubu veri tabanları: – Yerel ağ üzerinden herkesin veri
tabanına eriştiği küçük grup kullanım, < 25 kullanıcıı
Kurumsal veri tabanları: – İntranet üzerinden (veya bazen Internet
üzerinden) tüm kuruluşa hizmet sunar. Yüzbinlerce kullanıcı
Veritabanı Uygulamaları
 Sayısal ve Metinsel Veritabanları

Multimedya Veritabanları

Coğrafik Bilgi Sistemleri

Veri Ambarları

Gerçek-zamanlı ve Aktif Veritabanları
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Veritabanı Yönetim Sistemleri Aktörleri




SİSTEM HÜHENDİSLERİ ‐Vtys’nin donanıma, işletim sistemine,
uygulama yazılımlarına uyarlanması, ince ayarlarının yapılması
işlemlerinden sorumludur. Örneğin, türkçe’ye uygun sıralama özelliğinin
seçilmesi, fontların ayarlanması, vb.
VTYS SORUMLUSU (ADMIN) ‐Veritabanının tasarlanması, uygulama
geliştirmede katkı, bakım ve yedekleme işlemleri, erişim planlaması,
uygulaması, denetimi ile ileriye yönelik planlamalar
UYGULAMA GELİŞTİRENLER ‐Veritabanındaki veriden değişik biçim
ve içerikte bilgilerin rutin olarak alınabilmesi ve işlenebilmesi için
uygulamaların geliştirilmesi. Örneğin bir bordro uygulamasının
hazırlanması
SON KULLANICILAR ‐Vtys üzerinde yer alan uygulamaları bilgi girişi ve
rapor oluşturma amacıyla kullananma ve anlık sorgulama yapma
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Gelişim
•1950 ler öncesi herşey kağıtta
•1950 lerin sonunda tape ler devreye girdi.
•1960 ların disk teknolojisi gelişti, veri dosyalara aktarıldı.
•1970 lerin başında ilişkisel model ortaya çıktı.
•1970 lerin ikinci yarsısında ER modeli geliştirildi.
•1980 lerde ilişkisel VT kullanımı arttı ve SQL standart hale geldi.
•1990 larda ilişkisel ve XML VT ları çıktı.
•2000 lerde ise SQL gibi sorgulama dili olmayan kavramlar geldi (NoSQL).
Veri Tabanı Yönetim Sistemleri (DBMS)
1960
Hiyerarşik
İlişkisel
1970
Nesne-Yönelimli
1990
1995
Ağ
Nesne-İlişkisel
Internet Verileri ve E-ticaret Uygulamaları
Java
©Veritabanı Yönetimi
XML
Prof. Dr. İbrahim Çil
IMDB
CMDB
Embedded
Mobile
Veri Tabanı Sistemlerinin Kısa Tarihçesi
1960’ların evveli: Charles Bachmann Honeywell’de ilk VTYS’i (IDS -Integrated Data Store) geliştirdi; Ağ
modelinde veri bağlantıları grafla ifade edilirdi.
Tarihsel açıdan veri tabanı sistemlerinin gelişimini 3 kuşağa ayırmak mümkündür.
1960 ve 70'lı yıllarda kullanılan birinci kuşak veri tabanı sistemlerinde çizge kavramlarına dayalı hiyerarşik
ve ağ modellerinin kullanıldığını görüyoruz.
1960’ların sonları: Conference On DAta Systems Languages (CODASYL) modeli tanımlandı. Bu ağ modeli
idi, fakat daha çok standartlaşmıştı
1960’ların sonları: İlk başarılı ticari VTYS (IMS-information management system) IBM’de geliştirildi,
Hiyerarşi modelde veri bağlantıları ağaç biçiminde ifade edilirdi, Bu gün de kullanılmaktadır (SABRE
reservations; Travelocity)
1970: Ted Codd IBM San Jose Laboratory (şimdi IBM Almaden) laboratuarında ilişkisel veri modelini
tanımladı.
İki önemli proje başlatıldı (1970’lerin sonlarında her ikisi gerçekleşmişti): INGRES (University of California,
Berkeley) ve System R ( IBM San Jose Laboratory)
1976: Peter Chen Varlık İlişkisel (ER) modeli tanımladı
1980'li yıllarda kullanılmaya başlanan ikinci kuşak veri tabanı sistemlerin en belirgin özelliği ilişkisel
sistemler olmasıdır.
İlişkisel sistemlerin yetersizliği nedeniyle 3. Kuşak veri tabanı sistemleri dediğimiz genişletilmiş-ilişkisel,
nesneye-yönelik ve nesne-ilişkisel veri tabanı sistemleri geliştirilmektedir.
1980lar:RDBMS, nesneye dayalı ve ileri-lişkisel modeler, Uygulama temeli DBMS (spatial, scientifc,
enginering, etc.)
1990lar:Veri madencilği, veri ambarı, multimedia ve web veritabanları
©Veritabanı Yönetimi
2000lar; Akışkan haldeki verilerin yönetimi ve veri
madenciliği(sensor data), Veri madencilği ve
Prof. Dr. İbrahim Çil
uygulamaları, Web teknolojileri (XML, data integration) ve global bilgi sistemleri
Zaman içerisinde veri tabanı sistemlerinin gelişim seyri
Veritabanı Sistemleri
Web tabanlı Sistemleri
Nesneye-yönelik Sistemleri
İlişkisel Sistemleri
Ağ Sistemleri
Dosya Sistemleri
1960
1970
1980
1990
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
2000
2010
Zaman
Veri Tabanı Yönetim Sistemlerinin Sınıflandırılması
Veri Modeline Göre
• Hiyerarşik
• Ağ
• İlişkisel
• Nesneye Yönelik
Kullanıcı Sayısına Göre
• Tek kullanıcılı
• Çok kullanıcılı
Veri Modeline dayalı Veri Tabanı Yapıları
• Bilinen temel veritabanı yapılar; hiyerarşik, ağ, ilişkisel ve nesne yönelimli veri
tabanlarıdır. Kullanıcıların, kullanıcı ihtiyaçlarına en iyi hizmet verebilecek uygulama
programlarım geliştirebilmeleri için veri tabanındaki veri elemanları arasındaki
ilişkinin mantıksal olarak yapılanması gereklidir.
• Amaç, verilerin nasıl ilişkilendirileceğinin gösterilmesidir. Veri tabanlarında
depolanan kayıtlar ve onların birbirleriyle ilişkileri değişik mantıksal yapılarla
gösterilebilir.
• Veri Tabanı Yönetim Sistemleri bu yapıların oluşumları ve onların fonksiyonları
kullanılarak tasarlanır. Veri tabanları aşağıdaki 4 yapıdan herhangi biriyle
yapılandırılabilmektedir.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Hiyerarşik Veritabanı Modeli
Kitaplar
(no, başlık)
Yazarlar
(ad, soyad)
Yayıncılar
Konular
Bu yapı, bilinen en eski veri modelleme sistemidir.
Kullandığı veri modeli ağaç yapısıdır.
Hiyerarşim modelde veri türleri üstten aşağıya doğru bir usulde düzenlenir.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Ağ Veritabanı Modeli
Yazarlar
Konular
Kitaplar
Yayıncılar


Bilinen en karmaşık metoddur ve çizge veri yapısını temel alır.
Bu yapı daha çok karmaşık bağlantılara izin verir. Veri türleri arasında
yan bağlantılarla ilişki kurulur. Bu yapı aynı zamanda CODASYL model
olarak ta adlandırılır.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
İlişkisel Veritabanı Modeli


Bu modelde temel alınan şeyler verilerin birbiriyle ilişkileridir.
Günümüzde en çok kullanılan modeldir. Bu mimari yapı kullanılarak
bir çok yazılım üretilmiştir.
Bu formda veri tabanı organizasyonu iki boyutlu tablolar şeklinde
düşünülerek kullanıcıya sunulur. Veri tabanı kullanıcıları veri
raporlarını bu yolla görür.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Nesne İlişkisel Veri Modeli




Nesne ilişkisel veri tabanı, ilişkisel işlevselliğin üzerinde nesne yönelimli
özellikler içerir. Bu türdeki ilk veri tabanı 1997’de oluşturulan Oracle8’dir.
Desteklediği veri tipleri sayılar, tarihler ve karakterlerin dışında
kullanıcının oluşturabileceği veri tiplerine kadar genişletilmiştir.
Nesne ilişkisel veri tabanı sisteminin amacı, ilişkisel tipteki bir ortamda
nesne tabanlı veri depolamayı sağlamaktır. Bu sistem, ilişkisel veri
tabanı yönetim sisteminin nesne desteğini içeren melez bir veri modeli
olarak kabul edilir.
ilişkisel veri modelinde tamsayı, karakter katarı, reel sayılar gibi basit
veriler tablolarda saklanırken, nesne ilişkisel veri modelinde veri
depolanan tabloların yerini nesneler alır. Yapılan sorguların sonuçları
satırlardır. Bu işlevselliği nesnelerle sağlamak ve bağlantısız verilerle
nesne yönelimli programlama dillerini bütünleştirmek için ilişkisel
modelde değişiklik yapılması gerekir. Bir VTYS'nin nesne ilişkisel
yeteneklere sahip olabilmesi için, kullanıcı tanımlı veri tipleri, nesne ve
kalıtım desteği verebilmelidir.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Nesne Yönelimli Veri Modeli





İlk geliştirilen VTYS’ler kolayca tanımlanmış veri alanlarına ve kayıtlara
göre yapılandırılabilen homojen veriler için tasarlanmıştı.
Fakat bugünkü ve gelecekteki uygulamalar, sadece önceden
tanımlanmış sayıları ve karakterleri değil, çizimleri, resimleri
fotoğrafları, sesleri ve videoları da saklayabilen veritabanlarını
gerektirmesidir.
İlk VTYS’ler bu tür grafik ve multimedya uygulamaları için uygun
değildir.
Bu tür verileri ilişkisel sistemlerde yönetmek için büyük çaplı
programlama gerekir çünkü bu karmaşık veriler tablolara ve satırlara
dönüştürülmelidir.
Fakat, nesne yönelimli (object-oriented) VTYS’ler verileri ve
prosedürleri nesneler halinde saklar ve bu nesneler istediğinde
otomatik olarak alınabilir ve paylaşılabilir.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Nesne Yönelimli Veri Modeli




Veri tabanı yönetim sistemleri uygulamasında klasik veri modelleri için
yapılan en önemli eleştiri, veri kümelerinin düşünce olarak
bütünleştirilebilmesi, ancak uygulamada yetersizliklerin ortaya
çıkmasıydı. Çünkü, gerçekten verinin nasıl davrandığı modellemede yer
almamaktaydı. İşte nesne yönelimli veri modeli, semantik ifadelerin
bütünleşmesiyle bu eksiklikleri gidermeye çalışır.
Kullanılmakta olan ilişkisel veri tabanı teknolojisi, endüstride pek çok
uygulama için oldukça yeterlidir. Ancak, ilişkisel veri tabanı teknolojisi,
nesne yönelimli diller tarafından saglanan veri depolama modellerini
hesaba katmaz.
Özellikle, ilişkisel veri tabanlarının nesne yönelimli uygulamalarla birlikte
kullanılması sırasında ortaya çıkan sorunlar vardır. Nesneye yönelik veri
tabanı teknolojisi bu sorunları ortadan kaldırmak için geliştirilmiştir.
Nesneye yönelik veri tabanı , C++ gibi nesneye dayalı (OBJECT
ORIENTED) bir dille (OOPL) yazılmış olan ve yine C++ gibi nesneye
dayalı (OOPL) bir dille kullanılan veri tabanı anlamına gelmektedir.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Nesne Yönelimli Veritabanları
Bu sistemler web uygulamalarında kullanılan çeşitli multimedya bileşenlerini
yada Java “apletlerini” yönetmek için kullanılabilir.
OOVTYS, tekrarlı veriler gibi veri türlerini saklamak için oldukça kullanışlıdır.
Örneğin üretim uygulamalarında parçalar içinde parçaların bulunduğu
(malzeme listesi) tekrarlı veriler bu sistemlerde kolayca baş edilebilir.
Finans ve ticaret uygulamaları da genellikle OOVTYS kullanır çünkü bu
uygulamalar yeni ekonomik şartlar altında kolayca değiştirilebilen veri
modelleri ister.
Her ne kadar nesneye yönelik veritabanları daha karmaşık veri türlerini
saklayabilse de, büyük miktarda verilerin işlenmesi gerektiği durumlarda bu
sistemler ilk çıkan ilişkisel VTYS’ler ile karşılaştırıldığında yavaş kalır.
Nesne yönelimli sistemler, farklı sistemler ve metodolojiler için kullanılmıştır.
Genel olarak bu sistemler gerçek dünyadaki nesne denilen şeyleri varlık
seklinde modellemeyi temel almaktadır. Nesneler, ortak karakteristikler
içeren sınıflar içerisinde bulundurulur. Sınıf hiyerarşisi kavramı ise insanların
nesneleri küresel anlamda kategorize etmelerini sağlamak için geliştirilmiştir.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
İlişkisel Veri Tabanı ve Nesneye Yönelik Veri Tabanı
Nesneye yönelik veri tabanı yönetim sistemi (NYVTYS), “kapsülleme” gibi
uygun giriş metotlarıyla birlikte veriyi saklar. ilişkisel veri tabanında ise veri
normalleştirme ile uygun şekilde saklanır. Basit olarak anlatmak gerekirse,
ilişkisel veri tabanında bir nesnenin her parçası tabloda ayrı bir hücrede
tutulur ve tablo o nesneyi oluşturur. Oysa NYVTYS’nde nesne bütün olarak
tek bir hücrededir. Burada bilgisayar destekli tasarım (CAD)
uygulamalarında olduğu gibi karmaşık veri tipleri depolanabilir. Multimedya
uygulamalarında olduğu gibi aynı veri tabanı içindeki veri tipleri
genişletilerek dizilebilir. Evrimsel uygulamalarda olduğu gibi zamansal
olarak nesnelerin takibi daha kolaylaşır.
Verinin nesne ve
tablo görünümü
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Melez Sistemler

Bugün hibrid object-relational VTYSler gündeme gelmiştir.

Bu melez sistemler her iki sistemin yeteneklerini birleştirir.

Bu tür bir melez sistem yaklaşımı üç farklı şekilde elde edilebilir:
1. İlişkisel VTYS’lerine nesneye yönelik erişim sağlayan araçlar kullanarak,
2.Mevcut ilişkisel VTYS’ne nesneye yönelik uzantılar ekleyerek, yada
3.Melez bir “object-relational” veri tabanı yönetim sistemi kullanarak.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Veri Modeline Göre Veri Tabanı Yapıları
Dosya sistemleri
İlişkisel VTYS
Nesneye yönelik VTYS
Hiyerarşik
Sistemler
Dosya
Sistemleri
Nesne-Yönelimli
İlişkisel
Sistemleri
Nesne- İlişkisel
Ağ Sistemleri
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Nesne-İlişkisel VTYS
Veriden, verinin bilgisayarda saklanmasına giden yol
Girdi
(Input)
Veri (Data)
İşleme
(Process)
Bilgi(Information)
Veri / Bilgi
Saklama
(Storage)
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Çıktı
(Output)
Veri Tabanlarının karşılaştırılması

Geleneksel Veri Tabanı (Legacy Database)
Genellikle hiyerarşik veya ağ veri tabanında kurulurlar. Programları, COBOL
dilinde yazılır ve raporlama araçları hantaldır.
Anında ileten ve parti parti çalışan bileşenleri vardır. Bu veri tabanları,
yüksek miktarda veri depolarlar ve geniş düzeyde işleme yaparlar.

İlişkisel Veri Tabanı (Relational Database)
İlgili verinin standart raporlama ve sorgulama yapılabilecek şekilde
depolanmasına izin verirler. Örneğin, Yapılandırılmış Sorgulama Dili -SQL)
sadece ilişkisel veri tabanları için tasarlanmıştır.
İlişkisel veri tabanları bir ana bilgisayara ya da sunucuya merkezi olarak
yerleştirilebileceği gibi bir kişisel ya da mini bilgisayar ağına da dağıtılabilir.

Nesne yönelimli Veri Tabanı (Object database)
Sadece nümerik ve karakter veriyi değil resimleri veya grafik bilgisi gibi daha
gelişmiş nesneleri, veritabanı işlemleriyle ilişkilendirerek kullanır.
Bu veri tabanları, bazı uygulamalarda kullanılmasına karşın henüz
Yönetimi
standartlaştırılmamıştır ve işletme©Veritabanı
maliyetleri
yüksektir.
Prof.
Dr. İbrahim Çil
Veri Saklama ve Veri Hiyerarşisi
Bilgisayar sistemi verileri şu sırada organize eder:
Bit ve byte, alan, kayıt, tablo (dosya), veri tabanı, veri ambarı.
Bir Bit bilgisayarın saklayabileceği en küçük birimdir.
Bir grup bit, yani byte, tek bir karakteri temsil eder. Bu karakter bir harf, sayı, bir sembol olabilir.
Bir grup karakterin bir kelime yada kelimeler grubu haline gelmesiyle bir “alan” oluşturulur.
Örneğin: İsim, tel, vs.
Birbiriyle ilişkili bir grup “alan” bir araya gelerek bir kayıt teşkil eder.
Kayıtlar bir araya gelerek bir dosya teşkil eder. Dosyalar tablo olarak ta düşünülebilir.
Tablolar ise bir araya gelince veri tabanı oluşturur. Veri tabanı en az bir tablodan oluşur.
Veri Ambarı, Veritabanı topluluğudur.
Tablo(Dosya), Kayıt ve Alan
Veri saklama birimlerinde depolanan veri topluluklarına tablo(dosya) denir. Dosyalar kendi içinde
kayıtlara bölünmüştür. Kayıtlar da farklı bilgilerden oluşur. Bu bilgilerin her birine alan adını
veriyoruz. Alan adı verilen ayrılmış boşluk, içinde bir veri elemanını saklar. Bu veri elemanı
verinin niteliklerini tanımlar.
Dosya(Tablo); kayıtlardan, kayıtlar alanlardan oluşur.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Veri Saklama ve Veri Hiyerarşisi










Bilgisayar sistemi verileri şu sırada organize eder:
Bit ve byte, alan, kayıt, tablo (dosya), veri tabanı, veri ambarı.
Bir Bit bilgisayarın saklayabileceği en küçük birimdir.
Bir grup bit, yani byte, tek bir karakteri temsil eder. Bu karakter
bir harf, bir sembol yada sayı olabilir.
Bir grup karakterin bir kelime yada kelimeler grubu haline
gelmesiyle bir “alan” oluşturulur. Örneğin: İsim, tel, vs.)
Birbiriyle ilişkili bir grup “alan” bir araya gelerek bir kayıt teşkil
eder.
Kayıtlar bir araya gelerek bir tablo teşkil eder.
Tablolar ise bir araya gelince veri tabanı oluşturur.
Diğer ifadeyle veri tabanı en az bir tablodan oluşur.
Veri Ambarı, Veritabanı topluluğudur.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Veri Hiyerarşisi
Veri parçası
Bit ( 1/0)
0,1
Byte ( 8 bit)
01000001
Karakter ( ASCII- UNICODE vb.)
A
Kelime ( 1 veya birden çok karakter)
Ali
Kayıt ( Kelime topluluğu)
Ali
Kaya
1989
Adana
Veritabanı(
Topluluğu
)
Ali
KayaKayıtlar
1989
Adana
Veli Keser
1986
Çorum
Ayşe Bal
1988
Kayseri
20493054
Tablo
(Kütük)
Veri Ambarı (Veritabanı topluluğu)
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Kayıt
ALİ
Tablo
EREN
MÜHENDİSLİK
BİLGİSAYAR
Veritabanı
Dijital birimlerde, veri kapasitesi
ve boyutu açısından bazı
değerler kullanılır.
1 bit: 0 veya 1
8 bit: 1 Byte
1024 Byte: 1 KiloByte (KB)
1024 KB: 1 MegaByte (MB)
1024 MB: 1 GigaByte (GB)
1024 GB: 1 TeraByte (TB)
1024 TB: 1 PetaByte (PB)
1024 PB: 1 ExaByte (EB)
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Veri Hiyerarşisi
Dosya sistemi
Veri tabanı
Tablo(Dosya), Kayıt ve Alan
Veri saklama birimlerinde depolanan veri topluluklarına dosya denir. Dosyalar kendi içinde kayıtlara
bölünmüştür. Kayıtlar da farklı bilgilerden oluşur. Bu bilgilerin her birine alan adını veriyoruz. Alan adı
verilen ayrılmış boşluk, içinde bir veri elemanını saklar. Bu veri elemanı verinin niteliklerini tanımlar.
Bit (0,1)
Byte / Karakter
(01001100)
Alanlar (Fields)
Veri Tabanı
(Meta Data, Tablolar,
Dizinler,
...)
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Kayıtlar
(Records)
Dosyalar (Files)
Veri hiyerarşisi
Bit (0,1)
Byte / Karakter
(01001100)
Ad
Alanlar (Fields)
Soyadi
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Kayıtlar
(Records)
Güven KÖSE 1234
Dosyalar (Files)
Güven KÖSE 1234
Ali
KAYA 4356
…..
…..
….
Veritabanı Büyüklüğü Hesaplaması




Örneğin MS SQL Serverda veriler disk üzerinde sayfa şeklinde tutulur
Her sayfa 8 KB lık bloklar şeklinde depolanır. Örneğin 1MB lık bir
veritabanında bilgiler; 1024/8 = 128 sayfa olarak tutulacaktır
128*8=1024 KB (1MB)
Eğer bir tabloda birden fazla sütun varsa toplam satır boyutunu
hesaplarken 9 Byte ‘lik ilave yapmak gerekir (row overhead).
Satırlar (rows) sürekli, bölünmeyen yapıdadır ve tek satırda maximum
miktar 8096 Byte (8KB) dır.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Veritabanı Büyüklüğü Hesaplaması
Örnek : Aşağıdaki gibi tanımlanmış bir tabloda 250.000 adet kayıt vardır.
Buna göre tablonun databese içerisinde kapladığı alanı bulalım:
 create table ogrenci ( adi char(30), soy char(30), tel cahr(30), ceptel
char(30), dtarihi DateTime , vize int, final int )
adi
30 byte




soy
30 byte
tel
30 byte
ceptel
30 byte
dtarihi
8 byte
vize
4 byte
final
4 byte
1)Toplam Satır boyutu = 4*30 + 1*8 + 2*4 + 9 -> 147 byte
2) Her sayfadaki satır sayısı = 8096/147 -> 55 satır
3)Tablo içindeki sayfa sayısı = 250.000 / 55 -> 4545 sayfa (page)
4)Tablo boyutu = 4545 * 8 KB -> 36.363 KB veya 36 MB
NOT:
Birden çok sütun olduğundan 9 byte ilave edilmiştir.
Bu tabloda INDEX’ leme yapılmamıştır. Hesaplanan değer, Index’ leme yapılan
sütuna göre r %25 ile %50 oranında ©Veritabanı
artacaktır.
Yönetimi
Prof. Dr. İbrahim Çil
Veri Saklama Modelleri: : OLTP ve OLAP




Veritabanları günümüzde yoğun olarak veri üretilen
yerlerde iki genel amaca yönelik olarak kullanılır.
Bunlardan biri, üretilen verilerin anlık olarak
SQL Server
saklanması işlemdir ki bu türden işlemler için
Access
MySQL
optimize edilmiş sistemlere OLTP (Çevrimiçi
Oracle
Hareket İşleme (ÇİHİ)-On-line Transaction
OLTP
Processing) adı verilir.
OLAP
Veri girişi veya bankacılık ve taşımacılık gibi
sektörlerde kayıt takip işlemlerini yapmak için
İlişkisel Veritabanı
Yönetim Sistemi
kullanılan uygulamaları yöneten bir uygulama
türüdür.
OLTP sistemlerde sürekli olarak veride
değişiklikler olur, her an eklenmeler yada silinmeler
olabilir.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
OLTP(Online Transaction Processing) Sistemler Sistemler
(Çevrimiçi Hareket İşleme (ÇİHİ) Sistemler
Bir kurumun verilerinin işlendiği ortamlara OLTP (Online Transaction
Processing) sistemler adı verilmektedir.
Sisteme yeni bilgilerin eklenmesi, varolan bilgilerin değiştirilmesi ya da
silinmesi gibi işlemler ile sürekli olarak güncellenen ve bir değişim içindeki
verilerden oluşan sistemlere özgü işlemleri kapsar.
Örn: Bankacılık, borsa, okul sistemleri…
ÇİHİ işlemleri, veri tabanı üzerinde sürekli olarak yeni operasyonların aynı
anda birçok kullanıcı tarafından gerçekleştirilmesini sağlar.
Örneğin bir işletmenin sahip olduğu stok sistemi ile depoya giren ve çıkan
ürünleri ve ödemeleri izlenebilir.
OLTP sistemlerine ilişkin veritabanlarına veri kaydedilebilir, veriye erişilerek
raporlanabilir ve istendiğinde veri silinebilir.
Güncelleme
Kayıt ekleme
OLTP
Veri tabanı
Kayıt okuma
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Kayıt silme
OLAP (Online Analiytical Processing)
OLAP- Eş Zamanlı Analitik Veri İşleme




OLAP (Online Analiytical Processing), daha çok raporlama ve karar
destek amacı ile kurulan sistemlerdir.
OLAP- Eş Zamanlı Analitik Veri İşleme şeklinde Türkçeye çevrilebilir.
Bu türden sistemler aracılığıyla veri ambarı ve veri pazarı gibi yapılar
kullanılarak yoğun bir şekilde üretilmiş verilerin analizleri ve raporları
oluşturulur.
Böylece tüketici ve satış eğilimleri, üretim maliyetleri gibi konularda
kullanılacak sonuçlar elde edilir. Bu araç çok boyutlu veri analizinde
kullanılır. Bilginin her bir yönü (ürün, fiyat, bölge, maliyet, zaman) farklı
bir boyutu temsil eder.
Çok boyutlu analizler birden çok boyut kullanarak, kullanıcıların aynı
verileri farklı şekillerde görmesini sağlar.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Çok boyutlu veri analizi

Organizasyonlar veritabanlarında sakladıkları bilgileri daha iyi
kullanabilmek için güçlü veri analizi araçlarından ve web tabanlı veritabanı
teknolojilerinden faydalanıyor.

Bazen yöneticiler eldeki verilerini geleneksel veritabanı modellerinin
sunduğu yöntemlerden farklı şekillerde analiz etmek ister.

Örneğin, somun, cıvata, vida ve delikli pul (rondela) olmak üzere dört farklı
ürünü üç farklı bölgede satan bir şirket, gerçek satışlarının ürünlere göre ve
bölgelere göre miktarını bilmek isteyebilir.

Ve bu satış rakamlarını önceki tahmin değerleri ile karşılaştırabilir.

Bu tür bir analiz veriye çok boyutlu bir bakış açısını gerektirir.

Bu nedenle Çok boyutlu veri analizi olarak ta ifade edilir.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Bu tür bir bilgi sunabilmek için,
organizasyonlar ya özel bir çok
boyutlu veri tabanı
kullanmalıdır, yada ilişkisel
veritabanındaki verilerin çok
boyutlu görünümlerini veren
araçlar kullanmalıdır.
ÜRÜNLER
Önceki tahmin Değerleri
Gerçek Değerleri
Somun
Cıvata
Vida
Pul
Doğu Batı
Orta
PAZAR BÖLGELERİ
Çok boyutlu analizler birden çok boyut kullanarak, kullanıcıların aynı verileri
farklı şekillerde görmesini sağlar.
nin bir diğer ismi: on-line analytical processing (OLAP).
Bilginin her bir yönü (ürün, fiyat, bölge, maliyet, zaman) farklı bir boyutu
temsil eder.
Çok boyutlu VTYS
•İlişkisel VTYS nin bir türevi
•Çok boyutlu – boyut / değer ilişkisine dayalı
•İlişkisel VTYS lerden beslenirler
•MDX standart dili ile sorgulanabilir.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Kapalı Döngü

Kayıt yönelimli OLTP ve analiz yönelimli OLAP ortamları bir bütünlük
içerisinde olmalıdır. İş yapma süreçlerinin ürettiği veriler analiz edilebilir
durumda olmalıdır. Veri tabanlarındaki verilerin analizinden bilgiler elde
edilmektedir. Bu bilgilerde işletmenin stratejisini belirlemede ve
kararlarda destek sağlamaktadır. Bu nedenle veri kaynakları düzenli ve
anlamlı olmalıdır. Aşağıdaki şekil bu çevrimi göstermektedir.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Veri Ambarı (Data Warehouse)








Genel olarak veri ambarı, birçok kaynaktan bilgi toplayan ve bu bilgileri son
kullanıcının erişebilmesi için birleştiren ve tutarlı hale getiren bir sistemdir.
Diğer sistemlerin veri tabanlarından veri alabilmeyi sağlarlar.
Birçok veritabanından gelen bilgiyle beslenir ve son kullanıcının erişimi için
hazır bulundurulur. Karar destek sistemlerinde kullanılır.
Veriyi yüksek maliyetli bireysel sistemlerde değil, düşük maliyetli büyük
sistemlerde işlediklerinden maliyetlerde düşme sağlarlar.
Son kullanıcılara kolay kullanılan sorgulama ve analiz araçlarıyla ve grafik
arayüzlerle bilgiye ulaşım imkanı sunarlar.
Bilgiler, ayrı sistemlerden değil, sürekli güncellenen tek bir sistemden alınır.
Veri Pazarları (Datamart):
Veri ambarlarının daha küçük versiyonlardır ve daha ziyade departmanlara
yönelik küçük veri kümelerini depolarlar.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Büyük Veri (Big Data) Kavramı: Bilişimin yeni ufku
Big Data Kavramı:Büyük veriler, mevcut bilgi sistemlerinin işleyemeyeceği kadar
geniş ve karmaşık veri kümelerine verilen addır. Diğer bir deyişle, bilinen veritabanı
yönetim sistemleri ve yazılım araçlarının, verileri toplama, saklama, yönetme ve
çözümleme yeteneklerini aşan büyüklükteki verilere büyük veri-big data- denir.
Günümüzde bu büyüklük onlarca terabayt’ tan (1 terabayt= 1000 gigabayt, 10 üzeri
12 bayt) petabayt’lara (10 üzeri 15 bayt) uzanır.
Büyük veriler, yüksek hacimlerinin yanında, yüksek veri üretim hızı ve yüksek veri
değişkenliğe sahip bilgilerden oluşur ve ileri düzeyde karara destek, verilerden
anlam çıkarma ve süreç optimizasyonu yapabilmemizi sağlar.
"Zamanla toplanan büyük miktarda verilerin ekonomik ve ölçeklenebilir bir biçimde
ve ilişkisel veritabanı tekniklerinin yetmediği noktalarda kullanılabilir ve
anlamlandırılabilir kılınması kavramıdır". Büyük verileri yorumlama yeni yaklaşımlar
gerektirir
HAZIRLAMA
YORUMLAMA
Hız
Veri Hacmi
Veri
Veri Değişkenliği
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Karmaşıklık
Bilgi Sistemlerinin Karakteristik Özellikleri
Bilgi sistemi
Amacı
Kayıt İşleme Sistemleri
TPS(Transaction Processing System)
Günlük işlemler sonucu oluşan verinin toplanması ve
saklanması
Yönetim Bilişim Sistemleri
MIS(Management Information System)
Bir TPS’deki veriyi bir organizasyonu planlamak,
kontrol etmek ve yönetmek için bilgiye dönüştürür.
Karar Destek SistemleriDSS(Decision Support System)
Veri analiz edilerek ve işlenerek yönetimin karar
vermesine destek sağlar.
Üst Düzey Bilgi/Destek Sistemleri
EIS (Executive Information System)
Üst yönetime organizasyonun performansını
arttırmak, stratejiler geliştirmek ve uygulamak için
bilgi sağlar.
OLAP- Eş Zamanlı Analitik Veri İşleme
OLAP(Online Analytical Processing)
Verilere hızlı erişim ve çok boyutlu analiz sağlar.
Veri Madenciliği
Data Mining
Verideki gizli (saklı) ilişkileri ortaya çıkarmak için
istatistik analiz ve yapay zeka tekniklerini kullanır.
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Yeni trendler
•NoSQL
•SQL kullanılmayan
•Sabit tablo yapıları bulunmayan
•İlişki tanımlanmayan
•ACID kurallarını sağlamayabilen VTYS ler.
•Aakdemisyenler bu sistemlere ‘structured storage’ adını veriyor.
•Big data

4 ExaByte veri
%70 mobil erişim
Big data için uygulanan çözümler
–MPP veritabanları
–Apache Hadoop framework
–Dağıtık dosya sistemleri
–Dağıtık veritabanları
–MapReduce algoritmaları
–Bulut bilişim altyapısı
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Sosyal veri
Yeni trendler
• In-memory database
Tüm veri hafızada – hem avantaj hem problem
–Daha hızlı
–Güç gidince tüm veri kaybolur. Önleme yöntemleri (Snapshot dosyaları,
Replication,TRX loglaması, NVRAM kullanımı)
•Sosyal İş Zekası (Social BI)
Sosyal medya iş yapmanın kurallarını değiştiriyor
–Satış yapma, doğru kitle ile buluş
–Büyük kampanyalar yerine ufak/kişisel aksiyonlar al
–Kontrolü bırak, açık ol
–İletişim kanalları kapama, her yerde varol
•Database machine/appliance
•Özelleştirilmiş donanım/yazılımlar
•Donanım/yazılım beraber ve entegre geliştiriliyor
•Özel çözümler olduğu için entegrasyon problemleri minimum
•Daha çok veriambarı çözümlerinde kullanılıyor
•Bulut VTYS (Cloud DBMS)
•Mobile BI
©Veritabanı Yönetimi
Prof. Dr. İbrahim Çil
Transaction ve ACID
Transaction, daha küçük parçacıklara ayrılamayan işlem bloğu demektir.
Bazı durumlarda, birden fazla işlem bir bütünün parçasıdır. Bu işlemlerden biri bile
gerçekleşmese bütün işlemler anlamsız kalabilir. Bu türden işlemlerin tamamının bir tek işlem
gibi ele alınması gerekiyor demektir. Parçalanamaz işlemlerin oluşturduğu yeni bir tek işleme
transaction denir.
Bir veritabanı veriler üstünde değişiklik yaparken ACID kuralını sağlamalıdır
ACID( Atomicity, Consistency, Isolation, Durability) Bu kurallar;
1. Atomicity (Bölünmezlik): Transaction bloğu yarım kalmaz. Ya hepsi gerçekleşmiş sayılır veya
hiçbir işlem gerçekleşmemiş gibi kabul edilerek en başa dönülür. Yani, transaction daha küçük
parçalara ayrılamayan bir işlem birimi olarak ele alınır
2.Consistency (Tutarlılık): Transaction veritabanının yapısını bozmadan işlem bloğunu terk
etmelidir. Yani ara işlemler yaparken ürettiği işlem parçacıklarının etkisini veritabanında
bırakarak, transaction’ı sonlandıramaz. Örneğin, birinci hesaptan para azaltıp ikinci hesaba
eklemeden transaction sonlandırılamaz
3.Isolation (İzolasyon): Farklı transaction’lar birbirinden ayrık ele alınmalıdır. Her transaction için
veritabanının yapısı ayrı ayrı korunmalıdır. İlk transaction tarafından yapılan değişiklikler, ikinci
transaction’dan her an görülememeli, sadece bütün işlem gerçekleştiği anda ve bütünü bir anda
görülmelidir
4. Durability (Dayanıklılık): Tamamlanmış transaction’ın hatalara karşı esnek olması gerekir.
Elektrik kesilmesi, CPU yanması, işletim sisteminin çökmesi bu kuralları uygulamaya engel
olmamalıdır. Bunun içinde gerçekleşmiş ve başarılı olarak sonlanmış transaction’ın
değişikliklerinin kalıcı olarak diske yansıtılması
gerekir.
©Veritabanı
Yönetimi
Prof. Dr. İbrahim Çil
Bazı Kavramlar
Agent : Ajan. Internet'te bilgi toplayan bir program. Sizin olmadığınız zamanlarda da bazı servisleri periyodik olarak yerine getirebilir. Verdiğiniz parametrelere göre
ilgilendiğiniz bilgileri toplar, bunları günlük veya belirlediğiniz periyotlarda size sunar.
Algorithm : Bir sorunu çözmek için belirlenmiş kurallar veya işlemler.
Authentication : Onaylama. Özel veya herkese açık ağlarda, ağa bağlanan kişinin kimliğinin tespiti için gereklidir.İşlem şifre girilerek gerçekleştirilir.
Authorization : İzin. Sisteme giriş izni vermek. Çok kullanıcılı sistemlerde sistem yöneticisi, sisteme girebilecek kişilere giriş izni ve kişilere bağlı olarak da sistemde
yapabileceği işlemler için belirli izinler verir.
Authentication : Onaylama. Özel veya herkese açık ağlarda, ağa bağlanan kişinin kimliğinin tespiti için gereklidir.İşlem şifre girilerek gerçekleştirilir.
Authorization : İzin. Sisteme giriş izni vermek. Çok kullanıcılı sistemlerde sistem yöneticisi, sisteme girebilecek kişilere giriş izni ve kişilere bağlı olarak da sistemde
yapabileceği işlemler için belirli izinler verir.
Backup : Yedekleme. Ekipmanın bozulması durumu düşünülerek dosyaların veya veritabanının başka bir yere kopyalanması işlemi.
Browser : Web'de yayınlanan bilgiyi aramak için kullanılan bir yazılım paketi; en çok kullanılanları Microsoft Internet Explorer ve Netscape'dir.
Cache : Bir şeyin geçici bir süre saklandığı yer. Web sayfalarını, diskinizdeki browser'in cache dizininde saklayabilirsiniz. O sayfaya tekrar dönmek istediğinizde, browser
sayfayı gidip sunucudan almak yerine cache'den alır ve size zaman kazandırır. Bilgisayarlar çeşitli seviyelerde cache içerirler, bunların arasında bellek cache'i (ön
bellek) ve disk cache'i vardır.
Client : İstemci. Ağ üzerindeki bir nokta. Bir sunucu tarafından sağlanan kaynakları kullanan kullanıcı iş istasyonu.
Client/server : İstemci/sunucu. İki bilgisayar programı arasındaki ilişkiyi tanımlıyor. Programlardan biri (istemci), talebini yerine getirecek olan programdan (sunucu), bir
servis talebinde bulunur. Bir ağ üzerinde istemci/sunucu modeli, farklı yerlere dağıtılmış programlar arasında uygun bir iletişim yolu sağlar.
Data mining : Veri arama. Daha önce bulunmayan ilişkileri ortaya çıkarabilmek için yapılan veri analizi.
Data warehouse : Veri ambarı. Bir kurumun çeşitli kaynaklarından gelen verilerin tamamının veya önemli kısımlarının toplandığı depolama alanı. Çeşitli
uygulamalardan ve kaynaklardan alınan veriler veri ambarındaki bir veritabanında tutulacak şekilde düzenlenirler ve analitik uygulamalar tarafından kullanılmak veya
kullanıcı sorguları için hazır hale getirilirler.
Database : Veritabanı. Kolayca erişilebilecek, yönetilebilecek ve güncellenebilecek şekilde düzenlenmiş olan bir veri topluluğu. Bir veritabanı, satış işlemleri, ürün
bilgileri, stoklar ve müşteri bilgileri ile ilgili kayıtları barındırır.
Database management system : Veritabanı yönetim sistemi. Bir veya birden fazla kullanıcının bir veritabanına bilgi girmesine veya veritabanındaki bilgilere erişmesine
izin veren bir program.
Decission support system : Karar destek sistemi. Kullanıcıların iş kararlarını daha kolay verebilmesi için verileri analiz eden ve sonuçları kullanıcıya sunan bir
uygulama.
Default : Kullanıcı bir ayar parametresini veya herhangi bir değeri belirlemediği zaman, uygulamanın kullandığı daha önceden belirlenmiş sabit bir değer veya ayar
parametresi.
Encoder : Sayısal ses teknolojisinde, wav ses dosyalarını MP3 dosya formatına dönüştüren program.
Entity : Varlık. İletişim alanında genel olarak yönetilebilen bir ağ cihazını gösterir.
Gigabit : 1 milyar bit. İki iletişim noktası arasında saniyede iletilen bit sayısının ölçüsü olarak kullanılır.
KB (kilobyte) : Bilgisayar belleği veya depolama alanı için ölçü birimi. 1 KB yaklaşık bin byte'dır (1.024 byte).
Terabit : Veri iletişim hızı ölçü birimi, 1 trilyon bit.
Terabyte : Bilgisayarın depolama alanı ölçü birimi, 2'nin 40. kuvveti, bin adet milyar byte.
OLTP (Online transaction processing) : Veri girişi veya bankacılık ve havayolları gibi sektörlerde işlem (transaction) yapmak için kullanılan uygulamaları yöneten bir
program türü.
Server : Sunucu. 1) Aynı veya farklı bilgisayarlarda bulunan uygulamalara servis sunan bir bilgisayar programı. 2) Sunucu programının çalıştığı bilgisayar. 3)
İstemci/sunucu yapıda, istemci PC'lere dosya erişimi, baskı kuyruğu veya uzaktan uygulama çalıştırma gibi servisler sunan bir ağ noktası.
HTML (HyperText Markup Language) : Web sayfası yaparken kullanılan ©Veritabanı
Internet'in yazım
dili.
Yönetimi
Internet : Dünyadaki bilgisayarların birbirine bağlanmasını sağlayan, bilgisayarlar,
router'lar
Prof. Dr. İbrahim ve
Çilkablo bağlantılarından oluşan global ağ.
Download