【发布时间】:2011-07-25 12:22:14
【问题描述】:
我在数据库中有两张表,一张是个人的,一张是他们的属性。
CREATE TABLE IF NOT EXISTS `person` (
`ID` INT NOT NULL AUTO_INCREMENT ,
PRIMARY KEY (`ID`) )
ENGINE = InnoDB
CREATE TABLE IF NOT EXISTS `property` (
`ID` INT NOT NULL AUTO_INCREMENT ,
`person_ID` INT NULL ,
`property` VARCHAR(45) NULL ,
`value` VARCHAR(45) NULL ,
PRIMARY KEY (`ID`) )
ENGINE = InnoDB
在属性表中,我会插入类似
(,1,'名字','玛丽') (,1,'性别','女性')
(,2,'姓名','约翰') (,2,'性别','男') (,2,'身高','165cm')
我将如何制作可以生成这些列的视图语句: person_ID、姓名、性别、身高(以及可能出现的任何其他属性)
提前谢谢你,
【问题讨论】:
-
有什么特别的原因为什么您不会简单地将属性合并到
person表中?这让我想起了太多元数据库。一方面,我希望每个人都有名字和性别。
标签: mysql database database-design