Geliştiricilerin veritabanları hakkında bilmeleri gereken ilk şey şudur: veritabanları ne için ? Nasıl çalışıyorlar, nasıl oluşturuyorlar, hatta veritabanındaki verileri almak veya güncellemek için nasıl kod yazıyorsunuz. Ama ne için bunlar?
Ne yazık ki, bunun cevabı hareketli bir hedef. Veritabanları heykeline, 1970'lerden 1990'ların başına kadar, veri paylaşımı içindir. Bir veritabanı kullanıyorsanız ve veri paylaşmıyorsanız ya akademik bir projeye katıldınız ya da kendiniz de dahil olmak üzere kaynakları israf ediyordunuz. Bir veritabanı kurmak ve bir DBMS'yi ehlileştirmek o kadar anıtsal görevlerdi ki, birden çok kez kullanılan veriler açısından geri ödemenin yatırıma uygun olması çok büyüktü.
Son 15 yılda, veritabanları sadece bir uygulama ile ilişkili kalıcı verilerin depolanması için kullanılmaktadır. MySQL , Access veya SQL Server için bir veritabanı oluşturmak o kadar rutin hale geldi ki veritabanları neredeyse sıradan bir uygulamanın rutin bir parçası haline geldi. Bazen, ilk sınırlı görev görev sürekliliği ile yukarı doğru itilir, çünkü verilerin gerçek değeri görünür hale gelir. Maalesef, tek bir amaç göz önünde bulundurularak tasarlanan veritabanları, kurumsal çapta ve görev açısından kritik bir role itilmeye başladıklarında genellikle önemli ölçüde başarısız olurlar.
Geliştiricilerin veritabanları hakkında öğrenmeleri gereken ikinci şey, tüm veri merkezli dünya görüşüdür . Veri merkezli dünya görüşü, süreç merkezli dünya görüşünden çoğu geliştiricinin öğrendiği her şeyden daha farklıdır. Bu boşlukla karşılaştırıldığında, yapılandırılmış programlama ile nesne yönelimli programlama arasındaki boşluk nispeten küçüktür.
Geliştiricilerin en azından genel bir bakışta öğrenmesi gereken üçüncü şey, kavramsal veri modelleme, mantıksal veri modelleme ve fiziksel veri modelleme dahil veri modellemedir.
Kavramsal veri modelleme , veri merkezli bir bakış açısından gerçekten ihtiyaç analizidir.
Mantıksal veri modelleme genellikle belirli bir veri modelinin kavramsal veri modellemesinde keşfedilen gereksinimlere uygulanmasıdır. İlişkisel model diğer tüm spesifik modellerden çok daha fazla kullanılır ve geliştiricilerin ilişkisel modeli kesin olarak öğrenmeleri gerekir. Önemsiz bir gereklilik için güçlü ve ilgili bir ilişkisel model tasarlamak önemsiz bir görev değildir. İlişkisel modeli yanlış anlarsanız iyi SQL tabloları oluşturamazsınız.
Fiziksel veri modelleme genellikle DBMS'ye özgüdür ve geliştirici aynı zamanda veritabanı oluşturucu veya DBA değilse, çok ayrıntılı olarak öğrenilmesi gerekmez. Geliştiricilerin anlaması gereken şey, fiziksel veritabanı tasarımının mantıksal veritabanı tasarımından ne ölçüde ayrılabileceğidir ve yüksek hızlı bir veritabanı üretmenin sadece fiziksel tasarımı değiştirerek ne ölçüde başarılabileceğidir.
Geliştiricilerin öğrenmesi gereken bir sonraki şey , hız (performans) önemli olmakla birlikte, veritabanının kapsamını gözden geçirme ve genişletme yeteneği veya programlamanın basitliği gibi diğer tasarım iyiliği ölçümlerinin daha da önemlidir .
Son olarak, veritabanlarıyla uğraşan herkes , verilerin değerinin genellikle onu yakalayan sistemden daha uzun sürdüğünü anlamalıdır .
Whew!