SQL- Veritabanı İle İlgili Temel Kavramlar

Kardel Rüveyda ÇETİN
6 min readMay 6, 2020

--

VERİ NEDİR ?

Veri ve bilgi terimleri birbirinin yerine kullanılan iki kavram olarak açıklanabilmektedir. Veri kavramı; olayları, yerleri, insanları veya nesneleri ilgilendiren gerçeklerdir [2]. Bu nedenle veri kavramı her durum için farklılıklar gösterebilmektedir. Bilgisayar ortamında veri kavramı; bilgisayarın manyetik disk üzerinde (Örneğin; Hard disk),yarı iletkenden oluşmuş hafıza biriminde ise (Örneğin; RAM) olarak kabul edilebilir[2]. Veri çeşitli şekillerde işlenmeye hazır durumda olan, fakat ilk bakışta faydasız ve anlamsız gibi görünen birçok kaydı gösterir[2]. Bilgi kavramı, verinin işlenmiş, kullanıcı için faydalı ve kullanışlı hale getirilmiş hali olarak tanımlanabilir. Örneğin; şirket bilgilerinin tutulduğu bir veri tabanı düşünecek olursak, bu veri tabanından “İnsan Kaynakları” departmanı çalışanları içinden “İşe Alım Ekibi” ’nin bu ay mülakat yaptığı adayları listelemek, bilgiyi işleyip veri haline getirmeye bir örnektir.

Veritabanı Kavramı

Veri tabanı; veriyi belirli şekillerde kategorize etmeyi; kategorize ettiği veriler ile kataloglar oluşturmayı ve alt birimlerinde verinin dallarını oluşturmayı sağlayan bir yapıdır. Veri tabanının amacı veriye hızlı ve doğru bir şekilde erişebilmektir. Kimin erişeceğini nasıl erişeceğini ve güvenlik haklarının belirlenmesini veri tabanı kendisi sağlamaktadır. En önemli görevi ise, verinin verimli bir şekilde tutulmasını sağlayabilmektir. Veri tabanları verinin canlı bir şekilde tutulmasını ve saklanmasını sağlar. Veriyi verimli tutmaktansa veriyi en hızlı şekilde nasıl tutarım kavramı ise “Big Data” ’ nın çalışma alanına girer. “Big Data” yani “Büyük Veri” kavramı veri tabanları gibi veriyi canlı olarak saklamaz veya bu veriyi saklamak için herhangi bir sorgulama diline ihtiyaç duymaz. Verinin işlendiği her yerde veri tabanından bahsedilebilir. Veri tabanları; birbiriyle ilişkili olan verilerin tutulduğu, kullanım amacına uygun olarak düzenlenmiş veriler topluluğu olarak açıklanan bilgi ambarları olarak da bilinmektedir. Gerçekte var olan ve birbirleriyle ilişkileri olan nesneler ile ilgilenir ve bu nesneler için uygun modeller oluşturur. Banka üniversite, okul, seyahat şirketi, hastane, devlet dairesi gibi bir kuruluşun çalışıp işleyebilmesi için gereken uygulama programları temelinde veri tabanına ihtiyaç duyar[2]. Ticari bir şirket için müşteri bilgileri, satış bilgileri, ürün bilgileri, ödeme bilgileri vb. Okul için öğrenci bilgileri, açılan dersler, okula kaydedilmiş öğrenciler, öğretmen bilgileri vb. Hastane için hasta bilgileri, doktor bilgileri, yatakların doluluk ve boşluk bilgileri, teşhis-tedavi bilgileri, mali bilgiler vb. veri tabanlarında kullanılan çok amaçlı verilere örnek olarak gösterilebilir [2].

Neden Veri Tabanı Kullanılır?

Dijital ortamda bilgilerin yani verilerin tutulması, saklanması ve erişilmesinde değişik yollar ve teoriler geliştirilmiştir. Bilgisayar ortamında tutulan her bilgi veri değildir, her veri ise bilgi değildir. Verilerin saklanmasında en yaygın olan metotlardan birisi; “Geleneksel Yaklaşım Metot’ u ” ’dur [3]. Bu metotta toplanan verilerin hepsi ayrı ayrı dosyalarda tutulur ve gruplandırılır. Verilerde meydana gelen olası değişikler, verilere aynı anda erişilmesi gibi ihtiyaçlar arttıkça; “Geleneksel Yaklaşım” yeteriz kalmıştır. Bu nedenle yeni yaklaşım kuralları belirlenmiştir. Bu kurallar sayesinde veri tabanı kullanımı daha elverişli hale getirilmiştir.

Veritabanı Yaklaşımının Avantajları;

  • Veri paylaşımının gerçekleşmesi,
  • Ortak verilerin tekrarlanmasının önlenmesi,
  • Verilerin merkezi denetim ve tutarlılığının gözlem altında tutulması,
  • Güvenlik ve gizliliğin kullanıcıların istediği düzeyde tutulması,
  • Verilerin kolay ve anlaşılır yapıda olmasını sağlayabilmesi
  • Yazılım geliştirmeye sağladığı katkı ile, tasarım ve geliştirmenin kolaylaşması
  • Yedekleme, onarma, yeniden başlatma gibi işletim sorunlarına çözüm getirebilmektedir [2]. Özellikle yedekleme özelliğini sağlaması ile birlikte veri tabanları; birçok kullanıcının sorunlarına çözüm olmuştur. Çünkü çoğu kullanıcı verilerini saklamakta başarılı olamadığı için, bazı durumlarda verilerini kaybedebilir. Ancak veri tabanlarının yedekleme özelliği var ise, kolayca kaybedilen verilere ulaşılabilir.

Veritabanı Yönetim Sistemi Nedir?

Bir veri tabanının oluşturulması, verilerin eklenmesi, yeni eklenen kayıtların güncellenmesi ve işlenmesi, kısacası veri tabanının yönetilebilmesi için kullanılan sistemlere “Veri Tabanı Yönetim Sistemi” denir.

Veri tabanı yönetim sisteminin amacı, yazılım geliştirilmesinde kullanılan veri tabanının yönetimini, performans ölçümlerini ve güvenliğini sağlamaktır. Veri tabanı yönetim sistemleri fiziksel hafızayı ve veri tiplerini kullanıcılar adına şekillendirip denetledikten sonra kullanıcılara standart bir SQL ara yüzü sağlayarak; onların veri yapısı, fiziksel hafıza gibi sorunlarınla ilgilenmek yerine veri giriş-çıkışı olanağını sağlayan yazılımlar olarak bilinmektedirler [2]. Her yönetim sisteminde kullanıcılar, roller ve gruplar vardır ve bu verileri tutmak üzere birçok türde nesne ve bu nesnelere erişim onayı veri tabanı yöneticisi tarafından denetim altında tutulmaktadır [2]. Veri tabanı yöneticisi kontrolü altında verilen haklar arttırılabilir, kısıtlanabilir veya silinebilir.

Veri Tabanı Yönetim Sisteminin Sağladığı Yararlar

  • Programcı kullandığı verilerin yapısını, organizasyonunu ve yönetimini kendisi hazırlamak zorunda kalmaz çünkü veri tabanı bunları kendiliğinden koordine eder ve yönetir.
  • Verilerin yanlış kullanım veya kasıtlı bozulması sonucunda bozulmasını engellemek ve önlemek,
  • Bir tabloda işlem yapıldığında diğer tabloda da buna bağlı olarak işlemlerin yapılmasını sağlar. Çünkü veri tabanı yönetim sistemi, bu tabloların birbirleriyle ilişkilendirilmesini sağladığı için, herhangi bir tabloda yapılan değişiklik diğer tabloyu etkileyebilir.
  • Veri tabanı yönetim sistemini kullanmayan kullanıcılar veriye erişim sınırı ile karşı karşıya gelebilir ve birden çok veriye aynı anda erişemezler. Bu sistemi kullananlar kullanıcılar ise verinin tutarlılığını ve bütünlüğünü bozmadan ayanı veri tabanlarına saniyede yüzlerce, binlerce erişim yapabilir [2].
  • Veri tek bir merkezde tutulabilir, böylece verinin değişik bilgisayarlarda tekrar tekrar saklanılmasına gerek duyulmaz.

Veri Tabanı Yönetim Sistemleri

Veri tabanı yönetim sistemlerinden bazıları şunlardır [4];

  • Access (Microsoft)
  • Adabas D (Software AG)
  • Cloudscape (Informix)
  • Advantage Database Server (Extended Systems)
  • Data com (Computer Associates)
  • DB2 (IBM)
  • Interbase (Inprise)
  • MySQL (Freeware)
  • Oracle 8I (Oracle)
  • PostgreSQL (Freeware)
  • Rdb (Oracle)
  • Red Brick (Informix)
  • SQL Server (Microsoft)

Veri Tabanı Modellemesi

Herhangi bir veri tabanına kayıt edilmiş veya kaydedilecek verilerin; birbirleri ile arasındaki ilişkilerin verilere nasıl erişeceğini tasarlayan yapıya veri tabanı modellemesi denmektedir [5]. Başarılı bir veri tabanı uygulaması için belirli aşamalardan geçilmesi gerekir. Bu aşamalardan en önemlisi kavramsal modellemedir. Dünyada üretilen bütün verileri bir veri tabanına kaydetmek mümkün değildir [5]. Bu verilerin kaydı gerçekleşse bile, büyük çoğunluğu işe yaramayacaktır [5]. Bu yüzden veriler içerisinden işe yarar olanları seçilmeli ve bunlar üzerinde kayıtlandırmalar yapılmalıdır. Örneğin, “Bir üniversiteye ait veri tabanında öğrencilerin şahsi arabalarının markası ya da kullandıkları cep telefonu markalarının yer alması üniversitenin işine yarayacak mı? ”gibi bir sorunun cevabı aşikardır. Tabiki de bir üniversite veri tabanında böyle bir bilgiye gerek yoktur. Eğer veri tabanını hazırlarken işletmeler kendilerine bu tarz sorular soruyorlarsa, veri tabanının tasarlanmaya başlanarak modelleme yapıldığı anlaşılabilir.

Veri tabanı hazırlanırken öncelikle veri tabanında hangi verilerin tutulacağı belirlenmelidir [5]. Veri tabanı tasarımında hazırlama aşamasında kullanılan en yaygın yöntem, varlık-ilişki diyagramlarıdır [5]. Örneğin, bir tekstil fabrikası veri tabanını düşündüğümüzde bir çalışanın birden fazla departmanda çalışıp çalışamayacağını belirleyen verilere “yapısal” veriler denir. Yapısal verilerde varlıklar arasındaki ilişkiler ve özellikler (alanlar ve tablolar) önceden belirlenmiştir. Bunların dışında veri tabanına girilemez veya saklanamaz. Son yıllarda yaygınlaşan bilgisayar ve internet teknolojileri ile birlikte veriler doğrudan elektronik ortamlarda bilgisayarlar üzerinde üretilmeye başlandı [5]. Örneğin, internet üzerinden yatırılan kredi kartı borçları veya elektronik alışveriş gibi faaliyetlerde internet üzerinde veri tabanları oluşturulur. Bu veri tabanları “yapısal olmayan” veriler olarak adlandırılır

Veri Tabanı Türleri

Veri tabanı Türleri üç kısımda incelenmektedir. Bu veri tabanları Hiyerarşik Veri tabanları, İlişkisel Veri tabanları ve Nesnesel Veri Tabanları’ dır.

Hiyerarşik Veri Tabanları

Hiyerarşik Veri Tabanları, veriyi işlemek ve depolamak için geliştirilmiş olan ilk veri tabanı modeli olarak bilinmektedir. Bu modelde, kök düğüm yani root node haricinde kalan bütün düğümler, kendisinden bir üst düğüme bağlanmak zorundadır [5]. Temelinde Binary Search metodu bulunmaktadır. Hiyerarşik veri tabanları, dünya genelinde yaygın bir kullanıma kavuşmamıştır [5]. Anlaşılacağı üzere hiyerarşik veri tabanları, günlük hayatta yaygın olarak kullanılmamaktadır.

İlişkisel Veri Tabanları

Günümüzde bilgisayar ortamlarında tutulan ilişkisel veri tabanlarının mantığı aslında geçmişte kullanılan kayıt defterlerinin mantığına benzemektedir [5]. Eskiden elektronik ortamda verilerin tutulması pek mümkün olmadığı için; çoğu kurum ve kuruluş, kayıtlarını kayıt defterlerinde tutmuş ve bunları arşivlerde saklamışlardır. İlişkisel veri tabanları, verilerin operasyonel olarak tutulduğu bir model biçimidir. Ayrıca bu model, hız ve kolaylık açısından avantaj kazandırmaktadır. İlişkisel veri tabanları ile diyagramlar oluşturulup, aralarındaki ilişkiler daha net bir şekilde görülebilir. Bu diyagramlar SQL Server ortamında oluşturulabileceği gibi; Microsoft Access, Microsoft Visio gibi platformlarda da oluşturulabilir.

Nesnesel Veri Tabanları

İlişkisel veri tabanları bünyesinde birçok mantıksal nesne bulundurmaktadır. Bu ilişkisel veri tabanlarında en önemlileri Indeks (Index) ve Tablo (Table) olarak bilinmektedir [5]. Nesnesel veri tabanlarını daha somut bir şekilde açıklamak gerekirse, veri tabanı içerisinde tutulan her bir tablonun verileri birbirinden farklıdır. Bu veriler arasındaki ilişkilerin kurulduğu bir başka tablo daha olabilir. Örneğin, müşteri tablosunda bulunan “müsteri_adi” kolonu, şehir tablosunda da olabilir ve bu iki tablo arasında bir ilişki kurulabilir. Ve buna göre veri tabanlarında “Primary Key (Birincil Anahtar)” ve “Foreing Key”ler oluşturulur.

Veri tabanlarının içerisinde nesneleri tutan şemalar ve sistem tabloları bulunmaktadır. Bunların hepsine META-DATA denilir [5].

Kaynakça

[3] Soner Koç, (2015), Neden Veri Tabanı Kullanılır? , http://www.sonerkoc.blogspot.com/2013/03/neden-veri-taban-kullanlr.html

[2] Akçay,F,(2013), “Hastane Otomasyon Projesi” Bitirme Tezi, Dumlupınar Üniversitesi Bilgisayar Mühendisliği

[4] Uğur Kızmaz, (2014) ,Veri Tabanı Yönetim Sistemi , http://www.ugurkizmaz.com/YazilimMakale-1882-Veritabani-Yonetim-Sistemi--Database-Management-System--Nedir-.aspx

[5] Murat Azimli, (2013), “ Hiyerarşik, İlişkisel ve NoSQL Veri Tabanları” , Güz Dönemi Ödevi , Sakarya Üniversitesi Fen Bilimleri Enstitüsü

--

--

Kardel Rüveyda ÇETİN
Kardel Rüveyda ÇETİN

Written by Kardel Rüveyda ÇETİN

Software Development Lead @DogusTeknoloji | Microsoft MVP | Mathematical Engineer | Speaker | Blogger | Founder&Organizer @thecoderverse

No responses yet