1 / 33

BBY 309 Veri Tabanı Yönetim Sistemleri

BBY 309 Veri Tabanı Yönetim Sistemleri. Güven KÖSE E-posta : gkose@hacettepe.edu.tr Web : .../~gkose. Ara sınav : % 35 Final sınavı : %60 Devam : %5. Değerlendirme Kriterleri.

Download Presentation

BBY 309 Veri Tabanı Yönetim Sistemleri

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BBY 309Veri Tabanı Yönetim Sistemleri Güven KÖSE E-posta : gkose@hacettepe.edu.tr Web : .../~gkose

  2. Ara sınav : %35 • Final sınavı : %60 • Devam : %5 Değerlendirme Kriterleri

  3. Database Processing: Fundamentals, Design, and Implementation, 10/E, David Kroenke Ders Kitabı ve Yardımcı Kaynak Fundamentals of Database Systems, 5/E, Ramez Elmasri, Shamkant B. Navathe

  4. 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. Ders İçeriği

  5. VTYS Giriş

  6. Veriden, verinin bilgisayarda saklanmasına giden yol Giriş (Input) İşleme (Process) Çıkış (Output) Veri (Data) Bilgi (Information) Veri / Bilgi Saklama (Storage)

  7. Veri hiyerarşisi Bit (0,1) Byte / Karakter (01001100) Alanlar (Fields) Kayıtlar (Records) Dosyalar (Files) Ad, Soyad, Numara….. Güven KÖSE 1234 Güven KÖSE 1234 Ali KAYA 4356 ….. ….. ….

  8. Bilgisayarda Dosya Organizasyonu FAT (File Allocation Table) İşletim Sistemi (Operating System) Sabit Disk (Hard Disc) Dosyalar (Files) Kullanıcı (User) Uygulama Programları (Applications)

  9. 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. Dosya Organizasyonu İle İlgili Problemler

  10. 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. Dosya Organizasyonu İle İlgili Problemler

  11. 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.). Dosya Organizasyonu İle İlgili Problemler

  12. 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. Dosya Organizasyonu İle İlgili Problemler

  13. 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. Dosya Organizasyonu İle İlgili Problemler

  14. 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. Uygun Çözüm Nedir?

  15. 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? Uygun Çözüm Nedir?

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

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

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

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

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

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

  22. Veri Tabanı Sistemi Users/Programs DATABASE SYSTEM Application Programs /Queries DBMS Software Software to Process Queries/Programs Software to Access Stored Data Stored Database Definition(Meta Data) Stored Database

  23. Veri Tabanı Sistemi

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

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

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

  27. Güncellenmiş Veri Hiyerarşisi Bit (0,1) Byte / Karakter (01001100) Alanlar (Fields) Kayıtlar (Records) Dosyalar (Files) Veri Tabanı (Meta Data, Tablolar, Dizinler, ...)

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

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

  30. Veri Tabanı Sistemi Geliştirme • Gereksinim Aşaması: Birveri 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.

  31. Veri Tabanı Sistemi Geliştirme Gereksinim Aşaması: Örnek bir ER şeması

  32. Veri Tabanı Sistemi Geliştirme Tasarım Aşaması: Veri modeli tablolara ve ilişkilere dönüştürülür

  33. 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)

More Related