VERİ TABANI YÖNETİM SİSTEMLERİ
-
Upload
cleo-french -
Category
Documents
-
view
74 -
download
0
description
Transcript of VERİ TABANI YÖNETİM SİSTEMLERİ
Veri Tabanı Nedir?Birbiriyle ilişkisi olan verilerin tutulduğu,Kullanım amacına uygun olarak düzenlenmiş
veriler topluluğunun,Mantıksal ve fiziksel olarak tanımlarının
bulunduğuBilgi depolarıdır.
Veri Tabanı ÖrnekleriÜniversite- Öğrenci İşleri Bilgi SistemiHastane-Hasta, doktor, tedavi, araç-gereç,
mali bilgilerTicari bir şirket- Müsteri, Ürün, Satış,
Ödeme, Teslimat bilgileriBanka-Müşteri, mevduat, kredi kartı, kredi
bilgileri
Veri tabanıVeri tabanı kavramı ilk olarak 1980’li yıllarBasit bir web uygulamasından uluslararası kuruluşların büyük ve karışık
verilerine kadar pek çok alanda veri tabanı uygulamalarına
ihtiyaç durulmaktadır.
Veri Tabanı Yönetim Sistemi Nedir?Yeni bir veritabanı oluşturmak,Veri tabanını düzenlemekKullanmak, GeliştirmekBakımını yapmak içinÇeşitli karmaşık işlemlerin gerçekleştirildiği
bir yazılım sistemidir.
Veri Tabanı Yönetim Sistemlerinin SınıflandırılmasıVeri Modeline Göre
HiyerarşikAğİlişkiselNesneye Yönelik
Kullanıcı Sayısına GöreTek kullanıcılıÇok kullanıcılı
Hiyerarşik veritabanlarıVeri tabanları için kullanılan ilk modeldirHiyerarşik veritabanları bilgileri bir ağaç
yağısında saklarlar.
Ağ veritabanlarıHiyerarşik veritabanları yetersiz kalınca
1960’ların sonunda verilerin ağaçların daha gelişmiş hali olan graflar şeklinde saklandığı yapı ortaya çıkmıştır.
İlişkisel veritabanları1970’lerin başında geliştirilmiştir.Bu sistemde veriler tablo şeklinde saklanır.Tablolar arasındaki bağlantılar matematiksel
ilişkilerle gösterilir.Günümüzdeki hemen hemen tüm veri tabanı
programları bu yapıdadır.
İlişkisel veritabanları
Nesneye Yönelik veritabanlarıGünümüzdeki pek çok kelime işlemci ve
hesap tablosu programında kullanılan nesneler artık veritabanlarında da kullanılmaktadır.
Nesneye yönelik veritabanı C++ gibi nesneye yönelik bir dille oluşturulan ve yine bu tarz bir dille kulanılan veri tabanı anlamına gelir.
Neden veri tabanı kullanılır?Verilerin tutulması, saklanması ve
erişilmesinde geleneksel yaklaşım verilerin ayrı ayrı dosyalarda gruplanması yaklaşımını kullanmaktadır.
Verilerin artması, verilere aynı anda erişme ve düzenlenme ihtiyacı ile geleneksel yakaşım yetersiz kalmıştır.
Veri Tabanı Yaklaşımının AvantajlarıOrtak verilerin tekrarını önIenmesi; Verilerin merkezi denetiminin ve tutarlılığının
sağlanmasıVeri payIaşımının sağlanmasıFiziksel yapı ve erişim yöntemi
karmaşıklıklarının, çok katmanlı mimarilerle kullanıcıdan gizlenmesi,
Her kullanıcıya yalnız ilgilendiği verilerin, alışık olduğu kolay, anlaşılır yapılarda sunulması
Veri Tabanı Yaklaşımının AvantajlarıSunulan çözümleme, tasarım ve geliştirme
araçları ile uygulama yazılımı geliştirmenin kolaylaşması.
Veri bütünlüğünün gerekli olanakların sağlanması,
Güvenlik ve gizliliğin istenilen düzeyde sağlanması
Yedekleme, yeniden başlatma, onarma gibi işletim sorunlarına çözüm getirilmesi
Veri Tabanı Yönetim SistemleriOracle database IBM DB/2 Adaptive Server Enterprise Informix Microsoft Access Microsoft SQL Server Microsoft Visual FoxPro MySQL PostgreSQL Progress SQLite Teradata CSQL OpenLink Virtuoso
Veri Tabanı YapısıVeri
tabanı
Tablo Tablo Tablo Tablo Tablo
Alan 1
Alan 2
Alan3
Alan4
1
2
3
TabloBir veritabanı tablolarda saklanan verilerden
oluşur.Tablolar verilerin satırlar ve sütunlar halinde
düzenlenmesiyle oluşan veri grubudur.Örneğin ders içeriği ve öğrenci bilgilerini
veritabanında saklamak için 2 tablo oluşturulur:Ogrenci_bilgileriicerik
TabloTablo içindeki her bir bilgi kayıt,Sütunlar ise alan olarak isimlendirilir.Örneğin öğrenci bilgileri tablosunda
Öğrenci numarası, adı soyadı, doğum tarihi, doğum yeri, e-mail adresi
bilgileri yer alacaksa
Tablo
Alan
Ogr_no
Ad_soyad d_tarih d_yeri e-mail
1 Ayşe Öztürk 01.11.1979
Konya [email protected]
2 Sema Özdemir 24.05.1975
Ankara [email protected]
3 Serdar Gülpınar
06.06.1983
Adana [email protected]
4 Mehmet Efe 11.02.1978
Niğde [email protected]
5 Zerrin Polat 22.08.1980
Antalya [email protected]
6 Ulviye Kubalı 12.12.1984
İstanbul [email protected]
Alan
Kayıt
Veri TürleriVeri tabanında tutulan kayıtların yapısı
hakkında bilgi sahibi olmak içinAlanların bazı özelliklerinin önceden
tanımlanması gerekir.
Örneğin personel sicil numarası mutlaka tam sayı, ad soyad harflerden oluşması gibi
Access-Veri TürleriMetin : Yazılacak bilgiler harflerden veya hem harf
hem de sayılardan meydana geliyorsa kullanılacak veri türüdür.
Bu alana boşlukta dahil olmak üzere en fazla 255 karakter bilgi yazılabilir.
Bu alana yazılan bilgiler sadece sayılardan da oluşabilir, ama yazılan sayılar hesaplama işlemlerinde kullanılamazlar.
Access-Veri TürleriNot : Uzun metin yada metin ve sayı bileşimi
kullanılabilir.
Genelde açıklama ya da uzun bir not yazılacaksa bu alan kullanılır. 64.000 karakterle sınırlıdır.
Access-Veri TürleriSayı : Öğrenci numarası, öğrencinin sınıfı gibi
sayısal bilgiler için kullanılır.
Sayısal alanlar matematiksel hesaplamalarda kullanılabilir. Borç, alacak, öğrenci harcı gibi.
Tarih/Saat : 100 ile 9999 arasındaki yıllar için tarih ve saat değerleridir.
Access-Veri TürleriPara Birimi : Bir ile dört arasındaki ondalık
basamağı olan, matematik hesaplamalarında kullanılan para birimi değerleri ve sayısal veriler.
Otomatik Sayı : Tabloya yeni bir kayıt eklendiğinde, Access tarafından atanan benzersiz ardışık (birer birer artan) ya da rasgele sayılar.
Otomatik sayı alanları değiştirilemez.
Access-Veri TürleriEvet/Hayır : Yalnızca iki değerden birini içeren
alanlar Evet / Hayır, Doğru / Yanlış, Açık / Kapalı gibi alanlar gibi.
OLE Nesnesi : Access tablosuna bağlanmış ya da katıştırılmış bir nesne.
(Microsoft Word veya Excel çalışma sayfası gibi)
Access-Veri TürleriKöprü : Tıklandığında kullanıcıyı başka bir
dosyaya, dosyadaki bir konuma veya Internet’teki (www) bir bölgeye yönlendiren bağlantı.
Arama Sihirbazı : Değerleri başka tablo, sorgu ya da değerler listesindeki değerlerden seçilen bir alan yaratmamıza yardımcı olan sihirbaz.
MYSQL Veri TürleriTINYINT:Tam sayı -128 den 127’e
MYSQL Veri TürleriSMALLINT:Tam sayı -32768 den 32767’e
MYSQL Veri TürleriMEDIUMINT:Tam sayı -8388608’den 8388607’e
MYSQL Veri TürleriINT(n):TamsayıYanlızca integer(tamsayı) değeri tutar-2147483648'den 2147483647 kadar değişen
diziye "signed" (işaretli), 0'dan 4294967295'e kadar değişenine
"unsigned" (işaretsiz) denir
MYSQL Veri TürleriBIGINT:Tam sayı -9223372036854775808’den
9223372036854775807’e
MYSQL Veri TürleriFLOAT:Sayıları kesirleri ile birlikte tutar. Max. karakter genişliği parametre olarak alınır.(23 basamağa kadar)
MYSQL Veri TürleriDOUBLE:Sayıları kesirleri ile birlikte tutar. Max. karakter genişliği parametre olarak alınır.(24’ten 53 basamağa kadar)
MYSQL Veri TürleriDECIMAL:Sayıları kesirleri ile birlikte tutar. Tam kısmı maksimum 64Kesirli kısmı maksimum 30 değerini alabilir.
MYSQL Veri TürleriDATETIME:Yıl+Ay+Gün+Saat+Dakika+Saniye biçimindeki
zaman bilgisiYYYY-MM-DD HH:MM:SS
MYSQL Veri TürleriTIMESTAMP:1 Ocak 1970'den 18 Ocak 2038'e kadar olan ve
Yıl+Ay+Gün+Saat+Dakika+Saniye biçimindeki zaman bilgisi.
YYYYMMDDHHMMSS
MYSQL Veri TürleriDATE:1000-01-01'den 9999-12-31'e kadar değişebilen
tarih alanı.YYYY-MM-DD
MYSQL Veri TürleriCHAR(n):n sayısı kadar karakteri olan sabit uzunluklu
veridir.
MYSQL Veri TürleriTEXT:En fazla 65535 karakter alabilen metin alanı.
MYSQL Veri TürleriMEDIUMTEXT:En fazla 16777215 karakter alabilen metin
alanı
MYSQL Veri TürleriVARCHAR(n):n sayısını geçmemek şartıyla değişen boyutta
karakter
MYSQL Veri TürleriBOOL:0 veya 1 değerini alan veri türüdür.
Anahtar (Key)Anahtar bir veya birden fazla alanın bir satır
için niteleyici olarak girilmesi için zorlanan bir çeşit zorlayıcıdır.
2 çeşit anahtar vardır:Birincil Anahtar (Primary Key)Yabancı Anahtar (Foreign Key)
Birincil anahtarBir kayıta ulaşmayı sağlayacak anahtar veridir.Örneği öğrenciler arasında iki Ahmet var.
Arama yaparken istediğimiz Ahmet’i bulmak için her bir öğrenciye özel bir numara olmalıdır.
Örneğin öğrenci numarası
Birden fazla alanda birlikte birincil anahtar olabilir
Yabancı anahtarBir tabloya girilebilecek kayıtları başka bir
tablonun belli alanındaki verilerle sınırlandırmaya ve ilişkilendirmeye yarar.
Örneğin öğrencilerin not verilerinin girildikleri tablodaki her satıra öğrenci bilgileri tablosundaki öğrenci no ile eşleşen bir değer girilmesi gibi.
Veri tabanı Tasarlama1. Nesneler tanımlanır
Kütüphane sistemi: kitap, üyeler, türler, ödünç hareketleri
Veri tabanı Tasarlama2. Her nesne için bir tablo oluşturulur.
kitap, uyeler, turler, odunc_hareketleri
Veri tabanı Tasarlama3. Her tablo için bir anahtar alan seçilir
Kitap tablosu: kitapnoÜyeler tablosu: uyeno
Veri tabanı Tasarlama4. Nesnelerin her bir özelliği için tabloya sütun
eklenir
Kitap tablosu: kitapno, yılı, yazarı, adı, ilgili olduğu alan
Veri tabanı Tasarlama5. Tekrarlayan nesne özellikleri için ek tablolar
oluşturulur.
İstek tablosuuyeno
İstek _tarihi Kitap_adi Kitap_yili Kitap_yazari
ilgili _alan
Veri tabanı Tasarlama6. Tablo ile doğrudan ilişkili olmayan alanlar
belirlenir.
Ödünç hareketleri tablosunda kitabı ödünç alan üyenin adresi doğrudan bu tablo ile ilişkili değildir.
Bu veri üye bilgilerinin tutulduğu uyeler tablosunda yer almalıdır.
Veri tabanı Tasarlama7. Tablolar arasındaki ilişkiler tanımlanmalıdır.
Tanımlanan tablodaki alanların birbiri ile ilişkisi tanımlanır.
Örneğin uyeler tablosundaki uyeno ile odunç_tablosundaki uyeno alanı ilişkilendirilmelidir.
KaynaklarKöseoğlu, K. (2005). Veri Tabanı Mantığı.
Şefik Matbaası. İstanbulAlokoç Burma, Z. (2005). Veritabanı Yönetim
Sistemleri ve SQL / PL - SQL / T – SQL. Seçkin Yayıncılık. Ankara