Heim  >  Artikel  >  Backend-Entwicklung  >  这种数据库设计违反了哪个范式?

这种数据库设计违反了哪个范式?

WBOY
WBOYOriginal
2016-10-24 00:12:411053Durchsuche

比如说一个购物车数据表,有人是这样设计的,cert(id,uid,item1,item2,item3。。。),而正确做法应该是分两张表,cert(cert_id,item),cert(uid,cert_id)。

那么请问一下不正确的那张表违反了什么范式?为什么?

回复内容:

比如说一个购物车数据表,有人是这样设计的,cert(id,uid,item1,item2,item3。。。),而正确做法应该是分两张表,cert(cert_id,item),cert(uid,cert_id)。

那么请问一下不正确的那张表违反了什么范式?为什么?

数据库设计错了,certid和uid可能确定多个item,表项都不一样。除非第一个表item是多值属性,那么这违反了第4范式。同时由于certid决定item所以第一个表存在部分依赖第2范式也不满足

我觉得正常,规范是死的,只有灵活变通才合理

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn