veritabanı yönetim sistemleri-i
DESCRIPTION
Veritabanı Yönetim Sistemleri-I. Dr. Akın Özçift Dr. Mustafa Karabulut. Ders 1 Veritabanı Temel Kavramları Veritabanı Tasarımı. Veritabanı Kavramı. Veritabanı bir amaç için toplanmış bilgi topluluğudur - PowerPoint PPT PresentationTRANSCRIPT
Veritabanı Yönetim Sistemleri-I
Dr. Akın Özçift Dr. Mustafa Karabulut
Ders 1 Veritabanı Temel KavramlarıVeritabanı Tasarımı
Veritabanı KavramıVeritabanı bir amaç için toplanmış bilgi
topluluğudurHerhangi bir şekilde gruplanmış ve düzenli
bir şekilde saklanan veri bütününe genelde veritabanı denmektedir.
Günlük hayatta pek çok alanda veritabanlarına rastlarız◦ Bir kurumun personeline ait bilgileri sakladığı
sistemde◦ Bir alışveriş sitesinin ürünlerini, müşterilerini,
satışlarını takip ettiği sistemde◦ Üniversite öğrencilerinin bilgilerinin tutulduğu
otomasyon sisteminde
Veritabanı Kavramı◦Veritabanına neden ihtiyaç duyulur ? Pek çok işlemi yapmak için yazılan
programlar kullanıcı tarafından girilen verileri bir yere kaydetmek zorundadır
Çünkü hangi programlama dili kullanılırsa kullanılsın, program içindeki veriler (değişkenler) RAM’de tutulduğu için bilgisayar kapandığında hepsi silinmektedir.
Dolayısıyla veritabanı (VT) bilgilerin KALICI olarak saklandığı fiziksel ortam olarak, veri işleyen tüm programların bilgilerini depolaması için gereklidir
Veritabanı KavramıProgram yazarken verileri
saklamak için veritabanı dışında metotlar da kullanmıştır/kullanılmaktadır◦Sıralı dosyalar: (Sequential access files): Program bilgisayarda kendisi için bir
dosya açar ve bilgileri oraya kaydeder. Yavaştır ve çok zahmetlidir. Büyük boyutlu verilerde sistem çalışamaz
duruma gelir
Veritabanı KavramıProgram yazarken verileri saklamak için
veritabanı dışında metotlar da kullanmıştır/kullanılmaktadır◦Sıralı dosyalar: (Sequential access files):
Program bilgisayarda kendisi için bir dosya açar ve bilgileri oraya kaydeder.
Verilerin bakımı ve organizasyonu programcı tarafından yapılmaktadır.
Yavaştır ve çok zahmetlidir. Farklı programların verileri birbiriyle uyumsuzdur ve
veri paylaşımı çok zordur Büyük boyutlu verilerde sistem çalışamaz duruma
gelir
Veritabanı KavramıOysa Veritabanı kullanırken:
Programcı verilerin depolanması ve bakımı ile ilgilenmez. Bu işleri Veritabanı Yönetim Sistemi denilen bir yazılım yapar.
Büyük boyut veriler hızlı bir şekilde işlenebilirler. Örneğin 1.000.000 kaydın işlenmesi sadece saniyeler sürer.
Veritabanı yönetim sistemi SQL denen ortak bir protokolü desteklediği için veri farklı programlar tarafından paylaşılabilir ve farklı sistemler için de uyumludur
Veritabanı Yönetim SistemiVeritabanı Yönetim Sistemi nedir ?
◦Verileri depolayan ve Veritabanlarını organize eden
◦Veriler üzerinde program tarafından gönderilen ekleme/silme/güncelleme gibi istekleri yerine getiren
◦Verilerin güvenliğini sağlayan
…..BİR YAZILIMDIR
VTYS Kullanım AvantajlarVeri tekrarının ve tutarsızlığının kontrol edilmesiYetkisiz erişimin sınırlandırılmasıProgramlama dilleri ile etkili iletişim platformu
sağlamaSonuç çıkarmaya elverişli olmaÇok kullanıcılı arayüz sağlamakVeriler asasındaki karmaşık ilişkileri tanımlamaVeri tutarlılığının sağlanmasıYedekleme ve kurtarma fonksiyonlarını sağlama
Veritabanı Yönetim SistemiVTYS 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 veritabanları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 veritabanı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
Veritabanı Yönetim Sistemi
Client = İstemci, DBMS = Veritabanı Yönetim Sistemi, Database = Veritabanı
Veritabanı Yönetim SistemiVeritabanına erişen programlar
◦C#, Pascal, Delphi, PHP, ASP.NET v.b. Dillerde yazılan herhangi bir program olabilir
Veritabanı yönetim sistemi◦Ağ/İnternet üzerinden erişilebilir◦Hizmet (Service) mantığında çalışır◦Aynı anda birden fazla istemciye yanıt
verebilir◦Aynı anda birden fazla veritabanını
barındırabilir
Veritabanı Yönetim SistemiVeritabanına erişen programlar
◦C#, Pascal, Delphi, PHP, ASP.NET v.b. Dillerde yazılan herhangi bir program olabilir
Veritabanı yönetim sistemi◦Ağ/İnternet üzerinden erişilebilir◦Hizmet (Service) mantığında çalışır◦Aynı anda birden fazla istemciye yanıt
verebilir◦Aynı anda birden fazla veritabanını
barındırabilir
Veritabanı Yönetim SistemleriVTYS yazılımları birden fazla türdedir
◦Hiyerarşik VTYS: Veriler alt-üst ilişkisi şeklinde tutulur
◦Ağ VTYS: Veriler birbirlerine yine alt-üst ilişkisi ile bağlıdır ama her verinin birden fazla üstü bulunabilir
◦Nesne Tabanlı VTYS: Veriler nesneler halinde tutulur.
◦ İlişkisel VTYS: Günümüzde en çok kullanılan VTYS türüdür. Veriler tablolar şeklinde gruplanır ve her tablo başka tablolar ile mantıksal olarak ilişkilendirilir.
İlişkisel VTYS
MüşteriNo
Müsteri adı
Mesleği
1 Ahmet mimar
2 Sema öğretmen
3 Serdar mühendis
4 Zerrin emekli
5 Mehmet
Öğretim elemanı
6 Defne Doktor
7 Elif avukat
Firma
No
Firma
Adres
1 A Çanakkale Cad. 43/5
2 B Kayabaşı mah. A Blok 8/4
3 C Gazi Mah 6/7
4 D Gazi Mah 6/7
MüşteriNo
Firma
No
Fiyat
1 1 1000 YTL
2 2 250 YTL
3 3 350 YTL
4 2 700 YTL
5 2 1200 YTL
6 4 100 YTL
7 1 150 YTL
Bir ilişkisel VT’deki farklı üç tablo ve aralarındaki ilişkiler
İlişkisel VTYSİlişkisel VTYS modelinde
◦Tablolar (Tables): Birbirinden bağımsız her bir veri grubunu temsil eder
◦Satırlar (Rows / Records): Her bir tablodaki kayıtları temsil eder
◦Alanlar (Fields / Columns): Bir tablodaki bir kayda ait bir özelliği temsil eder. Ör: Müşterinin adı veya siparişin tarihi
◦İlişkiler (Relations): Tablolar arasındaki mantıksal ilişkilerdir. Tabloda yabancı anahtar (Foreign key) kullanımı ile gerçeklenir.
Tablo tasarımı ve NormalizasyonTablo tasarlanırken
1. Nesneler tanımlanır2. Her nesne için bir tablo oluşturulur3. Her tablo için bir anahtar alan
(primary key) seçilir4. Nesnelerin gerekli özellikleri için
tabloya sütunlar eklenir5. Tekrarlayan özellikler için ek
tablolar oluşturulur6. Tablolar arası ilişkiler tanımlanır
Normalizasyon
Normalize edilmemiş tablo. Kira ve müşteri bilgilerini tutuyor. Dikkat edilirse veri tekrarları var, bu da veri güncellemeyi zorlaştırıyor
Normalizasyon
Normalizasyon adımları bir tur tekrarlanınca, tabloların yeni yapısı:
Normalizasyon
İkinci tur sonunda tabloların yapısı (2. Normal form = 2NF)
Normalizasyon
Üçüncü tur sonunda tabloların yapısı (3. Normal form = 3NF)
Birincil anahtar (PK)
Tablo tasarımıBirincil anahtar (Primary Key):
◦Bir tabloda ki satırları birbirinden ayırmak için kullanılan alan veya alanlardır.
◦Bu değer satırlarda tekrar etmezYabancı anahtar (Foreign key):
◦Bir tabloda birincil anahtar olan değer, ilişkili diğer bir tabloda yabancı anahtar olarak tanımlanır
◦Tablolar arası mantıksal ilişki kurmaya yarar
◦Böylece veri tekrarı engellenir
Veritabanı Yönetim SistemleriTüm bu anlatılanları herhangi bir VTYS
yazılımında kullanabilirizÇünkü tüm VTYS yazılımları bu standartları
desteklemektedirBazı sık kullanılan VTYS
◦Microsoft SQL Server◦Oracle◦MySQL◦PostgreSQL◦ Informix◦Firebird◦…
VTYSGelecek derste
◦Microsoft SQL Server ile devam edeceğiz…