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."[1] Terim, veritabanları ve veritabanı yönetim sistemleri bağlamında farklı anlamlarda kullanılabilmektedir.
Bir veritabanı ya da veritabanı öbeğini tanımlamaya yarayan bir belge
Bir veritabanı yönetim sisteminin yapısını belirleyen bir bileşen
Bir veritabanı yönetim sisteminin veri sözlüğünü genişleten ara yazılım
Veri sözlüğünün ana katmanları veri akışı, veri kaynakları ve işlemlerdir.
Veri sözlüğü belgelemesi
Veritabanı kullanıcıları ve uygulama geliştiricileri bir ya da birkaç veritabanının düzeni, içeriği ve geleneksel kullanım biçimini oluşturan kapsamlı veri sözlüklerinden yararlanabilmektedirler.[2] Bu belge genellikle her veritabanındaki tablo ve sütunların adları ve tanımlarını, veritabanında kullanılan veri türlerini ve her veri elementinin uzunluğunu içerir. Bu tür belgelerde ayrıntıya ne ölçüde yer verileceğini belirleyen evrensel bir kural yoktur ancak bunlar, veritabanı yapısına ait üstverinin özeti biçimindedirler. Veri sözlüğü, veri elementlerinin kodlama biçimlerine ilişkin ayrıntılar da içerebilir. İyi tasarlanmış bir veri sözlüğü belgelemesi, karmaşık bir veritabanı ya da birleşik veritabanı öbeğinde tutarlılığı sağlamaya yardımcı olur.[3]
Veri sözlüğü ara yazılımı
Veritabanı uygulamaları geliştirilirken ara yazılım adı verilen bir veri sözlüğü katmanının göz önüne alınması gereklidir. Böylesine "üst düzey" bir veri sözlüğü "alt düzey" bir araç olan olağan veri sözlüğüne göre daha fazla esneklik sağlayabilmektedir. Bunun nedeni, olağan veri sözlüğünün asıl amacının uygulama gereksinimlerinden çok veritabanı yönetim sisteminin yalın işlevlerini desteklemesidir. Örneğin, üst düzey bir veri sözlüğü ortak bir veritabanını kullanan farklı uygulamaları modelleyen alternatif bir varlık-ilişki modeli oluşturabilir.[4] Veri sözlüğünün genişletilmesi sorgu hızlandırma sürecine de katkı sağlamaktadır.[5]
Hızlı uygulama geliştirmede kullanılan yazılım taslakları zaman zaman üst düzey veri sözlüğü özelliklerini barındırabilmektedir. Bu özellikler menüler, formlar, raporlar ve veritabanı uygulamalarının diğer bileşenlerinin geliştirilmesini hızlandırmaktadır. Örneğin; PHPLens, tablolar, indeksler ve yabancı anahtar kısıtlamaları oluşturmaya izin veren bir PHPsınıf kütüphanesi içermektedir.[6] RADICORE'un bir parçası olan bir diğer PHP tabanlı veri sözlüğü ise otomatik olarak program nesneleri, betikler ve SQL kodu üretebilmektedir.[7]Base One tarafından ASP.NET ortamı için geliştirilmiş veri sözlüğü ise farklı veritabanı yönetim sistemleri arasındaki eşgüdümü sağlayabilmekte; veri doğrulama, yüksek başarım, uygulama güvenliği ve gelişmiş veri türlerine ilişkin yordamlar yaratabilmektedir.[8]