Alternatives to Entity-Attribute-Value (EAV)?

There is a difference between EAV done faithfully or badly; 5NF done by skilled people or by those who are clueless. Sixth Normal Form is the Irreducible Normal Form (no further Normalisation is possible). It eliminates many of the problems that are common, such as The Null Problem, and provides the ultimate method identifying missing … Read more

Why should I avoid loops when designing relationships for a database?

There’s a really good treatment of relationship loops in chapter 3 of this paper (archive.org). Generally however, the most common issue with loops is consistency of redundant information. Consider the case (from the paper) where a parent has many children; each child attends a school. There is a third relationship between parent & school (‘parent … Read more

Data modeling in Datomic

Caveat Lector As Datomic is new and my experience with it is limited, this answer shouldn’t be considered best practices in any way. Take this instead as an intro to Datomic for those with a relational background and a hankering for a more productive data store. Getting Started In Datomic, you model your domain data … Read more

Should OLAP databases be denormalized for read performance? [closed]

Mythology I always thought that databases should be denormalized for reading, as it is done for OLAP database design, and not exaggerated much further 3NF for OLTP design. There’s a myth to that effect. In the Relational Database context, I have re-implemented six very large so-called “de-normalised” “databases”; and executed over eighty assignments correcting problems … Read more

What are design patterns to support custom fields in an application?

I do agree with posters below that Options 3, 4, or 5 are most likely to be appropriate. However, each of your suggested implementations has its benefits and costs. I’d suggest choosing one by matching it to your specific requirements. For example: Option 1 pros: Fast to implement. Allows DB actions on custom fields (searching, … Read more

Why many refer to Cassandra as a Column oriented database?

If you take a look at the Readme file at Apache Cassandra git repo, it says that, Cassandra is a partitioned row store. Rows are organized into tables with a required primary key. Partitioning means that Cassandra can distribute your data across multiple machines in an application-transparent matter. Cassandra will automatically repartition as machines are … Read more

Crow’s Feet – One vs One And Only One

I think n.piskunov is on the right track. I would use it as the mathematical analogy found here: https://math.stackexchange.com/questions/247380/analogy-between-one-and-only-one-and-if-and-only-if “existence of at most one such X that satisfies Y.” As an example, consider these relations: A student, Alice, can only have one dorm room at at time. A dorm room can only house one student … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)