Veri Tabanı Yönetim Sistemleri Hafta 2 İlişkisel VTYS Temel Kavramlar
2 Tablolar (Tables) Veri tabanı içindeki verileri saklamak için kullanılırlar. Satır ve Sütunlardan oluşur. Bir VT içerisinde birden fazla kullanılabilir. Birbirinden bağımsız her bir veri grubunu temsil eder; örneğin öğrenci kimlik bilgileri, ders bilgileri, notlar vb.
3 İlişkisel VTYS Temel Kavramlar Satırlar (Rows / Records) Her bir tablodaki kayıtları temsil eder Alanlar (Fields / Columns) Tablo içinde tutulan her bir veri türüne verilen isimdir. Ör: öğrencinin adı veya doğum tarihi Veri Tipleri Tablolarda tutulan veriler aynı türde değildir. Veri tiplerinin tanımlanmaları gerekmektedir. Uzunluk veya kaç karakter olacağı belirlenebilir.
4 İlişkisel VTYS Temel Kavramlar İlişkiler (Relations) Tablolar arasında bağlantı kurmak için gerekli yapıya verilen isimdir.T ablolar arası ilişkiler anahtar alanlar (sütunlar) aracılığı ile gerçekleştirilir. Birincil Anahtar (Primary Key) Yabancı Anahtar (Foreign Key) Tekil Anahtar (Uniqe Key) Anahtar kullanımı zorunlu değildir fakat tavsiye edilir. Tablolarda bulunan kayıtları ayırt etmek için kullanılır.
5 İlişkisel VTYS Temel Kavramlar Birincil Anahtar (Primary Key) Tabloda tutulan verileri tek başına temsil eden ve diğerlerinden ayıran verilerin yer aldığı alan (sütun) birincil anahtardır. NULL (boş) değer içeremez. Bir alan veya birden fazla alanın birleşiminden oluşabilir.. Kayıt silme, güncelleme gibi işlemlerde çok büyük fayda sağlar.
6 İlişkisel VTYS Temel Kavramlar Yabancı Anahtar (Foreign Key) Herhangi bir birincil anahtarla (aynı tablodaki veya farklı tablodaki) ilişkilendirilen alan yabancı anahtar olarak adlandırılır. NULL (boş) değer alabilir, aynı değer tekrar edebilir. Tablolar arası ilişki kurulduğu zaman kendiliğinden oluşur. Bir veya birden fazla alandan oluşabilir.
7 İlişkisel VTYS Temel Kavramlar Tekil Anahtar (Uniqe Key) Birincil anahtarla özellikleri aynıdır fakat NULL değer alabilir. İlişkilendirme (Joining) Tek bir sorgu ile birden fazla tablodan veri alam işlemi için ilişkilendirme yapılması gerekmektedir. Ayrıca veri tutarlılığını sağlama içinde kullanılmaktadır.
8 İlişkisel VTYS Temel Kavramlar Geçerlilik Kuralı Her hangi bir alana girilecek verileri sınırlamak için kullanılan özelliktir. Yanlış veri girişini engeller, veri tutarlılığı sağlar NULL Değer Tablo içerisinde herhangi bir alana veri girilmediği durumda ortaya çıkan durumdur. Alan içerisinde görünen veri olmaması NULL değer değildir. Boşluk tuşu kullanımı NULL değildir.
9 VTYS Yararları Gereksiz veri tekrarını önler (Data Redundancy) Tüm uygulamaların gereksinim duyduğu veriler birbirleri ile bütünleşik yapıdadır. Dolayısıyla veri kaynağı tek olarak tasarlanır, böylece veri tekrarı önlenmiş olur. Aynı veri değişik kişilerin PC’lerinde veya değişik bilgisayarlarda tekrar tekrar tutulmaz Örneğin, Türkiye’deki il kodları ve isimleri hem personel alt sisteminde hem de pazarlama alt sisteminde ayrı ayrı tutulmaz.
10 VTYS Yararları Veri Tutarlılığı (Data Consistency) Aynı verinin değişik yerlerde birkaç kopyasının bulunması “bakım” zorluğu getirir: bir yerde güncellenen bir adres bilgisi başka yerde güncellenmeden kalabilir ve bu durum veri tutarsızlığına (“Data Inconsistency”) yol açar.
11 VTYS Yararları Veri Paylaşımı (Data Concurrency) Veri tabanı yönetim sistemi (VTYS) kullanılmadığı durumlarda veriye sıralı erişim yapılır. Yanı birden çok kullanıcı aynı anda aynı veriye erişemez. Bir VTYS’de ise aynı veri tabanlarına saniyede yüzlerce, binlerce erişim yapılabilir. Aynı zamanda yapılan erişimlerde tutarsızlıkların ortaya çıkmasını önler. İki veya daha fazla kullanıcı aynı anda aynı veri üzerinde değişiklik yapmak istediğinde, yetkiye ve/veya kimin önce eriştiğine bakarak, birine önceliği verir, diğerlerini bekletir.
12 VTYS Yararları Veri Bütünlüğü (“Data Integrity”) Veri bütünlüğü, verinin doğruluğunu ve tutarlılığını anlatmaktadır. Veri bütünlüğü için bazı kısıtlamalar tanımlanabilir. Örneğin, öğrenci bilgileri girilirken doğduğu il koduna 100 değeri girilirse, yanlış bilgi nedeniyle bu isteğin yerine getirilmemesi istenebilir. Bir tablodan bir öğrenci kaydı silinirse, öğrenci var olduğu diğer tüm tablolardan silinmelidir.
13 VTYS Yararları Veri Güvenliği (Data Security) Veriler üzerinde merkezi denetim sağlar. Veri tabanı kullanımı yalnız VTYS (DBMS - Data Base Management System) olarak adlandırılan yazılım sistemi aracılığıyla mümkündür. Verinin isteyerek ya da yanlış kullanım sonucu bozulmasını önlemek için çok sıkı mekanizmalar mevcuttur. Veri tabanına girmek için kullanıcı adı ve şifreyle korumanın yanı sıra kişiler sadece kendilerini ilgilendiren tabloları ya da tablo içinde belirli kolonları görebilirler. Tüm verilere her kullanıcının kolayca erişebilmesi çoğu zaman istenmeyen bir durumdur. Her kullanıcıya çeşitli yetkiler atanarak, bu kullanıcının erişebileceği, değiştirebileceği ve silebileceği veriler ayrı ayrı tanımlanabilir. Örneğin, pazarlama bölümünde çalışan bir kullanıcının diğer personelin özlük bilgilerine ulaşması engellenebilir.
14 VTYS Yararları Veri Bağımsızlığı (Data Independence) Programcı, kullandığı verilerin yapısı ve organizasyonu ile ilgilenmek durumunda değildir. VERİ BAĞIMSIZLIĞI, VTYS’lerinin en temel amaçlarındandır.
15 Kullanıcı Türleri Kullanıcıları kullandıkları veri tabanı hakkında bilgi ve yetki düzeylerine göre sınıflandıracak olursak: 1.Veri Tabanı Yöneticisi 2.Uygulama Programcıları 3.Sorgu Dili Kullanıcıları 4.Son Kullanıcılar
16 Veri Tabanı Yöneticisi Veri tabanının tasarımından işletimine her şeyinden sorumlu olan kişiler veri tabanı yöneticisi (DBA: Database Administrator) ya da veri tabanı sorumlusu olarak adlandırılırlar. Kullanılacak olan veri tabanının tasarımı, oluşturulması, ve işletiminden birinci derece sorumlu olan ve en fazla yetkiye sahip kullanıcıdır.
17 Veri Tabanı Yöneticisinin Görevleri Veri ve veriler üzerinde yapılacak uygulama gereksinimlerini belirlemek, veri tabanı içeriğini oluşturmak, veri tabanı şemalarını tanımlamak. Bütünlük kısıtlamalarını belirleyip tanımlamak. Veri tabanı kullanıcılarını ve her kullanıcının hangi veriler üzerinde hangi işlemleri yapmaya yetkili olduğunu belirlemek; kullanıcı ve kullanım yetkilerini tanımlamak.
18 Veri Tabanı Yöneticisinin Görevleri Veri Tabanı Yönetim Sisteminin sunduğu seçenekler çerçevesinde, veri tabanının fiziksel yapısı ile ilgili parametreleri ve erişim yollarını (dizinleri) belirlemek ve tanımlamak. Yedekleme, yeniden başlatma ve kurtarma düzenlerini belirlemek. Veri tabanı sistemini sahiplenmek, işletimini izlemek, veri tabanının sürekli olarak kullanıma açık olmasını sağlamak.
19 Veri Tabanı Yöneticisinin Görevleri Gereksinimlerdeki değişiklikleri izlemek ve değişikliklere paralel olarak veri tabanı içeriği, şema tanımları, bütünlük kısıtlamaları, fiziksel yapı ile ilgili parametreler, erişim yolları, kullanıcılar ve kullanıcı yetkilerinde gerekli değişiklikleri oluşturmak ve tanımlamak. Veri tabanı bütünlük kısıtlamalarının yeterliliğini izlemek; bütünlük kısıtlamaları ile ilgili gerekli değişiklikleri oluşturmak ve tasarlamak. Veri tabanı kullanım istatistiklerini ve veri tabanı başarımını izlemek; varsa sorunları ve yetersizlikleri belirlemek ve gerekli her türlü önlemi almak.
20 Bir Yönetici Yeterli mi? Bu görevleri yürütmek için küçük sistemlerde bir kişinin tam hatta yarı zamanlı çalışması yeterli olabilir. Büyük sistemlerde ise bu görevleri yürütmek için değişik konularda uzmanlaşmış çok sayıda veri tabanı yöneticisine ihtiyaç vardır. Veri tabanı yöneticisinin kullandığı başlıca olanak veri tanımlama dilidir (DDL). Veri tanımlama diline ek olarak, başta sorgu dili olmak üzere diğer tüm olanaklar da veri tabanı yöneticisi tarafından kullanılabilir.
21 Uygulama Programcıları Veri tabanı yöneticisi gibi, uygulama programcıları da veri tabanının gerçek anlamda kullanıcıları değildirler. Uygulama programcıları, veri tabanı üzerindeki rutin uygulamalar (güncelleme, rapor üretme, önceden belirli standart sorgulamalar,.. vb) için gerekli uygulama programlarını hazırlayan ve gerçek kullanıcıların kullanımına sunan kişilerdir. Uygulama programcılarının kullandığı başlıca olanaklar veri işleme dili (DML) ve diğer yazılım geliştirme araçlarıdır.
22 Sorgu Dili Kullanıcıları Veri tabanı üzerinde önceden belirlenmiş rutin uygulamalar dışındaki işlemleri gerçekleştirmek için genellikle sorgu dili (SQL) kullanılır. Sorgu Dili Kullanıcıları DML komutlarını kullanabilir, fakat DDL’i sadece VT Yöneticisi kullanır. SQL doğal dile yakın, kolay öğrenilen ve kolay kullanılan bir dildir (yine de biçimsel bir dildir).
23 Sorgu Dili Kullanıcıları Bu dili kullanacak kişinin, veri tabanının ilgili alt şemasının içeriğini (alt şemada hangi çizelgelerin bulunduğunu, çizelgelerin adlarını, her çizelgede hangi niteliklerin bulunduğunu, niteliklerin adları ve özelliklerini,... vb.) ve sorgu dilinin; yapısını bilmesi gerekir. Dolayısıyla sorgu dilini kullanacak kişinin bir bilişim uzmanı olmasına gerek yoktur, ancak veri tabanının içeriği ile sorgu dilinin yapısını bilen, bu konularda eğitilmiş, bilinçli bir kişi olması gerekir.
24 Sorgu Dili Kullanıcıları Sorgu dili kullanıcıları genellikle yönetimin alt ve orta kademelerinde görev yapan kişilerdir. Bunların dışında, sorgu dilleri sistem çözümleyici, sistem tasarımcı, uygulama programcısı, veri tabanı sorumlusu gibi bilişim teknik personeli tarafından da çok kullanılır.
25 Son Kullanıcılar Bu kullanıcılar, uygulama programlarını kullanarak, veri tabanı üzerinde işletimsel düzeydeki rutin işlemleri gerçekleştiren kişilerdir. Ambar giriş-çıkışlarını işleyen stok kontrol görevlisi Faturaları işleyen muhasebe görevlisi Personel sicil bilgilerini işleyen personel dairesi çalışanı Verdiği dersin sınıf listesini almak veya öğrencilerin notlarını girmek isteyen öğretim üyesi ÖSS sonucunu öğrenmek isteyen adaylar...
26 Uygulama Programları Uygulama programları daha çok işletimsel düzeydeki işlemler (veri tabanından bilgi alma, bilgiyi ekleme/silme/değiştirme) için kullanılır. Ancak bazı uygulama programları önceden belirli yönetimsel işler için de kullanılabilir. Bunları kullanan kişi VT sorumlusudur (DBA).
27 VTYS Yazılımları Microsoft SQL Server Oracle My SQL PostgreSQL IBM DB/2 Sybase Microsoft Access
28 KAYNAKÇA Turgut ÖZSEVEN, Veritabanı Yönetim Sistemleri 1, Murathan Yayınevi, Prof. Dr. Yaşar Tonta, Veri Tabanı Yönetimi, Yrd. Doç. Dr. Altan Mesut, Veri Tabanı Yönetimi, Öğr.Gör. Cüneyt ÖZDEMİR Veri Tabanı Yönetim Sistemleri, Dr. Tarık KIŞLA, Veritabanı Yönetim Sistemleri, ders.egitim.ege.edu.tr/~tkisla/