これを説明するために、テーブルスキーマを少し簡素化します。
「エンティティ」テーブルに次のエントリを挿入してみましょう。
`` `
挿入エンティティ（type、aTtiont_key、aTtiont_value）
values（ 'user'、 'id'、 'user1'）、
       （ 'user'、 'username'、 'foobar'）
       （ 'コメント'、 'id'、 'comment1'）、
       （「コメント」、「トピック」、「私のコメントトピック」）、
       （「コメント」、「著者」、「user1」）;
`` `

テーブル「user => id、username」、 `comment => duther（user.id）、topic`が与えられた従来のリレーショナルモデルでは、user.id = comment.authorに参加できます。このEAVアプローチでは、このような簡単な結合は不可能です。

このアプローチのもう1つの問題は、エンティティが持っている属性（キー）が明確に文書化されていないことです。これにより、データベースを使用するアプリにより、未定義のデータをより頻繁に照会できるため、よりエラーが発生しやすくなります。開発者は、どの属性がエンティティに属するかを調査するためにより多くの時間を費やす必要があります。
To explain this, I will simplify the table schema a bit.
Let's suppose we INSERT the following entries into the `entities` table:
```
INSERT INTO entities (type, attribute_key, attribute_value)
VALUES ('user', 'id', 'user1'),
       ('user', 'username', 'Foobar')
       ('comment', 'id', 'comment1'),
       ('comment', 'topic', 'My Comment Topic'),
       ('comment', 'author', 'user1');
```

In a traditional relational model where the tables `user => id, username` and `comment => id, author (user.id), topic` are given, we could JOIN ON user.id = comment.author. In this EAV approach, such an easy join is not possible.

Another problem with this approach is that it is not clearly documented what attributes (keys) an entity has. This makes apps that use the database more error prone, since they could query undefined data more often. The developer needs to spend more time investigating what attributes belong to an entity.