Ana İçeriğe Atla

Veri Tabanı Şeması nedir?

Veri tabanı şeması, verilerin bir veri tabanı içinde nasıl düzenlendiğini tanımlayan mantıksal bir yapıdır. İlişkisel veri tabanları ve bazı ilişkisel olmayan veri tabanları, verilerinin yapısını, ara bağlantılarını ve iç süreçleri tanımlamak için şemalar kullanır. Veri tabanı şemaları, daha fazla kullanıcı erişilebilirliği, ölçeklenebilirlik ve veri bütünlüğü için veri depolama ve düzenleme için mantıksal bir plan sağlar.

Bir veri tabanı şemasının faydaları nelerdir?

Bir veri tabanı şeması, bir işletmenin verilerini nasıl düzenlediğini tanımladığından, veri tabanı şeması kullanmanın birkaç faydası vardır.

Kuruluşu iyileştirme

İşletmeler, kuruluşu iyileştirmek ve veri kümeleri arasındaki ilişkilerin açık ve tutarlı olmasını sağlamak için bilgilerini net veri yapıları halinde düzenleyebilir. İyi tanımlanmış bir şema, işletmelerin veri tabanı yönetim sistemlerini daha kolay ölçeklendirmelerini sağlar.

Veri bütünlüğünü geliştirme

İşletmenizin verileri bir şemayla nasıl depoladığına ilişkin kurallar uygulayarak karmaşık depolama sistemlerinde bile yüksek düzeyde bütünlük sağlarsınız. Tutarlı kuralların sürdürülmesi, verilerin geçerliliğinin sağlanmasına ve uyumluluk gereksinimlerinin karşılanmasına yardımcı olur.

Erişilebilirliği artırma

Bir veri tabanı şeması, kullandığınız genel veri yapılarına ilişkin çeşitli görünümler sunar. Bu çeşitli seviyeleri kullanarak tasarımcılar, yöneticiler ve paydaşlar teknik bilgi olmadan bile yapıyı tartışabilir.

Bir veri tabanı şeması tasarlama adımları nelerdir?

Bir veri tabanı yönetim sisteminde yaygın olarak kullanılan veri tabanı şemalarını tasarlamanın üç adımı vardır.

1. Kavramsal veri tabanı şeması

Kavramsal veri tabanı şeması tasarımı, bir veri tabanının en üst düzey görünümü olup küçük ayrıntılar olmadan veri tabanının genel bir görünümünü sağlar. Kavramsal veri tabanı şeması tasarımı, tipik olarak elle yapılan hızlı bir çizimdir.

Örneğin, ilişkisel veri tabanları verileri tablolarda depolar ve her tablo bir dizi ilgili veri içerir. Kavramsal veri tabanı şeması, bir ürün tablosunu ve özniteliklerini, bir müşteri tablosunu ve tablolar arasındaki çoğa çok ilişkiyi tanımlayabilir. Bununla birlikte, kavramsal veri tabanı şeması, veri türleri veya erişim kısıtlamaları gibi daha ince uygulama ayrıntıları içermeyebilir.

Kavramsal şema, çok fazla ayrıntı sunmadan bir kuruluştaki genel veri akışını çizmek için kullanışlıdır.

2. Mantıksal veri tabanı şeması

Mantıksal veri tabanı şeması tasarımı, bir veri tabanı içindeki verilerin nasıl yapılandırıldığının özetini sağlar. Varlıklar arasındaki ilişkiyi açıklar ve verilerin nasıl organize edildiği hakkında daha fazla ayrıntı gösterir. Mantıksal veri tabanı şeması tasarımı, tipik olarak bir dijital veri modelleme alıştırmasıdır.

Veri şemasındaki her varlık, aşağıdaki gibi bilgilerle ilişkili olarak tanımlanır:

  • Tablo adları
  • Varlık ilişkileri
  • Öznitelik adları
  • Varsayılan değerler
  • Veri türleri
  • Güvenlik kısıtlamaları
  • Prosedürler
  • Görünümler
  • Dizinler
  • Meta veriler

Eksiksiz mantıksal şema tasarımı, yeni ve mevcut veriler için kısıtlamalar sağlayarak veri tutarlılığı ve bütünlüğü sağlar.

Mantıksal veri tabanı şemaları genellikle herhangi bir teknik gereksinimi içermez.

3. Fiziksel veri tabanı şeması

Fiziksel veri tabanı şeması, verilerin daha geniş bir veri tabanı yapısında tam olarak nerede bulunabileceğini açıklar. Teknik depolama ayrıntılarını, dosya konumlarını, belirli depolama biçimlerini ve her tablonun verilerini depolamak için kullandığı dizin oluşturma stratejilerini içerir. Fiziksel şema tasarımı tipik olarak sabit veri tabanı teknik tasarım düzenleri ve kullanıcı özelliklerinin bir kombinasyonudur.

Fiziksel şema, veri tabanı şemasının en az kavramsal şeklidir ve veri konumları hakkında gerçek bilgiler sunar. Veri tabanı kurulumu için mantıksal ve fiziksel şemalar gereklidir.

Veri tabanı şemalarını modellemenin yolları nelerdir?

Farklı veri tabanı şema stilleri, farklı iş ihtiyaçlarına ve veri türlerine uygundur. Ürün sipariş sistemleri gibi çevrimiçi işlem işleme (OLTP) veri tabanları, Varlık-İlişki şema modelleme tekniğini kullanır. Karmaşık iş sorgulama gibi Çevrimiçi Analiz İşleme (OLAP) veri tabanları, yıldız şeması ve kar tanesi şeması gibi farklı modelleme teknikleri gerektirebilir.

En popüler veri tabanı şema stillerinden bazılarını aşağıda bulabilirsiniz.

Varlık-İlişki (ER) şeması

Bir varlık-ilişki şeması, her varlığı bir tabloya atar ve ardından tablolar arasındaki bağlantıları eşler. E-R şemaları, tüm veri parçaları arasında çoklu köprüleme ilişkisine sahiptir: 1:1. 1:çok ve çok:çok. Bu tür ilişkisel veri tabanı şeması, ilişkiler ve kısıtlamalar yoluyla bağladıkları veri sistemlerini oluşturmak için tabloları, sütunları ve satırları kullanır.

Yıldız şeması

İşletmeler, gerçekler ve boyutlar olmak üzere iki temel ilkeye dayalı olarak büyük veri kümelerini yönetmek ve düzenlemek için bir yıldız şeması kullanabilir. Bir yıldız şeması bağlamında, gerçekler yapının merkezidir ve ölçüme dayalı veri parçaları sağlar. Bu tür merkezi gerçeklere örnek olarak işlem sayısı, web sitesi tıklamaları veya toplam satın alma işlemleri verilebilir. Boyutlar daha sonra, satın alma işlemini hangi müşterinin yaptığı, nereden yaptıkları ve hangi ürünü satın aldıkları gibi gerçek hakkında ek bilgiler sağlar.

Kar tanesi şeması

Kar tanesi şeması, bir yıldız şeması gibi, birden çok boyut tablosuna bağlanan merkezi bir gerçek tablosu kullanır. Bununla birlikte, yıldız şemasından farklı olarak, kar tanesi şeması boyut tabloları, bunları dallandıran ve bu boyutlar hakkında daha fazla ayrıntı sunan bir dizi ek veri tabanı tablosuna sahip olacaktır. Kar tanesi şeması kullanmak, çok sayıda boyut ve alt boyuta sahip veriler için kullanışlıdır. Hem yıldız hem de kar tanesi şemaları genellikle iş zekasında kullanılır. Bu yaklaşımların her ikisi de veri tabanı kullanıcılarının belirli iş boyutlarına göre düzenlenmiş veri görünümlerini düzenlemelerine olanak tanır.

Hiyerarşik şema

Hiyerarşik veri tabanı şeması, üstte diğer düğüm dallarına ayrılan bir kök düğümü olan ağaç benzeri bir yapı kullanır. Hiyerarşik bir modelde, her "üst" veri parçası birden fazla alt düğüme sahip olabilirken, her alt düğümün yalnızca bir üstü olabilir. Örneğin, hiyerarşik bir model bir şirketle başlayabilir, her departmana ve daha sonra her departmandaki bireysel çalışanlara daha fazla dallanabilir.

OLTP veri tabanı şeması tasarlama süreci nedir?

Veri tabanı şeması tasarlama sürecine veri modelleme denir.

Bir OLTP sisteminin veri modelini üretmek için ana adımları aşağıda bulabilirsiniz.

Gereksinimleri toplama

Bir veri tabanı oluşturmadan önce amacını belirlemeli ve içermesini istediğiniz veriler ve veri tabanını nasıl kullanmayı planladığınız gibi temel bilgileri özetlemelisiniz. Sizin için en iyi veri tabanı şunlara bağlı olarak değişecektir:

  • Kullandığınız belirli veriler
  • Veri tabanıyla etkileşim kurmak için ihtiyacınız olan sorgular
  • Oluşturmak istediğiniz raporlar

Bu adım, hedeflerinizi özetleyerek veri tabanı şeması tasarım sürecinize rehberlik eder.

Varlık-ilişki diyagramları oluşturma

Varlık ilişkisi diyagramı (ERD); tabloların, veri tabanı nesnelerinin ve bir veri tabanındaki bireysel varlıkların nasıl bağlandığını gösterir. Veri tabanınızın kavramsal bir şema görünümünü oluşturmak, veri tabanının nasıl çalıştığını görselleştirmenize ve depoladığı veriler hakkında fikir edinmenize olanak tanır.

Bu aşamada tabloların, sütunların, veri tabanı nesnelerinin ve dizinlerin veri tabanınızda kullandığı adlandırma kurallarını da tanımlayabilirsiniz. Kurallar, kullanıcıların veri girerken standart bir yaklaşıma sahip olmasına yardımcı olur.

Veri varlıklarını tablolar halinde düzenleme

ERD haritanıza bağlı olarak, artık tüm verilerinizi belirli tablolar halinde düzenleyebilirsiniz. Veri tabanı yapınızdaki her varlığın, ilgili öznitelikleri barındıran ayrı sütunlarla kendi tablosu olmalıdır. Belirli veri değerlerini kolayca tanımlamanıza ve almanıza izin verecek birincil anahtarı tanımlayın.

Veri yapılarını normalleştirme

Normalleştirme, veri yedekliliğini azaltmayı ve veri bütünlüğünü iyileştirmeyi amaçlayan veri tabanı şema tasarımında bir süreçtir. Verileri, veriler arasındaki ilişkilerin iyi yapılandırılacağı ve anomalilerin en aza indirileceği şekilde tablolar halinde düzenlemeyi içerir.

Her biri belirli gereksinimleri olan birkaç normal form vardır. Her ardışık normal form, veri tutarlılığını artırmak ve şemayı daha sağlam hale getirmek için farklı bir yedeklilik veya bağımlılık türünü ele alır.

1NF

1NF, her sütunun atomik (bölünmez) değerler içermesini ve her kaydın benzersiz olmasını gerektirir. Yinelenen grupları ve çok değerli alanları kaldırır.

2NF

2NF, anahtar dışı tüm özniteliklerin tamamen işlevsel olarak tüm birincil anahtara bağlı olmasını sağlayarak 1NF üzerine inşa edilir (yani, kısmi bağımlılıkları ortadan kaldırır).

3NF

3NF, anahtar dışı tüm bu özniteliklerin yalnızca birincil anahtara bağlı olması gerektiğini ve diğer anahtar dışı özniteliklere bağlı olmamasını ekler (yani, geçişli bağımlılıkları kaldırır).

Güvenlik önlemleri uygulama

Yalnızca yetkili kullanıcıların veri tabanınıza erişebilmesini ve içerdiği bilgileri görüntüleyebilmesini sağlamak için bir izin yapısı oluşturun. Veri tabanındaki farklı kullanıcı gruplarına, bilgileri okuma, yazma veya silme yeteneği gibi, hassas verilerinizin güvende kalmasına yardımcı olan farklı ayrıcalıklar atayabilirsiniz. Yalnızca yetkili kullanıcıların hassas verileri görüntüleyebilmesini veya değiştirebilmesini sağlamak için rol tabanlı erişim denetimleri tanımlayın.

Test etme

Veri tabanı şeması tasarımınızı bazı temel sorgular ve diğer etkileşimlerle test etmek, her şeyin amaçlandığı gibi çalışmasını sağlar. Bu aşamada veri tabanının nasıl çalıştığına dair veri toplamak, şemanızın etkili olmasını ve performans sorunları içermediğinden emin olmak için yapmanız gereken ek değişiklikleri gösterecektir.

Veri tabanı şeması ile veri tabanı örneği arasındaki fark nedir?

Veri tabanı şeması, bir veri tabanının yapısı, neler içerebileceği ve veri kümeleri arasındaki ilişkiler hakkında bilgi sağlayan genel tasarımını ifade eder. Ancak, veri şeması yalnızca veri düzenleme için bir plandır ve şema herhangi bir veri içermez.

Veri tabanı örneği, veri tabanı şemasının herhangi bir anda verileri tanımladığı ve tuttuğu etkin oturumdur. Örnek, gerçek veri değerlerinin bulunduğu ve yeni veriler eklendikçe, silindikçe veya güncellendikçe sürekli değişeceği yerdir. Veri tabanı şemalarının aksine, veri tabanı örnekleri tüm verileri içerir.

Veri tabanı şeması dönüştürme nedir?

Veri tabanı şeması dönüştürme, mevcut bir veri tabanı şemasını yeni bir biçime uyarlama işlemidir. Bu; tabloları, sütunları, dizinleri, kısıtlamaları veya tablolar arasındaki ilişkileri eklemeyi veya değiştirmeyi içerebilir.

Amaç genellikle yeni uygulama gereksinimlerini desteklemek, performansı artırmak veya farklı bir veri tabanı sistemine geçmektir. Şema dönüştürme, daha verimli veri düzenleme veya yeni bir sistemin özelliklerini desteklemeyi sağlar.

Kaynak ve hedef veri tabanlarına bağlı olarak veri taşıma, şema dönüştürme gerektirebilir veya gerektirmeyebilir.

AWS, veri tabanı şeması gereksinimlerinizi nasıl destekleyebilir?

Veri modelleme işlemi genellikle veri tabanı dışında yapılır. Model oluşturulduktan sonra Amazon Relational Database Service (RDS), standart SQL aracılığıyla şema oluşturmayı ve yönetmeyi destekler. Amazon RDS; PostgreSQL, MySQL ve Amazon Aurora gibi yönetilen ilişkisel veri tabanı yönetim sistemleri sağlar.

Veri tabanı taşıma işlemleri için AWS Veri Tabanı Taşıma Hizmeti (DMS), veri tabanı ve analiz iş yüklerinizi hızlı ve güvenli şekilde AWS'ye taşımanıza yardımcı olan, yönetilen bir taşıma hizmetidir. Kaynak veri tabanı, taşıma sırasında tamamen çalışır durumda kalır ve buna dayanan uygulamalar için kesinti süresini en aza indirir.

AWS DMS'deki DMS Şema Dönüştürme, farklı veri tabanı türleri arasındaki veri tabanı taşıma işlemlerini daha öngörülebilir hale getirir. Kaynak veri sağlayıcınız için geçişinizin karmaşıklığını değerlendirebilir ve veri tabanı şemalarını ve kod nesnelerini dönüştürebilir. Daha sonra dönüştürülen kodu hedef veri tabanınıza uygulayabilirsiniz.

AWS DMS Şema Dönüştürme'deki yeni üretken yapay zeka özelliği, en çok zaman gerektiren şema dönüştürme görevlerinden bazılarını otomatikleştirir. Bu özellik, şema nesnelerinin yüzde 90'ına kadarını ticari veri tabanlarından PostgreSQL geçişlerine otomatik olarak dönüştürür.

Mevcut veri tabanı şemanızı bir veri tabanı altyapısından diğerine dönüştürmek için AWS Şema Dönüştürme Aracı'nı (SCT) da kullanabilirsiniz.

Hemen ücretsiz bir hesap oluşturarak AWS'de veri tabanı şeması dönüştürmeye başlayın.