Merhaba arkadaşlar bu ayki yazımda sizlere ilişkisel veritabanlarının özelliklerinden bahsedeceğim. Geçen sefer olduğu gibi konumuza başlamadan önce kısa bir giriş yapalım.
Veritabanı (database) en basit şekliyle verilerin tutulduğu, depolandığı bir sistemdir. Bilgisayar terminolojisinde yönetilebilir, güncellenebilir, taşınabilir bilgiler topluluğu olarak da adlandırılır. Veritabanlarını yöneten sistemlere de veritabanı yönetim sistemleri (VTYS, database management sytems) adı verilir. VTYS, yeni bir veritabanı yaratmak, veritabanlarını düzenlemek, güncelleme yapmak ve geliştirmek gibi birçok işlemin yapılmasını sağlar. Kullanıcı ile veritabanı arasında bir köprü görevi görür ve kullanıcının istediği bilgilere ulaşmasına yardımcı olur. Günümüzde en çok kullanılan başlıca veritabanları şunlardır; MySQL, Oracle, Microsoft SQL Server. Veritabanları yapısal olarak aynı değildirler. Verilere erişim ve verileri depolama bakımından farklılık gösterirler. Bunları 3 ana başlık altında toplayabiliriz. Hiyerarşik veritabanları, ilişkisel veritabanları ve nesneye yönelik veritabanları. Hiyerarşik veritabanları verileri bir ağaç yapısı şeklinde depolar. Yani kök konumunda bulunan bir kayıt ve buna bağlı dallar içeren bir yapısı vardır. Nesnesel veritabanlarında ise veriler nesneler halinde depolanır. Günümüzde tam olarak nesneye yönelik bir veritabanı yaygın değildir. Şimdi ilişkisel veritabanlarını inceleyelim.
Bir ilişkisel veritabanının ER modeliİlişkisel veritabanı mantığı 1970 yılında Dr. Edgar F. Codd tarafından yazılan “A Relational Model of Data for Large Shared Data Banks” adlı makalede ortaya atılmıştır. Bu makalede Codd; ilişkisel mantığı tanıtarak, gerçek hayattaki nesnelerin tablo olarak nasıl ifade edilebileceğini, bunların nasıl kullanılabileceğini anlatmıştır. İlişkisel sözcüğü veritabanında yer alan herhangi bir kaydın tek bir konu hakkında ve sadece o konuyla ilgili bilgileri içermesi gerektiğini ifade eder. İlişkisel veritabanlarındaki yapıda veriler tablolar halinde saklanır. Tablolar alanlardan (fields) ve alanlardaki kayıtlardan (records) oluşur. Bir tablodaki alanlar esas anahtar (primary key) olarak tanımlanabilirler. Kayıtlar ise tanımlanan anahtara göre sıralanırlar. Tablolar arasındaki ilişkiler belirtilir ve bunlar matematiksel ilişkilerle (bağıntı) temsil edilir. Bu ilişkiler iki tabloda da ortak bulunan alanlar aracılığıyla sağlanır. Ayrıca iki farklı konuyla ilgili bilgiler, mesela teklifler ve o teklife ait kalem bilgileri (döviz fiyatı, döviz kuru vs.), ilişkili veri değerlerine bağlı bir bütün olarak yönetilebilir. Örnek vermek gerekirse, verilen her teklifin firma adı ve firma adresini saklamak gereksiz olur. Bir teklif numarası gibi bir alan oluşturularak buna ait bilgileri kalem bilgilerinin bulunduğu tabloda tutarsak ve bunları birbirine bağlarsak gereksiz kalabalıktan kurtulmuş oluruz. İlişkisel veritabanları verinin hızlı geri alınımını sağlamasıyla birlikte daha birçok özelliğe sahiptir.
İlişkisel veritabanı örneği
SELECT * FROM TABLE1 INNER JOIN TABLE2 ON TABLE1.TEKLIFNO = TABLE2.TEKLIFNO
Özetlemek gerekirse ilişkisel veritabanı yönetim sistemlerinde(RDBMS), tüm veriler tablolar içersinde yönetilir. Tablolar bir konuyla ilgili bilgileri saklar. Ayrıca iki veya daha çok tabloyu birleştirilebilir ve bunlardan istenilen bilgileri elde edilebilir. İlişkisel veritabanı yönetim sistemi veritabanlarının yapısını düzenler. Bununla birlikte, verilerin doğru ve etkin bir biçimde saklanılması, veri bütünlüğü ve değişiklik kayıtları adlı yöntemi sayesinde herhangi bir problemde verilerin kurtarılması sağlanır. Ve böylece verilerin ilişkisel veritabanı modelinin amacı olan yüksek verimlilik sağlanmış olur.
Evet arkadaşlar bir yazımızın daha sonuna geldik. İlişkisel veritabanı modelinin içerdiği verimlilik ve bütünlük dünya üzerinde bir tabu olma yolunda bir adım daha önde bence. Çünkü şu an birçok sistem, bilgilerini saklamak için bu modeli örnek almaktadır. Bunlar arasında mali kayıtlar, işyerlerindeki personel kayıtları belli başlıcalarıdır. Herkese iyi bayramlar dileyerek bir sonraki yazımızda tekrar görüşmek üzere şimdilik hoşçakalın :)
• http://en.wikipedia.org/wiki/Relational_database
• http://en.wikipedia.org/wiki/Relational_database_management_system
• http://www.tekstenuitleg.net/en/articles/database_design_tutorial/3
• http://esntypc.forumlari.net/isletim-sistemleri-f82/veritabani-nedir-t331.html
| Yazarın Üslubunu Beğendiniz mi?: | ||
| Yazının İçeriği Yeterli mi?: | ||
| Konu İlginizi Çekti mi?: |
Bu derginin içeriği, Creative Commons lisansı ile korunmaktadır.
Kaynak göstermek ve link vermek şartıyla ticari olmayan amaçlarla yazılarımızı kullanabilirsiniz.
©2007-2008 ODTÜ Bilgisayar Topluluğu