İçeriğe atla

Veritabanı dizini

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.

Dizin, bir verinin seçilen sütunlarının bir kopyasını, çok verimli bir şekilde aranabilen, aynı zamanda bir alt düzey disk blok adresi veya kopyalanan verinin tüm satırına doğrudan bağlantı içeren bir kopyadır. Bazı veritabanları, geliştiricilerin işlevler veya ifadeler üzerinde dizinler oluşturmalarına izin vererek dizin oluşturma gücünü genişletir. Örneğin, last_name alanının yalnızca büyük harf sürümlerini dizinde saklanacak üst(last_name) adlı bir dizin oluşturulabilir. Bazen desteklenen başka bir seçenek, parçalı indekslemelerin kullanılmasıdır; buradaki dizin girdileri yalnızca bazı koşullu ifadeleri karşılayan kayıtlar için oluşturulmuştur. Esnekliğin bir diğer yönü, kullanıcı tanımlı işlevlerin yanı sıra sunucu taraflı işlevlerin pek çok çeşidinden oluşan ifadelerin kullanılarak, dizine eklenmesine izin vermektir.

Kullanımı

Hızlı arama desteği

Çoğu veritabanı yazılımında, veri setinden yapılacak olan doğrusal bir arama, büyük veritabanlarında verimsizdir, bu nedenle performansı artırmak için doğrusal olmayan arama biçimini sağlayan dizin oluşturma teknolojileri bulunmaktadır.

Bir veritabanının N adet veri maddesini içerdiğini ve yalnızca bir verinin seçilmesi gerektiğini varsayalım. Basit bir uygulama, gerekli denetimleri yapmak amacıyla her bir maddeyi tek tek alır ve inceler. Eşleşen tek bir öge varsa, bu tek bir ögeyi bulduğunda durabilir, ancak birden çok eşleşme varsa, her şeyi denetlemelidir.Bu, en kötü durumda operasyonların sayısı O(N) veya doğrusal zaman artımının bütün veri setinin sonuna kadar süreceği anlamına gelir.Veritabanları çok sayıda nesnelerden oluşabilir ve arama sıklıkla yapılan bir işlemdir.Bu durumda genellikle, performansı artırmak arzu edilir.

İndeksleme, arama performansını artıran herhangi bir veri yapısıdır. Bu amaçla kullanılan birçok veri yapısı vardır. Arama performansı, dizin boyutu ve dizin güncelleme performansı gibi fenomenleri içeren karmaşık tasarım biçimleri vardır. Çoğu dizin tasarımları logaritmik(O (log (N))) arama performansı sergiler ve bazı uygulamalarda düz (O (1)) gibi bir performansın elde edilmesi de mümkündür.

Veritabanı kısıtlamaları

İndeksler, UNIQUE, EXCLUSION, PRIMARY KEY ve FOREIGN KEY gibi veritabanı kısıtlamalarını kullanır.Bir dizin, tabloda eş değersiz bir kısıt oluşturan UNIQUE kullanabilir. Veritabanı sistemleri genellikle gizli biçimde PRIMARY KEY olarak tanımlanan bir dizi sütun gruplarından üst bir dizin oluşturur ve bazıları ise bu kısıtlamayı kontrol etmek için mevcut bir dizini kullanabilir. Çoğu veritabanı sistemi, FOREIGN KEY sınırlamasındaki her başvuru için, başvurulan sütun kümesinin dizine eklenmesini gerektirir, böylece kısıtlamaya katılan tablolarda ekleme, güncelleme ve silme performansını artırır.

Bazı veritabanı sistemleri, yeni eklenen veya güncellenen bir kayıt için belirli bir yüklemin başka hiçbir kayıt için tutulmadığını garanti eden bir EXCLUSION kısıtlamasını desteklemektedir. Bu ise; eşsiz bir kısıtlama sağlamak ve örtüşen zaman aralıklarının veya kesişen geometri nesnelerinin tabloda ilaveten depolanmamasını sağlamak gibi daha karmaşık sistemleri uygulamak için kullanılabilir. Böyle bir kısıtlamayı kullanmak için kayıtların hızlı aranmasını destekleyen bir indeksleme yöntemi gereklidir.[1]

Kaynakça

  1. ^ "PostgreSQL 9.1.2 Documentation: CREATE TABLE". 2 Eylül 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 30 Ocak 2017. 

İlgili Araştırma Makaleleri

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

Web arama motoru veya internet arama motoru, web'de sistematik bir şekilde internet kullanıcılarının istedikleri bilgilere anında erişebilmek için sıkça kullandıkları bir yazılım türüdür. Birincil işlevi internette veya internetin bir kısmında bulunmuş olan verileri bir araya getirmek ve raporlamaktır. Arama sonuçları genellikle satırlara ayrılmış sonuç sayfaları şeklinde sunulur. Bulunan bilgiler arasında web sayfası bağlantıları, görseller, videolar, infografikler, yazılar, akademik makaleler ve diğer dosya türleri yer alabilir. Arama motoru, çıktı olarak elde edilmiş kayıtlar ve bilgilerin hepsini birbiriyle karşılaştırarak sorgulayan, bir sorgunun kabul edilebilmesi için gerekli faaliyetleri gerçekleştiren, elde edilen verilerin performanslarının en yüksek olmasını amaçlayan bir sorgulama ve bulma mekanizmasıdır. Bazı arama motorları, veri tabanlarında ve kamuya açık dizinlerde bulunan bilgileri de indeksler. Bu noktada toplanan veriler, web sitesi URL’sini, web sitesinin içeriğini açıklayan bazı anahtar kelimeleri veya anahtar kelime gruplarını, web sayfasını oluşturan kod yapısını ve web sitesinde verilen bağlantıları içerir. Arama motorları, insanlar tarafından derlenen web dizinlerinin aksine, "örümcek" denilen botlar tarafından toplanan bilgileri belirli bir algoritma yardımıyla gerçek zamanlı olarak yansıtabilirler. Ve de günümüzde World Wide Web ile çok iyi bir hale gelen arama motorları, giderek profesyonelleşmeye devam etmektedir.

<span class="mw-page-title-main">AES</span> Şifreleme standartı

AES, elektronik verinin şifrelenmesi için sunulan bir standarttır. Amerikan hükûmeti tarafından kabul edilen AES, uluslararası alanda da defacto şifreleme (kripto) standardı olarak kullanılmaktadır. DES'in yerini almıştır. AES ile tanımlanan şifreleme algoritması, hem şifreleme hem de şifreli metni çözmede kullanılan anahtarların birbiriyle ilişkili olduğu, simetrik-anahtarlı bir algoritmadır. AES için şifreleme ve şifre çözme anahtarları aynıdır.

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.

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.

Veri yapısı, bilgisayar ortamında verilerin etkin olarak saklanması ve işlenmesi için kullanılan yapı.

<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.

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.

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

Bilişim bilimlerinde komut çizelgesi, komut işlevini tanıyıcı değer olarak bilinen benzersiz anahtarı bir değerle eşleyen bir veri yapısıdır. Böylece komut çizelgesi bir birleşik dizidir. Komut işlevi, ilişkin değerin arandığı anahtarı bir dizi elemanının indisine çevirir.

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.

İ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.

<span class="mw-page-title-main">Ayrıştırıcı (yazılım)</span>

Ayrıştırıcı, girdi verilerini alır ve girdinin yapısal bir temsilini vererek, süreçte doğru sözdizimini kontrol eden bir veri yapısı oluşturan bir yazılım bileşenidir. Ayrıştırma öncesinde veya sonrasında başka adımlar izlenebilir veya bunlar tek bir adımda birleştirilebilir. Ayrıştırıcı, genelde girilen karakter dizisinden belirteçler oluşturan ayrı bir sözcük tabanlı analiz motorunu takip eder. Ayrıştırıcılar elle programlanabilir veya bir ayrıştırıcı üreteci tarafından otomatik olarak veya yarı otomatik olarak oluşturulabilir. Ayrıştırma, biçimlendirilmiş çıktı üretimlerini tek bir şablonda tamamlama görevi görür. Bunlar, farklı etki alanlarına uygulanabilir, ancak bir derleyicinin girdi ve çıktı aşamaları gibi genellikle bir arada sunulur.

Windows Arama Windows XP ve Windows Server 2003'te daha önce Windows Masaüstü Araması (WDS) olarak bilinirdi, Microsoft tarafından oluşturulan dizine eklenmiş bir masaüstü arama platformudur. İlk kez 2006-da Windows Vista-da bulundu.

<span class="mw-page-title-main">Apple Numbers</span> hesap tablosu uygulaması

Apple Numbers Apple Inc. tarafından geliştirilen hesap tablosu uygulamasıdır. Apple Pages ve Apple Keynote ile birlikte iWork yazılım paketinin bir parçasıdır. Numbers Microsoft şirketinin Microsoft Office paketine dahil olan Microsoft Excel uygulaması ile eşdeğerdir. Numbers iOS, Mac OS X Tiger veya daha yeni sürümleri için kullanılabilir. OS X için 1.0 sürümü 7 Ağustos 2007'de ilan edilerek iWork paketindeki en yeni uygulama haline geldi. iPad sürümü 27 Ocak 2010'da çıktı. Uygulama, daha sonra iPhone ve iPod Touch'u destekleyecek şekilde güncellendi.

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

HeidiSQL; MySQL'in yanı sıra Microsoft SQL Server ve PostgreSQL için ücretsiz ve açık kaynaklı bir istemcidir. Kullanıcılar HeidiSQL ile veritabanlarını yönetmek için, bir oturum oluşturarak kabul edilebilir kimlik bilgileri olan bir yerel veya uzak MySQL sunucusuna giriş yapmalıdır. Bu oturumda kullanıcılar MySQL veritabanlarını bağlı MySQL sunucusu içinde yönetebilir ve bittiğinde sunucudan bağlantısını kesebilir. Özellik kümesi, en yaygın ve gelişmiş veritabanı, tablo ve veri kaydı işlemleri için yeterlidir, ancak bir SQL veritabanı önündeki tam işlevselliğe doğru aktif olarak gelişmeye devam etmektedir.

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.

Kurumsal arama, büyük ölçekli işletmelerin iç ve dış verilerini etkin bir şekilde aramalarını ve erişmelerini sağlayan bir bilgi yönetimi çözümüdür. Bu çözüm, farklı veri kaynaklarından verileri toplar, indeksler ve kullanıcıların hızlı ve doğru bir şekilde aramasını sağlar. Kullanıcılar genellikle bir arayüz aracılığıyla bu verilere erişir ve arama sonuçlarını filtreleyebilir veya sıralayabilir. Enterprise Search, işletmelerin veriye daha hızlı erişmesini, bilgiyi daha iyi yönetmesini ve iş süreçlerini iyileştirmesini sağlar.