BIM 312 Database Management 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 l oluşan kayıtlar topluluğudur. l ğ 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 tasarruf edilmiş dl olur. Paylaşım kolaylığı: Veritabanında sakladığınız verileri aynı ağ üzerindeki kullanıcılarlayadainternet eaç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. 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 eklemek Yeni veri eklemek Veri değiştirmek Veri silmek Dosya silmek 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 yapılandırma, saklamavebu verilere ulaşma şekillerindeki farklılıklarla ayrılırlar. Yapısal olarak üç ana veritabanından söz edilebilir: İlişkisel veritabanları Hiyerarşik ş 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 yapısal özellikleri i şu şekilde sıralanabilir: Bir ilişkisel veri tabanı içinde bilgiler, tablolar halinde saklanırlar. Tablolar dikey olarak alan lardan, yatay olarak kayıt lardan 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 ş Veri Tabanları Hiyerarşik veri tabanları, bilgileri bir ağaç yapısında saklar. Kök l k bi k t b kök b ğl d l k tl b Kök olarak bir kayıt ve bu köke bağlı dal kayıtlar 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 karmaşık biryapı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 ç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. 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, kolay kurulumu ve 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. 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şlem gücüyleü dikkat çekmektedir. kt M li ti diğ it b l ö ük kti Tbl Maliyeti diğer veritabanlarına göre yüksektir. Tablo başına 4 TB veri depolayabilmektedir.
5) Oracle Oracle, dünyanın engüçlüvegüvenilirveritabanı olarak gösterilmektedir, ancak çok yüksek maliyeti nedeniyle sadece büyükük kurumların tercih edebilecekleri i bir veritabanıdır. Windows ye Unix sistemlerinde kullanılabilmektedir. Oracle sınırsız sayıda tabloları desteklemektedir Çok Oracle, sınırsız sayıda tabloları 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 Veritabanı yönetim sistemlerinin i i başlıca temel görevleri: Veritabanının ve verinin i tanımlanması Verinin güncellenmesi ve sunulması Veritabanı bakımı Güvenlik Veri yedeklenmesi ve kurtarılması
Uygulama Alanları Veritabanlarında tutulan veriler, sorgulama yazılımları, rapor üreten yazılımlar, hesap çizelgeleri, istatistik yazılımları, karar destek yazılımları, grafikyazı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. Her varlık kendine özgü tekil bir özelliği ilediğ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ı İlişkisel l modeldeki varlıklar ilişkisel l veritabanlarındaki tablolardır. Tabloların isimleriaçıklayıcı ve kısa olmalıdır. Aynı veritabanı içinde aynı tablo ismi kullanılamaz. Tablo satırlarının toplamı nesne kümesini oluşturur.
Varlık-Bağıntı Modeli (E-R) Bir tablo, nesneyi tanımlayan nitelikler i içeren sütunlardan oluşur. Nitelik, bir varlığın karakteristik tanımlayıcılarından 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. Doğum ğ Tarihi 1.1.19821 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çerir. i 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)
Bağıntığ Türleri (Mapping Cardinalities) Bire-Bir (1-1): 1) İki varlık içini de sadece birer nitelik ortaktır. Bire-Birçok Birçok (1-m): Bir varlık diğer bir varlığın ğ birden fazla niteliğine sahip olabilir. 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çok (n-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.
Varlık-Bağıntı ğ Modeli (E-R) Tablo 1.3 Tablolar Arası Bağıntı Kitap Tablosu Yazar Tablosu Kitap_No Kitap_Ad Kitap_Fiyat Yazar_No Yazar_Ad Yazar_Soyad 1 Tutunamayanlar 16.50 1 Hasan Demir 2 Access 45.5050 2 Oğuz Atay 3 Ayşe Güçlü KitapYazar Tablosu Kitap_No 1 2 2 1 2 3 Yazar_No 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. elemanı 1. sütun değerine, 2. elemanı 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, Ş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, veritabanı tasarımı sırasında belirlenir ve çok sık olarakdeğişmez. Kitap Kitap_No Kitap_Ad Kitap_Fiyat Tablo 1.1 Şema Örneği
İlişkisel Model (Relational) Bir veritabanı içinde yer alan verinin belirli bir andaki durumuna veritabanı durumu, veritabanı fotoğrafı ğ f ya da örneklemesi denir. Her veri ekleme, silme ya da değiştirme durumunda örnekleme değişir. Kitap Kitap_No Kitap_Ad Kitap_Fiyat 1 Tutunamayanlar 16.50 2 İnce Memed 12.80 Tablo 1.2 Örnekleme Örneği