580 likes | 970 Views
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.
E N D
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. • Alışveriş listesi, • Yapılacak işler listesi, • Ödenen faturaların listesi
Veritabanı neden kullanılır? • Listeler;
Veritabanı neden kullanılır? • 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.
Veritabanı neden kullanılır? • 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.
Veritabanı neden kullanılır? • 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
Veritabanı neden kullanılır? • 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.
Veritabanı neden kullanılır? • 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,
Veritabanı neden kullanılır? • 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
Veritabanı neden kullanılır? • Müşteriler
Veritabanı neden kullanılır? • Çalışılan firmalar
Veritabanı neden kullanılır? • Satış bilgileri
Veritabanı neden kullanılır? • Farklı temalar farklı tablolara yerleştirildiğinde, • Değişen bilgiler, • Silinen bilgiler ve • Paylaşılan bilgilerle ilgili problemlerin çoğu ortadan kalkar.
Veritabanı neden kullanılır? • Farklı temalar farklı tablolarda yer aldığında; • Hangi müşteri hangi firmadan ürünü almış gibi soruları cevaplamak için ilişkilerin kurulması gereklidir.
Veritabanı neden kullanılır? • İlişkiler
Veritabanı neden kullanılır? • İlişkiler Yabancı Anahtar Yabancı Anahtar Birincil Anahtar Birincil Anahtar
Veritabanı neden kullanılır? • Tabloları birleştirmek • Peki baştaki bütüncül listeyi elde etmek için ne yapılır? • SQL dilinden faydalanılır.
Veritabanı yönetim sistemi nedir? • Veri tabanı sisteminin bileşenleri; Veritabanı Veritabanı Uygulaması Veritabanı Yönetim Sistemi Kullanıcı
Veritabanı yönetim sistemi nedir? • 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
Veritabanı yönetim sistemi nedir? • 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.
Veritabanı yönetim sistemi nedir? • 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.
Veritabanı yönetim sistemi nedir? • İşlevler • Veri Tabanı Uygulaması • Veri Tabanı Yönetim Sistemi
Veritabanı yönetim sistemi nedir? • Veri Tabanı Uygulaması: • Formlar oluşturur ve formları işler, • Sorgular oluşturur ve sorgular iletilir, • Raporlar oluşturur ve raporları işletir, • Uygulama mantığını gerçekleştirir, • Uygulamayı kontrol eder.
Veritabanı yönetim sistemi nedir? • Veri Tabanı Uygulaması: • 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.
Veritabanı yönetim sistemi nedir? • Veri Tabanı Uygulaması: • 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,
Veritabanı yönetim sistemi nedir? • Veri Tabanı Uygulaması: • Raporlar oluşturur ve raporları işletir, • VTYS’den sorgular aracılığıyla veri istenir ve sorgu sonuçları raporlar biçiminde sunulur,
Veritabanı yönetim sistemi nedir? • Veri Tabanı Uygulaması: • 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.
Veritabanı yönetim sistemi nedir? • Veri Tabanı Uygulaması: • Uygulamayı kontrol eder
Veritabanı yönetim sistemi nedir? • Veri Tabanı Yönetim Sistemi: • Veritabanını oluşturmak, tabloları oluşturmak, • Veritabanından veri okumak ve verileri güncellemek, • Veri değerlerine ilişkin sınırlamaları gerçekleştirmek, • Bir kullanıcının işleminin diğer kullanıcıyı engellemesini önlemek, • Kullanıcıların yetkileri ölçüsünde etkinlikte bulunmalarına izin vermek, • Veri tabanındaki verileri yedekleme.
Veritabanı • Veri Tabanı: • İlişkili kayıtlardan oluşan veri depolarıdır. • Üst veri (metadata) • indeks • saklı yordam (storedprocedure) • tetikleyici (trigger) • veri tutarlılığı (referentialintegrity)
Veritabanı • Veri tabanının yapısı hakkındaki verilere metadata adı verilir. • Tablo isimleri • Sütun isimleri • Tablo ve sütunların özellikleri vb.
Veritabanı • Metadata örneği:
Veritabanı • 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.
Veritabanı • 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.
Veritabanı • 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.
Veritabanı • 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.
Veritabanı • 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.
Veritabanı • Örneğin stok hareketleri sonucunda stok miktarlarının azalması veya artması işlemlerinin yapılması tipik bir trigger kullanım yeridir.
Veritabanı • 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.
Veritabanı • 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.
Veritabanı • İ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.
Veritabanı • 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.
Veritabanı • Veri tutarlılığını sağlamak amacı ile trigger kullanımı çok tercih edilir.
Veri Tabanı Sistemleri • 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
Veri Tabanı Sistemleri • 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?
Veri Tabanı Sistemleri • Tek bir kişi tarafından kullanılan,
Veri Tabanı Sistemleri • Tek bir kişi tarafından kullanılan,
Veri Tabanı Sistemleri • Tek bir kişi tarafından kullanılan,
Veri Tabanı Sistemleri • 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!