AÖF Soru Bankası

Temel Bilgi TeknolojileriÜnite 7 Özeti

Veri Tabanı Yönetim Sistemleri

BIL111U- TEMEL BİLGİ TEKNOLOJİLERİ

Ünite 7: Veri Tabanı Yönetim Sistemleri

Veri Tabanı Temelleri

Veri, çağımızın en değerli kaynaklarından biri hâline gelmiş olup, bu verilerin düzenli şekilde saklanması, erişilmesi ve işlenmesi zorunlu bir ihtiyaç olarak ortaya çıkmıştır.

Veri, Bilgi ve Veri Tabanı Kavramları

Günlük yaşamda karşılaşılan ham gerçekler, gözlemler ya da ölçümler biçiminde toplanan, anlamı doğrudan çıkarılamayan sembollere Veri denir. Bilgi ise, bu ham verilerin işlenmiş, analiz edilmiş ve anlamlandırılmış hâlidir; veri bir "ham madde", bilgi ise bu maddenin işlenmiş ve kullanılabilir duruma getirilmiş hâlidir. Ham veriler, bağlamsal ilişkilerle işlendiğinde bilgi ortaya çıkar. Veri Tabanı, belirli bir amacı gerçekleştirmek üzere yapılandırılmış, birbirleriyle ilişkili verilerin bütünüdür. Bu verilerin merkezî, tutarlı ve güvenli bir biçimde saklandığı, kullanıcıların yetkileri doğrultusunda erişmesini ve yönetmesini sağlayan yazılımsal sistemlere ise Veri Tabanı Yönetim Sistemi denir. VTY sistemleri, veriyi depolamakla kalmaz, aynı zamanda kullanıcıların verilere güvenli, hızlı ve etkili biçimde erişmesini de mümkün kılar.

Dosya Tabanlı Sistemlerin Sınırlılıkları

Bilgi sistemlerinin gelişiminde veri yönetimi ilk olarak dosya tabanlı sistemlerle başlamıştır. Bu geleneksel sistemlerde veriler, düz metin veya sabit yapılı dosyalarda tutulur ve her uygulama kendi veri yapısına göre ayrı dosyalar oluştururdu.

Dosya tabanlı sistemlerde karşılaşılan temel sınırlılıklar şunlardır:

• Veri Tekrarı ve Tutarsızlık: Her birimin kendi bağımsız veri dosyalarını oluşturması, aynı bilgiye birden fazla kez yer verilmesine neden olur. Bu veri tekrarı hem bellek israfına yol açar hem de güncellemelerin birbirinden kopuk yapılması sonucu eski ve yeni bilgilerin sistemde aynı anda varlığını sürdürmesine, dolayısıyla veri tutarsızlığına yol açar.

• Yapısal Bağımlılık: Dosya tabanlı sistemlerde verinin yapısı ile programlar arasında sıkı bir bağımlılık vardır. Veri yapısında yapılacak herhangi bir değişiklik, o veriye erişen tüm yazılımların da güncellenmesini gerektirir, bu da sistemin bakımını zorlaştırır.

• Erişim ve Güvenlik Zorlukları: Bu sistemler, kullanıcı erişimi, veri paylaşımı, güvenlik ve yetkilendirme açılarından yetersiz kalır. Kullanıcıların basit raporlar için bile programcılara bağımlı olması, hızlı karar almayı engeller.

Veri tabanı yönetim sistemleri, bu sorunlara çözüm olarak merkezî bir yapı sunar. Verilerin merkezî olarak saklanması ve bütünleşik yapılar içinde yönetilmesi sayesinde veri tekrarları azaltılır, tutarsızlıklar ortadan kaldırılır ve veri güvenliği sağlanır.

Veri Tabanı Yönetim Sistemlerinin Temel Fonksiyonları

VTY sistemleri, veriyi etkili ve güvenli bir biçimde yönetmek için veri tanımlama, veri işleme, veri bütünlüğü ve güvenlik olmak üzere dört temel alanda işlev sunar.

• Veri Tanımlama ve Yapılandırma: VTY sistemleri, tabloların, sütunların, veri türlerinin ve anahtarların hangi kurallara göre saklanacağını tanımlayan araçlar sunar. Bu işlemler, Veri Tanımlama Dili komutlarıyla yürütülür.

• Veri İşleme ve Sorgulama: VTY, veriye erişmek, veriyi güncellemek, silmek veya yeni veri girmek gibi işlemleri sağlar. Bu işlevler, Veri İşleme Dili ile gerçekleştirilir. Kullanıcılar, SQL gibi sorgulama dilleri üzerinden bu işlemleri yapabilir.

• Veri Bütünlüğü ve Güvenliği: Veri tabanı sistemleri, verilerin doğruluğunu ve tutarlılığını koruyan "bütünlük kısıtlamaları" tanımlar. Ayrıca, hassas verilerle çalışılan sistemlerde her kullanıcıya ayrı bir yetki düzeyi tanımlayarak veri güvenliğini sağlar.

• Eş Zamanlılık ve Çoklu Kullanıcı Desteği: Modern veri tabanları, aynı anda birden fazla kullanıcının sisteme erişmesini destekler. İki kullanıcının aynı anda aynı kaydı güncelleyerek "kayıp güncelleme" sorununa neden olmasını önlemek için kilitleme ve işlem yönetimi gibi eş zamanlılık kontrolü mekanizmaları sunar. İşlem, veri tabanı üzerinde bütünlük içinde gerçekleştirilen işlem birimidir ya tamamen tamamlanır ya da hiç gerçekleşmemiş gibi geri alınır.

İlişkisel Veri Tabanı Yönetim Sistemleri

İlişkisel veri tabanı yönetim sistemleri, verilerin tablolar şeklinde saklandığı, birbiriyle ilişkilendirildiği ve sorgularla analiz edilebildiği yapılardır. İlişkisel modelin temel özelliği, tüm verilerin satır ve sütunlardan oluşan tablolar içinde düzenli biçimde tutulmasıdır.

İlişkisel Modelin Yapısı ve Temel Bileşenleri

İlişkisel modelde veriler, mantıksal olarak bağlantılı tablolar hâlinde saklanır.

• Tablo: Verilerin iki boyutlu bir yapıda tutulduğu temel yapıdır. Her tablo, tek bir varlık türünü temsil eder.

• Kayıt: Tabloda yer alan her bir satır, temsil edilen varlıkla ilgili tüm bilgileri içeren tekil bir veri örneğidir.


• Nitelik: Tablodaki her sütun, bir varlığa ait özelliklerden birini temsil eder.

Anahtarlar ve Bütünlük Kuralları

Anahtarlar, verilerin eşsiz biçimde tanımlanmasını ve tablolar arasında ilişki kurulmasını sağlayan yapısal mekanizmalardır.

• Birincil Anahtar: Tablodaki her satırı benzersiz şekilde tanımlar, boş bırakılamaz ve tekrar eden değerlere izin verilmez.

• Aday Anahtar: Birincil anahtar olmaya potansiyel olan, eşsizlik özelliğini taşıyan diğer sütunlardır.

• Bileşik Anahtar: Bir tabloyu eşsiz biçimde tanımlamak için birden fazla alanın birleşimiyle oluşturulan anahtardır.

• Yabancı Anahtar: Bir tablodaki alanın, başka bir tablonun birincil anahtarına referans vermesini sağlayan yapıdır. Tablolar arasında tutarlı ve denetimli ilişkilerin kurulmasını sağlar.

Bu anahtarlar, aşağıdaki bütünlük kuralları aracılığıyla verinin geçerliliğini ve tutarlılığını güvence altına alır:

• Varlık Bütünlüğü İlkesi: Her tablonun birincil anahtarı hiçbir zaman boş olamaz.

• İlişkisel Bütünlük İlkesi: Bir tablodaki yabancı anahtarın işaret ettiği değer, mutlaka referans verdiği tabloda bulunmalıdır. Bu kuralın uygulanmaması halinde yetim kayıtlar ortaya çıkabilir.

İlişki Türleri ve Normalizasyon

Tablolar arası ilişkiler veri bütünlüğünü sağlamak ve veri tekrarını azaltmak için önemlidir. İlişkiler üç temel kategoriye ayrılır:

• Bire Bir İlişki: Bir varlık kümesinin bir örneği, diğer varlık kümesinin yalnızca bir örneği ile ilişkilidir.

• Bire Çok İlişki: En yaygın ilişki türüdür; bir tablodaki her kayıt, başka bir tabloda birden fazla kayıtla eşleşebilir.

• Çoktan Çoğa İlişki: İlişkisel veri tabanı ortamı, bu ilişkileri doğrudan desteklemez. Bu tür ilişkiler, bir birleşim tablosu yardımıyla iki adet 1:N ilişkiye dönüştürülerek yönetilir.

Normalizasyon, veri tabanındaki veri tekrarlarını azaltmak, veri bütünlüğünü artırmak ve daha tutarlı veri yapıları elde etmek için gerçekleştirilen yapısal düzenleme sürecidir. Normalizasyon sürecinde tablolar aşamalı olarak sadeleştirilir:

• Birinci Normal Form: Her alan tek bir değerden oluşmalıdır; çoklu değerler ayrı satırlara bölünmelidir.

• İkinci Normal Form: Veri, bileşik anahtarın tamamına bağımlı olmalıdır; yalnızca bir anahtar bileşenine bağlı olan nitelikler ayrı bir tabloya ayrılmalıdır.

• Üçüncü Normal Form: Tüm öz nitelikler yalnızca birincil anahtara bağlı olmalıdır. Eğer bir sütun birincil anahtara değil, başka birincil olmayan bir sütuna bağlıysa, bu bilgi ayrı bir tabloya taşınmalıdır.

Normalizasyon, veri tekrarlarını azaltıp güncellemeleri kolaylaştırsa da aşırı normalizasyon çok fazla tabloya bölünmeye ve sorgu performansının olumsuz etkilenmesine neden olabilir.

Veri Tabanı Tasarımı

Veri tabanı tasarımı, yalnızca veri yapılarının belirlenmesi değil, bu yapıların kurum ihtiyaçlarını karşılayacak şekilde planlanması sürecidir.

Veri Tabanı Yaşam Döngüsü

Bir veri tabanının fikir olarak ortaya çıkmasından, işletilmesine ve zaman içinde geliştirilmesine kadar geçen süreçlerin bütününe Veri Tabanı Yaşam Döngüsü adı verilir. DBLC, altı aşamadan oluşur:

• Veri Tabanı Ön İncelemesi: Kurumun mevcut sistemi analiz edilir, sorunlar ve hedefler netleştirilir; yeni bir veri tabanına ihtiyaç olup olmadığı belirlenir.

• Veri Tabanı Tasarımı: Kavramsal, mantıksal ve fiziksel tasarım adımlarını içerir; tüm sistemin omurgasını oluşturur.

• Kurulum ve Veri Yükleme: Seçilen VTY sistemi kurulur, tablolar oluşturulur ve var olan veriler sisteme aktarılır.

• Test ve Değerlendirme: Kurulan VTY, örnek veri girişleriyle sınanır ve beklenmedik durumlara tepkisi kontrol edilir.

• Kullanım: Testleri geçen sistem aktif olarak kullanılmaya başlanır.

• Bakım ve Gelişim: Kullanıcı ihtiyaçlarına göre yeni özellikler eklenir ve sistemdeki hatalar giderilir.

Tasarım Aşamaları: Kavramsal, Mantıksal ve Fiziksel

Tasarım süreci, üç temel aşamadan oluşur:

• Kavramsal Tasarım: Kullanıcı gereksinimlerine göre sistemde hangi verilerin bulunacağına ve bunların birbirleriyle olan ilişkilerine odaklanır. Bu aşamanın en önemli çıktısı, Varlık-İlişki Diyagramı’dır. ER Diyagramı, varlıkları, öznitelikleri ve ilişkileri grafiksel olarak gösterir.


• Mantıksal Tasarım: Kavramsal modelin, ilişkisel veri tabanı modeline uygun şekilde tablolara dönüştürülmesini içerir. Her varlık bir tabloya, öznitelikler sütunlara çevrilir ve ilişkiler yabancı anahtarlar aracılığıyla gösterilir. Bu süreçte normalizasyon adımları uygulanır.

• Fiziksel Tasarım: Mantıksal modelde şekillenen yapıların, gerçek bir VTY sistemi üzerinde uygulanabilir hâle gelmesini sağlar.

Fiziksel Tasarımda Odak Noktaları

Fiziksel tasarım, sistemin verimliliği ve güvenilirliği açısından kritik öneme sahiptir.

• Depolama ve Performans: Tablo yapılarının disk bloklarına yerleştirilmesi ve hangi alanlara indeks atanacağı belirlenir. İndeksleme, verilerin disk üzerindeki yerini referans alan yardımcı veri yapıları oluşturarak arama işlemlerini hızlandıran bir tekniktir. Doğru indeksleme, karmaşık sorguların hızlı sonuçlanmasına olanak verir.

• Güvenlik: Fiziksel tasarımda yetkilendirme, kimlik doğrulama, yedekleme ve kurtarma mekanizmaları planlanır; bu önlemler veri kaybı ve yetkisiz erişim risklerine karşı korunma sağlar.

SQL

SQL, ilişkisel veri tabanı sistemleri ile iletişim kurmak için kullanılan standart bir dildir. SQL, verileri sorgulamak, güncellemek, eklemek ve silmek gibi işlemleri gerçekleştirmeye olanak tanır.

Temel SQL Komutları

Temel SQL komutları, DDL, DML ve DQL olmak üzere üç ana grupta ele alınır.

Komut Komut İşlevi Grubu

CREATE Veri tabanında yeni bir tablo DDL TABLE yapısı oluşturur.

INSERT DML Tabloya yeni veriler ekler. INTO

Tabloda var olan kayıtlarda DML UPDATE güncelleme yapar.

Tablodan belirtilen koşula DML DELETE uyan kayıtları siler.

Verileri sorgulamak ve DQL/DML SELECT görüntülemek için kullanılır.

UPDATE ve DELETE komutlarında, hangi kaydın etkileneceğini belirleyen WHERE ifadesinin kullanılması büyük önem taşır; aksi takdirde tablodaki tüm veriler etkilenebilir. SELECT * FROM Tablo komutu ise tablodaki tüm sütunları ve tüm kayıtları getirir.

Tablolar Arası İlişkilerde JOIN İşlemleri

İlişkisel veri tabanlarında, farklı tablolarda bulunan verilerin anlamlı biçimde bir araya getirilmesi gerektiğinde JOIN işlemleri devreye girer. JOIN, birbirine anahtar alanlar üzerinden bağlı olan tablolardaki verileri birleştirerek tek bir sonuç kümesinde sunar.

• INNER JOIN: Her iki tabloda da eşleşen verilere sahip kayıtların döndürüldüğü JOIN türüdür. Yalnızca iki tabloda ortak olan kayıtlar sonuç kümesine alınır.

• LEFT JOIN: Sol tablodaki tüm kayıtları döndürür. Sağ tablodaki eşleşmeler varsa gösterilir, yoksa NULL döner.

• RIGHT JOIN: LEFT JOIN’in tersidir; sağ tablodaki tüm kayıtlar alınır, sol tabloda eşleşme yoksa NULL döner.

Koşullu Sorgular ve Filtreleme

SQL, SELECT komutu ile birlikte kullanılan çeşitli filtreleme ve koşul belirleme ifadeleri sunar.

• WHERE Koşulu: Veriler üzerinde koşula dayalı temel filtreleme yapar.

• Karşılaştırma Operatörleri: ">", "<="ve "<>" gibi operatörler koşullu sorgularda kullanılır.

• Mantıksal Operatörler: Birden fazla koşulun sorgulanmasını sağlar: AND, OR.

• BETWEEN: Sıralı veri türlerinde iki değer arasındaki kayıtları seçmek için kullanılır ve sınır değerleri de aralığa dâhildir.

• LIKE: Karakter dizileriyle çalışırken şablon eşleştirme imkânı sunar. % ve _ joker olarak kullanılır.

• IN: Sütun değerinin belirli bir küme içinde olup olmadığını kontrol eder.

Bu ünitenin sorularını uygulamada çözŞıklar, doğru cevaplar ve süreli sınav modu AÖF Soru Bankası uygulamasında