VERİ TABANI YÖNETİM SİSTEMLERİ

Post on 01-Jan-2016

74 views 0 download

description

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ğu Bilgi depolarıdır. Veri Tabanı Örnekleri. - PowerPoint PPT Presentation

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 ayse@gazi.edu.tr

2 Sema Özdemir 24.05.1975

Ankara sema@gazi.edu.tr

3 Serdar Gülpınar

06.06.1983

Adana serdar@gazi.edu.tr

4 Mehmet Efe 11.02.1978

Niğde mehmet@gazi.edu.tr

5 Zerrin Polat 22.08.1980

Antalya zerrin@gazi.edu.tr

6 Ulviye Kubalı 12.12.1984

İstanbul ulviye@gazi.edu.tr

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