Top Banner
BBY 309 Veri Tabanı Yönetim Sistemleri Güven KÖSE E-posta : [email protected] Web : .../~gkose
33

BBY 309 Veri Tabanı Yönetim Sistemleri

Dec 30, 2015

Download

Documents

blaine-arnold

BBY 309 Veri Tabanı Yönetim Sistemleri. Güven KÖSE E-posta : [email protected] Web : .../~gkose. Ara sınav : % 35 Final sınavı : %60 Devam : %5. Değerlendirme Kriterleri. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: BBY 309 Veri Tabanı Yönetim Sistemleri

BBY 309Veri Tabanı Yönetim

Sistemleri

Güven KÖSE

E-posta : [email protected]

Web : .../~gkose

Page 2: BBY 309 Veri Tabanı Yönetim Sistemleri

Değerlendirme KriterleriDeğerlendirme Kriterleri

• Ara sınav : %35

• Final sınavı : %60

• Devam : %5

Page 3: BBY 309 Veri Tabanı Yönetim Sistemleri

Ders Kitabı ve Yardımcı KaynakDers Kitabı ve Yardımcı Kaynak

Database Processing: Fundamentals, Design, and Implementation, 10/E, David Kroenke

Fundamentals of Database Systems, 5/E, Ramez Elmasri, Shamkant B. Navathe

Page 4: BBY 309 Veri Tabanı Yönetim Sistemleri

Ders İçeriğiDers İçeriği

• Giriş : VT, VTYS nedir, neden ihitiyaç var, ne

getiriyor, nerelerde kullanılır, nasıl oluşturulur.

• Varlık-İlişki Veri Model (ER Model)

• Veri Tabanı Tasarımı

• SQL (Structured Query Language)

• VT Standartları: ODBC, OLE DB, ADO, XML

• VTYS kullanan bir uygulama geliştirilmesi.

Page 5: BBY 309 Veri Tabanı Yönetim Sistemleri

VTYS Giriş

Page 6: BBY 309 Veri Tabanı Yönetim Sistemleri

Veriden, verinin bilgisayarda saklanmasına giden yol

Giriş (Input) İşleme (Process) Çıkış (Output)

Veri (Data) Bilgi (Information)

Saklama (Storage)

Veri / Bilgi

Page 7: BBY 309 Veri Tabanı Yönetim Sistemleri

Veri hiyerarşisi

Bit (0,1) Byte / Karakter(01001100)

Alanlar (Fields) Kayıtlar (Records)

Ad, Soyad, Numara….. Güven KÖSE 1234 Güven KÖSE 1234Ali KAYA 4356….. ….. ….

Dosyalar (Files)

Page 8: BBY 309 Veri Tabanı Yönetim Sistemleri

Bilgisayarda Dosya Organizasyonu

İşletim Sistemi (Operating System)

Dosyalar (Files)

dosya1 dosya2 …….. dosyaN

adres1 adres2 …….. adresN

FAT (File Allocation Table)

Kullanıcı (User)

Sabit Disk (Hard Disc)

Uygulama Programları(Applications)

Page 9: BBY 309 Veri Tabanı Yönetim Sistemleri

Dosya Organizasyonu İle İlgili Problemler

• Lakeview firması yüklenici firmalarla bazı işler yapıyor ve onlara bazı ekipmanlar kiralıyor.

• İş yapılan firma bilgileri ve herbir kiralama ile ilgili olarak işin adı, yüklenici firma, telefon,

ekipman türü, ekipman numarası, günlük kira bedeli, başlangıç ve bitiş tarihleri, toplam süre ve

toplam ücret bilgileri saklanmak isteniyor.

Page 10: BBY 309 Veri Tabanı Yönetim Sistemleri

Dosya Organizasyonu İle İlgili Problemler

• Eğer yüklenici firma telefon numarasını değiştirirse ne olur?

• Listenin doğru bilgileri yansıtması için tüm kayıtların değiştirilmesi gerekir.

• Eğer sadece ilk kayıt güncellenirse liste tutarsız (inconsistent) olur.

• Eğer liste bütün bir yıla ait olsaydı binlerce kayıt olabilirdi, bu durumda ne yapılacak?

• Bütün listenin teker teker güncellenmesi hem zaman alıcı hem de hata yapmaya açık

bir iş olurdu.

Page 11: BBY 309 Veri Tabanı Yönetim Sistemleri

Dosya Organizasyonu İle İlgili Problemler

• Benzer bir problem listeden bir kayıt silineceği zaman da yaşanır.

• Örneğin RB Partnership firması kiralamadan vazgeçti, ne olacak?

• İlgili kayıt listeden silinecek.

• Kiralama bilgileri ile beraber firmanın bütün bilgileri de kayboldu (yüklenicinin çalıştığı

proje, telefon cs.).

Page 12: BBY 309 Veri Tabanı Yönetim Sistemleri

Dosya Organizasyonu İle İlgili Problemler

• Firmadan hiçbir şey kiralamayan ancak firmayla iş yapacak bir şirket için iş ve telefon gibi

bilgiler kaydedilmek istenirse ne olacak?

• KH yerine yanlışlıkla KA yazılırsa ne olacak, bu yeni bir firma mı yok sa bir yazım yanlışı mı?

• 4. ve 8. kayıtlarda kira bedelleri $650 ve $750 bu bir hata mı yoksa aynı ürün için farklı firmalara

farklı bedeller mi belirleniyor?

• Eğer farklı firmalara farklı bedeller belirleniyorsa bütün kiralama işlemlerinde aynısının yapılması

gerekir.

Page 13: BBY 309 Veri Tabanı Yönetim Sistemleri

Dosya Organizasyonu İle İlgili Problemler

• Lakeview firması aynı listeye pek çok çalışanın erişip düzenleme yapabilmesini isterse ne

olacak?

• Liste merkezi tek bir yerde mi tutulacak kullanıcılara kopyası mı dağıtılacak?

• Kullanıcılardan birisi bir alanı değiştirirse ne olacak?

• Aynı alan bütün kullanıcılar tarafından güncellenmek zorunda, eş güdüm nasıl olacak?

• Liste merkezi bir yerde tutulursa listeye erişim hakları nasıl belirlenecek? Her kullanıcının her

işlemi yapmasına izin verilemez.

• Bu tür listelerle (ya da dosyalarla) ilgili daha pek çok problem sayılabilir.

Page 14: BBY 309 Veri Tabanı Yönetim Sistemleri

Uygun Çözüm Nedir?

• Uygun çözüm listenin, işin mantığına uygun bir biçimde, alanlara

bölünerek yeniden organize edilmesidir.

• Elimizdeki listede en büyük problem farklı konuların (iş bilgileri, yüklenici

bilgileri, teçhizat bilgiler, kiralama bilgiler) aynı yerde gösterilmiş

olmasıydı.

• Herbir konu için bir liste (tablo) oluşturularak bu problemi çözebiliriz.

Page 15: BBY 309 Veri Tabanı Yönetim Sistemleri

Uygun Çözüm Nedir?

• Eğer bir telefon değişirse sadece Contractor tablosundaki ilgili alan güncellenir.

• Eğer bir kiralama işi silinecekse sadece Rental tablosundan bir kayıt silinir.

• Eğer yeni bir müşteri eklenecekse Contractor tablosuna yeni bir kayıt eklenir.

• Aynı ekipman için farklı günlük kiralama bedelleri ne olacak?

JOB

NAMENAME

Sea View Bldg

Highland Center

Long Plaza

Village Square

CONTRACTOR

ContractorContractor PhonePhone

KH Services 213.444.1181

Comstock, Inc. 232.492.3383

RB Partnership 508.555.3233

RENTAL

Start DateStart Date End DateEnd Date DaysDays

6/17/2002 6/19/2002 3

6/24/2002 6/24/2002 1

6/17/2002 7/3/2002 17

7/1/2002 7/3/2002 3

6/15/2002 0

7/1/2002 7/8/2002 8

7/8/2002 7/11/2002 4

EQUIPMENT

Equipment TypeEquipment Type Equipment NumberEquipment Number Daily RateDaily Rate

Back Hoe 10400 750

Medium Crane 335 350

Back Hoe 10020 650

Scaffolding 135

Page 16: BBY 309 Veri Tabanı Yönetim Sistemleri

Bu çözümde bütün tablolar birbirinden bağımsız aralarındaki ilişki nasıl kurulacak?

JOB

IDID NAMENAME

1 Sea View Bldg

2 Highland Center

3 Long Plaza

4 Village Square

CONTRACTOR

IDID ContractorContractor PhonePhone CityCity

1 KH Services 213.444.1181 New York

2 Comstock, Inc. 232.492.3383 New York

3 RB Partnership 508.555.3233 Highlands

RENTAL

IDID JobIDJobID ContIDContID EqpIDEqpID Start DateStart Date End DateEnd Date DaysDays

1 1 1 1 6/17/2002 6/19/2002 3

2 2 2 1 6/24/2002 6/24/2002 1

3 1 1 2 6/17/2002 7/3/2002 17

4 3 1 3 7/1/2002 7/3/2002 3

5 1 1 4 6/15/2002 0

6 2 2 2 7/1/2002 7/8/2002 8

7 4 3 3 7/8/2002 7/11/2002 4

EQUIPMENT

IDID Equipment Equipment TypeType

Equipment Equipment NumberNumber

Daily Daily RateRate

1 Back Hoe 10400 750

2 Medium Crane

335 350

3 Back Hoe 10020 650

4 Scaffolding 135

Key

Fo

reig

n K

ey

Page 17: BBY 309 Veri Tabanı Yönetim Sistemleri

Veri Tabanı (Database) nedir?

Bir veri tabanı, mantıksal olarak ilişkili verilerin tutulduğu

derlemdir.

• Gerçek dünyaya ait bazı görüntüleri yansıtır.

• Veri tabanı içerisinde tutulan veriler mantıksal olarak

uyumludur.

• Özel bir amaç için tasarlanır ve oluşturulurlar.

• Herhangi bir boyutta ve değişen karmaşıklıkta olabilirler.

Page 18: BBY 309 Veri Tabanı Yönetim Sistemleri

Veri Tabanı Yönetim Sistemi (VTYS) Nedir?

Bir VTYS (Database Management Systems - DBMS), veri tabanı

tanımlamak, yaratmak, yaşatmak ve veri tabanına denetimli

erişim sağlamak için kullanılan yazılım sistemidir.

 

• Bir veri tabanı, ilgili veriler için veri türlerinin, yapılarının ve

kısıtlamalarının belirlenmesi ile tanımlanır.

• Bir veri tabanına veriler girilerek yaratılır.

• Veri tabanı yaratıldıktan sonra sorgulama, veriye erişim,

güncelleme ve rapor yaratma gibi işlevler gerçekleştirilebilir.

Page 19: BBY 309 Veri Tabanı Yönetim Sistemleri

Dosya Sistemlerindeki Sorunlar

• Veriler birbirinden ayrı ve izole edilmiş

• Çoğunlukla veri tekrarı var

• Uygulama programına bağımlı

• Birbirine uymayan (incompatible) veri dosyaları

• Anlaşılması zor

Page 20: BBY 309 Veri Tabanı Yönetim Sistemleri

Niçin Veri Tabanı Kullanalım?

• Bir veri tabanının amacı kişilere ve örgütlere nesnelerle ilgili kayıt tutmada yardımcı olmaktır.

• Veri depolamak için liste kullanmanın getirdiği sorunlar

–Veri tutarsızlıkları

–Veri mahremiyeti/gizliliği:Bölümler bazı verilerini paylaşmak isteyebilirler, ama tümünü değil

• Veri tabanları tek konulu tablolarda verileri depolar

• Tablolar ana ve yabancı anahtarlar aracılığıyla ilişkilendirilir

• VTYS’de veri bütünleşik, tekrar azaltılmış, programdan

bağımsız ve verinin anlaşılması kolay.

Page 21: BBY 309 Veri Tabanı Yönetim Sistemleri

Veri Tabanı kendi kendini tanımlar

• Bir veri tabanı veri sözlüğü içerir

• Veri sözlüğü veri hakkında veridir (metadata)

• Veri sözlüğü veri tabanında depolanan bilginin yapısını ve

biçimini tanımlar

Page 22: BBY 309 Veri Tabanı Yönetim Sistemleri

Veri Tabanı Sistemi

Stored Database

Definition (Meta Data) Stored Database

Software to Process Queries/Programs

Software to Access Stored Data

Application Programs /Queries

DBMS Software

Users/Programs

DATABASE SYSTEM

Page 23: BBY 309 Veri Tabanı Yönetim Sistemleri

Veri Tabanı Sistemi

Page 24: BBY 309 Veri Tabanı Yönetim Sistemleri

Veri Tabanı Uygulaması (Database Application)

İşlevler:

–Form yaratmak ve işlemek

–Soru yaratmak ve iletmek

–Rapor yaratmak ve işlemek

–Uygulama mantığınıyürütmek

–Uygulamayıdenetlemek

Page 25: BBY 309 Veri Tabanı Yönetim Sistemleri

Veri Tabanı Yönetim Sistemi (DBMS)

İşlevler:

–Veri tabanını, tabloları ve destek yapıları yaratmak

–Veri tabanı verilerini okumak ve güncellemek

–Veri tabanı yapılarını yaşatmak

–Kuralları uygulamaya zorlamak

–Tutarlılığı denetlemek

–Güvenliği sağlamak

–Veri tabanını yedeklemek ve gerektiğinde eski haline döndürmek

Örnek: Oracle, DB2, Microsoft Access, SQL Server

Page 26: BBY 309 Veri Tabanı Yönetim Sistemleri

Veri Tabanı (Database)

Bileşenler:

–Kullanıcı verileri

–Metadata: veri tabanının yapısı hakkında veriler

–Dizinler ve ilgili yapılar

–Depolanmış yordamlar (stored procedures):veri tabanında

depolanmış program modülleri

–Tetikleyiciler (triggers):belli bir veri etkinliği meydana geldiğinde

yürütülen yordamlar

–Uygulama metadatası:formlar yada raporlar gibi uygulama ögelerini

tanımlayan veriler

Page 27: BBY 309 Veri Tabanı Yönetim Sistemleri

Güncellenmiş Veri Hiyerarşisi

Bit (0,1) Byte / Karakter(01001100)

Alanlar (Fields) Kayıtlar (Records)

Dosyalar (Files)

Veri Tabanı(Meta Data, Tablolar,

Dizinler, ...)

Page 28: BBY 309 Veri Tabanı Yönetim Sistemleri

Veri Tabanı Türleri

Kişisel veri tabanı

–1 kullanıcı; 10 MB civarı

Örneğin, bağımsız olarak şirketlere program yazan bir kullanıcı verileri.

Çalışma grubu veri tabanı

– 25 kullanıcı; 100 MB civarı

Örneğin, alt yüklenici olarak büyük şirketlere iş yapan küçük çaplı bir şirket.

Örgütsel veri tabanı

–Yüzbinlerce kullanıcı

–1 Trilyonbayt, muhtemelen birçok veri tabanı

Örneğin, büyük çaplı projeler geliştiren bir şirket.

Page 29: BBY 309 Veri Tabanı Yönetim Sistemleri

Veri Tabanı Sistemi Geliştirme

Uygulama programına paralel olarak 3 aşama

• Gereksinim Aşaması

• Tasarım Aşaması

• Gerçekleştirim Aşaması

• Güncelleme

Page 30: BBY 309 Veri Tabanı Yönetim Sistemleri

Veri Tabanı Sistemi Geliştirme

Gereksinim Aşaması: Bir veri modeli geliştirilir- Veri modeli veri tabanı yapısının mantıksal gösterimidir- Gerekli alanlar ve alanlar için veri türleri (phone / 11 karakter, start date / tarih v.b)- Alanlar için max uzunlular (name / max 50 karakter v.b.)- Alanlar için kısıtlamalar (sayısal bir alana karakter girilemez gibi)- Tablolar arasındaki ilişkiler belirlenir.- Sonraki aşamaların hepsi veri modeline bağımlı olduğu için modellemedeki yanlış tüm aşamaları etkileri- Modelleme genellikle ER (Entity Relationship) şemaları ile gerçekleştirilir.

Page 31: BBY 309 Veri Tabanı Yönetim Sistemleri

Veri Tabanı Sistemi Geliştirme

Gereksinim Aşaması: Örnek bir ER şeması

Page 32: BBY 309 Veri Tabanı Yönetim Sistemleri

Veri Tabanı Sistemi Geliştirme

Tasarım Aşaması: Veri modeli tablolara ve ilişkilere dönüştürülür

Page 33: BBY 309 Veri Tabanı Yönetim Sistemleri

Veri Tabanı Sistemi Geliştirme

Gerçekleştirim Aşaması:

–Tablolar, ilişkiler ve sınırlılıklar yaratılır

–Depolanmış yordamlar ve tetikleyiciler yazılır

–Veri tabanına veri girilir ve sistem denenir

–Bu aşamadan sonra gerçekleştirilen veri tabanı sistemi ile

uygulama programı arasındaki gerekli bağlantılar gerçekleştirilir.

• Uygulama programında VT’ye bağlantı (ODBC, ADO v.b.)

• VT’nin uygulama programı içerisinden kontrolü (SQL)