İçeriğe atla

Veri tutarlılığı

Veri tutarlılığı, veritabanı sistemlerinde verilerin mantıksal tutarlılık kavramını ifade eder. Bu diğer tablolardaki kayıtlar ile ilgili bir tutarlılık olabileceği gibi aynı tablodaki farklı sütunlar arasındaki tutarlılıktan da bahsedilebilinir.

İyi bir veri tabanı yönetim sistemi veri tutarlılığı konusunda çok hassastır.

Veri Tutarlılığı

Veri tutarlılığı kavramını biraz açalım:

İlişkisel veri tabanı sistemleri getirdiği büyük kolaylık ve avantajlarının yanında yumuşak karın misali noktaları vardır... Bunlardan bir tanesi veri tutarlılığı problemidir. Mesela personelin tutulduğu bir tablomuz olsun. Bu tabloda her personelin bölümünü tutacak olalım. Eğer tablomuz

PERSONEL (PERSONEL_NO, PERSONEL_ADI, BOLUM_ADI)

şeklinde bir yapıda olsaydı zaten her personelin bölümünün adını personel tablosuna yazsaydık yanlış bir veritabanı tasarımı yapmış olurduk fakat veri tutarlılığı problemimiz olmazdı. Doğru bir veritabanı tasarımı yapmak için ayrı bir bölüm tablosu oluşturmalıyız. Yani yeni durumda tablolar şöyle olur:

PERSONEL (PERSONEL_NO, PERSONEL_ADI, BOLUM_NO)

BOLUM (BOLUM_NO, BOLLUM_ADI)

Bu durumda bizi bekleyen tehlike veri tutarlılığı problemidir. Yani eğer 1 numaralı bölüm "Bilgi işlem" ise ve PERSONEL tablosundaki bazı kayıtların BOLUM_NO alanları da 1 ise o zaman BOLUM tablosundaki 1 numaralı bölümün kesinlikle silinmemesi gerekmektedir. Ya da BOLUM_NO alanının değiştirilmemesi gerekmektedir. Veyahut da değiştirilse bile mesela Bilgi İşlem'in bölüm numarası 10 yapılırsa o zaman PERSONEL tablosundaki BOLUM_NO alanı 1 olanların da tamamının 10 yapılması gerekir. İlişkisel veritabanlarında bu durum veri tutarlılığı olarak adlandırılır. Bu veri tutarlılığını sağlamanın en doğru yolu bu işin veritabanı düzeyinde yapılmasıdır. Uyguluma katmanında bu işin yapılması da uygulanan bir yöntem olmakla birlikte doğru değildir. Çünkü o uygulama dışında veritabanına yapılacak erişimlerde veri tutarlılığı riske atılmış olacaktır. Veritabanı düzeyinde veri tutarlılığı sağlamak için de iki farklı yöntem söz konusudur.

1. Yabancı anahtar

2. Trigger

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">MySQL</span>

MySQL, altı milyondan fazla sistemde yüklü bulunan çoklu iş parçacıklı, çok kullanıcılı, hızlı ve sağlam bir veri tabanı yönetim sistemidir.

SQL, verileri yönetmek ve tasarlamak için kullanılan bir dildir. SQL, kendi bir programlama dili olmamasına rağmen birçok kişi tarafından programlama dili olarak bilinir. SQL herhangi bir veri tabanı ortamında kullanılan bir alt dildir. SQL ile yalnızca veri tabanı üzerinde işlem yapılabilir; veritabanlarında bulunan sistemlere bilgi ekleme, bilgi değiştirme, bilgi çıkarma ve bilgi sorgulama için kullanılmaktadır. Özellikle de ilişkisel veritabanı sistemleri üzerinde yoğun olarak kullanılmaktadır. SQL'e özgü cümleler kullanarak veri tabanına kayıt eklenebilir, olan kayıtlar değiştirilebilir, silinebilir ve bu kayıtlardan listeler oluşturulabilir.

Veritabanları, yapılandırılmış bilgi veya verilerin depolandığı alanlardır. Bilgi artışıyla birlikte bilgisayarda bilgi depolama ve bilgiye erişim konularında yeni yöntemlere ihtiyaç duyulmuştur. Veritabanları; büyük miktardaki bilgileri depolamada geleneksel yöntem olan "dosya-işlem sistemine" alternatif olarak geliştirilmiştir. Telefonlardaki kişi rehberi günlük hayatta çok basit bir şekilde kullanılan veri tabanı örneği olarak kabul edilebilir. Bunların dışında internet sitelerindeki üyelik sistemleri, akademik dergilerin ve üniversitelerin tez yönetim sistemleri de veritabanı kullanımına örnektir. Veritabanları sayesinde bilgilere ulaşılabilir ve onları düzenlenebilir. Veritabanları genellikle bireysel olarak satın alınamayacak kadar yüksek meblağlara sahip olmasına karşın; ücretsiz kullanıma açılan akademik veritabanları da bulunmaktadır. Akademik veritabanları aracılığıyla bazen bibliyografik bilgi bazen de tam metinlere erişmek mümkündür. Veritabanları, veritabanı yönetim sistemleri aracılığıyla oluşturulur ve yönetilir. Bu sistemlere; Microsoft Access, MySQL, IBM DB2, Informix, Interbase, Microsoft SQL Server, PostgreSQL, Oracle ve Sysbase örnek olarak verilebilir.

Normalizasyon (Ayrıştırma), veritabanlarında çok fazla sütun ve satırdan oluşan bir tabloyu tekrarlardan arındırmak için daha az satır ve sütun içeren alt kümelerine ayrıştırma işlemidir.

Trigger yani tetikleyici, ilişkisel veri tabanı yönetim sistemlerinde bir tabloda belirli olaylar meydana geldiği zaman yani ekleme, güncelleme, silme işlemlerinden biri gerçekleşmeden önce veya sonra çalışan ve belirli işlemleri kodlandığı şekilde yerine getiren yordamdır.

<span class="mw-page-title-main">PostgreSQL</span> Veri tabanı yönetim sistemi

PostgreSQL ya da Postgres, özgür ve açık kaynak kodlu, SQL destekli bir ilişkisel veritabanı yönetim sistemidir.

<span class="mw-page-title-main">Microsoft SQL Server</span>

Microsoft SQL Server, Microsoft tarafından geliştirilen ve yönetilen bir ilişkisel veritabanı yönetim sistemidir. SQL Server, büyük ve karmaşık veritabanlarını depolamak, yönetmek, sorgulamak ve işlemek için kullanılan bir yazılım ürünüdür. Veri depolama, veri güvenliği, yedekleme, geri yükleme, veri entegrasyonu, analiz ve raporlama gibi çeşitli veritabanı yönetimi işlevlerini destekler.

Sanal bellek, fiziksel belleğin görünürdeki miktarını arttırarak uygulama programına (izlence) fiziksel belleğin boyutundan bağımsız ve sürekli bellek alanı sağlayan bilgisayar tekniğidir. Ana belleğin, diskin (ikincil saklama) önbelleği (cache) gibi davranmasıyla; yani disk yüzeyini belleğin bir uzantısıymış gibi kullanmasıyla gerçekleştirilir. Ancak gerçekte, yalnızca o anda ihtiyaç duyulan veri tekerden ana belleğe aktarılıyor olabilir. Günümüzde genel amaçlı bilgisayarların işletim sistemleri çoklu ortam uygulamaları, kelime işlemcileri, tablolama uygulamaları gibi sıradan uygulamalar için sanal bellek yöntemi kullanılmaktadır.

MyISAM, MySQL ilişkisel veri tabanı yönetim sisteminin kullandığı ön tanımlı kayıt motorudur. Öncülü ISAM kodu temel alınarak geliştirilen MyISAM birçok yararlı özelliğe sahiptir. Ne var ki, MySQL'in son sürümleri aktarım ve veri tutarlılığı kısıtlamaları desteği sunan ve yüksek eşgüdüm öngören InnoDB'yi yeğlemektedir.

<span class="mw-page-title-main">Veri sözlüğü</span> veri ögelerinin tanımlarını ve temsillerini içeren meta veri kümesi

IBM Bilişim Sözlüğü'ne göre veri sözlüğü, "veriyi anlamı, farklı veri türleriyle olan ilişkisi, kökeni, kullanımı ve biçimine göre sınıflandırmaya yarayan bir gösterimdir." Terim, veritabanları ve veritabanı yönetim sistemleri bağlamında farklı anlamlarda kullanılabilmektedir.

Bilgisayar bilimleri'nde NoSQL, klasik ilişkisel veritabanı yönetim sistemlerinden (İVTYS) bir şekilde farklı olan veritabanı yönetim sistemleri için kullanılan bir kavramdır. Bu veri depolarının sabit tabela düzenlerine ihtiyaçları olmayabilir, alışılagelmiş join işlemleri kullanılmaz, tipik olarak yatay ölçeklemeye gidilir. Akademisyenlerce ve makalelerde tipik olarak böyle veri depolarına yapılanmış bellek denir. Bu kavram klasik ilişkisel veritabanlarını altküme olarak görür. Bu kavram aynı zamanda SQL ve Daha Fazlası olarak da adlandırılmaktadır.

Bir uzamsal (mekansal) veri tabanı verileri depolamak ve bir geometrik uzayda/uzamda/mekanda tanımlanmış nesneleri temsil için sorgu verileri ile en uygun hale getirilmiş bir veri tabanıdır. En gelişmiş uzamsal veri tabanları, noktalar, çizgiler ve çokgenler gibi basit geometrik nesnelerin temsiline izin verir. Bazı uzamsal veri tabanları, 3D nesneler, topolojik kapatıcılık, doğrusal ağlar ve Üçgenlenmiş Düzensiz Ağ gibi daha karmaşık yapıları işlemektedir. Özgün veri tabanları çeşitli sayısal veriler ve karakter tiplerini yönetmek için tasarlanmış olsa da veri tabanlarına etkin uzamsal veri türlerini işlemek için ek işlevsellik eklenmesi gerekiyor. Bunlara genellikle geometri veya özellik denir. Open Geospatial Consortium basit özelliklerin belirtimini oluşturdu ve veri tabanı sistemlerinde uzamsal işlevsellik eklemek için ölçütleri belirliyor.

Bilgisayar yazılımında veri erişim katmanı, tutarlı bir depoda saklanan veriye basitçe erişim sağlayan bir bilgisayar programı katmanıdır, bu tutarlı depoya varlık-ilişki veritabanı örneği verilebilir. Bu yapı ismi Microsoft.ASP.NET ortamlarında yaygın bir şekilde kullanılır.

Aşağıdaki tablolarda mevcut veritabanı yöneticisi araçların bir dizisi için genel ve teknik bilgilerin karşılaştırılması verilmiştir. Daha fazla bilgi için bireysel ürün makalelerine bakınız. Bu makale her şey dahil mutlaka günceldir.

İlişkisel veritabanı, 1970 yılında Edgar Frank Codd tarafından önerildiği gibi, organizasyonu ilişkisel veri modeline dayanan bir dijital veritabanıdır. İlişkisel veritabanlarını korumak için kullanılan çeşitli yazılım sistemleri bir ilişkisel veritabanı yönetim sistemi (RDBMS) olarak bilinir. Neredeyse tüm ilişkisel veritabanı sistemleri, sorgulama ve veritabanının bakımı için dil olarak SQL(Structured Query Language) kullanmaktadırlar.

Bir veritabanı dizini, veri ve dizinin veri yapısını koruyan ve ek depolama alanı maliyetiyle bir veritabanı tablosundaki veri alma işlemlerinin hızını artıran bir veri yapısıdır. İndeksler, bir veritabanı tablosuna yapılan bütün erişimlerde, veritabanı tablosundaki her satırı tek tek aramaya gerek kalmadan hızlı bir şekilde verileri bulmak için kullanılır. İndeksler, hızlı rastgele aramalarda ve sipariş edilen kayıtların verimli bir biçimde erişimine olanak sağlayan bir veritabanı tablosunun bir veya daha fazla sütunu kullanılarak ve genişletilerek oluşturulabilir.

SQL Server Compact veya SQL CE Mobil cihazlar ve masaüstü uygulamalar için Microsoft tarafından üretilen kompakt bir ilişkisel veritabanıdır. Masaüstü platformunun tanıtımından önce, Windows CE ve SQL Server Mobile Edition için SQL Server olarak biliniyordu. En yeni sürüm SQL Server Compact 4.0, .NET Framework 4.0'ı destekliyor ve bu sürümde Windows Mobile için destek bırakıyor. Hem 32 bit hem de 64 bit yerel desteği içerir. SQL CE zaman zaman bağlı uygulamaları ve uygulamaları gömülü bir veritabanı ile hedefler. İndirmek ve yeniden dağıtmak serbesttir. SQL CE için bir ODBC sürücüsü yoktur ve planlanmamış biridir. Yerel uygulamalar, OLE DB aracılığıyla SQL CE'yi kullanabilir.

Veritabanı güvenliği, çok çeşitli bilgi güvenliği kontrollerinin kullanımı ile ilgilidir ve veri tabanlarınının(imkân dahilinde verileri, veritabanı uygulamalarını veya kayıt edilmiş işlevleri, veri tabanı sistemlerini, veritabanı sunucularını ve ilişkili ağ bağlantılarını içerir.) gizliliğini, bütünlüğünü ve erişilebilirliğini saldırılara karşı korur. Teknik, idari, yargı ve fiziksel gibi çeşitli türde ve kategoride kontroller veritabanı güvenliği kapsamı içerisine girer. bilgisayar güvenliği, bilgi güvenliği ve risk yönetimi alanları içerisinde, veritabanı güvenliği uzmanlık gerektiren bir konudur.

Bir bilgi tabanı (KB), bir bilgisayar sistemi tarafından kullanılan karmaşık yapılandırılmış ve yapılandırılmamış bilgileri depolamak için kullanılan bir veri kayıt ortamı teknolojisidir. Terimin ilk kullanımı, ilk bilgi-tabanlı sistem olan uzman sistemler ile bağlantılıydı.

Birinci normal form veya Birinci normal biçim (1NF), ilişkisel bir veritabanındaki bir ilişkinin özelliğidir. Bir ilişki, ancak ve ancak her bir öznitelik yalnızca atomik (bölünemez) değerler içeriyorsa ve her özniteliğin değeri, bu etki alanından yalnızca tek bir değer içeriyorsa birinci normal biçimdedir (1NF). Terimin ilk tanımı, Edgar Codd'un 1971 tarihli bir konferans makalesinde yapılmıştır.