23
Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

Veritabanı Yönetim Sistemleri - content.lms.sabis ...content.lms.sabis.sakarya.edu.tr/Uploads/71706/28378/... · 3 Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

Embed Size (px)

Citation preview

Page 1: Veritabanı Yönetim Sistemleri - content.lms.sabis ...content.lms.sabis.sakarya.edu.tr/Uploads/71706/28378/... · 3 Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

Veritabanı Yönetim Sistemleri(Veritabanı Kavramı)

Veri Modelleri

Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

Page 2: Veritabanı Yönetim Sistemleri - content.lms.sabis ...content.lms.sabis.sakarya.edu.tr/Uploads/71706/28378/... · 3 Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

2

Konular

Veritabanı Tasarım Aşamaları

Veri Modeli Nedir?

Veri Modeli Temel Bileşenleri

İş Kuralları (Business Rules)

İş Kurallarını Veri Modeline Dönüştürme

Veri Modellerinin Gelişimi

Dosya Sistemi

Hiyerarşik Model

Ağ Modeli

İlişkisel veri modeli

Varlık İlişki modeli

Nesne Yönelimli Model

Yeni Veri Modelleri

Veri Soyutlama

Kaynaklar

Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

Page 3: Veritabanı Yönetim Sistemleri - content.lms.sabis ...content.lms.sabis.sakarya.edu.tr/Uploads/71706/28378/... · 3 Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

3

Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

Gerçek Dünya Problemi

Kavramsal Model

Mantıksal Model

Fiziksel Gerçekleme

Gereksinim analizi gerçekleştir:

Problem senaryosundan, önemli

noktalar ve ihtiyaçlar belirlenerek

iş kuralları oluşturulur.

Kavramsal model, VTYS ye

uygulanabilecek şekilde düzenlenir.

Normalizasyon/Denormalizasyon

uygulanır.

Bir VTYS kullanılarak mantıksal

modelin uygulaması gerçekleştir.

Örneğin; tabloların oluşturulması,

kısıtları eklenmesi,

yetkilendirmeler…

Fiziksel Model

Veritabanı Tasarım Aşamaları

İş kurallarından, donanım ve

yazılımdan bağımsız olan

kavramsal model tasarlanır.

Gerçek verilerin saklandığı, VTYS

tarafından yönetilen veritabanı

yapısı. donanım ve yazılım

bağımlı…

Page 4: Veritabanı Yönetim Sistemleri - content.lms.sabis ...content.lms.sabis.sakarya.edu.tr/Uploads/71706/28378/... · 3 Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

4

Veri Modeli Nedir?

Veritabanı tasarımının en büyük sorunlarından biri verinin tasarımcı, programcı ve kullanıcı

tarafından farklı şekillerde görülmesidir. (Örneğin finans müdürü daha sınırlı veriyle ilgilenirken

genel müdür daha geniş kapsamlı veriye ulaşmak ister.)

Veri modeli karmaşık gerçek dünya veri yapılarının basit olarak gösterilmesi (genellikle

grafiksel) için kullanılan araç.

Veritabanı tasarımcıları, uygulama programcıları ve uç kullanıcılar arasındaki iletişimi

kolaylaştırır.

Veri modelleri sayesinde veritabanı tasarımını gerçekleştirmek daha kolay olur.

Veri modelleme yinelemeli (iterative) bir işlemdir. Önce basit model, daha sonra ayrıntılar

eklenir. En sonunda veritabanı tasarımında kullanılan şablon (blueprint) elde edilir.

Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

Page 5: Veritabanı Yönetim Sistemleri - content.lms.sabis ...content.lms.sabis.sakarya.edu.tr/Uploads/71706/28378/... · 3 Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

5

Veri Modeli Temel Bileşenleri

Varlık (Entity) : Hakkında veri toplanan ve saklanan her şey (öğrenci, ders, personel vb.).

Gerçek dünyadaki nesneleri ifade eder. Var olan ve benzerlerinden ayırt edilen her şey.

Varlık kümesi (Entity set): Aynı türden benzer varlıkların oluşturduğu kümeye denir (Öğrenciler,

Dersler vb.).

Nitelik (Attribute): Varlığın sahip olduğu özellikler.

İlişki (Relationship): Varlıklar arasındaki bağıntıyı ifade eder.

Bir-çok (One to Many 1:M)

Bir müşteri çok sayıda sipariş verebilir. Her sipariş yalnızca bir müşteri tarafından

verilir.

Çok-çok (Many to Many M:N)

Bir öğrenci çok sayıda ders alabilir. Her ders çok sayıda öğrenci tarafından alınabilir.

Bir-bir (One to One 1:1)

Bir mağaza bir personel tarafından yönetilir.

Kısıtlar (Constraints): Veri üzerindeki sınırlamalardır. Veri bütünlüğünün sağlanması açısından

önemlidir. Örneğin;

Öğrenci notunun 0-100 arasında olması

TC Kimlik numarasının 11 karakter olması

Aynı ürünün birden fazla kayıt edilememesi

Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

Page 6: Veritabanı Yönetim Sistemleri - content.lms.sabis ...content.lms.sabis.sakarya.edu.tr/Uploads/71706/28378/... · 3 Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

6

İş Kuralları (Business Rules)

Veritabanı oluşturulurken (varlık, nitelik, ilişki ve kısıtlar ) iş kurallarına bakılır.

Veritabanı tasarımı yapılacak organizasyon ile ilgili işleyiş, kural ya da yönetmeliğin özetlenmiş

şekline iş kuralları denebilir (ihtiyaç listesine benzer).

Örnek iş kuralları:

Bir müşteri çok sayıda sipariş verebilir.

Her müşterinin adı, soyadı, telefon numarası, vs. istenir.

Öğrenciler bir ara sınav ve bir yarıyıl sonu sınavına girerler.

İş kurallarının kaynağı; yöneticiler, kural koyucular, ve yazılı dokümanlar olabilir.

İş kurallarını oluşturmak için doğrudan uç kullanıcılarla görüşmek de oldukça etkili bir çözümdür.

Veritabanı tasarımı açısından iş kurallarının önemi;

Kullanıcılar ile tasarımcılar arasındaki iletişimi sağlar.

Tasarımcının verinin doğasını, önemini ve kapsamını anlamasını sağlar.

Tasarımcının iş süreçlerini anlamasını sağlar.

Tasarımcının doğru bir veri modeli geliştirmesine yardım eder (veriler arası ilişkiler, ve

kısıtların kolayca belirlenmesini sağlar).

Kuruluşun veriye bakışını standart haline getirir.

Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

Page 7: Veritabanı Yönetim Sistemleri - content.lms.sabis ...content.lms.sabis.sakarya.edu.tr/Uploads/71706/28378/... · 3 Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

7

İş Kurallarını Veri Modeline Dönüştürme

Genel olarak iş kurallarındaki isimler varlık, fiiller ise varlıklar arasındaki ilişki olma adayıdır.

Hakkında bilgi bulunan isim ya da isim tamlamaları varlık adayı iken, bilgi bulunmayanlar varlığa

ait nitelik adayıdır.

Müşterinin ad, soyad, numara, adres bilgileri saklanır.

Bir müşteri çok sayıda fatura üretir.

İlişkiler iki yönlüdür.

İsimlendirme kuralları

Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

1 öğretim üyesi çok sayıda (4) ders verebilir

1 ders sadece 1 öğretim üyesi tarafından verilebilir.

1 kişi 1 bölüme yönetici olabilir.

1 bölüm sadece 1 kişi tarafından yönetilebilir.

1 öğrenci çok sayıda derse kayıt yaptırabilir

1 ders çok sayıda öğrenci tarafından alınabilir.

Page 8: Veritabanı Yönetim Sistemleri - content.lms.sabis ...content.lms.sabis.sakarya.edu.tr/Uploads/71706/28378/... · 3 Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

8

Veri Modellerinin Gelişimi

Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

Carlos Coronel, Steven Morris, and Peter Rob, Database Systems: Design, Implementation, and Management, sayfa 35.

Page 9: Veritabanı Yönetim Sistemleri - content.lms.sabis ...content.lms.sabis.sakarya.edu.tr/Uploads/71706/28378/... · 3 Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

9

Dosya Sistemi

1960-1970 lerde çoğunlukla IBM Mainframe sistemlerde kullanılmıştır

Dosyalar arasında ilişki yoktur…

Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

Page 10: Veritabanı Yönetim Sistemleri - content.lms.sabis ...content.lms.sabis.sakarya.edu.tr/Uploads/71706/28378/... · 3 Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

10

Hiyerarşik Model

Bire – Çok ilişki

1960’larda büyük miktardaki verileri

yönetebilmek için geliştirilmiştir.

1969’da aya inen Apollo uzay mekiğinde

kullanılmıştır.

Veriler ağaç yapısı şeklinde organize

edilir.

Ebeveyn-çocuk (parent-child) arasında

1:M ilişkisi vardır. Kayıtların sadece 1

ebeveyn (parent) kaydı vardır.

Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

Page 11: Veritabanı Yönetim Sistemleri - content.lms.sabis ...content.lms.sabis.sakarya.edu.tr/Uploads/71706/28378/... · 3 Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

11

Ağ Modeli

Veritabanı performansını artırmak üzere daha

karmaşık ilişkilere izin verilir

Hiyerarşik modelden farklı olarak kayıtların

birden fazla ebeveyn (parent) kayıtları olabilir.

Ağ veri modeliyle birlikte ortaya çıkan ve hala

kullanılan bazı kavramlar:

Şema: Tüm veritabanının, veritabanı

yöneticisi tarafından görünen kavramsal

organizasyonu.

Alt şema: Veritabanının istenen bilgiyi

üreten uygulama programı tarafından

görünen kısmı.

Veri işleme dili (Data manipulation

language, DML) : Veri tabanında bulunan

verilerin, sorgulama işlemleri yapılarak

güncellenmesi, yeni verilerin eklenmesi

ve olan verilerin silinme işlemlerinin

yapılmasını sağlayan dil.

Veri tanımlama dili (Data definition

language, DDL): Veri tabanında bulunan

verilerin tip, yapı ve kısıtlamalarının

tanımlanmasını sağlayan dil.

Çok basit sorgular için bile karmaşık

program kodlarının kullanımını

gerektirir.

Ad hoc query: Yazılımlarla birlikte

gelmeyen kullanıcının kendi

oluşturduğu sorgulara verilen isimdir.

Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

Page 12: Veritabanı Yönetim Sistemleri - content.lms.sabis ...content.lms.sabis.sakarya.edu.tr/Uploads/71706/28378/... · 3 Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

12

İlişkisel veri modeli

1970’de E. F. Codd tarafından

ortaya atılmıştır (A Relational

Model of Data for Large Shared

Databanks, Communications of the

ACM, June 1970, pp. 377−387).

RDBMS (Relational DBMS)

tarafından kullanılır.

RDBMS’nin en önemli

özelliklerinden biri ilişkisel

modelin karmaşık yapısını

kullanıcıdan gizlemesidir.

Kullanıcı, ilişkisel modeli verileri

içeren tablolardan oluşan bir yapı

gibi görür.

Tablolar birbirlerine ortak

alanlarla bağlanırlar.

İlişkisel şema, varlıklar, varlıkların

nitelikleri ve aralarındaki

bağlantıların gösteriminden oluşur.

Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

Page 13: Veritabanı Yönetim Sistemleri - content.lms.sabis ...content.lms.sabis.sakarya.edu.tr/Uploads/71706/28378/... · 3 Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

13

İlişkisel veri modeli

Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

İlişkisel veritabanı modelinin en güçlü yanlarından biri de verileri yönetmek için SQL dilinin kullanılıyor

olmasıdır. SQL dili nasıl yapılması gerektiğini anlatmak yerine ne yapılması gerektiğinin ifade edildiği

basit bir dildir. Bu nedenle, SQL kullanılarak veritabanlarının tasarımı ve yönetimi daha kolaydır.

İlişkisel bir veritabanı yönetim sistemi 3 temel bileşenden oluşur.

1. Verilerin saklandığı veritabanı

2. SQL komutlarını derleyerek istenenleri gerçekleştiren SQL Motoru (SQL Engine)

3. Kullanıcılarla iletişimi sağlayan arayüzler.

Carlos Coronel, Steven Morris, and Peter Rob, Database Systems: Design, Implementation, and Management, sayfa 8.

Page 14: Veritabanı Yönetim Sistemleri - content.lms.sabis ...content.lms.sabis.sakarya.edu.tr/Uploads/71706/28378/... · 3 Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

14

Varlık İlişki modeli

İlişkisel Model daha önceki modellere göre çok daha kullanışlı olmasına rağmen veritabanı

tasarımı için ilişkisel modelin grafiksel gösterimi olan varlık ilişki veri modeli (entity

relationship (ER) model) daha sık kullanılır.

1976’da Peter Chen tarafından önerilmiştir.

İlişkisel veri modelinin tamamlayıcısı olduğu için kullanımı oldukça yaygınlaşmıştır.

Yaygın olarak i) Chen notasyonu ve ii) Crow’s Foot notasyonu olarak adlandırılan iki gösterim

şekli vardır.

Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

Page 15: Veritabanı Yönetim Sistemleri - content.lms.sabis ...content.lms.sabis.sakarya.edu.tr/Uploads/71706/28378/... · 3 Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

15

Varlık İlişki modeliChen Gösterimi

Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

Page 16: Veritabanı Yönetim Sistemleri - content.lms.sabis ...content.lms.sabis.sakarya.edu.tr/Uploads/71706/28378/... · 3 Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

16

Varlık İlişki modeliCrow’s Foot Gösterimi

Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

Page 17: Veritabanı Yönetim Sistemleri - content.lms.sabis ...content.lms.sabis.sakarya.edu.tr/Uploads/71706/28378/... · 3 Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

17

Nesne Yönelimli Model

Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

Nesne yönelimli programlama paradigmasından esinlenerek geliştirilen modeldir.

Vİ (ER) modelindeki varlık (entity) bu modelde nesne olarak adlandırılır.

Nesne hakkındaki bilgi Vİ modelindeki niteliklere karşılık gelir.

Varlık kümesi sınıf olarak adlandırılır.

Vİ modelinden farklı olarak sınıflar üye fonksiyonlara da sahiptirler. Kisi ara, Ad Soyadları listele, v.s.

Carlos Coronel, Steven Morris, and Peter Rob, Database Systems: Design, Implementation, and Management, sayfa 42.

Page 18: Veritabanı Yönetim Sistemleri - content.lms.sabis ...content.lms.sabis.sakarya.edu.tr/Uploads/71706/28378/... · 3 Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

18

Yeni Veri Modelleri

Object/Relational Model

İlişkisel modelle nesne yönelimli modelin birleştirilmesi sonucu ortaya çıkmıştır.

XML

Çoğunlukla, farklı platformlar arası veri değişimi için kullanılan veri tanımlama standardıdır.

Yapısal olmayan verileri tanımlamak için de kullanılır.

JSON

Çoğunlukla, farklı platformlar arası veri değişimi için kullanılan veri tanımlama standardıdır.

Yapısal olmayan verileri tanımlamak için de kullanılır.

noSQL

Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

Page 19: Veritabanı Yönetim Sistemleri - content.lms.sabis ...content.lms.sabis.sakarya.edu.tr/Uploads/71706/28378/... · 3 Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

19

Veri Soyutlama

ANSI-SPARC (American National Standards Institute, Standards Planning and Requirements

Committee) 1970’lerin başında veri soyutlamanın 3 düzeyini tanımlamıştır.

Amaç, veri modellerinin daha iyi anlaşılabilmesini sağlamak.

Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

Carlos Coronel, Steven Morris, and Peter Rob, Database Systems: Design, Implementation, and Management, sayfa 47.

Page 20: Veritabanı Yönetim Sistemleri - content.lms.sabis ...content.lms.sabis.sakarya.edu.tr/Uploads/71706/28378/... · 3 Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

20

Veri Soyutlama – Harici Model (External Model)

Veritabanının uç kullanıcılar açısından görünen kısmı. Veritabanının sadece kullanıcıyla ilgili

alt bölümlerini ifade eder.

Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

Öğrenci Ders Kaydı Ders Programı

Page 21: Veritabanı Yönetim Sistemleri - content.lms.sabis ...content.lms.sabis.sakarya.edu.tr/Uploads/71706/28378/... · 3 Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

21

Veri Soyutlama – Kavramsal Model (Conceptual Model)

Veritabanının veritabanı tasarımcısı açısından görünen kısmı. Veritabanının tüm alt bölümlerini birleştirerek global olarak

görünmesini sağlar.

ERD ile gösterilir. Kullanılan yazılım (DBMS) ve donanımdan bağımsızdır. Donanım yada yazılım değişikliği kavramsal model

tasarımını etkilemez.

Kavramsal model mantıksal görünüş olarak da kullanılır.

Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

Page 22: Veritabanı Yönetim Sistemleri - content.lms.sabis ...content.lms.sabis.sakarya.edu.tr/Uploads/71706/28378/... · 3 Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

22

Veri Soyutlama – Dahili Model (Internal Model)

Veritabanının DBMS açısından görünen kısmı.

Dahili model = ilişkisel model

Donanım bağımsız, yazılım bağımlı.

Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

Page 23: Veritabanı Yönetim Sistemleri - content.lms.sabis ...content.lms.sabis.sakarya.edu.tr/Uploads/71706/28378/... · 3 Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri

23

Kaynaklar

Carlos Coronel, Steven Morris, and Peter Rob, Database Systems: Design, Implementation, and

Management, Cengage Learning.

Sakarya Üniversitesi BSM 303 Veritabanı Yönetim Sistemleri