Upload
hertz
View
39
Download
5
Embed Size (px)
DESCRIPTION
VTYS Öğr. Gör. Engin DUTAR. 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?. - PowerPoint PPT Presentation
Citation preview
VTYS Öğr. Gör. Engin DUTAR
1VTYS Öğr. Gör. Engin DUTAR
Veritabanının amacı; insanların ve organizasyonların birşeyleri takip
edebilmesine yardımcı olmaktır.
2VTYS Öğr. Gör. Engin DUTAR
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
3VTYS Öğr. Gör. Engin DUTAR
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 4VTYS Öğr. Gör. Engin DUTAR
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.
5VTYS Öğr. Gör. Engin DUTAR
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.
6VTYS Öğr. Gör. Engin DUTAR
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
7VTYS Öğr. Gör. Engin DUTAR
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.
8VTYS Öğr. Gör. Engin DUTAR
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,
9VTYS Öğr. Gör. Engin DUTAR
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
10VTYS Öğr. Gör. Engin DUTAR
Müşteriler
Müsteri adı
Mesleği
Ahmet mimar
Sema öğretmen
Serdar mühendis
Zerrin emekli
Mehmet Öğretim elemanı
Defne Doktor
Elif avukat
11VTYS Öğr. Gör. Engin DUTAR
Ç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
12VTYS Öğr. Gör. Engin DUTAR
Satış bilgileri
Fiyat
1000 YTL
250 YTL
350 YTL
700 YTL
1200 YTL
100 YTL
150 YTL
13VTYS Öğr. Gör. Engin DUTAR
Farklı temalar farklı tablolara yerleştirildiğinde, Değişen bilgiler, Silinen bilgiler ve Paylaşılan bilgilerle ilgili problemlerin
çoğu ortadan kalkar.
14VTYS Öğr. Gör. Engin DUTAR
Farklı temalar farklı tablolarda yer aldığında; Hangi müşteri hangi firmadan ürünü
almış gibi soruları cevaplamak için ilişkilerin kurulması gereklidir.
15VTYS Öğr. Gör. Engin DUTAR
İ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
16VTYS Öğr. Gör. Engin DUTAR
İ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
17VTYS Öğr. Gör. Engin DUTAR
Tabloları birleştirmek Peki baştaki bütüncül listeyi elde etmek
için ne yapılır? SQL dilinden faydalanılır.
18VTYS Öğr. Gör. Engin DUTAR
Veri tabanı sisteminin bileşenleri;
Veritabanı
Uygulaması
Veritabanı
YönetimSistemi
Veritabanı
Kullanıcı
19VTYS Öğr. Gör. Engin DUTAR
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
20VTYS Öğr. Gör. Engin DUTAR
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.
21VTYS Öğr. Gör. Engin DUTAR
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.
22VTYS Öğr. Gör. Engin DUTAR
İşlevler Veri Tabanı Uygulaması Veri Tabanı Yönetim Sistemi
23VTYS Öğr. Gör. Engin DUTAR
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.
24VTYS Öğr. Gör. Engin DUTAR
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.
25VTYS Öğr. Gör. Engin DUTAR
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,
26VTYS Öğr. Gör. Engin DUTAR
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,
27VTYS Öğr. Gör. Engin DUTAR
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.
28VTYS Öğr. Gör. Engin DUTAR
Veri Tabanı Uygulaması:5. Uygulamayı kontrol eder
29VTYS Öğr. Gör. Engin DUTAR
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.
30VTYS Öğr. Gör. Engin DUTAR
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)
31VTYS Öğr. Gör. Engin DUTAR
Veri tabanının yapısı hakkındaki verilere metadata adı verilir.▪ Tablo isimleri▪ Sütun isimleri▪ Tablo ve sütunların özellikleri vb.
32VTYS Öğr. Gör. Engin DUTAR
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
33VTYS Öğr. Gör. Engin DUTAR
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.
34VTYS Öğr. Gör. Engin DUTAR
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.
35VTYS Öğr. Gör. Engin DUTAR
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.
36VTYS Öğr. Gör. Engin DUTAR
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.
37VTYS Öğr. Gör. Engin DUTAR
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.
38VTYS Öğr. Gör. Engin DUTAR
Örneğin stok hareketleri sonucunda stok miktarlarının azalması veya artması işlemlerinin yapılması tipik bir trigger kullanım yeridir.
39VTYS Öğr. Gör. Engin DUTAR
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.
40VTYS Öğr. Gör. Engin DUTAR
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.
41VTYS Öğr. Gör. Engin DUTAR
İ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.
42VTYS Öğr. Gör. Engin DUTAR
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.
43VTYS Öğr. Gör. Engin DUTAR
Veri tutarlılığını sağlamak amacı ile trigger kullanımı çok tercih edilir.
44VTYS Öğr. Gör. Engin DUTAR
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
45VTYS Öğr. Gör. Engin DUTAR
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?
46VTYS Öğr. Gör. Engin DUTAR
Tek bir kişi tarafından kullanılan,
47VTYS Öğr. Gör. Engin DUTAR
Tek bir kişi tarafından kullanılan,
48VTYS Öğr. Gör. Engin DUTAR
Tek bir kişi tarafından kullanılan,
49VTYS Öğr. Gör. Engin DUTAR
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!50VTYS Öğr. Gör. Engin DUTAR
Küçük çaplı işletmeler tarafından kullanılan,
51VTYS Öğr. Gör. Engin DUTAR
Küçük çaplı işletmeler tarafından kullanılan,
52VTYS Öğr. Gör. Engin DUTAR
Küçük çaplı işletmeler tarafından kullanılan,
53VTYS Öğr. Gör. Engin DUTAR
Küçük çaplı işletmeler tarafından kullanılan,
54VTYS Öğr. Gör. Engin DUTAR
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şılabilmeli55VTYS Öğr. Gör. Engin DUTAR
Büyük uluslar arası şirketler tarafından kullanılan,
56VTYS Öğr. Gör. Engin DUTAR
Kroenke, D. M. (2006). Database Processing:Fundamentals, Design, and Implementation.Pearson Education International. Singapore,Canada,Japan.
http://www.delphiturkiye.com/trigger.htm
57VTYS Öğr. Gör. Engin DUTAR