Veri tabanı tasarımı - Database design
Veritabanı tasarımı , verilerin bir veritabanı modeline göre düzenlenmesidir . Tasarımcı, hangi verilerin saklanması gerektiğini ve veri öğelerinin birbiriyle nasıl ilişkili olduğunu belirler. Bu bilgilerle verileri veritabanı modeline uydurmaya başlayabilirler. Veritabanı yönetim sistemi verileri buna göre yönetir.
Veritabanı tasarımı, verilerin sınıflandırılmasını ve aralarındaki ilişkilerin tanımlanmasını içerir. Verilerin bu teorik temsiline ontoloji denir . Ontoloji, veritabanı tasarımının arkasındaki teoridir.
Saklanacak verilerin belirlenmesi
Çoğu durumda, bir veri tabanının tasarımını yapan bir kişi, örneğin finansal bilgiler, biyolojik bilgiler vb. gibi saklanacak verilerin alındığı alandaki uzmanlıktan ziyade veri tabanı tasarımı alanında uzmanlığa sahip bir kişidir. Bu nedenle, veri tabanında saklanacak veriler, o alanda uzmanlığı olan ve sistemde hangi verilerin saklanması gerektiğini bilen bir kişi ile işbirliği yapılarak belirlenmelidir.
Bu süreç, genellikle gereksinim analizinin bir parçası olarak kabul edilen bir süreçtir ve veri tabanı tasarımcısının, alan bilgisine sahip olanlardan gerekli bilgileri ortaya çıkarması için beceri gerektiren bir süreçtir . Bunun nedeni, gerekli alan bilgisine sahip olanların, saklanması gereken ayrık veri öğeleri açısından düşünmeye alışkın olmadıkları için, veritabanı için sistem gereksinimlerinin ne olduğunu sıklıkla açıkça ifade edememeleridir. Saklanacak veriler Gereksinim Belirtimi ile belirlenebilir.
Veri ilişkilerini belirleme
Bir veritabanı tasarımcısı, veritabanında depolanacak verilerin farkında olduğunda, verilerin içinde bağımlılığın nerede olduğunu belirlemelidir. Bazen veriler değiştiğinde, görünmeyen diğer verileri değiştiriyor olabilirsiniz. Örneğin, bir isim ve adres listesinde, birden fazla kişinin aynı adrese sahip olabileceği, ancak bir kişinin birden fazla adresi olamayacağı bir durumu varsayarsak, adres ada bağlıdır. Bir ad ve liste sağlandığında adres benzersiz bir şekilde belirlenebilir; ancak, tersi geçerli değildir - bir adres ve liste verildiğinde, bir adreste birden fazla kişi bulunabileceğinden, bir ad benzersiz olarak belirlenemez. Bir adres bir isimle belirlendiğinden, bir adres bir isme bağlı olarak kabul edilir.
(NOT: Veri öğeleri arasındaki ilişkilerin belirtilmesi nedeniyle ilişkisel modelin böyle adlandırıldığı yaygın bir yanlış anlamadır . Bu doğru değildir. İlişkisel model, ilişkiler olarak bilinen matematiksel yapılara dayandığı için böyle adlandırılmıştır .)
Verileri mantıksal olarak yapılandırma
Çeşitli bilgi parçaları arasındaki ilişkiler ve bağımlılıklar belirlendikten sonra, verileri daha sonra veritabanı yönetim sistemi tarafından desteklenen depolama nesnelerine eşlenebilecek mantıksal bir yapı içinde düzenlemek mümkündür . İlişkisel veritabanları durumunda , depolama nesneleri, verileri satırlar ve sütunlar halinde depolayan tablolardır . Bir Nesne veritabanında , depolama nesneleri , verileri yönetecek ve bunlara erişecek uygulamaları yazmak için kullanılan Nesne yönelimli programlama dili tarafından kullanılan nesnelere doğrudan karşılık gelir . İlişkiler, ilgili nesne sınıflarının nitelikleri veya nesne sınıfları üzerinde çalışan yöntemler olarak tanımlanabilir.
Bu eşlemenin genel olarak gerçekleştirilme şekli, ister gerçek ister soyut olsun, tek bir nesneye bağlı olan her bir ilgili veri kümesinin bir tabloya yerleştirildiği şekildedir. Bu bağımlı nesneler arasındaki ilişkiler daha sonra çeşitli nesneler arasındaki bağlantılar olarak depolanır.
Her tablo, bir mantıksal nesnenin bir uygulamasını veya bir veya daha fazla mantıksal nesnenin bir veya daha fazla örneğini birleştiren bir ilişkiyi temsil edebilir. Tablolar arasındaki ilişkiler daha sonra alt tabloları ebeveynlere bağlayan bağlantılar olarak saklanabilir. Karmaşık mantıksal ilişkilerin kendileri tablolar olduğundan, muhtemelen birden fazla ebeveyne bağlantıları olacaktır.
ER diyagramı (varlık-ilişki modeli)
Veritabanı tasarımları ayrıca ER ( varlık-ilişki modeli ) diyagramlarını da içerir. ER diyagramı, veritabanlarını verimli bir şekilde tasarlamaya yardımcı olan bir diyagramdır.
ER diyagramlarındaki öznitelikler, genellikle özniteliğin adıyla, özniteliği içeren varlık veya ilişkiyle bağlantılı bir oval olarak modellenir.
ER modelleri bilgi sistemi tasarımında yaygın olarak kullanılmaktadır; örneğin, kavramsal yapı tasarım aşamasında veri tabanında saklanacak bilgi gereksinimlerini ve/veya bilgi türlerini açıklamak için kullanılırlar.
Microsoft Access için bir tasarım süreci önerisi
- Veritabanının amacını belirleyin - Bu, kalan adımlara hazırlanmanıza yardımcı olur.
- Gerekli bilgileri bulun ve düzenleyin - Ürün adı ve sipariş numarası gibi veritabanına kaydedilecek tüm bilgi türlerini toplayın.
- Bilgileri tablolara ayırın - Bilgi öğelerini Ürünler veya Siparişler gibi ana varlıklara veya konulara bölün. Her konu daha sonra bir tablo haline gelir.
- Bilgi öğelerini sütunlara dönüştürün - Her tabloda hangi bilgilerin depolanması gerektiğine karar verin. Her öğe bir alan olur ve tabloda bir sütun olarak görüntülenir. Örneğin, bir Çalışanlar tablosu, Soyadı ve İşe Alma Tarihi gibi alanlar içerebilir.
- Birincil anahtarları belirtin - Her tablonun birincil anahtarını seçin. Birincil anahtar, her satırı benzersiz bir şekilde tanımlamak için kullanılan bir sütun veya bir sütun kümesidir. Bir örnek Ürün Kimliği veya Sipariş Kimliği olabilir.
- Tablo ilişkilerini ayarlayın - Her tabloya bakın ve bir tablodaki verilerin diğer tablolardaki verilerle nasıl ilişkili olduğuna karar verin. Gerekirse, ilişkileri netleştirmek için tablolara alanlar ekleyin veya yeni tablolar oluşturun.
- Tasarımı hassaslaştırın - Tasarımı hatalar için analiz edin. Tablolar oluşturun ve birkaç örnek veri kaydı ekleyin. Sonuçların beklendiği gibi tablolardan gelip gelmediğini kontrol edin. Tasarımda gerektiği gibi ayarlamalar yapın.
- Uygula normalleştirme kurallarını - tabloları doğru yapılandırılmış olup olmadığını görmek için veri normalleştirme kurallarını uygulayın. Gerektiğinde tablolarda ayarlamalar yapın.
normalleştirme
İlişkisel veritabanı tasarımı alanında , normalleştirme , bir veritabanı yapısının genel amaçlı sorgulama için uygun olmasını ve belirli istenmeyen özelliklerden ( veri bütünlüğü kaybına yol açabilecek ekleme, güncelleme ve silme anormallikleri) arınmış olmasını sağlamanın sistematik bir yoludur .
Veritabanı tasarım kılavuzunun standart bir parçası, tasarımcının tamamen normalleştirilmiş bir tasarım oluşturmasıdır; seçici denormalizasyon daha sonra gerçekleştirilebilir, ancak yalnızca performans nedenleriyle. Takas, depolama alanı ve performanstır. Tasarım ne kadar normalleştirilirse, veri artıklığı o kadar az olur (ve bu nedenle, depolamak için daha az yer kaplar), ancak genel veri alma kalıpları artık karmaşık birleştirmelere, birleştirmelere ve sıralamaların gerçekleşmesine ihtiyaç duyabilir - bu da daha fazla veri gerektirir döngüleri okuyun ve hesaplayın. Veri ambarı tasarımına yönelik boyutlu modelleme yaklaşımı gibi bazı modelleme disiplinleri, normalize edilmemiş tasarımları, yani büyük ölçüde 3NF'ye uymayan tasarımları açıkça önerir. Normalizasyon, 1NF,2NF,3NF,BOYCE-CODD NF (3.5NF),4NF ve 5NF olan normal formlardan oluşur.
Belge veritabanları farklı bir yaklaşım benimser. Böyle bir veritabanında saklanan bir belge, tipik olarak birden fazla normalleştirilmiş veri birimini ve çoğu zaman birimler arasındaki ilişkileri de içerecektir. Tüm veri birimleri ve söz konusu ilişkiler genellikle birlikte alınırsa, bu yaklaşım geri alma sayısını optimize eder. Aynı zamanda verilerin nasıl kopyalanacağını da basitleştirir, çünkü artık tutarlılığı bağımsız olan açıkça tanımlanabilir bir veri birimi vardır. Diğer bir husus, bu tür veritabanlarında tek bir belgenin okunması ve yazılmasının tek bir işlem gerektireceğidir - bu, bir Mikro Hizmetler mimarisinde önemli bir husus olabilir . Bu gibi durumlarda, genellikle belgenin bölümleri bir API aracılığıyla diğer hizmetlerden alınır ve verimlilik nedenleriyle yerel olarak depolanır. Veri birimleri hizmetler arasında bölünecekse, bir hizmet tüketicisini desteklemek için bir okuma (veya yazma) birden fazla hizmet çağrısı gerektirebilir ve bu, tercih edilmeyen birden fazla işlemin yönetilmesine neden olabilir.
kavramsal şema
Fiziksel tasarım
Veritabanının fiziksel tasarımı, veritabanının depolama ortamındaki fiziksel yapılandırmasını belirtir. Bu , DBMS veri sözlüğünde bulunan veri öğelerinin , veri türlerinin , indeksleme seçeneklerinin ve diğer parametrelerin ayrıntılı özelliklerini içerir . Modülleri ve veritabanının sistemin donanım ve yazılım özelliklerini içeren bir sistemin ayrıntılı tasarımıdır. Fiziksel katmanda ele alınan bazı yönler:
- Güvenlik - son kullanıcı ve idari güvenlik.
- Çoğaltma - hangi veri parçalarının başka bir veritabanına ve ne sıklıkta kopyalandığı. Çoklu ustalar var mı, yoksa tek bir tane mi?
- Yüksek kullanılabilirlik - konfigürasyon ister aktif-pasif, ister aktif-aktif olsun, topoloji, koordinasyon şeması, güvenilirlik hedefleri vb. tanımlanmalıdır.
- Bölümleme - veritabanı dağıtılıyorsa, tek bir varlık için, veriler veritabanının tüm bölümleri arasında nasıl dağıtılır ve bölüm hatası nasıl dikkate alınır.
- Yedekleme ve geri yükleme şemaları.
Uygulama düzeyinde, fiziksel tasarımın diğer yönleri, saklı yordamları veya gerçekleştirilmiş sorgu görünümlerini, OLAP küplerini vb. tanımlama ihtiyacını içerebilir .
Ayrıca bakınız
- Veritabanı normalleştirme
- İlişkisel veritabanı
- ilişkisel model
- POOD ( Ortogonal tasarım prensibi )
- Üçüncü Manifesto
- Kavram haritalama
- Veri modelleme
- Varlık-ilişki modeli
- Varlık-özellik-değer modeli
- Nesne-ilişki modellemesi
- Nesne-rol modelleme
- Bilgi temsili
- Mantıksal veri modeli
- Zihin haritası
- Fiziksel veri modeli
- Anlamsal ağ
- Üç şema yaklaşımı
Referanslar
daha fazla okuma
- S. Lightstone, T. Teorey, T. Nadeau, “Fiziksel Veritabanı Tasarımı: veri tabanı profesyonelinin dizinleri, görünümleri, depolamayı ve daha fazlasını kullanma kılavuzu”, Morgan Kaufmann Press, 2007. ISBN 0-12-369389-6
- M. Hernandez, " Sadece Ölümlüler için Veritabanı Tasarımı : İlişkisel Veritabanı Tasarımı için Uygulamalı Bir Kılavuz", 3. Baskı, Addison-Wesley Professional, 2013. ISBN 0-321-88449-3
- [1]
- [2]
- Veritabanı Normalleştirme Temelleri , Mike Chapple (About.com)
- Veritabanı Normalleştirmeye Giriş , Bölüm 2
- "Veritabanı Normalleştirmeye Giriş" . Arşivlenmiş orijinal 2011-06-06 tarihinde . 2012-02-25 alındı .
- "Normalleştirme" . Arşivlenmiş orijinal 2010-01-06 tarihinde . 2012-02-25 alındı .
- Veritabanı tasarımı at Curlie