Ana içeriğe atla

Veritabanı Şeması Nedir? Türleri ve Kullanımları Üzerine Bir Rehber

Bir veritabanı şeması, tabloların, alanların ve ilişkilerin nasıl yapılandığını ayrıntılandırarak verilerin organizasyonuna yönelik kapsamlı bir plan sunar. Yıldız, kar tanesi ve ilişkisel şemalar gibi şema türleri hakkında bilgi edinmek için okuyun.
Güncel 3 Eki 2026  · 9 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Bir veritabanı şeması, veri yapısını tablolar, alanlar ve ilişkiler halinde göstererek bir veritabanının bir bölümünü veya tamamını mantıksal olarak tanımlar. Bunu, bir kuruluşun veri kaynaklarını anlamak için bir plan olarak düşünebilirsiniz. 

Bu yazıda, veritabanı şemalarını kolayca tasarlayıp yönetebilmeniz için bilmeniz gereken her şeyi paylaşacağız. Başlarken, ufkunuzu geniş tutmak için son derece kapsamlı veri mühendisliği kurslarımıza da göz atmanızı öneririz: Introduction to Data Engineering ve Understanding Data Engineering.

Bir Veritabanı Şemasının Bileşenleri

Bir veritabanı şeması, bir veritabanındaki yapı ve ilişkilerin planıdır. Verilerin tablolarda, alanlarda, veri türlerinde ve bu öğelerin ilişkilerinde nasıl düzenleneceğini belirtir. Temel bileşenlerinin neler olduğuna ve genel veritabanı şemasına nasıl katkı sağladıklarına bakalım: 

  • Tablo, satır ve sütunlar halinde düzenlenmiş ilgili veriler koleksiyonudur.
  • Alan, bir tablo içinde bilgi içeren sütundur.
  • Veri türü, bir alanın hangi türde veri barındırabileceğini belirtir (ör. integer, varchar, date).

İyi tasarlanmış bir veritabanı şeması, verilerin doğru olmasını, sorgu performansının optimize edilmesini ve veritabanınızın iş büyümesini desteklemesini sağlar.

veritabanı şeması illüstrasyonu

Verileri tablolara ayırma. Görsel: Yazar

Peki iyi tasarlanmış bir veritabanı şeması nasıl görünür? Bilmeniz gerekenler şunlardır:

  • İyi bir şemanın belirli kısıtları vardır. Kısıtlar, bütünlüğü korumak için bir VTYS’de verileri düzenlemeye yönelik kurallardır.
  • İyi organize edilmiş bir şema, aramaları hızlandırmak için veri depolamayı ve indekslemeyi optimize eder. 
  • İyi tanımlanmış bir şema, rutin güncellemelerden işletme büyüdükçe ölçeklenmeye kadar her şeyi otomatikleştirir. 

Veritabanı Şeması Türleri

Birden fazla veritabanı şeması türü vardır ve her biri farklı bir amaca hizmet eder, çeşitli organizasyon düzeyleri sunar. Kimi zaman şemalar genel veritabanı yapıları için daha gündelik bir dille tartışılırken kimi zaman belirli mimari unsurları ve tasarım ayrıntılarını ifade eder. Yüksek soyutlama düzeyinde, veritabanı şemaları kavramsal, mantıksal ve fiziksel olmak üzere üç türe ayrılabilir. 

Kavramsal şema

Kavramsal veritabanı şeması, veri türleri veya kısıtlar gibi uygulama ayrıntılarını göstermeden, veritabanı sisteminin tamamına genel bir bakış sağlayan üst düzey bir şemadır. Kurum içindeki veri akışını anlamaya yardımcı olur ve hem teknik hem de teknik olmayan kullanıcılar için işleri kolaylaştırır. 

Mantıksal şema

Mantıksal şema, veritabanındaki verilerin mantıksal yapısını ortaya koyar. Verilerin nasıl organize edildiğini ve veriler arasındaki ilişkileri, fiziksel olarak nasıl saklandığını göstermeden tanımlar. Bu şema türü, veritabanı tasarım aşamasında girişleri doğrulamak için veri türlerini ve kısıtları belirleyerek veri tutarlılığını ve bütünlüğünü korur. 

Fiziksel şema

Fiziksel veritabanı şeması, verilerin bir sistem içinde nerede bulunduğunu açıklar. Bu, büyük miktarda veriyi işlerken en yüksek performansı sağlamak için dosya konumlarını, indeksleme stratejilerini ve her tablo için depolama biçimlerini kapsayabilir.

Veritabanı Şeması Biçemleri

Verileri düzenlemeye gelince tek tip bir yaklaşım yoktur. Farklı veri ambarlarının farklı iş ihtiyaçları vardır; bu nedenle farklı veritabanı şemalarına ihtiyaç duyarlar. En popüler biçemlerden bazıları yıldız şema, kar tanesi şema, hiyerarşik şema ve ilişkisel şemadır.

Yıldız şema

Yıldız şema, büyük veri kümelerini iki temel ilkeye göre düzenler ve yönetir: olgular ve boyutlar. Olgular, satış rakamları veya işlem hacimleri gibi, ardındaki itici faktörlerin dikkate alındığı iş operasyonları gibidir. Boyutlar ise bu olguları betimleyici bir bağlamla genişletir. Zaman, konum veya ürün ayrıntıları olabilir. 

yıldız şema örneği

Yıldız şema. Görsel: Yazar.

Kar tanesi şema

Kar tanesi şema, yıldız şemaya benzer. Çok sayıda boyut tablosuna bağlı merkezi bir olgu tablosu vardır ancak küçük bir fark bulunur. Kar tanesi şemada, tüm boyutlar düz değildir—her boyut tablosu daha fazla normalleştirilmiş, birbiriyle ilişkili birçok tabloya ayrılmıştır. Bu, her boyut tablosunun daha küçük ve ilişkili tablolara bölündüğü anlamına gelir.

kar tanesi şema örneği

Kar tanesi şema. Görsel: Yazar

İlişkisel şema

Bu şema, mantık ve işlevlerden ziyade nesnelerle ilgili verileri daha değerli gören nesne yönelimli programlama dilleri için en uygunudur. İlişkisel veritabanı şemasında, her nesneye kendi tablosu atanır ve bu tabloların tümü birbirine bağlanır. 

veritabanı şeması ilişkisel model

İlişkisel veritabanı modeli. Görsel: Yazar. 

Örneğin bir e-ticaret veritabanında ürünler, müşteriler, siparişler ve incelemelerle ilgili tablolar bulunur—hepsi birbiriyle ilişkilidir. Yıldız veya kar tanesi şemadan farklı olarak merkezi bir olgu tablosu yoktur. Bunun yerine, verileri yönetme ve getirme verimliliğini artırmak için nesneler arasında esnek ilişkiler bulunur.

Hiyerarşik şema

Bu şemada, bir kök tablo tam olarak bir ebeveyne sahip birden çok alt tabloya bağlanır. 

veritabanı şeması hiyerarşik model

Veritabanı şemasının hiyerarşik modeli. Kaynak: Wikipedia

Örneğin, bir üniversite sisteminde kök tablo bölümleri içerebilir; her bölüm ise öğretim üyeleri ve dersler için alt tablolara bağlanır. Öğretim üyeleri yalnızca bir bölüme bağlı olabilir, ancak dersler belirli bir öğretim üyesine atanır. Bu yapı, ders programları ve öğretim üyesi bilgileri gibi sık kullanılan verilere erişimi kolaylaştırır.

Veritabanı Şemalarının Faydaları

Veritabanı şemaları, ilişkileri, kısıtları ve veri depolamayı açıkça tanımlayarak genel sistem performansını ve güvenliğini artırır. İyi tasarlanmış veritabanı şemalarının bazı başlıca avantajları şunlardır:

  • Veri Organizasyonu: Verileri netlik ve tutarlılığı koruyacak şekilde doğru biçimde tablolara yerleştirir.
  • Veri Bütünlüğünü Korur: Yabancı anahtarları tanımlar ve verileri doğru ve güvenilir tutan kurallar koyar.
  • Güvenliği Sağlar: Şema düzeyinde erişim izinleri belirleyerek yetkisiz erişimi kısıtlar ve kullanıcıların yalnızca görmeleri gerekenleri görmesini sağlar.
  • Ölçeklenebilirlik: İyi şema tasarımı ölçeklenebilirliği destekler; veritabanı yöneticilerinin verileri bölümlere ayırmasını ve büyümeyi yönetmesini kolaylaştırır. 
  • İletişimi Kolaylaştırır: Veritabanı tasarımcıları ve yöneticileri, veritabanı tasarımını anlamak için veritabanı şemalarını kullanarak iletişim kurabilir ve işbirliği yapabilir.
  • Kesintisiz Bakım: Veritabanı yöneticileri, mevcut uygulamaları veya veri bütünlüğünü bozmadan şemayı kullanarak veritabanı yapısında ayarlamalar yapabilir.

Bir Veritabanı Şeması Nasıl Tasarlanır

Bir veritabanı için şema tasarlamak aşağıdaki adımları içerir.

Gereksinimleri toplayın

İyi bir veritabanı tasarlamak için önce temel amacını belirlemeniz gerekir: hangi verileri içereceği ve kimin kullanacağı. Paydaşlarla görüşerek ihtiyaç duyulan spesifik veriler, bu veriler üzerinde çalıştırılacak sorgu türleri ve üretilecek raporlar gibi ayrıntılı gereksinimleri toplayabilirsiniz. Böylece net bir proje kapsamı elde eder ve veritabanının gereksiz karmaşıklık olmadan kullanıcı ihtiyaçlarını karşılamasını sağlarsınız.

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

Artık gereksinimleri bildiğinize göre, veritabanınızın kavramsal bir görünümünü veya modelini oluşturun. Bunu, bir veritabanı şeması içindeki tabloların veya varlıkların nasıl ilişkilendiğini gösteren Varlık-İlişki Diyagramı (ERD) kullanarak yapabilirsiniz.

Bir veritabanındaki ilişkileri gösteren bir varlık-ilişki diyagramı

Örnek Varlık-İlişki Diyagramı. Kaynak: Wikimedia Commons

Varlıklar arasında üç tür ilişki vardır:

  • Bire bir: Bu ilişki, bir tablodaki bir varlık örneğinin başka bir tablodaki bir varlık örneğiyle benzersiz şekilde eşleştiğini belirtir. Örneğin Sosyal Güvenlik Numaraları bireyleri benzersiz olarak tanımlar ve bire bir ilişkiye işaret eder.
  • Bire çok: Bu ilişkide bir tablodaki bir varlık, başka bir tablodaki birçok varlıkla ilişkili olabilir. Ancak tersine, diğer tablodaki bir varlık, ilk tablodaki yalnızca bir varlıkla ilişkili olabilir. Örneğin bir müşterinin birçok siparişi olabilir, ancak her bir sipariş yalnızca bir müşteriye aittir.
  • Çoka çok: Bu ilişki, belirli bir tablodaki bir şeyin başka bir tablodaki birkaç kayıtla ve tersi yönde ilişkilendirilebileceğini ifade eder. Örneğin bir üniversitede, her öğrenci birden çok derse kaydolabilir ve her derste birden çok öğrenci bulunabilir.

Bilgileri tablolara düzenleyin

Sonraki adım, verilerinizi tablolara düzenlemektir. Veritabanınızdaki her varlık için bir tablo oluşturun ve bu varlıklarla ilgili her özniteliği tutacak sütunları belirtin. Her tabloya bir birincil anahtar verin ki her kaydın benzersiz bir tanımlayıcısı olsun ve verilere kolayca erişilebilsin. 

Veritabanını normalleştirin

Normalizasyon, veritabanınızdaki verileri yinelenen verileri azaltıp bütünlüğünü artırarak optimize eder. Birden fazla normal form vardır (1NF, 2NF, 3NF, BCNF ve daha fazlası), ancak üçüncü normal forma (3NF) kadar normalleştirmelisiniz.

Üç normalleştirme formuna ve amaçlarına burada bakın:

  • 1NF: Tüm yinelenen değerleri kaldırır.
  • 2NF: Anahtar olmayan tüm özniteliklerin tamamen birincil anahtara bağlı olmasını sağlar.
  • 3NF: Anahtar olmayan tüm özniteliklerin bütünüyle birincil anahtara ve geçişli olmayacak şekilde bağlı olmasını sağlar.

veritabanında normalizasyon ve denormalizasyon

Veritabanında normalizasyon. Görsel: Yazar

Güvenlik önlemlerini uygulayın

Sağlam veritabanı güvenliği için, veritabanına kimin erişebileceğini ve okuma, yazma veya silme gibi hangi izinlere sahip olduklarını net biçimde tanımlayın. Böylece erişimi yalnızca yetkili kullanıcılarla sınırlar ve yetkisiz kişilerin hassas verileri görmesini veya değiştirmesini önlersiniz. Ayrıca, hassas verileri beklemede ve aktarım sırasında şifrelemek, bilgiyi karıştırarak yetkisiz kişilerce ele geçirilse bile okunamaz hale getirerek güvenliği daha da güçlendirir.

Adlandırma kurallarını belirleyin

Veritabanı tasarımını tanımlarken—tablolar, sütunlar, indeksler ve diğer nesne adlandırma kuralları—tutarlı olmalıdır. İsimler, bir tablo veya sütunda tam olarak ne tutulduğunu ima edecek kadar açıklayıcı olmalı, böylece kullanıcılar zahmetsizce hızlıca anlayabilmelidir. Bu, sizin veya ekipten başka birinin veritabanı işlemlerini yaparken olası çakışmaları önleyecektir. 

Test

Her şeyi tamamladıktan sonra, şemayı örnek verilerle kapsamlı biçimde test ederek işlemleri ve sorguları çalıştırın ve performansını ölçün. Bu test aşamasından topladığınız geri bildirimlere göre şemayı gerektiği gibi iyileştirin ve ayarlayın. Bu sayede olası sorunları belirleyip çözersiniz ve veritabanı şemanızın verimli olmasını sağlarsınız.

Şema Tasarımında Yaygın Zorluklar ve Çözümler

İyi tasarlanmış bir şema, verimli bir veritabanı sisteminin temelidir. Ancak doğru bir şema tasarlamak çeşitli zorluklar da barındırabilir. Öyleyse bunlara ve çözümlerine bakalım. 

Belirsiz ilişkileri grafik veritabanlarıyla düzenleyin

Tablolar arasındaki ilişkiler net tanımlanmadığında, yapılandırılmış sorgular çok karmaşık hale gelir. Bu durum sorgu yürütmeyi yavaşlatır ve uygulamanın genel performansını etkiler. Örneğin, sahipsiz kayıtlar ve güncelleme tutarsızlıkları veri doğruluğunu ve kaliteyi bozar. Bu sorunlardan kaçınmak için, şeffaf ve verimli ilişki yapıları tanımlamak ve karmaşık ilişkileri daha etkili yönetmek üzere grafik veritabanları gibi gelişmiş modelleme araçlarını uygulamalısınız.

Çok katmanlı korumayla veritabanı güvenlik risklerini azaltın  

Veritabanları, hassas bilgileri tehlikeye atabilecek SQL enjeksiyonlarına ve veri ihlallerine karşı savunmasızdır. Verilerinizi güvende tutmak için, gelişmiş veri şifreleme yöntemleri ve yapay zeka tabanlı anomali tespit sistemlerini içeren çok katmanlı güvenlik stratejileri uygulayın. Bu, potansiyel tehditleri belirlemeye ve hafifletmeye yardımcı olur. Buna ek olarak, varsa potansiyel tehditleri izlemek için düzenli güvenlik denetimleri gerçekleştirin. 

Normalizasyon sorunlarını düzeltmek için verilerinizi yeniden düzenleyin

Farklı normalizasyon düzeyleri, sorgu performansını etkiler ve bakımı karmaşıklaştırır. Ayrıca, aşırı normalizasyon karmaşık birleştirmelere yol açabilirken yetersiz normalizasyon veri anomali­lerine neden olabilir. Bu sorunları çözmek için, veri erişim desenine dayalı esnek normalizasyon stratejileri uygulamalısınız. Mevcut normalizasyon durumunu düzenli olarak gözden geçirmek ve gerekirse normalizasyon düzeyini ayarlamak için veritabanı yeniden düzenleme araçlarını kullanın. Böylece normalleştirilmiş ve denormalize yapılar arasında denge kurarak en iyi performansı elde edebilirsiniz.

Güncellemelerle şema dokümantasyonunu iyileştirin

Açık bir dokümantasyon olmadan, veritabanı şemasındaki değişiklikler riskli hale gelebilir ve daha fazla zaman alabilir. Bu yüzden, dokümantasyonu düzenli olarak güncelleyerek doğru olduğundan ve en güncel veritabanı yapılarıyla senkronize olduğundan emin olun. 

Düşük kaliteli indekslemeyi otomatik araçlarla geliştirin

Zayıf indeksleme, yavaş sorgu performansına ve yazma işlemlerinin etkilenmesine yol açabilir. Uygun indeksler olmadan veritabanı genelinde arama yapmak çok zaman alır. Bu zorluğun üstesinden gelmek için, sorgu desenlerini analiz eden ve indeks oluşturmayı öngörülü olarak optimize eden query store gibi otomatik indeksleme araçlarını kullanabilirsiniz. Bu araçlar, kullanım desenlerine göre indeksleri ayarlayan makine öğrenimi algoritmalarına sahiptir.

Özet

İyi yapılandırılmış bir veritabanı şeması, artan veri hacimleri ve karmaşıklıklarla başa çıkmak için sağlam bir çerçeve sunarak veri bütünlüğünü korur ve ölçeklenebilirliği destekler.

Kendinizi geliştirmek istiyorsanız, bu yolculukta size yardımcı olacak harika DataCamp kursları mevcut. Managing Databases in PostgreSQL öğreticimiz, en güçlü açık kaynak veritabanı sistemlerinden biri olan PostgreSQL hakkında pratik içgörüler sunar. Using PostgreSQL in Python öğreticimiz, veritabanı yönetimi ile programlama arasındaki boşluğu kapatır. Bir veritabanı yöneticisiyseniz, SQL for Database Administrators yetkinlik yolumuza başlayabilirsiniz. Veri hazırlığıyla ilgilenenler ise Cleaning Data in PostgreSQL Databases kursumuza göz atmalıdır. 


Laiba Siddiqui's photo
Author
Laiba Siddiqui
LinkedIn
Twitter

Karmaşık konuları basitleştirmeyi seven bir içerik stratejistiyim. Splunk, Hackernoon ve Tiiny Host gibi şirketlerin hedef kitleleri için ilgi çekici ve bilgilendirici içerikler üretmelerine yardımcı oldum.

Veritabanı Şeması Hakkında SSS

Bir tablo ile bir veritabanı şeması arasındaki fark nedir?

Bir tablo, veritabanı içinde satır ve sütunlar halinde düzenlenmiş verileri içerir. Öte yandan, bir veritabanı şeması veritabanı yapısının genel planıdır. Tabloların, alanların ve veritabanının farklı bölümleri arasındaki ilişkilerin nasıl düzenlendiğini tanımlar.

Bir veritabanı şemasına örnek nedir?

Bir e-ticaret uygulaması için örnek bir veritabanı şeması, Customers, Orders, Products ve OrderDetails gibi tabloları içerir. Bu tablolar, verilerin düzenli kalması için ilişkilerle birbirine bağlanır.

Bir veritabanı şemasının bileşenleri nelerdir?

Bir veritabanı şemasının temel bileşenleri tablolar, alanlar, veri türleri ve ilişkilerdir. Tablolar ilgili verileri satır ve sütunlarda saklar, alanlar bir tablodaki sütunları temsil eder, veri türleri bir alanın barındırabileceği veri türünü belirtir ve ilişkiler tabloların birbirleriyle nasıl etkileşime girdiğini tanımlar.

Farklı veritabanı şeması türleri nelerdir?

Veritabanı şemaları üç ana türe ayrılabilir: kavramsal, mantıksal ve fiziksel şemalar. Kavramsal şemalar uygulama ayrıntıları olmadan veritabanına genel bir bakış sunar, mantıksal şemalar verilerin yapısını ve ilişkilerini ortaya koyar, fiziksel şemalar ise verilerin nerede ve nasıl saklandığını açıklar.

Veritabanı şemalarının yaygın biçemleri nelerdir?

Veritabanı şemalarının en yaygın biçemleri yıldız şema, kar tanesi şema, hiyerarşik şema ve ilişkisel şemadır. Her biçem, belirli iş ihtiyaçlarını karşılamak için verileri kendine özgü bir şekilde düzenler.

Yıldız şema ile kar tanesi şema arasındaki fark nedir?

Bir yıldız şemada, boyut tablolarına bağlı merkezi bir olgu tablosu bulunur; bu boyutlar düzdür ve normalleştirilmemiştir. Buna karşılık, bir kar tanesi şemada da merkezi bir olgu tablosu vardır ancak boyut tabloları, daha küçük ilişkili tablolara normalleştirilir ve daha karmaşık bir yapı oluşur.

İlişkisel şema, hiyerarşik şemadan nasıl farklıdır?

İlişkisel şema, nesne yönelimli programlama için tasarlanmıştır ve verileri, merkezi bir olgu tablosu olmadan birbirleriyle ilişkili tablolara düzenler. Buna karşılık hiyerarşik şema, verileri bir kök tablonun birden çok alt tabloya bağlandığı ve her alt tablonun yalnızca bir ebeveyne sahip olduğu ağaç yapısında organize eder.

Bir veritabanı şeması tasarlamada hangi adımlar yer alır?

Bir veritabanı şeması tasarlamak, gereksinimlerin toplanması, varlık-ilişki diyagramlarının (ERD) oluşturulması, bilgilerin tablolara düzenlenmesi, veritabanının normalleştirilmesi, güvenlik önlemlerinin uygulanması, adlandırma kurallarının tanımlanması ve şemanın örnek verilerle test edilmesi gibi birkaç adımdan oluşur.

Veritabanı şemaları performans için nasıl optimize edilebilir?

Veritabanı şemaları, tabloları ve alanları dikkatle organize ederek, yinelenmeyi azaltmak için verileri normalleştirerek, verimli indeksleme stratejileri uygulayarak ve veri erişim desenleri ile performans testlerine dayalı olarak şemayı düzenli şekilde yeniden düzenleyerek optimize edilebilir.

Konular
Veri Mühendisliği

DataCamp ile öğrenin

{count, plural, one {Kurs} other {Kurs}}

Power BI'de Veri Modellemesi

{hours} sa
101.2K
Power BI'da veri modellemenin temel kavramlarını öğrenin.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

{count, plural, one {blog} other {blog}}

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

{count, plural, one {blog} other {blog}}

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

{count, plural, one {Eğitim} other {Eğitim}}

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

{count, plural, one {Eğitim} other {Eğitim}}

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Devamını GörDevamını Gör