VERİ TABANI NEDİR ?
Veritabanı basit olarak bilgi depolayan bir yazılımdır. Bir
çok yazılım bilgi depolayabilir ama aradaki fark, veritabanın bu bilgiyi
verimli ve hizli bir şekilde yönetip degiştirebilmesidir. Veritabanı, bilgi
sisteminin kalbidir ve etkili kullanmakla değer kazanır. Bilgiye gerekli oldugu
zaman ulaşabilmek esastır. Indeksi olmayan bir kütüphane ve bütün kitapların
ayni kapağa sahip oldugunu düşündüğünüzde kütüphane kullanıcılarının ne kadar
çok işi olacağını tahmin edersiniz. Bir veritabani bir kütüphanenin mükemmel
bir indeks sistemi oldugu gibi, aynı zamanda kütüphanenin
kendisidir. İlişkisel veritabanı yönetim sistemleri relational database management systems - rdbms büyük miktarlardaki verilerin güvenli bir şekilde tutulabildiği, bilgilere hızlı erişim imkanlarının saglandığı, bilgilerin bütünlük içerisinde tutulabildigi ve birden fazla kullanıcıya aynı anda bilgiye erişim imkanının sağlandığı programlardır. Oracle veritabani da bir ilişkisel veri tabanı yönetim sistemidir.
kendisidir. İlişkisel veritabanı yönetim sistemleri relational database management systems - rdbms büyük miktarlardaki verilerin güvenli bir şekilde tutulabildiği, bilgilere hızlı erişim imkanlarının saglandığı, bilgilerin bütünlük içerisinde tutulabildigi ve birden fazla kullanıcıya aynı anda bilgiye erişim imkanının sağlandığı programlardır. Oracle veritabani da bir ilişkisel veri tabanı yönetim sistemidir.
Veritabanı nedir?
En basit anlamda veritabanı, belirli bir amaca yönelik düzen
verilmiş kayıt ve dosyaların tümüdür. Bilgisayar sisteminizde arkadaş ya da
müşterilerinizin ad ve adreslerini toplamış olabilirsiniz. Belki, yazdığınız
tüm mektupları topluyor ve alıcıya göre düzen veriyorsunuz. Ödeme ve tahsilat
yapılacak hesaplarınız ya da çek defterinizin borçlan ve bakiyesi gibi finansal
verilerinizi topladığınız bir grup dosyalarınız da olabilir. Konularına göre
düzen verdiğiniz sözcük işlemci belgeler, en geniş anlamda, bir tür
veritabanıdır. Kullanıma göre düzen verdiğiniz elektronik tablo dosyaları da
ayrı bir tür veritabanıdır. Windows Başlat menüsündeki tüm program kısayolları
da bir veritabanıdır. Sık Kullanılanlar klasöründe düzen verilmiş internet
kısayolları bir veritabanıdır.
Çok düzenliyseniz, birkaç yüz elektronik tablo ya da
kısayolunu klasör ve alt klasörleri kullanarak yönetebilirsiniz. Bunu
yaptığınızda, veritabanı yöneticisi siz olursunuz. Çözmeye çalıştığınız
sorunlar büyüdükçe ne yapacaksınız? Veriler çeşitli belgelerde ya da elektronik
tablolarda saklanmışken, tüm müşterilerle ve onların siparişleriyle ilgili
bilgileri nasıl kolayca toplayabilirsiniz? Yeni bilgiler girince dosyalar
arasındaki bağlantıları nasıl koruyabilirsiniz? Verilerin doğru girildiğinden
nasıl emin olursunuz? Bilgilerinizi birçok kişiyle paylaşma gereksiniminiz
olup, aynı anda iki kişinin aynı verileri güncelleştirmeye çalışmasını
istemediğinizde ne yapacaksınız? Bu tür güçlüklerle karşılaşmışsanız, bir
veritabanı yönetim sistemine (DBMS) gereksiniminiz var demektir.
Veritabanlarının amacı büyük miktardaki kurumsal verileri
işlemektir. Veriler düzenli bir biçimde elektronik ortamda kaydedilirler.
Düzenli olarak yedeklenen ve kontrol edilen bu bilgiler çok sayıda uygulamanın
ve kullanıcının hizmetine sunulur. Büyük miktarlardaki verilerin hızlı ve
güvenli bir biçimde gereksinim duyulan bilgiye dönüştürülmesi veritabanlarının
en önemli özelliklerinden birisidir.
- Veritabanı, belli bir alanda ve birbiriyle ilişkili olarak düzenlenmiş veriler topluluğudur.
- Veritabanı, bir çok kullanıcı tarafından kullanılan birbirleriyle ilişkili geniş bir veri kümesinin düzenlenmesi, depolanması ve sorgulanması için kurulan sistemdir.
- Veritabanı, bir çok uygulamaya hizmet vermek için zararlı ve gereksiz veriler hariç ilişkili verilerin saklandığı bir veri topluluğudur.
- Veritabanı, bilgisayar temelli bir kayıt tutma sistemidir. Sistemin amacı verileri kayıt etmek ve bakımını yapmaktır.
- Veritabanı, bir organizasyonda verilerin merkezi kontrolünü sağlar.
- Veritabanı sistemi, basitçe kompüterize edilmiş bir kayıt takip sistemidir.
Günümüzde herhangi bir veritabanı yönetim sisteminin
kullanılmadığı uygulama programlarına pek rastlanmıyor. Bu talebe bağlı olarak
çok sayıda veritabanı yönetim sistemi ortaya çıkmıştır. Bunlardan bazıları
Microsoft Access, Microsoft SQL Server, Oracle, Sybase’dir. Bu veritabanlarının
en önemli ortak özelliği ilişkisel veritabanı teknolojisini içermeleridir.
Veritabanı Türleri
1) Paylaşmalı Veritabanları (Distiributed Databases): Birden
fazla fiziksel ortamda depolanan veritabanlarına paylaşımlı veritabanı denir.
Bir veritabanının paylaşımının iki temel yolu vardır. Birinci yol, merkezi
veritabanını kısımlara ayırmaktır. Böylece her uzak işlemci kendi yerel alanına
hizmet etmek için gerekli veriye sahip olur. İkinci yolda ise merkezi
veritabanı tüm uzak noktalara kopyalanır.
2) Nesne Ağırlıklı Veritabanları (Object-Oriented
Databases): Çizimlerin, grafiklerin, imajların, fotoğrafların, seslerin ve
tüm hareketli video gösterimlerini otomatik olarak canlandıracak ve
paylaşılacak nesneler olarak depolayan veritabanıdır. Bu veritabanı finans ve
pazarlama alanında kullanılıyor. Nedeni; finans ve pazarlamanın ekonomik
koşullardaki değişimlerine en uygun cevap veren depolama sistemi nesne
ağırlıklı veritabanıdır.
3) Hiper Medya Veritabanları (Hypermedia Databases): Kullanıcı,
modülden modüle geçmek için, kendi yolunu kendi seçebilir. Bilgi şeması önceden
belirlenmiş organizasyon şemasını gerektirmez. Her modül ekranda gösterilebilir
ve gösterilen modülle diğer veritabanları modülleri arasındaki bağlantıları da
gösterebilir.
4) Çok Boyutlu Veri Analizi: Bu analiz kullanıcıyı aynı
veriyi çok farklı boyutlarıyla görme olanağına kavuşturulur. Örneğin Orta
Anadolu, Ege, Marmara bölgelerinde somun, cıvata, sıhhi tesisat ve vida gibi
dört farklı ürün satan bir işletme bunların fiili satışlarını görmek için
kullanılabilir.
5) Veri Bankaları: İşletmedeki tüm personelin
beklentilerine uygun, bütünleşik, güncel ve tarihi verileri depolayan veritabanı
yazılımlarına Veri Bankaları denir. İç ve dış kaynaklardan duruma göre anlık,
saatlik, günlük, haftalık veya aylık olarak derlenen veriler veri bankasında
kopyalanır. Bu veriler girişimin değişik birimlerdeki yönetim açılımlarında
kolayca kullanılabilecek şekilde standartlaştırılır ve bütünleştirilir.
Girişimdeki herkes veri bankasına girebilir ama değişiklik yapamazlar.
Veritabanı Sorgulamaları
Fiziksel tasarım gerçek veri girişi ve denemelerle
bitirilir. Veritabanı sistemleri teknolojik değişmelere ve kullanıcıların
gereksinimlerindeki değişikliklere bağlı olarak sürekli olarak değişikliklere
uğrarlar. Belli bir süre sonunda da her azılımda olduğu gibi, güncelliklerini
kaybederek ömürlerini bitirirler. Veri tabanı sistemleri üzerinde yapılan en önemli
işlem sorgulamadır. Sorgulamada tek bir tablo kullanılacağı gibi birden çok
tablo da aralarındaki ilişkiye bağlı olarak, çapraz olarak sorgulanabilir.
Sorgulama için QBE (Query By Example-Örnekle Sorgulama), veya SQL (Structured
Query Laguage- Yapısal Sorgulama Dili) araçları kullanılmaktadır. Bu araçlar
çoğu kez, yukarıda adı geçen veri tabanı işletim sisteminin bir parçası olarak
sunulmaktadır.
Veritabanı Tasarımı
Bir veritabanı tasarımı iki aşmada gerçekleştirilir;
bunların ilki Mantıksal Tasarım, ikincisi ise Fiziksel Tasarımdır. Mantıksal
tasarım kullanacak veri tabanı işletim sisteminden bağımsız olarak yapılan
çalışmalardan oluşurken, fiziksel tasarımda mantıksal tasarımda ortaya çıkan
nesneler bir veri tabanı işletim sistemi kullanımı ile gerçekleşir.
Mantıksal Tasarımın Evreleri:
a) Problemin tanımlanması,
b) Kullanılmakta olan sistemin irdelenmesi, ve sistem içindeki hareketlerin bulunması,
c) Veritabanını kullanacak olanların gereksinimlerinin ortaya konulması,
d) Veritabanını oluşturacak varlıkların ve özelliklerinin belirlenmesi,
e) Yaratılması düşünülen raporların belirlenmesi,
f) Tabloların normalize edilmesi.
a) Problemin tanımlanması,
b) Kullanılmakta olan sistemin irdelenmesi, ve sistem içindeki hareketlerin bulunması,
c) Veritabanını kullanacak olanların gereksinimlerinin ortaya konulması,
d) Veritabanını oluşturacak varlıkların ve özelliklerinin belirlenmesi,
e) Yaratılması düşünülen raporların belirlenmesi,
f) Tabloların normalize edilmesi.
Fiziksel Tasarım Evreleri:
a) Varlıkların yaratılması,
b) Form tasarımının gerçekleştirilmesi ve veri girişinin sağlanması,
c) Rapor tasarımının uyarlanması,
d) Veritabanı kullanımını kolaylaştıracak destek programların ve kullanıcı ara biriminin yazılması
e) Veritabanı sisteminin denenmesi ve doküman hazırlanması.
İlişkisel Veritabanları
Neredeyse tüm modern veritabanı yönetim sistemleri,
ilişkisel veritabanı yönetim modelini kullanarak bilgi saklar ve işler.
İlişkisel terimi, veritabanındaki her kaydın bir tek konu hakkında ve yalnızca
o konuyla ilişkili bilgileri içerdiği gerçeğinden ortaya çıkar. İlişkisel
veritabanı yönetim modelini incelerseniz, ilişki teriminin yalnızca bir konuyla
ilgili bir satır kümesine uygulandığını göreceksiniz. Ayrıca iki sınıf bilgiyle
ilgili veriler (müşteriler ve siparişler gibi), ilişkili veri değerlerine bağlı
bir bütün olarak yönetilebilir. Örneğin, müşterinin her verdiği siparişle
birlikte müşteri ad ve adres bilgilerini saklamak gereksiz olur. Bir ilişkisel
veritabanı sisteminde siparişlerle ilgili bilgiler, her siparişi uygun müşteri
bilgisine bağlayacak, müşteri nosu gibi, veri saklayan bir alan vardır.
İlişkisel veritabanı yönetim sisteminde (Relational Database
Management System-RDBMS), sistem tüm verileri tablolar içerisinde yönetir.
Tablolar bir konuyla ilgili bilgileri (müşteri ve ürünler gibi) saklar. Bununla
birlikte, konuyla ilgili başka bilgiler (örneğin müşterilerin adresleri ya da
kitap başlıkları) içeren sütunlar ve konunun tek bir örneğinin tüm öz
niteliklerini açıklayan (örneğin, belirli bir müşteri ya da kitap hakkındaki
veriler) satırlar vardır. Veritabanını sorguladığımızda (bir ya da daha fazla
tablodan bilgi getirtmek) bile, sonuç her zaman başka bir tabloya benzeyen bir
şey olur.
Ayrıca, birden çok tablo ya da sorgudan alınan ilişkili
değerleri birleştirebilirsiniz. Örneğin, hangi yazarların, hangi kitapları
yazdığını öğrenmek için, yazar ve kitap bilgilerini birleştirebilirsiniz. Hangi
satış elemanının prim hak ettiğini bulmak için, çalışan ve sözleşme bilgilerini
birleştirebilirsiniz.
İlişkisel veritabanı yönetim sistemi veritabanlarının
yapısını düzenler. Bu özellik sayesinde şu işlemleri yapmak olasıdır:
- Verilerin doğru ve etkin biçimde saklanmasını sağlar.
- İlişkisel bütünlük kuralı (database integrity) sağlanır.
- Değişiklik kayıtları sayesinde, sistem çöktüğünde verileri kurtarmayı sağlar.
İlişkisel veritabanı modelinin amacı, yüksek verimliliktir.
Örneğin personel bilgilerini bir veritabanın da tuttuğumuzda varsayalım.
Personel adı, adresi, telefonu bilgileri personelin çalıştığı farklı bölümler
için çoğaltılacaktır. Bu gereksiz fazlalık, önemli sayıda kayıtla uğraşan
veritabanları söz konusu olduğunda hem artan disk boşluğu ihtiyacı, hem de artan
veri ulaşım zamanı sorunlarına yol açar.
İlişkisel modelde ise veri iki tabloya ayrılacaktır. Birinci
tablo sigorta no, kimlik no, adres, telefon, yaş gibi kişisel bilgiler içerir.
İkinci tablo ise bu bilgileri çoğaltmak yerine personelin çalıştığı bölüm
bilgilerini içerir.
Veritabanı Becerileri
İlişkisel veritabanı yönetim sistemi (RDBMS), verilerinizi
tanımlama, onlarla çalışma ve başkalarıyla paylaşma konularını tümüyle
denetlemenizi sağlar. Sistem, birçok tablodaki çok sayıda veriyi kataloglama ve
yönetmeyi kolaylaştıran gelişmiş özellikler sunar. RDBMS'nin üç ana becerisi
vardır: verileri tanımlama, yönetme ve denetleme.
- • Veri Tanımlama: Veritabanında hangi verilerin saklanacağını, veri türünü (örneğin, sayılar ya da karakterler) ve verilerin ilişkilenme biçimini tanımlayabilirsiniz. Bazı durumlarda, verilerin nasıl biçimlendirilmesi ve doğrulanması gerektiğini tanımlayabilirsiniz.
- • Veri Yönetimi: Verilerle birçok biçimde çalışabilirsiniz. Hangi veri alanlarını istediğinizi seçebilir, verileri süzebilir ve sıralayabilirsiniz. Verileri ilişkili bilgilerle birleştirip, özetleyebilirsiniz (toplayabilirsiniz). Bir bilgi kümesi seçip, RDBMS'den onu güncelleştirmesini, silmesini, ayrı bir tabloya kopyalamasını ya da bu verileri içeren yeni bir tablo yaratmasını isteyebilirsiniz.
- • Veri Denetimi: Kimlerin verileri okuyabileceğini, güncelleştirebileceğini ya da ekleyebileceğini tanımlayabilirsiniz. Çoğu durumda, birden çok kullanıcı tarafından verilerin paylaşılıp güncelleştirilme biçimini de tanımlayabilirsiniz.
Tüm bu işlevsellikler Microsoft Access'in güçlü
özelliklerinde bulunur. Şimdi, Access'in bu becerileri nasıl gerçekleştirdiğine
bakıp, elektronik tablo ya da sözcük işlemci programlarla yapabildiklerinizle
karşılaştıralım.
Microsoft Access tümüyle işlevsel bir RDBMS'dir. Çok sayıda
veriyi yönetmek için gereksiniminiz olan tüm veri tanımlama, yönetme ve
denetleme özelliklerini sağlar.
Veri Tanımlama ve Depolama
Bir belge ya da elektronik tabloyla çalışırken, genelde,
belgenin içeriğini ya da elektronik tablonun içindeki her hücreyi tanımlamada
tümüyle özgürsünüzdür. Bir belgedeki belli bir sayfaya, metin paragrafları,
tablo, grafik ya da birden çok yazı tipiyle görüntülenen birden çok sütun
eklemiş olabilirsiniz. Bir elektronik tablodaki belli bir sütunda, yazdırmak ya
da görüntülemek için bir sütun başlığı tanımlamak üzere metinsel verileri
yukarıda bulundurabilir, satırın işlevine bağlı olarak, sütun içinde çeşitli
sayısal biçimler uygulayabilirsiniz. Bu esnekliğe gerek duyarsınız, çünkü
sözcük işlemci belgeniz, yazılı bir sayfa içeriğine iletinizi taşıyabilmeli ve
elektronik tablonuzda çözümlediğiniz verileri depolamasının yanı sıra sonuçlan
hesaplayıp onların bir sunumunu sağlamalıdır.
Bu esneklik, göreceli olarak küçük, iyi tanımlanmış iş
sorunlarını çözmek için harikadır. Ancak, bir belge birkaç düzine sayfayı
aşınca onu denetlemek ve bir elektronik tablo birkaç yüz satırlık bilgiyi
aşınca onu yönetmek güçleşir. Veri miktarı arttıkça sözcük işlemci ya da
elektronik tablo programınızın ya da bilgisayar sisteminizin veri depolama
sınırlarını aştığınızı da görebilirsiniz. Başkalarınca kullanılacak bir belge
ya da elektronik tablo tasarlıyorsanız, verileri nasıl kullandıklarını ya da
yeni verileri nasıl girdiklerini denetlemek, olanaksız olmasa da, çok güçtür.
Örneğin, bir elektronik tabloda anlamlı olması için bir hücreye tarih değeri,
bir başkasına da para birimi değeri girilmeliyken, kullanıcı yanlışlıkla, karakter
verisi girebilir.
Bazı elektronik tablo programlan, elektronik tablo
içerisinde bir "veritabanı" alanı tanımlamanıza izin verir. Bunun
nedeni, istenen sonuca ulaşmak için gereksiniminiz olan bilgileri yönetmenize
yardımcı olmaktır. Ancak yine de elektronik tablo programının temel depolama
sınırlarıyla engellenebilirsiniz ve veritabanı alanının sütun ve satırlarına
nelerin girildiği üzerine yeterince denetiminiz yoktur. Aynı zamanda, sayı ve
karakter verilerinin ötesinde işlemler yapmanız gerekirse, elektronik tablo
programınızın resim ve ses benzeri şeyleri tanımadığını görebilirsiniz.
Bir RDBMS, elinizdeki veri türünü ve depolama biçimini
tanımlamanıza izin verir. Genellikle, verilerinizin bütünselliğinden emin olmak
için RDBMS'nin kullanabileceği kuralları da tanımlayabilirsiniz. En basit
biçimiyle, bir geçerlilik kuralı, sayı içermesi gereken alana yanlışlıkla
alfabetik karakter depolamamanızı sağlar. Başka kurallar, verileriniz için
geçerli değerler ya da değer aralıkları tanımlayabilir. En karmaşık sistemlerde,
veri toplulukları (genellikle tablo ya da dosyalar) arasındaki ilişkiyi
tanımlayabilir ve RDBMS'den verilerin tutarlı kalmalarını sağlamasını
isteyebilirsiniz. Örneğin, her siparişin geçerli bir müşteri için girilmiş
olduğunu sistemin kendiliğinden denetlemesini sağlayabilirsiniz.
Access ile verinizi tanımlamada (metin, sayı, tarih, saat,
para birimi, internet bağlantıları, resim, ses, belge ve elektronik tablo
gibi); Access'in verilerinizi nasıl depolayacağını tanımlamada (dize uzunluğu,
sayı duyarlı ve tarih/saat duyarlı) ve verileri görüntülediğiniz ya da
yazdırdığınızda neye benzeyeceğini tanımlamada tümüyle özgürsünüz.
Veritabanında yalnızca doğru değerlerin bulunduğundan emin olmak için, basit ya
da karmaşık geçerlilik kuralları tanımlayabilirsiniz. Veritabanındaki dosya ya
da tablolar arasında geçerli ilişkiler olduğunu Access’ten denetlemesini
isteyebilirsiniz.
SQL (Structured Query Language)
SQL veritabanı yönetim sistemlerinin standart programlama
dili olarak bilinir. SQL dilinin Microsoft Access programı içinde sorgu
pencerelerinde veya Visual Basic programları içinde kullanılması olasıdır.
SQL komutları iki başlık altında toplanabilir:
1. DDL Komutları (Veritabanı tanımlama dili)
2. DML Komutları (Veri işleme dili)
1. DDL Komutları (Veritabanı tanımlama dili)
2. DML Komutları (Veri işleme dili)
DDL Komutları:
Create table: Yeni bir tablonun alanlarının ve indexlerinin
oluşturulmasını sağlar.
Create index: Belirlkenen tablo için dizin oluşturur.
Drop table: Belirtilen tablo ve dizinlerini veritabanından siler.
Alter table: Tabloya yeni alanlar ilave eder, alan tanımlarının değiştirilmesini sağlar.
Create index: Belirlkenen tablo için dizin oluşturur.
Drop table: Belirtilen tablo ve dizinlerini veritabanından siler.
Alter table: Tabloya yeni alanlar ilave eder, alan tanımlarının değiştirilmesini sağlar.
DML Komutları:
Select: Belirlenen kıstasa göre tablo içindeki kayıtların
seçilmesini sağlar.
Insert: Tablo içine yeni bir kayıt ekler.
Update: Belirlenen kaydın alanlarını günceller.
Delete: Belirlenen kayıtların silinmesini sağlar.
Insert: Tablo içine yeni bir kayıt ekler.
Update: Belirlenen kaydın alanlarını günceller.
Delete: Belirlenen kayıtların silinmesini sağlar.
Bu komutlar tek başlarına kullanılamaz. İşlevlerin yerine
getirilebilmesi için bazı yardımcı deyimlere ihtiyaç vardır:
From: Sorgulamanın hangi tablodan yapılacağını tanımlar.
Where: Sorgulama anında kullanılacak kıstası tanımlar.
Group By: Kayıtları belirlenen alana göre gruplar.
Having: Her bir grubun uyması gereken kıstası tanımlar.
Order By: Seçilen kayıtların sıralanmasını sağlar.
Constraint: Dizin tanımlamasını ve bir diğer tablo ile ilişki kurulmasını sağlar.
Where: Sorgulama anında kullanılacak kıstası tanımlar.
Group By: Kayıtları belirlenen alana göre gruplar.
Having: Her bir grubun uyması gereken kıstası tanımlar.
Order By: Seçilen kayıtların sıralanmasını sağlar.
Constraint: Dizin tanımlamasını ve bir diğer tablo ile ilişki kurulmasını sağlar.
Örnek: Create table Tablo adı (alan isimleri ve
türleri);
Drop table tablo adı;
Drop table tablo adı;
QBE (Query By Example)
QBE, değişik sorgulama dillerinin bir uzantısıdır. QBE’nin
amacı kullanıcının profesyonelce bir sorgulama dili kullanmadan grafik bir
ortamda kullanıcının sorgulamasını geliştirmesidir.
Başka bir anlatımla QBE bir sorgulama tekniğidir. Bir
sorgulama dili değildir. QBE, kullanıcının sorulara yanıt verecek karmaşık bir
sorguyu geliştirmesini sağlar.
QBE önce veritabanından ilgili tabloların seçilmesiyle
başlar. Ardından sorgulamanın yapılacağı kolanlar belirlenir. Örneğin; bir
veritabanında yer alan Personel adresi QBE satırlarında eşittir, eşit değildir,
büyüktür vb. ifadeler kullanılır. Bunun dışında QBE satırlarında SQL komutları
da kullanılabilir.
En Ünlü Veri Tabanı Sistemleri
PostgreSQL
MsSQL
MySQL
Oracle
Sybase
BerkeleyDB
DB2
Microsoft Access
Informix
Interbase
Sysbase
KAYNAK:http://www.dijitalders.com/icerik/2378/veritabani_nedir.html
Yorumlar
Yorum Gönder