数据库建表的疑惑 数据库建表的时候,没个对象一个表,那么表之间的关系如果有外键关系,这些关系单独放到一个关系表中这样做的合理之处在哪里?或者这样有没有合理性,如果合理的话到底优点又在哪里 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的意思是这样假设有个学生表,课程表,课程表有学生的ID是外键关系,但是在设计的时候,学生表只有学生的信息,课程表只有课程信息,而单独出一个学生-课程表,存放学生ID和课程ID,就是一个中间表,据称这样的话好似查询速度快也易于扩展?是不是更有点面向对象的东西 就选课这个例子,选课表的存在主要因为:1.业务逻辑上,学生和课程没有必然联系,选课作为一个独立行为,有它单独维护的意义2.实际操作上,学生和课程各自经常变动,对应关系复杂,另加选课表会使得数据易于维护。试想,将选课关系都存入学生表,那么学生表将会变得多么庞大!这种实体表与关系表的设计,一般可以这样考虑:1. n:n 必须另建关系表。否则会有大量不必要的数据冗余。2. 1:n 主从表。从表加一外键指向主表的主键。无需关系表。3. 1:1 合为一个表。既然一一对应,那么可以作为一条记录了。 不知道鲁迅先生和小F在不 求SQL语句 请教建立一个视图的语句 SQL 日志清除???! 请教一个SELECT查询 为什么SQL SERVER2000查询分析器无法登录本机的SQL服务器? sqlserver2000中不小心用update把所有数据更新了,怎么回复到原来的数据啊??????? File和Filegroup的问题 请问有没有办法禁用log 请高手帮忙:alpha语言 求教一个sql语句? 存储的时候,输入法造成的问题 新安装的sqlserver2005没有数据库,也没有实例
1.业务逻辑上,学生和课程没有必然联系,选课作为一个独立行为,有它单独维护的意义
2.实际操作上,学生和课程各自经常变动,对应关系复杂,另加选课表会使得数据易于维护。试想,将选课关系都存入学生表,那么学生表将会变得多么庞大!这种实体表与关系表的设计,一般可以这样考虑:
1. n:n 必须另建关系表。否则会有大量不必要的数据冗余。
2. 1:n 主从表。从表加一外键指向主表的主键。无需关系表。
3. 1:1 合为一个表。既然一一对应,那么可以作为一条记录了。