The principles of database design, or, the Truth is out there

https://news.ycombinator.com/rss Hits: 5
Summary

The principles of database design, or, the Truth is out there May 17, 2025 by Eduardo Bellani Every software project needs to represent the reality of the business he is embedded in. The way we can represent reality as limited rational beings is through propositions, i.e, declarative statements that affirm or deny something about reality. When a collection of such propositions is stored in a computer system, we call it a database. Such database needs to be designed to properly reflect reality. This can’t be automated, since the semantics of the situation need to be encoded in a way that can be processed by a computer. Such then is the goal of database design: to encode propositions in such a way that can properly be processed by a database management system (DBMS). At this point, a regular software developer comes to a stall. Since there is scarcely any formal training in database design (or formal logic) in his education, he tends to fall back haphazardly on ad-hoc methods, with severe consequences (update anomalies and data inconsitencies with huge potential downsides). If you are such developer, you need to understand the underlying principles of database design. Think about it, if you don’t have principles of design, you are not doing engineering, are you? Here is a list of design principles to follow for formal database design(McGoveran 2012, 2015)(Pascal 2016): Principle of Orthogonal Design (POOD): Base relations are independent; Principle of Representational Parsimony (PORP): There are no superfluous base relations; Principle of Expressive Completeness (POEC): All meaningful relations are derivable from the base relations. Principle of Full Normalization (POFN) : Every base relation should be in its highest normal form (3, 5 or 6th normal form).​ Thus eliminating redundancy and preventing anomalies by ensuring that each relation is free from undesirable characteristics like partial, transitive, or join dependencies. The Information Principle (TIP) : All info...

First seen: 2025-05-19 04:53

Last seen: 2025-05-19 08:53