我是DBMS的初学者。我正在做一个使用MySQL Server5.5在java和数据库上进行实践的结果分析项目。我的问题是,我有一个数据库,其中有两个表cred(uid,pass) Click here for cred image和ht_no(year,subcod,sub,regsup,inter,exter,tot,credit) Click here for ht_no image,其中HT_no是大厅门票编号。学生的身份。
这两个表没有任何关系和关联。是否可以为上表创建数据库设计。
提前谢谢。
发布于 2015-02-08 00:50:02
数据库中的关联表
一对一关系
在一对一关系中,表A中的每一行都与表B中的一行相关联。在这种情况下,每个表的PRIMARY KEY应该1)唯一地标识行的主题,以及2)隐式地关联这两个表。例如:
Table A
customer_id | name | address | phone
Table B
customer_id | loyalty_card_number | balance但是,如果您发现您的表共享一对一关系,那么您可能做错了:在大多数情况下,简单地将这两个表合并为一个表将是有益的,从而减少数据库引擎的性能开销。
一对多关系
在一对多关系中,表A中的每一行都可以与表B中的多行相关联。然而,表B中的每一行都应该与表A中的且只有一行相关联。在这种情况下,表A的PRIMARY KEY应该作为表B中的附加列来关联这两个表。例如:
Table A
customer_id | name | address | phone
Table B
credit_card_number | card_provider | customer_id这允许每个客户与多个信用卡相关联,但每个信用卡将属于且仅属于一个客户。
多对多关系
在多对多关系中,表A中的每一行可以与表B中的0、1或更多行相关联,反之亦然。也就是说,表B中的每一行也可以与表A中的0、1或更多行相关。对于多对多关系,需要称为映射表的第三个表来关联这两个表。例如:
Table A
customer_id | name | address | phone
Table B
product_id | name | price
Table C
customer_id | product_id在这里,每个客户可能购买了0、1或多个产品;同样,每个产品可能被0、1或多个客户购买。处理此问题的最有效方法是使用表C来映射每个关系,使用每个客户和每个产品的PRIMARY KEY将两者关联起来。
https://stackoverflow.com/questions/28347230
复制相似问题