You are on page 1of 42

Veritabanı Yönetim Sistemleri

Dr. Ayfer ÖZDEMİR


Veritabanı Yönetim Sistemleri

-Veri yönetim kavramları


-DBMS avantajları
-Mantısal veri modelleri
-İlişkisel veritabanı yönetim sistemleri(RDBMS)
-Veri normalizasyonu
CBS Nerede Nedir sorusuna cevap
verebilir

• NE: Niteliklerin veya özelliklerin


özellikleri.
• NEREDE: Coğrafi Uzayda.
- Bir veri şeyler ve birbirleri ile olan ilişkileri
hakkında bilgi topluluğudur.
- Bir organizasyonun etkili bir şekilde çalışması için
doğru ve zamanında bilgi gerektirir.
- Bir veritabanı, ilgili verilerin bir topluluğudur ve
aşağıdaki özelliklere sahiptir :
a- Bir veri tabanı, içsel bir anlam taşıyan, mantıksal olarak tutarlı bir veri
topluluğudur.
b- Bir veritabanı, belirli bir amaç için verilerle tasarlanmış, oluşturulmuş
ve doldurulmuştur.
c- Bir veritabanı, bazen mini dünya olarak adlandırılan gerçek dünyanın
bazı yönlerini temsil eder.(Elmasri, R. And S.B.Navathe (1989), Fundamentals of Database Systems
Benjamin/Cummings Publishing Co. California)
İlk Nesil Veri Yönetimi (Dosya İşleme Yaklaşımı):
Dosya İşleme Ortamında Uygulamalar Arasındaki Veri
Dosyalarını Paylaşma :

Veri dosyası 1 Uygulama


Programı 1 Çıktı 1
Veri dosyası 2

Veri dosyası 3 Uygulama


Programı 2 Çıktı 2

Veritabanı

Her bir kullanıcı grubu kendi veri yönetim yazılımlarını geliştirir.


Kod ve veri sonuçlarının çoğaltılması.
İkinci Nesil Veri Yönetimi:
Veri Tabanı Yönetim Sistemi Ortamında Veri Dosyalarını Paylaşma

Veri Dosyası 1 Uygulama Çıktı 1


Veritabanı Programı 1
Veri Dosyası 2 Yönetim Sistemi
(DBMS) Uygulama
Veri Dosyası 3 Çıktı 2
Programı 2

Database

İlgili veri dosyaları bir veritabanına entegre edilmiştir.


DBMS, programcılar gibi deneyimli kullanıcılar için tasarlanmıştır.
Üçüncü Nesil Veritabanı Yönetimi:
DBMS'nin yetenekleri
genişletildi. Genel kullanıcılar
Veritabanı (SQL gibi) tarafından etkileşimli
Müşteri İsimleri ve adresleri
Satış bilgileri
erişim sağlamak için gelişmiş
Envanter verileri kullanıcı arayüzleri sağlanmıştır.
Tedarikçiler
Yapısal Sorgu Dili (SQL)
Mantıksal ifadenin (koşul) bulunduğu
tablodan öznitelikleri seçin
Birden Çok Görünüm Örnek:
SELECT FNAME,LNAME,ADDRESS FROM
Kullanarak Veri Tabanı EMPLOYEE
Bilgilerinin Sunumu DBMS WHERE FNAME ‘AHMET’ AND LNAME
‘CAM’
ileri Madde
Satıcı
Tarih arayüzey
Müşteri adı
ENVANTER TARİHİ
Adres......
Ay Birimler
Şehir Eşya Parça fiyatı Toplaml
Satış Elde Rezerve
Ocak
Şubat
Mart
...
Veritabanı Yönetim Sistemleri (DBMSs)

Bir DBMS bir veritabanı oluşturan ve bakımını sağlayan programların


topluluğudur.

DSMS, çeşitli uygulamalar için veritabanlarını tanımlamak, inşa etmek ve


manipüle etmek için tesisler sunan genel amaçlı bir yazılımdır.

Tanımlama: Bir veri tabanı, veri tiplerinin türleri (yani, İnt, gerçek,
karakter) içerir.

Yapılandırma: veri tabanı, verilerin kendisini DBMS tarafından kontrol


edilen bazı depolama ortamlarında saklama sürecidir.

Manipüle etme: Bir veritabanı, belirli verileri almak için veritabanını


sorgulama, değişiklikleri yansıtacak şekilde veritabanını güncelleme gibi
işlevleri içerir.

Veritabanı + DBMS (yazılım) = Veritabanı Sistemi


DBMS bileşenleri
Uygulama İleri Veritabanı
Kullanıcılar Programcılar Kullanıcılar Yöneticileri

Uzmanlaşmış Programlama Sorgu Veri tanımı


arayüzey arayüzey arayüzey arayüzey

Sorgu İşlemcisi

Veri
yönetici

Veritabanı Yönetim Sistemleri

Veri
Endeksler Açıklama Disk Depolanması
Saklanmış
Veri
DBMS'lerin avantajları :
Merkezi kontrol
Veri güvenliği sağlayın: hassas verilere erişim ve manipülasyon sadece yetkili kullanıcılar
ile sınırlandırılabilir. Öğrenci Öğrenci
Adı
Bölü
m
DersKodu Not
Num

Güvenlik planları: şifreler, şifreleme aygıtı 17 Mr.A 02 MATH2410 B


8 Mr.B 01 MATH2410 A
Veriler verimli bir şekilde paylaşılabilir
Tek bir veritabanı farklı uygulamalar tarafından kullanılabilir
Yedekli Depolama
Tek bir veritabanına aynı anda birçok kullanıcı tarafından erişilebilir
Yeni veritabanı uygulamalarının daha kolay uygulanması
Doğrudan kullanıcı erişimi
Fazlalık kontrol edilebilir
Veri tabanı olmadan, gereksiz veriler kaçınılmazdır (tek mantıksal güncelleştirme,
depolama alanı, aynı verileri temsil eden dosyalar iş tutarlılığı haline gelebilir)
Bir veritabanının merkezi kontrol ile, bazı fazlalık kaldırılabilir
Yedek veriler hız ve güvenilirlik nedeniyle tamamen kaldırılamaz.
DBMS'lerin avantajları :

Veri kurtarma izni


Bir DBMS'nin yedekleme prosedürü, verilerin bir kopyasını üretmek için
kullanılabilir
Yedekleme prosedürü, yanlışlıkla bir veritabanı kaybından (donanım veya
yazılım hataları) kurtulmak için kullanılabilir.
Bir veritabanındaki tüm değişiklikleri kaydetmek için bir DBMS'nin işlem kaydı
yetenekleri kullanılabilir.
İşlem, hatalı bir işlemden veya sistem arızasından kurtarmak için kullanılabilir.
•İşlem: veritabanının içeriğine erişen veya değiştiren bir programın
çalıştırılması.
•Sistem Günlüğü: İşlem hatalarından kurtulabilmek için sistem bir günlük
(günlüğü) tutar. Diskte tutulan kütük sadece diskten veya felaketten
etkilenebilir.
DBMS'lerin avantajları :

Veri bütünlüğü ve tutarlılığı sağlar


Veritabanı doğru olmayan veriler içeriyorsa veri bütünlüğü ve tutarlılığı
ihlal edilir
Veri bütünlüğü ve tutarlılık denetimi tamamen otomatikleştirilemez
DBMS, aralık denetimi ve tutarlılık denetimi kurallarını uygulayarak
yardımcı olabilir.
Bütünlük: Her özellik için bir veri tipi belirtin
Sınıf(INT,1-5) Not(Char,A-F) Adım (String, 30)

Ad Öğrenci Sınıf Not


numarası
Ahmet 17 1 B

Ayşe 18 2 C
DBMS'lerin avantajları :
Tutarlılık: Aynı verileri temsil eden dosyalar tutarsız olabilir. Bunun nedeni, bazı
dosyalara bir güncelleme uygulandığından, başkalarına uygulanmayacağı için
olabilir.
Tıp Merkezi Sicil Ofisi Konut Ofisi

Uygulama Uygulama Uygulama


Programları Programları Programları

Öğrenci dosyaları Öğrenci dosyaları Öğrenci dosyaları

Aynı verileri temsil eden dosyalar tutarsızlaştı


–Kullanıcı görünümleri
–Standartları Zorlamak
–Verilerin merkezi kontrolü, veri temsili ve açıklamasında standartların uygulanmasını
kolaylaştırır
–Standardizasyon, sistemler arasında veri alışverişine yardımcı olur.
–Veri elemanlarının isimleri ve formatları için standartlar tanımlanabilir (örn. Öğrenci
özdeşliği için “StudentId”, öğrenci isimleri için “StudentName” vb.)
DBMS'lerin dezavantajları:

–Maliyet
–Karmaşıklık eklendi
–Merkezi risk
Veri Şeması
- Bir veri şeması veri organizasyonunun bir açıklamasıdır. Tasarım sırasında
belirtilmiştir ve sık sık değişmesi beklenmemektedir.
-“Her bir parsel, bir kimlik kodu, birkaç köşe noktası, son sahiplik değişim
yılı ile ilişkilidir ve bir sosyal sigorta numarası, bir ismi ve bir adresi olan bir
kişiye aittir” ifadesi; arazi parseli.
-Veri şeması birçok biçimde görünebilir.
Daha Resmi Bir Veri Şeması
Resmi bir veri şeması, veri organizasyonunu tanımlamak için daha
yapılandırılmış bir dil kullanır.

Veritabanı şemasını göstermek için kullanılan diyagram şema diyagram olarak


adlandırılmaktadır.
Grafik Verileri Şeması'nda kullanılan kavramlar :

Varlık Türü (Sınıf: Benzer varlıklar, aynı özniteliklere sahip bir


dizi varlık olan bir varlık türünü tanımlar, örneğin; çalışanlar.)
Fiziksel: araba, kişi
Kavramsal: iş, şirket

Öznitelikler: bir varlığın özelliğini açıklar


Kişi: isim, adres
Araba: renk, seri #,

İlişki Türü: İki veya daha fazla varlık arasındaki ilişki


Sahip olunan (Parsel, Kişi)
İçerik (Parsel, Köşe Noktaları)
Tablo tabanlı Şema :
Tablo PARSEL(ID,YIL,Sahibi )
Tablo KÖŞE_NOKTALARI(Parsel_Id, X,Y)
Tablo KİŞİLER(SIN,İsim,Adres)

PARSEL
ID YIL SAHİBİ_SIN

KÖŞE_NOKTALARI
PARCEL_ID X Y

KİŞİLER
SIN İsim Adres

Bu şema şeması her dosyanın yapısını gösterir, ancak gerçek kayıtları ve


ilişkileri göstermez
Tablo tabanlı veri şemasında kullanılan kavramlar:

-Bir tablo, özniteliklerin depolanması


için sabit sayıda alandan oluşur.
Genellikle kayıt biçiminde depolanır.
Her kayıt, ilgili değerler (öğeler) PAR EL_ID İlçe Sahibi AQU_YR
koleksiyonundan oluşur. P100 Keçiören Demir, A 1986
P200 Çankaya Çam, M 1963
-Tablodaki her kayıt benzersiz P300 KEçiören Akay, O 1934
olmalıdır. P200 Çankaya Çam, M. 1963

-Her kayıt aynı sayıda alana sahip


PAR EL_ID İlçe Sahibi AQU_YR
olmalıdır. P100 Keçiören Demir, A 1986
Çankaya Çam, M
-Bir kayıt başka bir tabloyu bir ünite P200
P300 KEçiören Akay, O
olarak referans gösteremez, ancak
P200 Çankaya Çam, M.
diğer tablolardaki kayıtları çapraz
referans alabilir.
Düz Dosya Veri Tabanı
nitelik nitelik nitelik

Kayıt Değer Değer Değer

Kayıt Değer Değer Değer

Kayıt Değer Değer Değer


Veri Şemalarındaki Farklılıklar

- İlk veri şeması bilgisayar işlemede kullanılmak için çok


gayriresmi.
-Son iki veri şeması, bilgisayar tabanlı sistemler tarafından
yorumlanabilirken, tablo tabanlı biri daha kolay.
-Son iki veri şeması, verileri açıklamak için kullanılan
kavramlarda kullanılan dilde farklılık göstermektedir.
Veritabanı Örneği
• Veritabanının bir örneği veritabanındaki
gerçek bir veri oluşumudur..
Veritabanı şeması ve veritabanı örneği arasındaki ayrım da önemlidir.

Veri şemasının bir örneği:


Parcel P102 4 köşe noktası içerir, bunlar (34332,34032),
(34332,34363),(34551,34262) and (34551,34032).
10 Main St'de yaşayan SIN 343302192 ile K.Smith'e aittir. 1964'te
satın almıştır.
Tablo Tabanlı Veri Şeması Örneği
Tablo PARSEL
ID YIL SAHİBİ_SIN

P102 1964 343302192

Tablo KÖŞE_PT
PARCEL_ID X Y
Tablo KİŞİLER
P102 34332 34032
SIN İSİM ADRES
P102 34332 34363
343302192 K.Smith 10 Main St.
P102 34551 34262

P102 34551 34032


Veritabanı Tasarımı Aşamaları
Bir veritabanı tasarımı bir veritabanı tasarımcısı tarafından gerçekleştirilir.
Daha az
sistem
bağımlı • Kavramsal Veritabanı Tasarımı: Verileri yüksek düzeyde
tanımlamak için kullanılan DBMS bağımsız kavramlar.
– Üst düzey veri modelleri (ER veya EER modeli) kullanılır.
– Varlıklar, ilişkiler, öznitelikler ve kısıtlamalar tanımlanır
– Bilinen tüm işlemler belirlendi
• Mantıksal Veritabanı Tasarımı: Kavramsal şemayı, üst düzey
veri modelinden seçilen DBMS'nin uygulama veri modeline
dönüştürün.
Daha
fazla – İlişkisel, ağ, hiyerarşik.
sistem
bağımlı
• Fiziksel Veri Tabanı Tasarımı: Veri tabanı için belirli depolama
yapıları ve dosya organizasyonları seçin ve uygulama modeli
şemasını seçilen iç dosya yapılarıyla eşleştirin.
– Her bir DBMS, genellikle dizin seçimi, güvenlik, kurtarma ve benzeri
gibi verileri düzenlemek için çeşitli seçeneklere sahip olacaktır.
Veri Modeli Nedir?
Bilginin depolanması ve geri alınması için mantıksal bir yapı.
CBS harita veri yapıları harita veri modelleridir.
DBMS için öznitelik veri modelleri gereklidir.
DBMS veri modellerinin kaynağı bilgisayar bilimlerindedir.
A DBMS içerir:
• Veri tanımlama dili
• Bilgi sözlüğü
• Veri girişi modülü
• Veri güncelleme modülü
• Rapor oluşturucu
• Sorgu dili
Tarihsel olarak, veritabanları dosyalarda
hiyerarşik olarak yapılandırıldı...

USA

Oregon California New York

Ventura Santa Barbara Contra Costa


Hiyerarşik Veri Modeli
–Anahtar alan olarak tasarlanmış bir alan.
–İlişkiler:
•Bire bir
•Çoktan bire olabilir
–Ağaç yapısını geçerek bilgi alınır
–özellik alanlarında arama yapılamaz
–Aynı seviye kaydı arasında bağlantı yok.
–Sorgular mevcut hiyerarşi ile sınırlıdır.
2
1 3 PARCEL

Area
P101 P102
5
PID Corner
6 4 Owner
Points

P104 P103
X Y
7
8 9 PID CorPts X Y
X2'yi göstermek için Y2, P101 ve P102'ye
101 1 X1 Y1
aittir.Tüm koordinatlar, kayıt 2 no.lu
koordinat çiftine sahipse alınmalı ve 101 2 X2 Y2
anahtar
kontrol edilmelidir. 101 5 X5 Y5
Coğrafi verilerin Belirli türdeki hiyerarşik 101 6 X6 Y6
modeli uygun olabilir: devlet tarafından
102 2 X2 Y2
organize edilen sayımı verileri, devlet
içinde şehir, nüfus sayım tarafından şehir 102 3 X3 Y3
içinde.
Klasik Veri Modelleri
Avantajları:
–Büyük veri kümelerine yüksek hızlı erişim sağlar
–teorik bir tabana ve matematik teorisine sahiptir
–Anlamak ve güncellemek basit
–daha az fazlalık
–bibliyografik veriler ve havayolu rezervasyon sistemleri için iyi

Dezavantajları:
–uygulamak ve değiştirmek daha zor
–daha yavaş performans
–Kolayca kodlanabilen tek coğrafi ilişki “içerilir” veya “aittir”.
Ağ Veri Modeli
–Bir işletmenin birden fazla ebeveyn ve çocuk ilişkisi olabilir ve kök gerekli
değildir.
–İlişki çoktan çoğa olabilir, aynı türden kayıtlar arasındaki bağlantılar (bazı
düzeylere izin verilmez)
–Hiyerarşik modele kıyasla daha az yedekli veri depolama.
–Daha kapsamlı bağlantı depolanmalıdır.
–Yüksek hızlı erişim sağlayın, ancak veri ilişkilerini değiştirmek zordur.

CODASYL (Veri Konferansı) olarak


adlandırıldı
Sistem Dilleri), 1960'ların ortasında
geliştirilmiştir.
En güncel CBS DBM ilişkisel
veritabanları gereği
Kayıtlar için birden çok düz dosyalar dayanarak
Benzer olmayan öznitelik yapıları
ortak anahtar özelliğiyle bağlantılı.
Anahtar her kayıt için “atomik” düzeyinde bir EŞSİZ
kimliğidir.
- Kayıtlar arasındaki bağlantılar için esnek yaklaşım, nesneler arasındaki
mekânsal ilişkilerin karmaşıklığını modellemeye en uygunudur. 1970
yılında IBM araştırmacısı E.F.Codd tarafından önerildi.
İlişkisel Veritabanları
Hasta Kaydı Dosya
Anahtar Giriş Çıkış Oda numarası
42 2/1/96 2/4/96 N763
78 2/3/96 2/4/96 N712

Satınalma kaydı Dosya


Eşya Tarih Fiyat Müşteri Anahtar
Kaykay 2/1/96 49.95 John Smith 42
Beysbol sopası2/1/96 17.99 James Brown 978

Hastalık raporu Dosya


Tarih Sakatlık Adı Anahtar Adres
2/1/96 Broken Leg John Smith 42 75 Elm Street
2/2/96 Concussion Sylvia Jones 654 12 State Street
2/2/96 Cut on Ear Robert Doe 123 2323 Broad Street
Prosedürel Sorgu Dilleri(PQL):
–kullanıcının hiyerarşiyi bilmesini gerektirir.

Prosedürel Olmayan Sorgu Dilleri(NPQL):


–kullanıcının sorguyu oluşturmak için veritabanının yapısını bilmesi
gerekmez.
–SQL (IBM tarafından geliştirilen Sıralı Sorgu Dili)

–SQL Operatörleri:
•İlişkisel: > < = >= <=
•Aritmetik: = + * /
•Mantıksal: AND OR NOT XOR
Alım işlemleri
Özniteliğe göre arama: bul ve gözat.
Veri yeniden düzenleme: seçin, yeniden numaralandırın
ve sıralayın.
Hesaplama, hesaplanan değerlere göre yeni
özniteliklerin oluşturulmasına izin verir.
DBMS sorgu dili ile sorgular
sort
renumber
subset
search
DBMS sorgu dili ile sorgular
find in states where state_name = ‘California’
<1 record in result>
Command use states
line
calculate in states population_density = population /
attribute area
query <50 records in result>

restrict in states where population_density > 1000


<20 records selected in result>
Alım Kullanıcı Arayüzü
CBS sorgusu genellikle komut satırı, toplu iş, menü veya
makrodur.
Çoğu GIS paketi, hem menü türü sorgu arabirimini hem
de bir makro veya programlama dilini desteklemek
için bilgisayarın işletim sisteminin GUI'sini kullanır.
SQL ilişkisel veritabanlarına standart bir arabirimdir ve
birçok CBS tarafından desteklenir.
Mekansal Alım İşlemleri
Öznitelik sorguları coğrafi arama için çok kullanışlı
değildir.
Bir harita veritabanında kayıtlar özellikler veya
temalardır
Bulgunun uzamsal eşdeğeri, GIS sonucunu vurgular.
DBMS sorgularının uzamsal eşdeğerleri, özellik
kümelerini bulmaya veya yeni GIS katmanları
oluşturmaya neden olur.
İlişkisel Veri Modeli: Etki Alanı Kavramı
(değer kümesi)

• Her bir özellik için, alan adı olarak adlandırılan bir dizi
izin verilen değer vardır.
• Alan, bir veri tipi artı bazı sınırlamalar ile
belirlenebilir. Örneğin, bir kişinin yaşının alanı 0 ile
120 arasında bir tam sayıdır.
TABLO ÖĞRENCİ(ID,YAŞ,ADI)
YAŞ(INT,0-120)
Veri bütünlüğü ve veri tutarlılığını sağlamak için alan kavramı kullanılabilir.
İlişkisel Veri Modeli: Atomik Değerler
Kavramı
• Bir ilişkideki her veri değeri atomik olmalıdır.

• Atomik bir değer, bölünmez bir maddedir ve geri alma


için temel bir birimdir.
– Bir sorgu, bir atomik değerin parçası olamaz.
– Adres (sokak numarası, sokak adı ve posta kodu)

• Atomik değer gereksinimi iç içe geçmiş ilişkileri (veri


değerlerinden biri olarak başka bir ilişkiye referans veren bir
ilişki) izin vermez.
– Çok değerli öznitelikler ayrı ilişkilerle temsil edilmelidir (tek renkte olan
otomobiller tek bir değere sahip olacak, iki tonlu araçlar renk için iki
değere ihtiyaç duyar)
– Kompozit özellikler sadece basit bileşen nitelikleriyle temsil edilir (“300
Koru Street, Ankara” değerleri ile adres).
İlişkisel Veri Modeli? Anahtar Kavramı

• Bir tupeyi benzersiz olarak


tanımlayan özelliklerden
biri veya birkaçı anahtarı
oluşturur.
• Bir ilişkiden gelen tupler, PARCELS
anahtar aracılığıyla diğer PARCEL_ID İLÇE OWNER AQU_YR

ilişkilerin tuplelarına 100 Çankaya

bağlanabilir. Örneğin. 200 Çankaya

PARCEL ID ve İLÇE 100 Keçiören

kombinasyonu anahtardır.

You might also like