我正在从事与机票预订相关的项目。我可以将乘客数据(即姓名,年龄,性别)与票证ID一起存储在乘客表中。但是问题是,如果为同一位乘客预订了另一张机票,我将不得不重新输入相同的乘客数据,只是机票ID会有所不同。
mysql> desc passenger;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| Name | varchar(32) | NO | | NULL | |
| Age | int(11) | NO | | NULL | |
| sex | char(1) | NO | | NULL | |
| PNR | varchar(32) | YES | MUL | NULL | |
+-------+-------------+------+-----+---------+-------+
谁能告诉我如何减少这种冗余?
任何链接,参考,线索或想法都将是可理解的。谢谢
您可以存储一个由姓名/年龄/性别等组成的旅客实体(在旅客实体表中),然后您的旅客预订表将仅包含该旅客实体ID(整数,GUID等)。这是规范化的一种形式。
但是,这可能是一个过分的优化。是否执行此操作实际上取决于您有多少个重复的实体等,以及它们是否对您而言是真正的性能/管理问题。例如,您是否希望为乘客存储更多数据(地址,飞行常客信息等)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句