Bilgisayarın günlük yaşamımıza daha fazla girmesiyle birlikte veritabanı olgusu da konuşma dilinde bile sıkça kullanılır hale gelmiştir. Aslında yazdığımız programların daha işe yarar hale gelmesine olanak tanıyan yapılardır veritabanları. Onların sayesinde ihtiyaç duyulan verilerin her seferinde yeniden toplanmasına veya hesaplanmasına gerek duyulmaz. Gerek metin tabanlı bir dosya, gerek bir Excel dosyası, XML veya CSV formatındaki dosyalar birer veritabanı gibi kullanılabilirken biz daha çok SQL sorgularıyla verileri yönetebileceğimiz ilişkisel veritabanları üzerinde duracağız.
Veri Nedir?
Veri, bilgisayar terminolojisinde bilginin işlenmeye hazır, ham hali olarak nitelenmektedir. Buradan hareketle havanın sıcaklık, nem yüzdesi gibi olgular aslında bizim için birer veridir. Bu verilerden yola çıkarak nasıl giyinmemiz gerektiğini ifade edecek bir sistem geliştirir ve “Bugün hava soğuk olacaktır.” gibi bir sonuca ulaşabiliyorsak veriyi anlamlı bir hale, yani bilgiye dönüştürmüş oluruz. Veriyi ölçerek elde etmiş oluruz ve ölçüm sonucunda bir anlamı olmak zorunda değildir. Bilgi, bu veriden bir çıkarım yaptıktan sonra ortaya çıkar.
Veritabanı Nedir? Database Nedir?
Veritabanı, database’in Türkçesidir. Hem database hem de veritabanı aynı kavramları ifade eder. Veritabanı, verilerin düzenli bir şekilde tutulduğu, yönetilebildiği ve kolaylıkla erişilebildiği yapılardır. İlişkisel veritabanlarında veriler, tablolar halinde organize edilir ve bu tablolar birbiriyle ilişkilendirilir.
Yaygın Kullanılan Veritabanı Programları Nelerdir?
Dünya genelinde sıkça kullanılan veritabanı yönetim sistemlerinden bazıları şu şekildedir:
- Microsoft Access
- Microsoft SQL Server (MSSQL)
- MySQL
- PostgreSQL
- Oracle DB
- IBM DB2
- Informix
- Firebird
- Paradox
- BerkeleyDB
- Sybase
- SQLite
- NoSQL
Veritabanına Ne Zaman İhtiyaç Duyulur?
Elimizde işlenen veriler sürekli artacak bir yapıdaysa, elimizdeki verileri sıklıkla güncelleştirmek istiyorsak, verinin tutarlı ve güvenli bir şekilde depolanmasına devam etmesini istiyorsak, tekrar eden verileri engellemek istiyorsak kuşkusuz bir veritabanına ihtiyaç duyacağız.
İlişkisel Veritabanı Nedir?
İlişkisel veritabanlarında veriler tablolar halinde organize edilir. Her bir veri, kendisiyle aynı şeyi ifade eden diğer verilerle birlikte aynı alanlar (sütunda) bulunur. Bir tablodaki bir alan da, başka bir tabloda aynı şeyi ifade eden başka bir alanla ilişkide olmaktadır. Tablolardaki benzer verilerin depolandığı alanlar aracılığıyla tabloların birbirine bağlanmasıyla ilişkisel veritabanı ortaya çıkar. İlişkisel veritabanları 1970 yılında bir IBM çalışanı olan Edgar Frank “Ted” Codd tarafından ortaya atılmış ve kullanım alanı günümüze kadar artarak devam etmiştir. İlişkisel veritabanı ayrıca “relational database” olarak da ifade edilmektedir.
İlişkisel veritabanı, ilişkisel verilerin bir düzen içinde bulunduğu yapılardır. Veriler, tablolar içinde bulunur. Tablodaki her bir satıra “kayıt”, her bir sütuna da “alan” denir. Tablolar birbirleriyle alanları üzerinden ilişki halindedir.
İlişkisel Veritabanının Özellikleri Nelerdir?
- Veri tekrarı engellenir: Aynı veri farklı tablolarda tekrar tekrar yer almaz. Bu verinin daha az yer kaplamasını sağlar.
- Etkili güncelleme yapılabilir: Birden fazla tabloda tekrarlanan verinin herhangi birini değiştirdiğimizde diğer tablolardaki veri de etkilenmiş olur. Örneğin bir okul veritabanında okulun adı değiştirildiğinde bu değişiklik yalnızca bir kayıt üzerinde yapılmalıdır. Kötü bir tasarımda, okuldaki öğrenci sayısı kadar satır üzerinde (örneğin 1000 kayıt) değişiklik yapmak gerekecektir.
- Gereksiz bellek kullanımı engellenir: Aynı veriler defalarca tekrarlanmadığı için bilgisayar belleğinde gereksiz yer işgal etmez.
İyi Bir Veritabanının Özellikleri Nelerdir?
- Veriler hızlı ve kolay bir şekilde girilebilir.
- Veriler güvenli bir şekilde saklanır.
- Eşleşmeyen kayıtların varlığı engellenir. (82 plaka kodlu şehir yok!)
- Bakım gerektirmez.
- Esnektir, müşterinin gelecekteki ihtiyaçlarına da yanıt verebilir. (Gerekirse bir öğretmenin 8. sınav notu girmesine bile tabloya yeni alan eklemek gibi tablo yapısında herhangi bir düzenlemeye gerek duymadan olanak sağlanmalıdır.)