logo

Veri tabanı tasarımı

Veri tabanı tasarımı

giriiş

' kelimesiyle karşılaşmış olabiliriz. Veri tabanı ' oldukça sık. Bu terim kollarına büyük önem veriyor. Daha sık olarak, yalnızca geliştiricinin bakış açısıyla ilgili değildir, aynı zamanda teknoloji dışı gruplar veya topluluklar için de sıklıkla kullanılır. Teknik olarak veritabanı, daha çok, tek bir yerde toplanmış farklı veri biçimleriyle ilişkiyi belirtmek için kullanılan bir depolama terimidir. Dolayısıyla veritabanını, genellikle bilgisayar sistemleri aracılığıyla elektronik olarak depolanan ve erişilen düzenli bir veri koleksiyonu olarak tanımlayabiliriz. Bu makale son derece veri tabanı tasarımına odaklanmıştır ve bunun alıntı yapılabilir terimler ve metodolojilerle ilişkisi yaygın olarak dikkate alınmıştır. Ayrıntıları anlamak için veritabanı tasarımıyla ilgili bu terimleri tartışacağız. Hemen bunu konuşalım.

kabuk komut dosyasındaki parametre

Veritabanı Tasarımı Nedir?

Veritabanı tasarımı genel olarak kurumsal veri yönetim sisteminin tasarımını, geliştirilmesini, uygulanmasını ve bakımını geliştiren görev veya süreçlerin toplamı olarak tanımlanabilir. Uygun bir veritabanı tasarlamak, bakım maliyetini azaltır, böylece veri tutarlılığını artırır ve uygun maliyetli önlemler, disk depolama alanı açısından büyük ölçüde etkilenir. Bu nedenle, bir veritabanı tasarlamanın parlak bir konsepti olmalıdır. Tasarımcı kısıtlamaları takip etmeli ve elemanların nasıl ilişkilendirileceğine ve ne tür verilerin saklanması gerektiğine karar vermelidir.

Veritabanı tasarımının ardındaki temel amaç, önerilen veritabanı sisteminin fiziksel ve mantıksal tasarım modellerini üretmektir. Bunu detaylandırmak için, mantıksal model öncelikle veri gereksinimlerine yoğunlaşmıştır ve monolitik hususlar açısından değerlendirmeler yapılmalı ve dolayısıyla depolanan fiziksel veriler, fiziksel koşullardan bağımsız olarak depolanmalıdır. Öte yandan, fiziksel veritabanı tasarım modeli, Veri Tabanı Yönetim Sistemi (DBMS) gibi donanım kaynakları ve yazılım sistemlerini kullanarak fiziksel ortamın kontrolünü sağlayarak veritabanının mantıksal tasarım modelinin bir çevirisini içerir.

Veritabanı Tasarımı neden önemlidir?

Veritabanı tasarımının önemi vurgulanırken dikkate alınabilecek önemli husus aşağıda belirtilen hususlar açısından açıklanabilir.

  1. Veritabanı tasarımları, verilerin bir sistemde nasıl saklanacağının planlarını sağlar. Bir veritabanının uygun tasarımı, herhangi bir uygulamanın genel performansını büyük ölçüde etkiler.
  2. Bir veritabanı için tanımlanan tasarım ilkeleri, herhangi bir uygulamanın davranışı ve isteklerin nasıl işlendiği hakkında net bir fikir verir.
  3. Veritabanı tasarımını vurgulayan bir diğer örnek ise uygun bir veritabanı tasarımının kullanıcıların tüm gereksinimlerini karşılamasıdır.
  4. Son olarak, yüksek verimli bir veritabanı tasarlamanın kısıtlamaları uygun şekilde uygulanırsa, bir uygulamanın işlem süresi büyük ölçüde azalır.

Yaşam döngüsü

Ancak veritabanının yaşam döngüsü, bu makalede ele alınması gereken önemli bir tartışma değildir, çünkü biz veritabanı tasarımına odaklanıyoruz. Ancak doğrudan veritabanı tasarımını oluşturan tasarım modellerine geçmeden önce veritabanının genel iş akışını ve yaşam döngüsünü anlamak önemlidir.

İhtiyaç analizi

Öncelikle veritabanı tasarımının ileriye götürüleceği projenin temel gereksinimlerinin neler olduğuna dair planlama yapılmalıdır. Böylece şu şekilde tanımlanabilirler: -

Planlama - Bu aşama tüm DDLC'nin (Veritabanı Geliştirme Yaşam Döngüsü) planlanmasıyla ilgilidir. Devam etmeden önce stratejik hususlar dikkate alınır.

javascript kırpma alt dizesi

Sistem tanımı - Bu aşama planlama sonrasında uygun veri tabanının sınırlarını ve kapsamlarını kapsar.

Veritabanı Tasarımı

Bir sonraki adım, veritabanının kullanıcı bazlı gereksinimleri göz önünde bulundurarak tasarlanmasını ve tek bir açıdan yük veya ağır bağımlılıkların getirilmemesi için bunları çeşitli modellere ayırmayı içerir. Bu nedenle, bazı model merkezli yaklaşımlar olmuştur ve mantıksal ve fiziksel modellerin önemli bir rol oynadığı yer burasıdır.

Fiziksel Model - Fiziksel model, mantıksal modelin uygulamaları ve uygulamalarıyla ilgilidir.

Mantıksal Model - Bu aşama öncelikle önerilen gereksinimlere dayalı bir modelin geliştirilmesiyle ilgilidir. Modelin tamamı, herhangi bir uygulama veya DBMS hususu benimsenmeden kağıt üzerinde tasarlanmıştır.

Uygulama

Son adım, uygulama yöntemlerini ve gereksinimlerimizle eşleşen davranışın kontrol edilmesini kapsar. Veritabanının farklı veri setleri ile sürekli entegrasyon testi yapılması ve verilerin makine tarafından anlaşılabilecek dile dönüştürülmesi ile sağlanır. Verilerin işlenmesi öncelikle sorguların çalıştırıldığı ve uygulamanın tatmin edici bir şekilde tasarlanıp tasarlanmadığının kontrol edildiği bu adımlara odaklanır.

Veri dönüştürme ve yükleme - Bu bölüm eski sistemdeki verileri yeni sisteme aktarmak ve dönüştürmek için kullanılır.

Test yapmak - Bu aşama yeni uygulamaya konulan sistemdeki hataların tespiti ile ilgilidir. Test yapmak çok önemli bir adımdır çünkü doğrudan veritabanını kontrol eder ve gereksinim özelliklerini karşılaştırır.

Veritabanı Tasarım Süreci

Veritabanı tasarlama süreci akılda tutulması gereken çeşitli kavramsal yaklaşımları taşır. İdeal ve iyi yapılandırılmış bir veritabanı tasarımı şunları yapabilmelidir:

  1. Gereksiz verileri ortadan kaldırarak disk alanından tasarruf edin.
  2. Veri bütünlüğünü ve doğruluğunu korur.
  3. Yararlı yollarla veri erişimi sağlar.
  4. Mantıksal ve Fiziksel veri modellerinin karşılaştırılması.

Mantıklı

Mantıksal bir veri modeli genellikle, veri tabanındaki fiziksel uygulamalar hakkında endişe duymaya gerek kalmadan, verileri mümkün olduğu kadar çok ayrıntıyla açıklar. Mantıksal veri modelinin özellikleri şunları içerebilir:

  1. Tüm varlıklar ve aralarındaki ilişkiler.
  2. Her varlığın iyi tanımlanmış nitelikleri vardır.
  3. Her varlık için birincil anahtar belirtilir.
  4. Farklı varlıklar arasındaki ilişkiyi tanımlamak için kullanılan yabancı anahtarlar belirtilir.
  5. Bu düzeyde normalleşme gerçekleşir.

Aşağıdaki yaklaşım kullanılarak mantıksal bir model tasarlanabilir:

java lambda ifadeleri
  1. Tüm varlıkları birincil anahtarlarla belirtin.
  2. Farklı varlıklar arasındaki eşzamanlı ilişkileri belirtin.
  3. Her varlığın özelliklerini anlayın
  4. Çoka-çok ilişkileri çözün.
  5. Normalleşme sürecini yürütün.

Ayrıca, yukarıdaki yaklaşımı izledikten sonra önemli bir faktör, gereksinimlerin toplanmasına dayalı olarak tasarımın eleştirel olarak incelenmesidir. Yukarıdaki adımlar sıkı bir şekilde takip edilirse, yerel yaklaşımı izleyen yüksek verimli bir veritabanı tasarımı oluşturma şansı vardır.

Bu noktaları anlamak için net bir resim elde etmek amacıyla aşağıdaki resme bakın.

Yukarıdaki şekilde gösterilen mantıksal veri modelini diyagramdaki bazı örnek verilerle karşılaştırırsak, kavramsal veri modelinde birincil anahtarın bulunmadığı, mantıksal veri modelinde ise birincil anahtarların olduğu gerçeğini ortaya çıkarabiliriz. tüm nitelikleri. Ayrıca mantıksal veri modeli, farklı varlıklar arasındaki örtü ilişkisini oluşturur ve yabancı anahtarların aralarında ilişki kurması için yer taşır.

Fiziksel

Fiziksel veri modu genellikle veritabanını tasarlama yaklaşımının veya konseptinin nasıl olduğunu temsil eder. Fiziksel veri modelinin temel amacı tüm verileri göstermektir. yapılar dahil olmak üzere tablonun sütun adı, sütun veri türü, kısıtlamalar, anahtarlar (birincil ve yabancı) ve tablolar arasındaki ilişki. Fiziksel veri modelinin özellikleri şunlardır:

  1. Tüm sütunları ve tabloları belirtir.
  2. Genellikle tablolar arasındaki ilişkiyi tanımlayan yabancı anahtarları belirtir.
  3. Kullanıcı gereksinimlerine bağlı olarak normalleştirme meydana gelebilir.
  4. Fiziksel husus dikkate alındığından, mantıksal bir modelden ziyade farklılığın basit nedenleri olacaktır.
  5. Farklı RDBMS'ler için fiziksel modeller farklı olabilir. Örneğin MySQL ve SQL Server'da veri türü sütunu farklı olabilir.

Fiziksel veri modeli tasarlanırken aşağıdaki hususlar dikkate alınmalıdır:

  1. Varlıkları tablolara dönüştürün.
  2. Tanımlanan ilişkileri yabancı anahtarlara dönüştürün.
  3. Veri niteliklerini sütunlara dönüştürün.
  4. Veri modeli kısıtlamalarını fiziksel gereksinimlere göre değiştirin.

Bu fiziksel veri modelini önceki mantıksal modelle mantıksal modelle karşılaştırarak, fiziksel bir veritabanında varlık adlarının tablo adları ve niteliklerin sütun adları olarak kabul edildiği farkları sonucuna varabiliriz. Ayrıca, her bir sütunun veri türü, kullanılan fiili veritabanına bağlı olarak fiziksel modelde tanımlanır.

Sözlük

Varlık - Veritabanındaki bir varlık, veritabanımıza kaydettiğimiz soyut veriler olarak tanımlanabilir. Örneğin bir müşteri, ürünler.

python program örnekleri

Öznitellikler - Özellik, uzunluk, ad, fiyat vb. öğelerden oluşan ayrıntılı bir veri biçimidir.

İlişki - İlişki, iki varlık veya şekil arasındaki bağlantı olarak tanımlanabilir. Örneğin bir kişi bir ailede birden fazla kişiyle ilişki kurabilir.

Yabancı anahtar - Başka bir tablonun Birincil Anahtarına yönlendirme görevi görür. Yabancı anahtar, yalnızca başvurdukları birincil anahtar sütununda bulunan değerleri içeren sütunları içerir.

Birincil anahtar - Birincil anahtar, benzersiz olan ve boş olmayan kayıtların işaretçisidir ve bir tablonun niteliklerini benzersiz şekilde tanımlamak için kullanılır.

klavyelerde kaç tuş var

Normalleştirme - Esnek bir veri modelinin belirli kurallara uyması gerekir. Bu kuralların uygulanmasına normalleştirme denir.

Özet

Veritabanı tasarımı, uygun bir kullanım yöntemi tasarlamadaki boşlukları ve fırsatları belirlemeye yönelik bir yöntemdir. Verilerin ve sistem içindeki davranışının planını veren sistemin ana bileşenidir. Kullanıcı gereksinimlerinin aşırı yüksek tutulması nedeniyle uygun bir veritabanı tasarımı her zaman öncelikli tutulmakta ve veritabanı tasarlamanın kısıtlayıcı uygulamalarının takip edilmesi ancak istenen verimliliğin elde edilmesi için bir şans olarak görülebilmektedir. Ayrıca ideal veri tabanı tasarımını ortaya koyan farklı tasarım modellerini, bunların özellikleri ve nasıl kullanılacağına dair sınırsız tartışmayı da ayrı ayrı öğrendik. Ayrıca, bir veritabanının yaşam döngüsünün, veritabanının tasarımına nasıl karar verdiğini ve tasarım konseptinin, kullanıcı gereksinimlerine göre verimli ve son derece karmaşık veritabanlarının tasarlanabilmesi için yaşam döngüsü yöntemlerine nasıl yerleştirileceğini öğrendik.