57
Sibel SOMYÜREK

Veritabanı/ Temel Kavramlar

  • Upload
    kaiyo

  • View
    77

  • Download
    2

Embed Size (px)

DESCRIPTION

Sibel SOMYÜREK. Veritabanı/ Temel Kavramlar. Veritabanı neden kullanılır?. Veritabanının amacı; insanların ve organizasyonların birşeyleri takip edebilmesine yardımcı olmaktır. Veritabanı neden kullanılır?. Veritabanını kullanmaksızın birşeylerin kaydını tutmak için listeler kullanılır. - PowerPoint PPT Presentation

Citation preview

Page 1: Veritabanı/ Temel Kavramlar

Sibel SOMYÜREK

Page 2: Veritabanı/ Temel Kavramlar

Veritabanının amacı; insanların ve organizasyonların birşeyleri takip

edebilmesine yardımcı olmaktır.

Page 3: Veritabanı/ Temel Kavramlar

Veritabanını kullanmaksızın birşeylerin kaydını tutmak için listeler kullanılır. Alışveriş listesi, Yapılacak işler listesi, Ödenen faturaların listesi

Page 4: Veritabanı/ Temel Kavramlar

Listeler;Müsteri adı

Mesleği Firma Adres Fiyat

Ahmet mimar A Çanakkale Cad. 43/5

1000 YTL

Sema öğretmen B Kayabaşı mah. A Blok 8/4

250 YTL

Serdar mühendis C Gazi Mah 6/7 350 YTL

Zerrin emekli B Kayabaşı mah. A Blok 8/4

700 YTL

Mehmet

Öğretim elemanı

B Kayabaşı mah. A Blok 8/4

1200 YTL

Defne Doktor D Gazi Mah 6/7 100 YTL

Elif avukat A Çanakkale Cad. 43/5

150 YTL

Page 5: Veritabanı/ Temel Kavramlar

Listelerle ilgili problemler; Örneğin B firmasının adresi değişti 3 satırdaki adres bilgisi de değişmeli Eksik kalırsa bilgi tutarsızlığı oluşur

Hem zaman kaybına hem de hataya neden olabilir.

Page 6: Veritabanı/ Temel Kavramlar

Listelerle ilgili problemler; Örneğin A firması artık sizin şirketinizle

çalışmıyor, Listeden firmayla ilgili kaydı silerseniz

ürün satışı yapılan müşteri bilgisini ve firma adresi gibi bilgileri kaybedersiniz.

Page 7: Veritabanı/ Temel Kavramlar

Paylaşılan verilerle ilgili problemler; Örneğin şirketinizin farklı

departmanlarının firma bilgisini görüntülemesi gerekiyor;▪ İletişim departmanı: firma, adresi▪ Pazarlama departmanı: firma, fiyat▪ Müşteri hizmetleri: müşteri adı, mesleği, firma

Page 8: Veritabanı/ Temel Kavramlar

Paylaşılan verilerle ilgili problemler; Bu bilgilerin tamamının tüm

departmanlarla paylaşılması ise farklı nedenlerden dolayı sakıncalıdır▪ Güvenlik▪ Müşteri gizliliği▪ vb.

Page 9: Veritabanı/ Temel Kavramlar

Listeler oluşturmanın en büyük sakıncası farklı temalarla ilgili bilgileri bir arada bulundurmasıyla ilgilidir.

Örneğin bir yazılı doküman oluşturulurken farklı temalar için farklı paragraflar oluşturulur,

Page 10: Veritabanı/ Temel Kavramlar

Benzer şekilde farklı temalardaki bilgilerin farklı tablolara yerleştirilmesi süreci normalizasyon olarak adlandırılır.

Biraz önceki liste için; Müşteriler Çalışılan firmalar Satış bilgileri gibi

Page 11: Veritabanı/ Temel Kavramlar

Müşteriler

Müsteri adı

Mesleği

Ahmet mimar

Sema öğretmen

Serdar mühendis

Zerrin emekli

Mehmet Öğretim elemanı

Defne Doktor

Elif avukat

Page 12: Veritabanı/ Temel Kavramlar

Çalışılan firmalar

Firma Adres

A Çanakkale Cad. 43/5

B Kayabaşı mah. A Blok 8/4

C Gazi Mah 6/7

D Gazi Mah 6/7

Page 13: Veritabanı/ Temel Kavramlar

Satış bilgileri

Fiyat

1000 YTL

250 YTL

350 YTL

700 YTL

1200 YTL

100 YTL

150 YTL

Page 14: Veritabanı/ Temel Kavramlar

Farklı temalar farklı tablolara yerleştirildiğinde, Değişen bilgiler, Silinen bilgiler ve Paylaşılan bilgilerle ilgili problemlerin

çoğu ortadan kalkar.

Page 15: Veritabanı/ Temel Kavramlar

Farklı temalar farklı tablolarda yer aldığında; Hangi müşteri hangi firmadan ürünü

almış gibi soruları cevaplamak için ilişkilerin kurulması gereklidir.

Page 16: Veritabanı/ Temel Kavramlar

İlişkiler

MüşteriNo

Müsteri adı

Mesleği

1 Ahmet mimar

2 Sema öğretmen

3 Serdar mühendis

4 Zerrin emekli

5 Mehmet

Öğretim elemanı

6 Defne Doktor

7 Elif avukat

Firma

No

Firma

Adres

1 A Çanakkale Cad. 43/5

2 B Kayabaşı mah. A Blok 8/4

3 C Gazi Mah 6/7

4 D Gazi Mah 6/7

MüşteriNo

Firma

No

Fiyat

1 1 1000 YTL

2 2 250 YTL

3 3 350 YTL

4 2 700 YTL

5 2 1200 YTL

6 4 100 YTL

7 1 150 YTL

Page 17: Veritabanı/ Temel Kavramlar

İlişkiler

MüşteriNo

Müsteri adı

Mesleği

1 Ahmet mimar

2 Sema öğretmen

3 Serdar mühendis

4 Zerrin emekli

5 Mehmet

Öğretim elemanı

6 Defne Doktor

7 Elif avukat

Firma

No

Firma

Adres

1 A Çanakkale Cad. 43/5

2 B Kayabaşı mah. A Blok 8/4

3 C Gazi Mah 6/7

4 D Gazi Mah 6/7

MüşteriNo

Firma

No

Fiyat

1 1 1000 YTL

2 2 250 YTL

3 3 350 YTL

4 2 700 YTL

5 2 1200 YTL

6 4 100 YTL

7 1 150 YTL

Page 18: Veritabanı/ Temel Kavramlar

Tabloları birleştirmek Peki baştaki bütüncül listeyi elde etmek

için ne yapılır? SQL dilinden faydalanılır.

Page 19: Veritabanı/ Temel Kavramlar

Veri tabanı sisteminin bileşenleri;

Veritabanı

Uygulaması

Veritabanı

YönetimSistemi

Veritabanı

Kullanıcı

Page 20: Veritabanı/ Temel Kavramlar

Kullanıcı: İşlerini gerçekleştirmek için veritabanını

kullanır, Yeni veri ekler, Mevcut verileri değiştir, Verileri siler, Formlar, sorgular ya da raporlar yoluyla

verileri okur

Page 21: Veritabanı/ Temel Kavramlar

Veri Tabanı Uygulaması: Veri tabanı yönetim sistemi ile kullanıcı

arasında iletişimi sağlayan bir ya da birden fazla bilgisayar programıdır.

Formlar , sorgular ve raporlar oluşturur, Kullanıcıdan verileri alır ya da kullanıcıya

verileri gönderir, Kullanıcı davranışlarını veri tabanı

yönetim sisteminden veri yönetim etkinliği için isteklere dönüştürür.

Page 22: Veritabanı/ Temel Kavramlar

Veri Tabanı Yönetim Sistemi: Uygulamadan gelen istekleri alarak

bunları veri tabanı dosyaları üzerinde verileri okuyarak ya da veri yazarak gerçekleştirir,

SQL cümlelerini okur ve bu ifadeleri bilgisayarın işletim sisteminin veritabanı dosyaları üzerinde verileri okuyacağı ya da yazacağı yönergelere dönüştürür.

Page 23: Veritabanı/ Temel Kavramlar

İşlevler Veri Tabanı Uygulaması Veri Tabanı Yönetim Sistemi

Page 24: Veritabanı/ Temel Kavramlar

Veri Tabanı Uygulaması:1. Formlar oluşturur ve formları işler,2. Sorgular oluşturur ve sorgular iletilir,3. Raporlar oluşturur ve raporları işletir,4. Uygulama mantığını gerçekleştirir,5. Uygulamayı kontrol eder.

Page 25: Veritabanı/ Temel Kavramlar

Veri Tabanı Uygulaması:1. Formlar oluşturur ve formları işler,▪ Örneğin web temelli bir uygulamada;▪ Kullanıcının bilgisayarında görüntülenecek

HTML ve diğer web biçimlerini oluşturur,▪ Kullanıcı formları doldurarak verileri geri

yolladığında VTYS’ne gerekli düzenlemelerle ilgili istekleri gönderir.▪ Süreçte bir hata meydana gelirse, hatalara

ulaşır ve kullanıcıya gerekli mesajı gösterir ve/veya gerekli işlemleri gerçekleştirir.

Page 26: Veritabanı/ Temel Kavramlar

Veri Tabanı Uygulaması:2. Sorgular oluşturur ve sorgular iletilir,▪ VTYS’ne iletilecek sorguyu üretir,▪ Bu istekler genellikle SQLile ifade edilir,▪ Sorgu işletilince, sonuçlar biçimlendirilir ve

kullanıcıya iletilir,

Page 27: Veritabanı/ Temel Kavramlar

Veri Tabanı Uygulaması:3. Raporlar oluşturur ve raporları işletir,▪ VTYS’den sorgular aracılığıyla veri istenir ve

sorgu sonuçları raporlar biçiminde sunulur,

Page 28: Veritabanı/ Temel Kavramlar

Veri Tabanı Uygulaması:4. Uygulama mantığını gerçekleştirir,▪ Örneğin kullanıcı 10 birimlik bir istekte

bulundu ancak stokta 8 birim bulundu,▪ Ne olacağı programın mantığına bağlıdır,▪ Uygun mantığın gerçekleştirilmesi uygulama

programının görevidir.

Page 29: Veritabanı/ Temel Kavramlar

Veri Tabanı Uygulaması:5. Uygulamayı kontrol eder

Page 30: Veritabanı/ Temel Kavramlar

Veri Tabanı Yönetim Sistemi:1. Veritabanını oluşturmak, tabloları oluşturmak,2. Veritabanından veri okumak ve verileri

güncellemek,3. Veri değerlerine ilişkin sınırlamaları

gerçekleştirmek,4. Bir kullanıcının işleminin diğer kullanıcıyı

engellemesini önlemek,5. Kullanıcıların yetkileri ölçüsünde etkinlikte

bulunmalarına izin vermek,6. Veri tabanındaki verileri yedekleme.

Page 31: Veritabanı/ Temel Kavramlar

Veri Tabanı: İlişkili kayıtlardan oluşan veri depolarıdır.▪ Üst veri (metadata)▪ indeks▪ saklı yordam (stored procedure)▪ tetikleyici (trigger)▪ veri tutarlılığı (referential integrity)

Page 32: Veritabanı/ Temel Kavramlar

Veri tabanının yapısı hakkındaki verilere metadata adı verilir.▪ Tablo isimleri▪ Sütun isimleri▪ Tablo ve sütunların özellikleri vb.

Page 33: Veritabanı/ Temel Kavramlar

Metadata örneği:

Tablo no

Tablo adı Sütun sayısı

Satır sayısı

1 Müşteriler 3 7

2 Firmalar 3 4

3 Satışlar 3 7

Sütun no

Sütun adı

Veri türü

Uzunluğu

Tablo no

1 id int 4 1

2 Mus_adi

char 50 1

3 meslegi

char 50 1

Page 34: Veritabanı/ Temel Kavramlar

Bazı veritabanları uygulama üst verisi içerir.

Bu üst veriler, formlar ve raporlar gibi uygulama bileşenlerini tanımlar.

VTYS’inin veritabanının yapısını göstermek için çeşitli araçları vardır.

Page 35: Veritabanı/ Temel Kavramlar

Aynı zamanda veritabanlarında veritabanının performansını artırmak için kullanılan indeksler vardır.

Indeksler hangi kayıtların hangi tablolarda bulunduğunu gösteren kitapların başındakine benzer bir mantığı olan araçlardır.

Page 36: Veritabanı/ Temel Kavramlar

Saklı yordamlar derlenmiş sql cümlecikleridir.

Birer veritabanı nesnesi oldukları için, doğrudan veritabanı yöneticisi olan programda yer alırlar.

Örneğin bir tablodaki verilerin yedeğini alan ya da 1 yıldan fazla zaman geçen verilerin yedeğini kaldıran saklı yordamlar oluşturulabilir.

Page 37: Veritabanı/ Temel Kavramlar

Saklı yordamlar bir tabloya bağlı olmaksızın veritabanı içinde tanımlanan belirli bir işi yapmaya yönelik kodlardır.

Bu kodlar yazıldığı zaman aynı zamanda derlendikleri için optimize edilmiştir ve en hızlı şekilde çalışmaya hazır kodlardır.

Page 38: Veritabanı/ Temel Kavramlar

Bir tablo üzerinde belirli bir olaya bağlı olarak tetiklenip çalışan SQL kodlarına tetikleyici (trigger) denir.

Tablo üzerindeki triggerları tetikleyen olaylar insert, update, delete olaylarıdır.

Page 39: Veritabanı/ Temel Kavramlar

Örneğin stok hareketleri sonucunda stok miktarlarının azalması veya artması işlemlerinin yapılması tipik bir trigger kullanım yeridir.

Page 40: Veritabanı/ Temel Kavramlar

Hem tetikleyici hem de saklı yordamlar veritabanı üzerindeki kodlar olmaları sebebi ile veritabanını sunan sunucu üzerinde çalışırlar.

İstemci&Sunucu mimarinin güçlü bileşenlerindendir.

İstemci&Sunucu mimarideki SQL veritabanları tarafından desteklenmektedir. ▪ Oracle, Sybase, MS SQL, Interbase, FireBird vb.

Page 41: Veritabanı/ Temel Kavramlar

Verilerin bulunduğu sunucu üzerinde çalışmalarından dolayı veriler istemci ile sunucu arasında gidip gelmezler ve de sunucudan istemci tarafına minimum veri çekilmiş olur.

Page 42: Veritabanı/ Temel Kavramlar

İlişkisel bir veritabanında ▪ PERSONEL tablosundaki kişinin bölüm

bilgisinin BOLUM_NO değişkeninde tutulduğunu ve ▪ bölümün adının da BOLUM tablosunda

bulunduğunu düşünelim.

Page 43: Veritabanı/ Temel Kavramlar

Eğer 1 numaralı bolum herhangi bir personelde kullanıldıysa BOLUM tablosundan BOLUM_NO değeri 1 olan kaydın kesinlikle silinememesi gerekmektedir.

Bu tür kontrollerin yapılarak veri bütünlüğünün korunmasına veri tutarlılığı (referential integrity) denir.

Page 44: Veritabanı/ Temel Kavramlar

Veri tutarlılığını sağlamak amacı ile trigger kullanımı çok tercih edilir.

Page 45: Veritabanı/ Temel Kavramlar

3 tür veri tabanı sistemi olabilir: Tek bir kişi tarafından kullanılan, Küçük çaplı işletmeler tarafından

kullanılan, Büyük uluslar arası şirketler tarafından

kullanılan

Page 46: Veritabanı/ Temel Kavramlar

Tek bir kişi tarafından kullanılan, Boyacı Kimlerin evi, ne zaman, ne kadar

boyandı? Boyamada nereler boyandı, hangi renk

ve stiller kullanıldı? Kimler başkalarına referans oldu?

Referansla gelen kimler?

Page 47: Veritabanı/ Temel Kavramlar

Tek bir kişi tarafından kullanılan,

Page 48: Veritabanı/ Temel Kavramlar

Tek bir kişi tarafından kullanılan,

Page 49: Veritabanı/ Temel Kavramlar

Tek bir kişi tarafından kullanılan,

Page 50: Veritabanı/ Temel Kavramlar

Küçük çaplı işletmeler tarafından kullanılan, Kiralanan müzik enstrümanları neler?Kaça

kiralandı? En çok hangi müzik enstrümanları

kiralanıyor? Kiralamayı kim yaptı? (çok kullanıcılı

veritabanı) Aynı anda aynı enstrüman iki farklı satıcı

tarafından seçilememeli!

Page 51: Veritabanı/ Temel Kavramlar

Küçük çaplı işletmeler tarafından kullanılan,

Page 52: Veritabanı/ Temel Kavramlar

Küçük çaplı işletmeler tarafından kullanılan,

Page 53: Veritabanı/ Temel Kavramlar

Küçük çaplı işletmeler tarafından kullanılan,

Page 54: Veritabanı/ Temel Kavramlar

Küçük çaplı işletmeler tarafından kullanılan,

Page 55: Veritabanı/ Temel Kavramlar

Büyük uluslar arası şirketler tarafından kullanılan, Sürücü lisansı veren ve otomatik kayıt bürosu 52 farklı merkezi var Kişilerin kazaları, trafik ihlalleri tutuluyor, Lisans yenilenebilir mi, herhangi bir sınırlama

var mı? 100’lerce kişi tarafından veritabanı

kullanılıyor▪ Lisans ve kayıt personeli▪ Kanun yaptırımlarını takip edenler▪ Maliye departmanı personeli

Haftada 7 gün 24 saat ulaşılabilmeli

Page 56: Veritabanı/ Temel Kavramlar

Büyük uluslar arası şirketler tarafından kullanılan,

Page 57: Veritabanı/ Temel Kavramlar

Kroenke, D. M. (2006). Database Processing:Fundamentals, Design, and Implementation.Pearson Education International. Singapore,Canada,Japan.

http://www.delphiturkiye.com/trigger.htm