Mert Özen Further With Every Line

Blog

Mert Özen's blog posts on software development, backend, frontend, and DevOps.

Series
3 posts found #normalizasyon
BCNF, 4NF, 5NF and Beyond: When Is 3NF Not Enough?
Database PART 07

BCNF, 4NF, 5NF and Beyond: When Is 3NF Not Enough?

3NF only looks at non-key attributes, so a table whose columns are all part of a key can be in 3NF and still produce anomalies. BCNF, 4NF and 5NF close these gaps. In SQL Server we show BCNF with a signing day table and bring a lost dependency back with an indexed view, 4NF with languages and genres, the join dependency behind 5NF with a distributor table, and how 6NF relates to temporal data.

14 Nov 2026 17 min 2
1NF, 2NF and 3NF: Normalizing the Order Table Step by Step
Database PART 06

1NF, 2NF and 3NF: Normalizing the Order Table Step by Step

Normalization splits a table along its dependencies: 1NF opens lists into rows, 2NF separates partial and 3NF transitive dependencies, and because the determinant becomes the new table's key the join is lossless. In SQL Server we take the order spreadsheet to 1NF with STRING_SPLIT, then to 2NF and 3NF, prove at each step with EXCEPT that no row is missing or spurious, and discuss JSON columns and 1NF and the mapping to the Bookstore schema.

14 Nov 2026 13 min 3
Functional Dependencies and Anomalies: Why Does a Flat Table Break?
Database PART 05

Functional Dependencies and Anomalies: Why Does a Flat Table Break?

A flat table breaks because one row carries several independent facts together; insert, update and delete anomalies are the three faces of this. We load the order spreadsheet into SQL Server and show the three anomalies live, define functional dependencies, determinants and full, partial and transitive dependencies, compute the closure with a T-SQL procedure to find the candidate key, and show why discovering dependencies from data misleads.

14 Nov 2026 13 min 5
Blog Map