veritabanı yönetim sistemleri · 2018-11-30 · veritabanı yönetim sistemleri (dbmss) bir dbms...
TRANSCRIPT
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)
Veri dosyası 1 Uygulama Programı 1
Uygulama Programı 2
Çıktı 1
Çıktı 2
Veritabanı
İlk Nesil Veri Yönetimi (Dosya İşleme Yaklaşımı):
Dosya İşleme Ortamında Uygulamalar Arasındaki Veri Dosyalarını Paylaşma :
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ı.
Veri dosyası 2
Veri dosyası 3
İkinci Nesil Veri Yönetimi:
Veri Tabanı Yönetim Sistemi Ortamında Veri Dosyalarını Paylaşma
Veri Dosyası 1
Veri Dosyası 2
Veri Dosyası 3
Uygulama Programı 1
Uygulama Programı 2
Çıktı 1
Çıktı 2
Database
Veritabanı Yönetim Sistemi
(DBMS)
İlgili veri dosyaları bir veritabanına entegre edilmiştir. DBMS, programcılar gibi deneyimli kullanıcılar için tasarlanmıştır.
Veritabanı Müşteri İsimleri ve adresleri
Satış bilgileri Envanter verileri
Tedarikçiler
DBMS
Tarih Müşteri adı Adres...... Şehir Eşya Parça fiyatı Toplaml
Madde Satıcı ENVANTER TARİHİ Ay Birimler Satış Elde Rezerve Ocak Şubat Mart ...
Birden Çok Görünüm Kullanarak Veri Tabanı Bilgilerinin Sunumu
ileri arayüzey
Üçüncü Nesil Veritabanı Yönetimi: DBMS'nin yetenekleri genişletildi. Genel kullanıcılar (SQL gibi) tarafından etkileşimli erişim sağlamak için gelişmiş kullanıcı arayüzleri sağlanmıştır. Yapısal Sorgu Dili (SQL) Mantıksal ifadenin (koşul) bulunduğu tablodan öznitelikleri seçin Örnek: SELECT FNAME,LNAME,ADDRESS FROM EMPLOYEE WHERE FNAME ‘AHMET’ AND LNAME ‘CAM’
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
Uzmanlaşmış arayüzey
Programlama arayüzey
Sorgu arayüzey
Veri tanımı arayüzey
Sorgu İşlemcisi
Veri yönetici
Endeksler Veri
Açıklama
Saklanmış Veri
Disk Depolanması
Kullanıcılar Uygulama Programcılar
İleri Kullanıcılar
Veritabanı Yöneticileri
Veritabanı Yönetim Sistemleri
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.
Güvenlik planları: şifreler, şifreleme aygıtı
Veriler verimli bir şekilde paylaşılabilir
Tek bir veritabanı farklı uygulamalar tarafından kullanılabilir
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.
Öğrenci
Num
Öğrenci
Adı
Bölü
m
DersKodu Not
17 Mr.A 02 MATH2410 B
8 Mr.B 01 MATH2410 A
Yedekli Depolama
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.
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
numarası
Sınıf Not
Ahmet 17 1 B
Ayşe 18 2 C
DBMS'lerin avantajları :
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
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.)
Uygulama Programları
Öğrenci dosyaları
Uygulama Programları
Uygulama Programları
Öğrenci dosyaları Öğrenci dosyaları
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ı)
PARSEL
KÖŞE_NOKTALARI
KİŞİLER
Tablo tabanlı Şema :
Tablo PARSEL(ID,YIL,Sahibi ) Tablo KÖŞE_NOKTALARI(Parsel_Id, X,Y) Tablo KİŞİLER(SIN,İsim,Adres)
ID YIL SAHİBİ_SIN
PARCEL_ID X Y
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) koleksiyonundan oluşur.
-Tablodaki her kayıt benzersiz olmalıdır.
-Her kayıt aynı sayıda alana sahip olmalıdır.
-Bir kayıt başka bir tabloyu bir ünite olarak referans gösteremez, ancak diğer tablolardaki kayıtları çapraz referans alabilir.
PAR EL_ID İlçe Sahibi AQU_YR
P100 Keçiören Demir, A 1986
P200 Çankaya Çam, M 1963
P300 KEçiören Akay, O 1934
P200 Çankaya Çam, M. 1963
PAR EL_ID İlçe Sahibi AQU_YR
P100 Keçiören Demir, A 1986
P200 Çankaya Çam, M
P300 KEçiören Akay, O
P200 Çankaya Çam, M.
Düz Dosya Veri Tabanı
Kayıt Değer Değer Değer
nitelik nitelik nitelik
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
ID YIL SAHİBİ_SIN
P102 1964 343302192
PARCEL_ID X Y
P102 34332 34032
P102 34332 34363
P102 34551 34262
P102 34551 34032
SIN İSİM ADRES
343302192 K.Smith 10 Main St.
Tablo PARSEL
Tablo KÖŞE_PT
Tablo KİŞİLER
Veritabanı Tasarımı Aşamaları
• 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. – İlişkisel, ağ, hiyerarşik.
• 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.
Daha az sistem bağımlı
Daha fazla sistem bağımlı
Bir veritabanı tasarımı bir veritabanı tasarımcısı tarafından gerçekleştirilir.
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
California Oregon New York
Santa Barbara Ventura 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.
P101 P102
P104 P103
1 2
3
4
5
6
7 8 9
PARCEL
PID Corner Points
Owner
Area
X Y
PID CorPts X Y
101 1 X1 Y1
101 2 X2 Y2
101 5 X5 Y5
101 6 X6 Y6
102 2 X2 Y2
102 3 X3 Y3
anahtar
X2'yi göstermek için Y2, P101 ve P102'ye aittir.Tüm koordinatlar, kayıt 2 no.lu koordinat çiftine sahipse alınmalı ve kontrol edilmelidir. Coğrafi verilerin Belirli türdeki hiyerarşik modeli uygun olabilir: devlet tarafından organize edilen sayımı verileri, devlet içinde şehir, nüfus sayım tarafından şehir 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ı
Satınalma kaydı
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
Hasta Kaydı
Anahtar Giriş Çıkış Oda numarası
42 2/1/96 2/4/96 N763
78 2/3/96 2/4/96 N712
Hastalık raporu
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
Dosya
Dosya
Dosya
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
Command line
attribute query
find in states where state_name = ‘California’ <1 record in result> use states calculate in states population_density = population / area <50 records in result> restrict in states where population_density > 1000 <20 records selected in result>
DBMS sorgu dili ile sorgular
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.
• 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: Atomik Değerler Kavramı
İlişkisel Veri Modeli? Anahtar Kavramı
• Bir tupeyi benzersiz olarak tanımlayan özelliklerden biri veya birkaçı anahtarı oluşturur.
• Bir ilişkiden gelen tupler, anahtar aracılığıyla diğer ilişkilerin tuplelarına bağlanabilir. Örneğin. PARCEL ID ve İLÇE kombinasyonu anahtardır.
PARCEL_ID İLÇE OWNER AQU_YR
100 Çankaya
200 Çankaya
100 Keçiören
PARCELS