1对多,多对1 建2个表还是3个表好。。。
同步。。请大家说说。。怎样设计、、、实些例子
[解决办法]
2个。create table t1( stuNo char(10), stuName varchar(20))create table 选课( id int, stuNo char(10) foreign key references t1(stuNo), 课程ID)学生和课程1对多,数据可能就是这样:1,学号1,课程12,学号1,课程23,学号1,课程3
[解决办法]
举个例子:
课程和任课老师属于一对多:
建一个课程表,课程和老师关系表即可
[解决办法]
这个不一定吧!按你实际情况
两个表,从理论上是可能产生表间偶合
三个表,数据库存储要占空间
[解决办法]
3个表比较好
[解决办法]
我也觉得3个表好如1楼的例子只要再加个课程信息表就好了create table 课程信息( 课程ID int, 课程信息 ...)
[解决办法]
建立几张表,是很根据冗余度来决定的
如果是以前没有接触过的话,你可以先尝试建立一张表
然后,看下,这张表里面,哪些数据,是经常重复的
好比2楼课程和任课老师
任课老师有相应的信息,比方说名字,年龄,所属系,职称之类的
而课程表也有相应的信息,比方说课程名字,人数,时间,教室,等等
如果放在一张表里面,会发现,同一个老师,年龄,所属系什么的都是一样的,这个就重复了,数据冗余
我们完全可以在关系表里面,用一个代号或名字,唯一性的表示一个老师,之后,如果需要这个老师的信息,可以在老师表里面获得,2张表联合查询,这样数据就精简多了
后面的也以此类推
当然,如果老师的信息,除了名字,数据库里面什么都没有,那么可以就不用创建第二张表,因为光一个名字,不值得,这个时间长了,就会有感觉了