veritabanı yönetim sistemleri-i

23
Veritabanı Yönetim Sistemleri-I Dr. Akın Özçift Dr. Mustafa Karabulut Ders 1 Veritabanı Temel Kavramları Veritabanı Tasarımı

Upload: ethanael-nathan

Post on 04-Jan-2016

105 views

Category:

Documents


3 download

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 Presentation

TRANSCRIPT

Page 1: Veritabanı Yönetim Sistemleri-I

Veritabanı Yönetim Sistemleri-I

Dr. Akın Özçift Dr. Mustafa Karabulut

Ders 1 Veritabanı Temel KavramlarıVeritabanı Tasarımı

Page 2: Veritabanı Yönetim Sistemleri-I

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

Page 3: Veritabanı Yönetim Sistemleri-I

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

Page 4: Veritabanı Yönetim Sistemleri-I

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

Page 5: Veritabanı Yönetim Sistemleri-I

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

Page 6: Veritabanı Yönetim Sistemleri-I

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

Page 7: Veritabanı Yönetim Sistemleri-I

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

Page 8: Veritabanı Yönetim Sistemleri-I

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

Page 9: Veritabanı Yönetim Sistemleri-I

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

Page 10: Veritabanı Yönetim Sistemleri-I

Veritabanı Yönetim Sistemi

Client = İstemci, DBMS = Veritabanı Yönetim Sistemi, Database = Veritabanı

Page 11: Veritabanı Yönetim Sistemleri-I

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

Page 12: Veritabanı Yönetim Sistemleri-I

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

Page 13: Veritabanı Yönetim Sistemleri-I

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.

Page 14: Veritabanı Yönetim Sistemleri-I

İ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

Page 15: Veritabanı Yönetim Sistemleri-I

İ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.

Page 16: Veritabanı Yönetim Sistemleri-I

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

Page 17: Veritabanı Yönetim Sistemleri-I

Normalizasyon

Normalize edilmemiş tablo. Kira ve müşteri bilgilerini tutuyor. Dikkat edilirse veri tekrarları var, bu da veri güncellemeyi zorlaştırıyor

Page 18: Veritabanı Yönetim Sistemleri-I

Normalizasyon

Normalizasyon adımları bir tur tekrarlanınca, tabloların yeni yapısı:

Page 19: Veritabanı Yönetim Sistemleri-I

Normalizasyon

İkinci tur sonunda tabloların yapısı (2. Normal form = 2NF)

Page 20: Veritabanı Yönetim Sistemleri-I

Normalizasyon

Üçüncü tur sonunda tabloların yapısı (3. Normal form = 3NF)

Birincil anahtar (PK)

Page 21: Veritabanı Yönetim Sistemleri-I

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

Page 22: Veritabanı Yönetim Sistemleri-I

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◦…

Page 23: Veritabanı Yönetim Sistemleri-I

VTYSGelecek derste

◦Microsoft SQL Server ile devam edeceğiz…