Veritabanı Yönetimine Giriş
Veri
Veri, işlenerek anlamlı hale getirilebilen, bilgi taşıyan gerçek veya soyut öğelerin temsilidir. Örneğin, bir müşterinin adı, adresi, telefon numarası gibi bilgiler veri olarak düşünülebilir. Veri genellikle sayılar, harfler, semboller, resimler veya ses kayıtları gibi farklı biçimlerde olabilir.
Veriler, birçok farklı kaynakta toplanabilir, örneğin kullanıcıların web sitelerindeki etkileşimleri, bir şirketin finansal kayıtları veya bir araştırma projesi için toplanan veriler gibi. Verilerin doğru bir şekilde toplanması, işlenmesi, saklanması ve analiz edilmesi, bu verilerin kullanıcıları için anlamlı ve yararlı hale getirilmesi için önemlidir. Bu nedenle veri yönetimi, verilerin etkili bir şekilde kullanılmasını sağlamak için önemlidir.
Veritabanı
Veritabanı, yapılandırılmış verilerin depolanması, yönetilmesi ve erişimine izin veren bir yazılım sistemidir. Veritabanları, bir veya daha fazla kullanıcı veya uygulama tarafından erişilebilen bir dizi ilişkisel veya hiyerarşik veri öğesini içerebilir. Veritabanları genellikle bir bilgisayar sunucusunda barındırılır ve bir veritabanı yönetim sistemi (DBMS) tarafından yönetilir.
Veritabanları, birçok farklı amaç için kullanılabilir. Örneğin, bir işletme, müşteri bilgilerini, siparişleri veya stok bilgilerini depolamak için bir veritabanı kullanabilir. Araştırmacılar, araştırmaları için verileri saklamak ve analiz etmek için veritabanlarını kullanabilirler. Veritabanları ayrıca web siteleri, mobil uygulamalar ve diğer yazılım uygulamaları için verilerin depolanması ve yönetimi için kullanılabilir.
Veritabanlarının kullanımı, verilerin kolayca yönetilebilmesini, güncellenebilmesini, depolanmasını ve erişimini sağlar. Bu nedenle, birçok organizasyon ve uygulama için veritabanı yönetimi, verilerin doğru bir şekilde kullanılmasını ve analiz edilmesini sağlamak için kritik önem taşır.
Veritabanı Türleri
Veritabanları farklı türlerde olabilir ve farklı amaçlar için kullanılabilir. En yaygın veritabanı türleri şunlardır:
- İlişkisel Veritabanı: İlişkisel veritabanı, verilerin birbirleriyle ilişkili olduğu bir veri modelidir. Bu tür veritabanları, tabloları kullanarak verileri depolar ve birbirleriyle ilişkilendirir. İlişkisel veritabanları, Oracle, MySQL ve Microsoft SQL Server gibi birçok farklı veritabanı yönetim sistemi tarafından desteklenir.
- NoSQL Veritabanı: NoSQL veritabanları, ilişkisel veritabanlarından farklı olarak, yapılandırılmamış veya yarı yapılandırılmış verileri depolamak için tasarlanmıştır. Bu tür veritabanları, büyük hacimli, hızlı değişen veya çok karmaşık verileri işlemek için kullanılır. NoSQL veritabanları, Cassandra, MongoDB ve Couchbase gibi birçok farklı uygulama tarafından kullanılır.
- Hiyerarşik Veritaban: Hiyerarşik veritabanlarında, veriler, ağaç benzeri bir yapıda hiyerarşik olarak saklanır. Bu tür veritabanları, genellikle büyük miktarda veriyi depolamak ve sorgulamak için kullanılır. Hiyerarşik veritabanları, IMS gibi eski uygulamalar tarafından kullanılır.
- İşlem Veritabanı: İşlem veritabanları, işlem yönetimi işlemleri için tasarlanmıştır ve transaksiyonel veritabanlar olarak da bilinir. Bu tür veritabanları, verilerin doğru bir şekilde güncellenmesi ve işlenmesi için kullanılır. İşlem veritabanları, Microsoft Access gibi uygulamalar tarafından kullanılır.
Bu sadece bazı örneklerdir ve birçok farklı veritabanı türü vardır. Veritabanı seçimi, bir organizasyonun ihtiyaçlarına, verilerinin özelliklerine ve kullanım senaryolarına bağlı olarak yapılır.
Veri Tabanı Yönetim Sistemi
Veritabanı yönetim sistemi (DBMS), verilerin depolanması, yönetilmesi ve erişimine izin veren bir yazılım sistemidir. Bir DBMS, verileri bir veritabanına yazmak, verileri güncellemek, verileri silmek, verileri sorgulamak ve verilere erişimi kontrol etmek gibi işlevleri gerçekleştirir.
Bir DBMS, bir veritabanının verilerinin mantıksal ve fiziksel yapılandırmasını yönetir. Bu yapılandırma, verilerin depolanma şeklini ve organizasyonunu belirler. DBMS, veritabanının güvenliği, verilerin tutarlılığı, veri bütünlüğü ve veri erişimini kontrol etmek için gerekli olan işlevleri de sağlar.
Bir DBMS, kullanıcıların veritabanına erişimini kontrol eder. Kullanıcıların verilere erişimi sınırlanabilir, yalnızca belirli verilere erişim izni verilebilir veya belirli işlemleri yapma yetkisi verilebilir. Bu, verilerin güvenliği ve gizliliği açısından önemlidir.
DBMS'ler, ilişkisel veritabanı yönetim sistemleri (RDBMS) gibi farklı türlerde olabilir. RDBMS, verileri tablolar halinde depolar ve veriler arasındaki ilişkileri yönetir. Bu tür DBMS'ler, SQL gibi bir sorgu dilini kullanarak verilere erişimi sağlar. RDBMS'ler, Oracle, Microsoft SQL Server, MySQL ve PostgreSQL gibi popüler DBMS'lerin bir örneğidir.
DBMS, veritabanı yönetimi için gereken işlevleri sağlar ve birçok farklı amaç için kullanılabilir. Veritabanı yönetimi, bir organizasyonun verilerini doğru şekilde saklamasını, yönetmesini ve kullanmasını sağlayarak, birçok farklı iş süreci için kritik önem taşır.
Veritabanı Sistemlerinin Üstünlükleri
Veritabanı sistemleri, verilerin depolanması, yönetilmesi ve erişimine izin veren bir yazılım sistemi olarak birçok avantaj sunar. Bunların arasında:
- Veri tutarlılığı: Veritabanı sistemleri, verilerin tutarlılığını sağlayarak verilerin bütünlüğünü korur. Verilerin tek bir yerde depolanması, verilerin tutarlılığını ve doğruluğunu arttırır.
- Veri güvenliği: Veritabanı sistemleri, verilerin güvenliğini sağlayarak verilerin gizliliğini korur. Verilere erişim kontrolü sağlanır ve verilerin güvenliği için çeşitli güvenlik önlemleri alınır.
- Veri erişiminde kolaylık: Veritabanı sistemleri, verilerin sorgulanmasını ve erişimini kolaylaştırarak verilerin hızlı bir şekilde bulunmasını sağlar. SQL gibi sorgu dilleri kullanarak verilere erişim sağlanabilir.
- Veri bütünlüğü: Veritabanı sistemleri, verilerin bütünlüğünü koruyarak verilerin tutarlılığını ve doğruluğunu arttırır. Veritabanı sistemleri, verilerin yazılması, güncellenmesi ve silinmesi sırasında bütünlüğü korumak için işlemleri atomik ve tutarlı hale getirir.
- Veri paylaşımı: Veritabanı sistemleri, verilerin farklı kullanıcılar ve uygulamalar arasında paylaşılmasını kolaylaştırarak verilerin tekrar kullanılmasını sağlar.
- Veri yönetiminde esneklik: Veritabanı sistemleri, farklı veri türleri ve boyutları için farklı depolama seçenekleri sunarak veri yönetiminde esneklik sağlar.
- Veri yedekleme ve geri yükleme: Veritabanı sistemleri, verilerin yedeklenmesi ve geri yüklenmesi için birçok seçenek sunarak verilerin kaybolması veya zarar görmesini önler.
Bu nedenlerden dolayı, veritabanı sistemleri birçok farklı sektörde ve uygulamada kullanılmaktadır. Özellikle büyük ölçekli işletmeler, finansal kuruluşlar, sağlık sektörü ve hükümet kurumları gibi yerlerde veritabanı sistemleri kritik öneme sahiptir.
Varlık-İlişki Modeli
Varlık-İlişki Modeli (Entity-Relationship Model), veritabanı tasarımı için kullanılan bir yöntemdir. Bu model, veritabanının tasarımını kolaylaştırmak ve verilerin ilişkilerini tanımlamak için kullanılan grafiksel bir notasyondur.
Bu modelde, veritabanındaki her varlık (entity) bir dikdörtgenle temsil edilir ve her ilişki (relationship) bir rombus (ya da losange) ile temsil edilir. Her varlık, özellikleri (attributes) ile birlikte tanımlanır. İlişkiler ise varlıklar arasındaki bağıntıları temsil eder. İlişkiler, genellikle iki varlık arasındaki bağlantıları ifade eder ve ilişkilerin türüne bağlı olarak, birinci dereceden, ikinci dereceden veya üçüncü dereceden olabilirler.
Örneğin, bir müşteri ve bir sipariş varlıkları arasındaki ilişkiyi ele alalım. Müşteri varlığı, müşteri adı, müşteri adresi ve müşteri telefonu gibi özellikleri içerebilirken, sipariş varlığı, sipariş numarası, sipariş tarihi ve toplam sipariş tutarı gibi özellikleri içerebilir. İki varlık arasındaki ilişki, bir müşterinin birden çok siparişi olabileceğini ve bir siparişin de sadece bir müşteriye ait olabileceğini gösterir.
Varlık-İlişki Modeli, veritabanı tasarımı için kullanılan birçok farklı notasyona sahiptir ve çeşitli araçlar tarafından desteklenir. Bu model, veritabanının tasarımını kolaylaştırır ve veritabanının ilişkilerinin daha iyi anlaşılmasını sağlar.
Varlık(Entity): Varlık, bir veritabanındaki gerçek veya soyut varlıkları temsil eder. Örneğin, bir müşteri, bir sipariş, bir ürün, bir öğrenci gibi gerçek varlıklar veya bir hesap, bir işlem, bir hava durumu gibi soyut varlıklar olabilir. Varlıklar, veritabanındaki verilerin ana bileşenleridir ve her biri kendine özgü bir kimlik veya benzersiz bir tanımlayıcıya sahip olabilir.
Varlık Dizisi: Varlık dizisi, benzer varlıkların bir araya getirildiği ve bunların benzer niteliklere sahip olduğu bir grup varlıktır. Örneğin, bir üniversitenin öğrenci kayıt sistemini ele alırsak, öğrenci varlık dizisi, tüm öğrencilerin bilgilerini içerecektir.
İlişki: İlişki, varlıklar arasındaki bağlantıyı temsil eder. Veritabanındaki verilerin birbirleriyle ilişkili olduğu durumları açıklamak için kullanılır. Örneğin, bir müşterinin bir siparişi olabilir ve bir siparişte birden çok ürün olabilir. Bu durumda, müşteri ve sipariş arasında bir ilişki vardır.
İlişki Kümeleri: İlişki kümeleri, birden fazla ilişkinin bir araya getirildiği bir grup ilişkidir. İlişki kümeleri, genellikle benzer türdeki ilişkileri içerir ve bu ilişkilerin tümü aynı varlık dizilerini veya benzer varlık dizilerini paylaşabilir.
Nitelikler: Nitelikler, varlıkların özelliklerini ifade eder. Örneğin, bir müşteri varlığı, müşteri adı, müşteri adresi ve müşteri telefonu gibi niteliklere sahip olabilir. Nitelikler, veritabanındaki verilerin daha ayrıntılı bir şekilde tanımlanmasına ve filtrelenmesine olanak tanır.
Etki Alanı: Etki alanı, bir niteliğin geçerli olduğu veya bir değerin alınabileceği aralığı ifade eder. Örneğin, bir yaş niteliği için etki alanı, 0 ila 120 arasında olabilir. Bu, veritabanında yanlış veri girilmesini önler ve veri doğruluğunu artırır.
Türetilen Nitelik: Türetilen nitelik, diğer niteliklerin bir fonksiyonu olarak hesaplanan bir niteliktir. Örneğin, bir öğrenci varlığı için not ortalaması, öğrencinin ders notlarının ortalamasından türetilen bir niteliktir.
Çok Değere Sahip Nitelik: Çok değere sahip nitelik, bir niteliğin birden fazla değer alabileceği durumu ifade eder. Örneğin, bir müşteri varlığı için telefon numarası niteliği, müşterinin birden fazla telefon numarası olabileceği için çok değere sahip bir niteliktir.
Birleşik Nitelik: Birleşik nitelik, birden fazla niteliğin bir araya getirilmesiyle oluşturulan bir niteliktir. Örneğin, bir adres niteliği, sokak adı, şehir, posta kodu gibi farklı nitelikleri birleştiren bir birleşik nitelik olabilir.
Varlıklar arası İlişkiler(Eşleme): Varlıklar arası ilişkiler, farklı varlık türleri arasında bağlantılar oluşturarak veritabanındaki verilerin daha ayrıntılı bir şekilde tanımlanmasına olanak tanır. Örneğin, bir üniversitenin öğrenci kayıt sistemi için öğrenci varlık türü ve ders varlık türü arasında bir eşleme ilişkisi olabilir. Bu ilişki, bir öğrencinin hangi dersleri aldığını tanımlamak için kullanılabilir. Eşleme ilişkileri, bir varlıktaki birincil anahtar alanının, başka bir varlıkta birincil anahtar olarak kullanıldığı durumlarda da kullanılabilir. Bu durumda, bir varlık diğer varlıkla ilişkilendirilir ve bu ilişki birincil anahtar alanları aracılığıyla gerçekleştirilir.
Anahtar: Bir veritabanında bir varlık türü için benzersiz bir tanımlayıcıdır. Bu, her öğenin tek bir anahtarı olmasını sağlar. Anahtar, bir varlık türünün tüm örneklerini benzersiz bir şekilde tanımlar. Veri tabanı yönetim sistemi genellikle bir varlık türü için bir anahtar seçer veya oluşturur. Anahtarlar, veri tabanındaki kayıtların hızlı bir şekilde bulunmasına olanak tanır.
Aday Anahtar: Aday anahtarlar, bir varlık türünde bir anahtar olarak kullanılabilecek potansiyel anahtar adaylarıdır. Yani, birden fazla özelliği (veya niteliği) birleştiren ve benzersiz bir şekilde tanımlayan bir grup alan veya nitelik kümesidir. Ancak, bu alanların her biri tek başına bir anahtar olarak kullanılamaz. Aday anahtarlar, bir veritabanındaki belirli bir varlık türü için anahtar seçiminde kullanılan bir araçtır.
Süper Anahtar: Bir varlık türünde birden fazla aday anahtar varsa, bu anahtarların hepsi birleştirilerek bir süper anahtar oluşturulabilir. Süper anahtar, aday anahtarların herhangi birini birleştirerek varlık türünde bir kaydın benzersiz bir şekilde tanımlanmasına olanak tanır. Süper anahtar, veri tabanında bir varlık türünün tek bir kaydının benzersiz bir şekilde tanımlanmasına izin verir ve aynı zamanda veri tabanındaki verilerin bütünlüğünü sağlar.
Birden bire ilişki
Bu ilişki türünde, bir varlık türü, diğer varlık türlerinin herhangi biriyle sadece bir kez ilişkilendirilebilir. Birden-bire ilişkileri, veritabanı tasarımında kullanılan yaygın bir ilişki türüdür.
Örneğin, bir üniversite veritabanında, bir öğrenci varlığı ve bir öğretmen varlığı arasında birden-bire ilişki olabilir. Bu durumda, bir öğrenci sadece bir öğretmenle ilişkili olabilir ve aynı zamanda bir öğretmen de sadece bir öğrenciyle ilişkili olabilir. Bu ilişki, bir öğrenciyle bir öğretmenin bir danışmanlık ilişkisi içinde olduğu durumlarda kullanılabilir. Örneğin, bir öğrenci bir tez projesi hazırlarken bir öğretmenin danışmanlığında çalışabilir. Bu durumda, öğrenci varlığı, öğretmen varlığına birden-bire ilişkili olacaktır.
Bu ilişki türünde, bir varlık türü, diğer varlık türleriyle ilişkilendirildiği zaman, bu ilişkinin birincil anahtar alanı, ilişkide bulunan diğer varlık türlerinden birinin birincil anahtar alanıdır. Örneğin, bir öğrenci varlığı bir öğretmen varlığıyla birden-bire ilişkili olduğunda, öğrenci varlığının birincil anahtar alanı olan öğrenci numarası alanı, öğrenci ve öğretmen varlıkları arasındaki ilişkide birincil anahtar alan olarak kullanılacaktır.
Birden-bire ilişkileri, veritabanı tasarımında kullanılan diğer ilişki türleriyle birlikte kullanılabilir. Örneğin, bir öğrenci varlığı, bir ders varlığıyla birçoklu bir ilişkiye sahip olabilirken, aynı öğrenci varlığı bir öğretmen varlığıyla birden-bire bir ilişkiye sahip olabilir. Bu, veritabanının karmaşık ilişkileri tanımlamasına olanak tanır ve veri bütünlüğünü korur.
Birden-çoğa İlişki
Birden-çok ilişki, bir varlık türünün diğer varlık türleriyle birden fazla ilişkisi olabileceği bir tür ilişkidir. Bu ilişkide bir taraftaki varlık türü birden çok, diğer taraftaki varlık türü ise en fazla bir kez ilişkilendirilebilir. Bu tür bir ilişkide, bir varlık türü "birçok" diğer varlık türü "tek" olarak ifade edilir.
Örneğin, bir okulda bir öğrenci birçok ders alabilir, ancak bir ders sadece bir öğretmen tarafından verilebilir. Bu durumda, öğrenci ve ders varlıkları arasında birden-çok ilişki vardır.
Yukarıdaki şemada, "Öğrenci" ve "Ders" varlık türleri arasında bir birden-çok ilişki tanımlanmıştır. Her bir "Öğrenci" varlığı birden çok "Ders" varlığına bağlanabilir, ancak her "Ders" varlığı sadece bir "Öğretmen" varlığına bağlanabilir.
Örneğin, "Ali" isimli bir öğrenci "Matematik", "Fizik" ve "Tarih" isimli üç farklı dersi alabilir. Ancak her bir ders sadece bir öğretmen tarafından verilebilir ve "Matematik" dersi "Ahmet" isimli bir öğretmen tarafından verilebilir.
Çoktan Bire İlişki
Çoktan-bire ilişki, bir varlık türünün bir diğer varlık türüyle birden fazla ilişkisi olabileceği, ancak diğer varlık türünün sadece bir kez ilişkilendirilebileceği bir tür ilişkidir. Bu ilişkide bir taraftaki varlık türü "çok", diğer taraftaki varlık türü ise "tek" olarak ifade edilir.
Örneğin, bir şirkette bir departmanda birçok çalışan bulunabilir, ancak bir çalışan sadece bir departmana ait olabilir. Bu durumda, departman ve çalışanlar arasında bir çoktan-bire ilişki vardır.
Çoktan Çoğa İlişki
Çoktan-çoka ilişki türünde, bir varlık türü birden fazla örneği diğer bir varlık türü birden fazla örneği ile ilişkili olabilir. Bu tür ilişkilerde, her iki varlık türü de "çok" olarak ifade edilir.
Örneğin, birçok öğrencinin birden fazla dersi olabilir ve her ders de birden fazla öğrenciye ait olabilir. Bu durumda, "Öğrenci" ve "Ders" varlık türleri arasında bir çoktan-çoka ilişki vardır.
Birincil ve Yabancıl Anahtar
Birincil anahtar, bir varlık türündeki her kaydı benzersiz bir şekilde tanımlayan bir veya daha fazla alanı içeren bir anahtardır. Yabancıl anahtar, bir varlık türündeki bir alanın, başka bir varlık türündeki bir anahtarla ilişkilendirildiği alanı ifade eder. Bu ilişki, iki varlık türü arasında bir bağlantı oluşturur.
Fonksiyonel Bağımlılık
Fonksiyonel bağımlılık, bir veri tabanındaki iki veya daha fazla alan arasındaki ilişkiyi tanımlar. Bu, bir alanın değeri değiştiğinde diğer alanların da değişeceği anlamına gelir. Fonksiyonel bağımlılık, veri tabanı tasarımında önemlidir çünkü bir varlık türünde birden fazla bağımlılık olması gerektiğinde, veri bütünlüğünün korunması önemlidir.
Normalleştirme
Normalleştirme, veri tabanı tasarımında kullanılan bir süreçtir ve bir veritabanındaki verileri organize etmek için kullanılır. Normalleştirme, bir veritabanının tasarımını optimize etmeye ve verilerin tekrarlamasını en aza indirmeye çalışır. Bu, veritabanının daha iyi performans göstermesini sağlar ve verilerin bütünlüğünü korur. Normalleştirme süreci, bir veritabanındaki verilerin yapısal düzenlenmesine odaklanır ve verilerin daha iyi bir şekilde yönetilmesine yardımcı olur.
Birinci Normalizasyon Adımları
Birinci Normalizasyon, bir veritabanındaki verileri daha küçük, daha organize edilmiş gruplara ayırmayı amaçlayan bir işlemdir. Bu işlem, veritabanı tasarımının temel bir unsuru olarak kabul edilir ve verilerin veritabanında tutulmasını daha etkili ve verimli hale getirir.
Birinci Normalizasyon aşaması, bir tablodaki tekrarlanan verilerin ortadan kaldırılması ve her bir alanın tek bir değer içermesi gerektiği anlamına gelir.
Bu aşamada, her bir tablo yalnızca tek bir anahtar sütunu içermelidir. Bu anahtar sütunu, birincil anahtar olarak kullanılacak ve diğer sütunların birincil anahtarla ilişkili olması gerekecektir.
Her bir tablo, birincil anahtara göre birincil anahtar sütununa göre gruplandırılmalıdır. Bu, tablodaki tekrarlanan verilerin azaltılmasına ve veritabanının daha küçük, daha organize bir şekilde yapısına yardımcı olacaktır.
Örneğin, bir müşteri veritabanı düşünün. Müşterilerin isimleri, adresleri ve sipariş verdiği ürünler gibi farklı sütunlar içerebilir. Ancak, her bir müşterinin birden fazla siparişi olabilir, bu nedenle her müşteri için ayrı bir satır oluşturulmalıdır. Bu, tablonun birincil anahtar sütununa göre gruplandırılması anlamına gelir, bu da müşterilerin benzersiz kimlikleri olacak olan birincil anahtar sütununa eşdeğerdir.
Birinci Normalizasyon aşaması, bir veritabanının yapısal bütünlüğünü korumak için önemlidir. Bu aşama tamamlandığında, her bir tablo, tek bir konuyla ilgili olan bir grup veri içerecek ve veriler daha kolay aranabilecek ve sorgulanabilecek şekilde düzenlenecektir.
İkinci Normalizasyon Adımları
İkinci Normalizasyon aşaması, 1. Normalizasyon aşamasından sonra uygulanan bir adımdır. Bu aşama, bir tablodaki tüm verilerin anahtar sütunu tarafından tamamen belirlendiği ve bağımlı olmadığından emin olmayı amaçlar.
Bu aşama, birincil anahtara göre gruplanmış tabloların her bir sütununun anahtar sütuna doğrudan bağımlı olup olmadığını kontrol eder. Eğer bir sütun, anahtar sütunun bir parçası değilse ve yalnızca başka bir sütuna bağımlıysa, o zaman bu sütun ikinci normal formda değildir.
Bu durumda, ilgili sütunları içeren tabloyu iki veya daha fazla tabloya bölerek çözüme ulaşılabilir. Bu, ilgili verilerin tekrar eden bilgiler içermemesine ve tabloların daha küçük ve daha spesifik hale gelmesine olanak tanır.
Örneğin, bir müşteri ve sipariş veritabanı düşünün. Müşteri tablosunda müşteri adı, adresi ve diğer kişisel bilgiler gibi veriler bulunabilir. Sipariş tablosunda ise müşteri adı gibi bilgilerin yanı sıra sipariş numarası, tarih ve ürün adı gibi bilgiler de bulunabilir.
Ancak, müşteri adı alanı sipariş tablosuna eklenirse, siparişler tekrarlanabilir hale gelir ve veritabanının yapısı daha az etkili hale gelir. Bu nedenle, sipariş tablosu müşteri adı alanından ayrılmalı ve müşteri tablosuna birincil anahtar olarak eklenmelidir.
İkinci Normalizasyon aşaması, verilerin bütünlüğünü korumaya yardımcı olur ve veritabanının daha iyi organize edilmesine olanak tanır. Her bir tablo, sadece ilgili verileri içerecektir ve verilerin tekrar edilmesini önleyerek veritabanının boyutunu küçültür.
Üçüncü Normalizasyon Adımları
Üçüncü Normalizasyon aşaması, bir veritabanındaki verileri daha da normalleştirmek için uygulanan bir adımdır. Bu aşama, her bir sütunun yalnızca bir işlevi olduğundan ve birincil anahtar sütunu ile doğrudan ilgili olduğundan emin olmayı amaçlar.
Bu aşama, bir tablodaki tüm sütunların anahtar sütuna doğrudan bağımlı olup olmadığını kontrol eder. Eğer bir sütun, başka bir sütuna bağımlıysa ve bağımlılık zinciri anahtar sütuna kadar devam ediyorsa, o zaman bu sütun üçüncü normal formda değildir.
Bu durumda, ilgili sütunları içeren tabloyu iki veya daha fazla tabloya bölerek çözüme ulaşılabilir. Bu, ilgili verilerin tekrar eden bilgiler içermemesine ve tabloların daha küçük ve daha spesifik hale gelmesine olanak tanır.
Örneğin, bir müşteri ve sipariş veritabanı düşünün. Müşteri tablosunda müşteri adı, adresi ve diğer kişisel bilgiler gibi veriler bulunabilir. Sipariş tablosunda ise müşteri adı gibi bilgilerin yanı sıra sipariş numarası, tarih ve ürün adı gibi bilgiler de bulunabilir.
Ancak, sipariş tablosunda yer alan ürün adı alanı, ürünler tablosunda da yer alıyorsa, ürün adı alanı tekrarlayan bilgi içerir ve bu tekrarlayan bilgilerin saklanması veritabanını şişirir. Bu nedenle, ürün adı alanı sipariş tablosundan kaldırılmalı ve ürünler tablosunda birincil anahtar olarak eklenmelidir.
Bu işlem, veritabanının normalleştirilmesini sağlar ve her bir tablo yalnızca ilgili verileri içerir. Bu sayede, veritabanı daha iyi organize edilir ve verilerin tekrarlanması önlenir.
Üçüncü Normalizasyon aşaması, verilerin bütünlüğünü korumaya yardımcı olur ve veritabanının daha iyi yapılandırılmasına olanak tanır. Ayrıca, veritabanının daha iyi performans göstermesine yardımcı olur ve verilerin daha kolay yönetilmesine olanak tanır.