MySQL'de Tabloların Yapısı ve Normalizasyonun Rolü

MySQL'de Tabloların Yapısı ve Normalizasyonun Rolü

MySQL veritabanında tabloların doğru yapılandırılması ve normalizasyonun yapılması verilerin güvenliği ve doğruluğu açısından oldukça önemlidir Tablolar, bir veya daha fazla sütundan oluşur ve her sütun benzersiz bir sütun adı ve verilerin saklandığı bir veri türü ile tanımlanır Normalizasyon, tabloları belirli bir yapıya uygun hale getirerek farklı tablolar arasında doğru bir ilişki kurulmasını ve veri bütünlüğünü sağlar MySQL normalizasyonu, veri bütünlüğü ve veri tutarlılığı dengesi göz önünde bulundurularak yapılmalıdır

MySQL'de Tabloların Yapısı ve Normalizasyonun Rolü

MySQL, veritabanları için en çok kullanılan uygulamalardan biridir. Bu uygulama ile tablolara veri ekleyebilir, verileri düzenleyebilir ve silme işlemleri yapabilirsiniz. Ancak tabloların doğru yapılandırılmaması veya normalizasyonun yapılmaması, bu verilerin güvenliği ve doğruluğunu etkileyebilir. Bu nedenle, MySQL veritabanları oluşturulurken tabloların doğru yapılandırılması ve normalizasyonun yapılması oldukça önemlidir.

Tablolar, MySQL veritabanlarında bilgiyi depolamak için kullanılır. Her tablo, bir veya daha fazla sütundan oluşur. Her sütun, benzersiz bir sütun adı ve verilerin saklandığı bir veri türü ile tanımlanır. MySQL'de tablolara veri eklemek, bu tablolardan veri almak ve bu verileri düzenlemek için farklı komutlar kullanılır. Ancak, verileri tablolara eklerken belirli bir yapı takip edilmelidir.

Normalizasyon, tabloların doğru yapılandırılması için oldukça önemli bir adımdır. Normalizasyon, bir veritabanındaki tabloların veri bütünlüğünü sağlamak için kullanılır. Normalizasyon, tabloları belirli bir yapıya uygun hale getirerek farklı tablolar arasında doğru bir ilişki kurulmasını sağlar.

MysQL'de normalizasyon, birçok farklı düzeyde gerçekleştirilir. Veritabanının normalizasyon seviyesi, tabloların yapısına ve bileşenlerine bağlıdır. Normalizasyon seviyeleri arasında, 1. normalizasyon formu (1NF), 2. normalizasyon formu (2NF) ve 3. normalizasyon formu (3NF) bulunmaktadır. Bu normalizasyon seviyeleri, veritabanlarına eklenen verilerin doğruluğunu ve tutarlılığını sağlamak için gereklidir.

İlk normalizasyon formu (1NF), veritabanındaki tüm sütunların benzersiz bir adla tanımlandığı ve her biri aynı veri türüne sahip olduğu bir yapı oluşturmaya odaklanır. Örneğin, bir işletmenin çalışan verilerinin saklandığı bir tablo düşünün. Bu tablo, her bir çalışana ait verileri depolamak için kullanılır. Ancak, aynı çalışana ait birden fazla kayıt olursa, veriler karışabilir ve veri bütünlüğü bozulabilir. 1NF, her bir sütunun mutlak olarak tek bir veriyi depoladığı bir yapıyı sağlamak için kullanılır.

Bir işletme çalışan verilerinin saklandığı bir tablo örneği verelim. İlgili tablo şöyle görünebilir:

Çalışan Adı Departman Proje
Ali Dep1 Proje1
Ali Dep2 Proje2
Ahmet Dep1 Proje3
Ahmet Dep1 Proje4

Yukarıdaki tablo, 1NF'ye uygun değil. Aynı çalışan, birden fazla kayıtta yer alıyor. Bu nedenle, tablonun birinci normalizasyon formuna uyarlanması gerekmektedir.

1NF, bir veritabanının en temel normalizasyon formatıdır. Veritabanı tablolarındaki verilerin doğru bir şekilde depolanmasını ve veri bütünlüğünün korunmasını sağlar. Ayrıca, verilerin yönetimi ve elde edilmesi daha kolay hale gelir.

İkinci normalizasyon formu (2NF), tablonun tüm anahtarların belirlenmesine odaklanır. 2NF, bir tablodaki tüm sütunları, anahtar sütunlar ve diğer sütunlar olarak ayırır. Anahtar sütunlar, bir tablodaki kayıtların benzersiz bir şekilde tanımlandığı sütunlardır.

Bir önceki örnekteki tabloya 2NF uygulayalım. Anahtar sütunlar ayrı bir tabloda belirtilebilir ve bu sütunlar, benzersiz bir şekilde tanımlanan "id" özelliği ile tanımlanabilir. İlgili tablo şöyle görünebilir:

ID Çalışan Adı
1 Ali
2 Ahmet

Her bir çalışanın departman ve projesi ayrı bir tabloda saklanabilir. Anahtar sütunlar, belirli bir çalışanı benzersiz bir şekilde tanımlayan "id" sütunlarıdır. Böylece, kişisel veriler ve proje bilgileri ayrı ayrı tablolarla birbirinden ayrılabilir.

2NF, ilişkisel veri tabanları için oldukça önemlidir. Bu normalizasyon aşaması, veritabanındaki bilgilerin tutarlılığını ve veri bütünlüğünü korumak için gereklidir. İlgili tablolar arasında doğru bir ilişki kurulur ve veriler tutarlı bir şekilde saklanır. Ayrıca, verilerin daha kolay aranması ve yönetimi sağlanır.

Üçüncü normalizasyon formu (3NF), veritabanındaki sütunların diğer sütunlarla olan ilişkisini ortadan kaldırır. Bu normalizasyon aşaması, bir veritabanındaki tabloların daha fazla optimize edilmesine yardımcı olur.

3NF'nin uygulanması, veritabanının performansını etkileyebilir. Bu normalizasyon seviyesi, daha küçük ve optimize edilmiş tablolar oluşturulması anlamına gelir. Bu nedenle, bir veritabanının normalizasyon seviyesi belirlenirken performans, veri bütünlüğü ve veri tutarlılığı dengesi göz önünde bulundurulmalıdır.

Bir önceki örnek üzerinde devam edelim. Çalışanların departmanlarının saklandığı bir tablo varsa, bu tablo şöyle görünebilir:

ID Departman Adı
1 Dep1
2 Dep2

İki tablonun anahtar sütunu "id" olacaktır. Bu nedenle bir doğal birleştirme kullanabiliriz. Bu şekilde, sorgular daha kolay olacak ve veriler yalnızca bir tabloda tutulacağı için veri bütünlüğü daha da iyileştirilecektir.

MySQL, normalizasyon için hizmetler sunar. Normalizasyon aşamaları, MySQL'in önceden tanımlanmış bir normalizasyon planı ile birlikte uygulanabilir. MySQL normalizasyonunun uygulanması, veri yığınlarının düzenlenmesini ve veritabanının daha iyi yönetimini sağlar. Normalizasyon, güncel veritabanı sistemlerinde de oldukça önemlidir ve bir veritabanının doğru yapılandırılması ve normalizasyonunun yapılması, verilerin güvenliği ve doğruluğu açısından oldukça önemlidir.


Tabloların Yapısı

MySQL veritabanı tabloları, veri depolamanın temel yapı taşlarıdır ve doğru bir şekilde oluşturulması ve düzenlenmesi, veritabanı yönetimi için kritik öneme sahiptir.

Bir MySQL veritabanı için bir tablo oluşturmak, CREATE TABLE komutunu kullanarak gerçekleştirilir. Bu komut, tablonun adını ve tablonun sütunlarının adlarını ve veri tiplerini içeren sütunların sayısını içerir. Tablo yapılandırıldıktan sonra, sütun adları ve veri tipleri, veri depolamanın şeklini belirler.

Ayrıca, tablolar, verilerin nasıl depolanacağını belirleyen veri tiplerini, indekslemeleri ve sınırlamaları içerebilir. Tablolar, verileri düzenlemek için de kullanılır ve verileri arama, filtreleme ve sıralama yapmak için SQL komutları kullanarak erişilebilir hale getirir.

Tabloların yapılandırılması, veri bütünlüğünü ve güvenliğini sağlar. Tablo yapılandırması, verilerin olası bozulmalarını azaltmak ve doğru kaynakları kullanıldığında verilerin daha hızlı bir şekilde erişilebilir hale getirilmesini sağlamak için normalizasyon yöntemi kullanılarak gerçekleştirilebilir.


Normalizasyonun Rolü

Normalizasyon, bir veritabanındaki verilerin düzenlenmesi ve yapılandırılması sürecidir. Bu süreç, veritabanında depolanan verilerin bütünlüğünü korumak ve yinelenen verileri ortadan kaldırmak için uygulanır. Normalizasyon, veritabanı tasarımının önemli bir parçasıdır ve MySQL gibi modern veritabanı yönetim sistemlerinde kullanılması zorunlu olan bir yöntemdir.

Normalizasyon süreci, verileri bölerek ve ilgili olduğu diğer verilerle ilişkilendirerek veritabanında daha uygun bir yapı oluşturur. Bu şekilde, veriler daha çabuk ve doğru şekilde bulunabilir ve veritabanı işlemleri daha hızlı ve verimli hale gelir. Normalizasyon ayrıca verileri daha güvenli hale getirir, veritabanında depolanan veri bütünlüğünde bir artış sağlar ve veritabanı tasarım hatalarını azaltır.

MySQL'de normalizasyon, çeşitli normalizasyon aşamaları aracılığıyla uygulanır. En yaygın normalizasyon aşamaları birinci normal form (1NF), ikinci normal form (2NF) ve üçüncü normal form (3NF) dır. Veritabanı tasarımının amacı, verileri normalizasyon kurallarına uygun hale getirerek veritabanının işlevselliğini ve verimliliğini artırmaktır.

MySQL'de normalizasyon, veritabanının büyüklüğüne ve karmaşıklığına bağlı olarak farklı derecelerde önem kazanır. Küçük veritabanlarında normalizasyon süreci daha kolaydır, ancak büyük ölçekli veritabanları için normalizasyon gereklidir. Bu tür veritabanları normalizasyon yapılmadan önce performans sorunları yaşayabilir veya veri kaybı riskiyle karşı karşıya kalabilirler.

Sonuç olarak, normalizasyon, bir veritabanının etkin bir şekilde işlevsel ve verimli olmasını sağlamak için önemli bir adımdır. MySQL ve diğer modern veritabanı yönetim sistemleri normalizasyonun uygulanmasını gerektirir ve bir veritabanı tasarımının başarısı için gerekli bir unsurdur.


1NF

İlk normal form (1NF), bir tablonun en temel normalizasyon aşamasıdır ve her veritabanı tasarımının ilk adımıdır. 1NF, veritabanı tablolarındaki verilerin sadece atomik (bölünemez) olabileceğini ifade eder. Bu, bir alanın tek bir değeri içermesi gerektiği anlamına gelir.

Bu normalizasyon aşaması, bir tablonun anahtarını ve verilerini içeren birincil anahtar alanını belirlemeyi içerir. Ayrıca, her satırın bu anahtar alanıyla ilgili verileri içermesi gerektiği anlamına gelir. Ayrıca, tüm alanların tek bir tamsayı, kayan nokta veya metin türüne sahip olması gerekir.

Bir örnekle açıklayacak olursak, bir işyeri veritabanında bir "personel" tablosu olabilir. Bu tablo, her bir çalışanın ad, soyad, pozisyon ve maaş gibi özelliklerini içerebilir. Ancak, bu tabloda bir çalışanın birden fazla pozisyona sahip olması durumunda, bu veriler aynı kayıtta yer alabilir ve bu "düzensiz" bir veritabanı yapısı olacaktır. Bu durumda, veritabanı normalizasyonu gerekmektedir.

Personel No. Adı Soyadı Pozisyon Maaşı
101 Ahmet Yılmaz Programcı 5000
102 Aysu Demir Finansman Uzmanı 7000
103 Burak Özdemir Yönetici 10000

Yukarıdaki tablo 1NF'ye uygun bir şekilde tasarlanmamıştır, çünkü bir çalışanın birden fazla pozisyona sahip olması mümkündür ve bu veritabanında düzensizlik yaratır. Bunu düzeltmek için, her bir çalışanın sadece bir pozisyona sahip olabileceği ikinci bir tablo eklemek en iyi çözümdür.

Personel No. Adı Soyadı Maaşı
101 Ahmet Yılmaz 5000
102 Aysu Demir 7000
103 Burak Özdemir 10000

Pozisyonlar için ayrı bir tablo, pozisyonların tek bir satırda listelenmesine izin verir ve verilerin tekrarlanmasını önler. Bu normalizasyon aşaması, veritabanındaki veri bütünlüğünü korur ve verilerin daha hızlı ve doğru bir şekilde işlenmesine olanak tanır.


1NF Örneği

MySQL veritabanında veri saklama ve düzenleme işlemlerinde tablolar önemli bir role sahiptir. Ancak, verilerin tablolarda saklanması yeterli değildir. Bu verilerin bir düzen ve hiyerarşi içinde tutulması gerekmektedir. İşte burada normalizasyon devreye girer.

Normalizasyon, veritabanındaki belirli bir tablonun verilerinin tekrarlanmasından kaçınarak, en az veri tekrarı ile verilerin depolanmasını sağlar. Bu, veritabanlarının daha uygun bir şekilde ölçeklenebilir hale gelmesini sağlar. Normalizasyon aşamaları, 1.Normal Form (1NF), 2.Normal Form (2NF) ve 3.Normal Form (3NF) olarak adlandırılır.

1.Normal Form (1NF), bir tablonun en küçük veri birimi olan atomik özniteliklere ayrılıp, herbir kolonda tekrarlanan verilerin yer almadığı bir yapıya sahip olmasıdır. Örneğin, bir müşteri tablosunun aşağıdaki gibi normalizasyonu yapılamamış halini göz önünde bulundurun.

Müşteri ID Ad Soyad Adres
1 Ali Ata İstanbul
2 Ahmet Aktaş Ankara
3 Mehmet Ay İstanbul

Bu veritabanında, adres sütununda "İstanbul" değeri iki kez tekrarlanmıştır. Bu, veri bütünlüğünde bir soruna neden olabilir. Bu nedenle, 1NF'e uygun hale getirmek için aşağıdaki yapıya sahip bir tablo oluşturulabilir.

Müşteri ID Ad Soyad Adres
1 Ali Ata İstanbul
2 Ahmet Aktaş Ankara
3 Mehmet Ay İstanbul

Bu yapıya göre, her müşterinin adresi tekrarlanmamaktadır ve bu, veri bütünlüğünü koruyarak normalizasyonun ilk adımı olan 1NF'in uygulandığını göstermektedir.


1NF'nin Önemi

Bir veritabanının 1NF'ye uygun olması son derece önemlidir çünkü bunun veritabanının doğru şekilde yapılandırılması için temel bir adım olduğu düşünülmektedir. İlk normal formda, tabloların sütunları atomik bileşenli olmalıdır, yani birden fazla veri saklamazlar. Ayrıca, her sütunun birincil anahtar yokluğunda da diğer sütunlarla ilişkili olması gerekir.

Bir veritabanının 1NF'ye uygun olması, veri bütünlüğünü sağlar ve istenmeyen sonuçlardan kaçınmaya yardımcı olur. Örneğin, bir tabloda birkaç değer saklamak yerine, her bir değer için ayrı bir sütun kullanılarak kaydedilir, bu veritabanının daha doğru ve güvenilir olmasını sağlar.

1NF normalizasyon aşamasının avantajları arasında, veri bütünlüğünü sağlama, veritabanının daha öngörülebilir hale getirme, verilerin daha hızlı okunmasına izin verme, daha az tekrarlayan veri saklama ve verilerin daha hızlı aranabilmesi yer alır. Böylece normalizasyon, veritabanı performansının artmasına yardımcı olur ve güncel veritabanı sistemlerinde normalizasyonun önemi daha da artmaktadır.


2NF

2NF, veritabanı normalizasyonunun ikinci aşamasıdır ve veritabanlarının daha fazla düzenlenmesini, bütünlüğünü ve daha az tekrarlanan verileri içermesini sağlar. 2NF, bir tablodaki tüm alanların anahtar alanlarla bağlantılı olmasını gerektirir. Bu, bir tablodaki bir alanın kendisiyle doğrudan ilgisi olmayan ve birincil anahtarın sadece bir kısmıyla bağlantılı olan alt alanlar içeren bir tabloyu önler.

2NF'nin uygulanması için gereken adımlar arasında, tablonun mevcut alanlarına bakarak birincil anahtarın tanımlanması ve verilerin buna göre sınıflandırılması bulunur. Ardından birincil anahtara bağlı alt tablolar oluşturulur ve olası tekrarlayan veri öğeleri belirlenir ve ayrı bir tabloda düzenlenir. Bunun sonucunda, veri tabanı bütünlüğü sağlanır ve veri depolama kapasitesi optimize edilir.

2NF Adımları
Birincil anahtarın tanımlanması Verilerin buna göre sınıflandırılması
Birincil anahtara bağlı alt tabloların oluşturulması Tekrarlayan veri öğelerinin belirlenmesi ve ayrı bir tabloda düzenlenmesi

2NF'ye uygun bir veritabanı tablosu, normalizasyon adımlarının gerektirdiği yapısını korur ve veriler için daha fazla bütünlük sağlar. İlişkisel veritabanları genellikle normalizasyon görüntüleme ilkelerine uyar ve veri tekrarı en aza indirilir. Bu, veri tabanı tasarımının uygunluğunu sağlar ve verileri daha verimli bir şekilde işlemek için birçok avantaj sağlar. Normalizasyon adımlarının bir parçası olan 2NF uygulanarak veritabanı tabloları daha iyi hale getirilir ve veriler daha düzenli depolanır.


2NF Örneği

Bir örnek veri tabanı tablosu düşünelim:

Müşteri Adı Ürün Adı Stok Miktarı Fiyat
Ahmet Kalem 10 5 TL
Ahmet Defter 8 7 TL
Mehmet Kalem 4 5 TL
Mehmet Tükenmez Kalem 5 10 TL

Bu veritabanındaki bir sorun, aynı müşterinin farklı ürünlere sahip olması ve her satırda tekrar edilen müşteri adıdır. 2NF'ye göre, bir tabloda diğer sütunların anahtar işlevi gören sütuna bağımlı olan sütunlar ayrılmalıdır. Bu durumda, müşteriler ve ürünler arasındaki bağımlılığı ortadan kaldırmak için iki ayrı tablo oluşturabiliriz:

MÜŞTERİ TABLOSU

Müşteri Adı
Ahmet
Mehmet

ÜRÜNLER TABLOSU

Ürün Adı Stok Miktarı Fiyat Müşteri Adı
Kalem 10 5 TL Ahmet
Defter 8 7 TL Ahmet
Kalem 4 5 TL Mehmet
Tükenmez Kalem 5 10 TL Mehmet

Bu yapı, veritabanındaki veri bütünlüğünü korur ve tekrarlayan verileri ortadan kaldırır. Müşteri adları, tekil bir sütun olarak saklanır ve ürünler tablosu sadece ürünlerin kendilerini ve bunların kullanıcıları hakkında bilgi içerir. Bu normalizasyon aşaması, veritabanındaki verilerin etkin bir şekilde saklanmasına yardımcı olur ve hataları azaltır.


2NF Ve İlişkisel Veri Tabanları

İlişkisel veri tabanları, verilerin mantıklı bir şekilde depolanabilmesi için kullanılan en yaygın veritabanı yönetim sistemleridir. Bu tür bir veritabanı, birkaç farklı tabloya ayrılmış ilişkili verileri barındırır. 2NF, ilişkisel veri tabanları için oldukça önemlidir ve verilerin tutarlılığından emin olmak için uygulanması gereken bir normalizasyon aşamasıdır.

2NF uygulamak, tek bir tabloda birden fazla özellik depolama uygulamasından kaçınmak için önemlidir. Bu, her tablonun belirli bir amaca hizmet edebildiği anlamına gelir. Bu amaca yönelik olarak, ilişkili veriler etkili bir şekilde ayrılır.

2NF, veri bütünlüğünü korur ve birden fazla veritabanı tablosunda daha iyi bir ilişkisel yapı sağlar. Daha da önemlisi, bu normalizasyon aşaması bir veritabanının temizlenmesine ve ölü verilerin ortadan kaldırılmasına yardımcı olur. Bu da veritabanının etkinliğini ve hızını arttırır.

2NF normalizasyon aşamasının avantajları arasında veri tekrarının azalması, verilerin tutarlılığı ve ilişkisel veritabanı yapısının daha anlaşılır ve kolay bakımı yer almaktadır. Bu nedenle, 2NF normalizasyon aşaması, ilişkisel veri tabanları için oldukça önemlidir ve verilerin tutarlılığından emin olmak için uygulanması gerekmektedir.


3NF

Normalizasyon işlemi, veritabanı tasarımında büyük önem taşır. Veritabanları kullanılan programlar için temel yapı taşıdır ve doğru bir şekilde tasarlandığında programların çalışma hızını belirleyebilir. Üçüncü normal form (3NF), normalizasyonun en üst seviyesi olarak kabul edilir ve bir veritabanında tekrarlayan bilgilerin önüne geçilerek, verinin bölümlenmesini sağlar.

3NF, bir veritabanı tablosunda her sütunun birincil anahtar tarafından bağımsız olarak tanımlanabileceği anlamına gelir. Bir veri parçası yalnızca bir yerde saklanır, böylece veri bütünlüğü sağlanır ve veritabanında tutulan bilgilerin tekrarı önlenebilir. Bu normalizasyon işlemi, bir veritabanının uygun ve optimize edilmiş bir şekilde çalışmasını sağlamak için önemli bir adımdır.

3NF uygulamak için, herhangi bir tablonun 1NF ve 2NF'ye uyması gerekir. Bu, bir tablonun ilgili sütunlarının yalnızca ilgili anahtarlar ile ilişkili olması anlamına gelir. Daha sonra herhangi bir yinelenen veri öğesini kaldırabiliriz. 3NF ile bir veritabanında kaydedilen veri miktarı daha azdır, böylece veritabanının daha hızlı ve verimli çalışmasını sağlar.

Bir veritabanındaki her tablo için 3NF uygulamak, tasarım süreci için zaman alıcı olsa da, sonuçta daha verimli bir veritabanı elde ederiz. Bu, sorgu işleme hızını, depolama alanını optimize etmeyi ve daha az ölçeklenebilir veritabanlarına sahip olmayı sağlar. Veritabanının organizasyonunun optimize edilmesi, daha iyi bir performans ve daha iyi güncellenebilirlik sağlar.


3NF ve Performans

Normalizasyon, veritabanı tasarımında önemli bir rol oynar ve bir veritabanının performansı üzerinde doğrudan etkilidir. Üçüncü normal form (3NF) uygulanmış bir veritabanı, verilerin depolanması ve işlenmesi için daha optimize edilmiş bir yapıya sahip olur.

3NF uygulandığında, bir tablodaki her alan yalnızca bir kez saklanır ve diğer alanlar tarafından türetilir. Bu, veri tutarlılığını artırır ve veritabanı üzerinde daha düşük bir yük oluşturur. Örneğin, bir müşteri siparişi verdiğinde, müşteri adı ve adresi gibi bilgileri yalnızca Müşteriler tablosunda tutarsınız ve bu bilgiler Siparişler tablosuna kopyalanmaz.

Müşteriler Siparişler
id id
ad müşteri_id
adres tarih
telefon ürün_id
email miktar

Yukarıdaki tablolarda, müşteri adı ve adresi Siparişler tablosunda saklanmaz. Bunun yerine, müşteri_id'ye bağlı olarak Müşteriler tablosundan çekilir. Bu, veritabanının daha az yer kaplamasını ve daha hızlı işlem yapmasını sağlar.

3NF uygulamasının avantajlarından biri, verilerin tutarlılığını artırarak veritabanındaki hataları en aza indirmesidir. Normalizasyon ayrıca veritabanının bakımını kolaylaştırır ve gelecekteki değişiklikler için daha esnek bir yapıya sahip olmasını sağlar.

Bir veritabanının performansı üzerindeki etkisi, verilerin daha az yere ihtiyaç duyması ve daha az sayıda tabloya erişilmesi nedeniyle büyük olabilir. Ancak, normalizasyonun abartılı uygulanması da kötü performansa neden olabilir. İyi bir denge, hem veri tutarlılığı hem de performans arasında bulunabilir.


3NF Örneği

Normalizasyon işleminin en son aşaması olan üçüncü normal form (3NF), bir veritabanındaki tüm verilerin birincil anahtar alanı ile ilişkili olduğu ve verilerin tekrarlanmadığı bir yapı oluşturur. Aşağıdaki tablo, bir üniversite öğrenci sistemi veritabanındaki öğrenci bilgilerini göstermektedir:

Öğrenci No Ad Soyad Bölüm Adı Ders Kodu Ders Adı Dönem Kredi Ders Notu
101 Ahmet Yılmaz Bilgisayar Mühendisliği CMPE 150 Programlama I Güz Dönemi 3 83
102 Mehmet Ali Bilgisayar Mühendisliği CMPE 151 Programlama II Bahar Dönemi 3 72
103 Ayşe Öztürk İşletme MAN 201 İşletme Ekonomisi Güz Dönemi 3 91
104 Ali Veli İşletme MAN 202 Yönetim ve Organizasyon Bahar Dönemi 3 64

Bu tablo, 3NF'ye uyarlanmadan önce normalizasyon aşamasından geçirilmelidir. Bölüm adı ve ders adı alanları öğrenci ve derse özgü olmadığından, diğer öğrenci bilgileri ile birlikte aynı tabloda bulunmamalıdır. Bu nedenle, veritabanı tasarımı aşağıdaki gibi düzenlenmelidir:

Öğrenci No Ad Soyad Bölüm Kodu Ders Kodu Dönem Kredi Ders Notu
101 Ahmet Yılmaz 01 CMPE 150 Güz Dönemi 3 83
102 Mehmet Ali 01 CMPE 151 Bahar Dönemi 3 72
103 Ayşe Öztürk 02 MAN 201 Güz Dönemi 3 91
104 Ali Veli 02 MAN 202 Bahar Dönemi 3 64

Bu şekilde, bölümler ve dersler ayrı bir tabloda saklanabilir ve öğrenci bilgileri düz yapıda saklanabilir. Bu, veri bütünlüğü açısından daha sağlıklı ve performans açısından daha verimlidir.


MySQL'de Normalizasyon Uygulama

MySQL'de normalizasyon, veritabanlarının doğru ve verimli bir şekilde çalışmasını sağlayan önemli bir adımdır. Normalizasyon, veritabanlarının kullanıcılar tarafından yönetilebilmesi ve verilerin anlaşılması için önemlidir. MySQL'de normalizasyon aşamalarının nasıl uygulandığına bakalım.

Normalizasyon aşamalarının ilk adımı 1NF'dir. Bu aşama, bir tabloda tekrar eden değerlerin ortadan kaldırılmasını ve her sütunda yalnızca tek bir değer olmasını sağlar. Örneğin, bir müşteri veritabanı tablosunda, her müşterinin yalnızca bir e-posta adresi ve bir telefon numarası olması gerekir. Bir müşterinin birden fazla e-posta adresi veya telefon numarası kullanması, veritabanının ilk normal formuna uymaz. Bu normalizasyon aşaması, veritabanının veri bütünlüğünü korumasına yardımcı olur ve verilerin doğru bir şekilde depolanmasını sağlar.

İkinci normal form (2NF), birği nitelikleri tanımlayan tüm sütunların ortaya çıkarılmasını gerektirir. Her satırın yalnızca bir anahtar alanında farklı olması gerektiği anlamına gelir. Bu normalizasyon aşaması, veritabanının daha küçük, daha bağımsız tablolara bölünmesine yardımcı olur. Bu, verilerin daha kolay yönetilmesine ve veri bütünlüğünün daha iyi korunmasına yardımcı olur.

Üçüncü normal form (3NF), bir tabloda bulunan dokuza aminoasit sülfonik asit niteliklerinin başka bir nitelik grubundan bağımlı olduğu durumları önler. Bu, verilerin daha iyi depolanmasına ve daha kolay yönetilebilir hale getirilmesine yardımcı olur. Normalizasyon aşamaları, veritabanının daha verimli çalışmasını sağlar ve gereksiz tekrarlamaları önler.

Güncel veritabanı sistemlerinde, normalizasyon önemlidir çünkü veritabanına uygulanan normalizasyon aşamaları, veritabanının veri bütünlüğü ve performansı için kritiktir. Ayrıca, daha az depolama alanı kullanarak veritabanındaki verilerin etkin bir şekilde yönetilmesini sağlayarak, normalizasyon maliyetleri azaltmaya da yardımcı olabilir.