Bir veritabanı şeması, bir veritabanında kullanılacak ve tutulacak bilgilerin yapısını ve ilişkilerini tanımlamanın bir yoludur. Bazı şemalar veritabanı yönetim yazılımı (DBMS) tarafından yorumlanabilecek bir dilde yazılırken, diğerleri tamamen soyut diyagramlardır. Bir veritabanı şemasının ana unsurları varlıklar ve tablolardır. Bir varlık, veritabanındaki bir nesne için bir veri modelidir, bir tablo ise bir saklanan değerler dizisi veya diğer varlıklardır. Bir plan gibi, tam olarak bir veritabanının mimarisinin nasıl inşa edildiğini görmek için iyi tasarlanmış bir şema kullanılabilir.
Veri tabanı şemaları bazen, verilerin nasıl depolandığını ve veri tabanının geri kalanıyla nasıl ilişkili olduğunu açıkça göstermek için gereklidir. Bir varlık, veri toplamanın bir temsilidir. Herhangi bir veri yapısı gibi, birçok alana sahip olabilir. Bununla birlikte, varlıklar genellikle benzersiz bir tanımlayıcı alana sahiptir. Buna birincil anahtar denir.
Birincil anahtar, bir tablonun bağlantısıdır. Anahtar, tablodaki diğer tüm öğeler arasında benzersiz olmalıdır. Örnek olarak mağaza satın alımlarını izleyen bir veritabanı için müşteri numarası verilebilir. Her varlığın yalnızca bir birincil anahtarı olabilir.
İşletmeler ayrıca herhangi bir sayıda yabancı anahtara sahip olabilir. Yabancı anahtar, genellikle başka bir tabloda başka bir işletmenin birincil anahtarıdır. Yukarıdaki örnekte, yabancı bir anahtar bu müşteri için bir sipariş numarası olabilir.
İlişkisel veritabanlarında, bir-çok ilişkilerin çok önemli kavramını ifade etmek için birincil ve yabancı anahtarlar kullanılır. Verilen örnekte, müşteri birçok farklı siparişe ve sipariş numarasına sahip olabilir. Bunun tersi doğru değil çünkü siparişin yalnızca bir müşterisi olabilir. Bir-çok ilişkiler, bir veritabanı şemasının gerekli olmasının nedenlerinin bir parçasıdır.
Başka bir ilişki türü çoktan çoğa denir. Bu, bir işletmenin sadece bir türe göre çok fazla ilişkiye sahip olamayacağı, aynı zamanda başka bir türe göre birçok türe dahil edilebileceği bir örnektir. Buna bir örnek, herhangi bir sayıda müşterinin aynı ürünü nasıl sipariş edebileceğidir. Aynı zamanda, müşteri istediği sayıda ürün sipariş edebilir. Bu çoktan çoğa ilişki yaygındır, ancak veritabanı şemasında çalışmak için özel veri modellemesi gerektirir.
Bir veritabanı şeması oluştururken izlenen bazı standart kurallar olsa da, veri modellerini temsil etmenin birçok yolu vardır. Tam olarak her şema nesnesinin soyut bir tasarımda nasıl temsil edildiği, veri modelleyicinin takdirine bağlıdır. Bazı durumlarda, bir DBMS sistemi belirli bir şekilde yazılmış bir veritabanı şemasını kabul edebilecek ve tasarımın bir kısmını otomatik olarak uygulayabilecektir.


