SQL Server数据库外键一般在什么地方用?为什么大型网站的SQL Server数据库有多个表,竟没有一个外键?

没有外键,多表查询的时候怎么办?... 没有外键,多表查询的时候怎么办? 展开
 我来答
百度网友6a7d11453
2011-03-28 · TA获得超过954个赞
知道小有建树答主
回答量:931
采纳率:50%
帮助的人:703万
展开全部
主键和外键是在说明数据表之间的关系的时候,为了能够明确指出两个表中对应栏位的关系时需要的两个名词。也就是说,供实体关系角度来讲,具有一对多的关系,那么就存在一对主键外键。你所看到的设置好的主键和外键,一般是为了约束,理论上具有一对多关系的表应该建立约束关系,但是大部分人都是不建关系的,都是在程序中进行限制。这样做有可能是为了数据维护的时候比较灵活,在做大数据量修复的时候不需要考虑到约束的限制。也有可能是不想把数据库结构描述的很清楚,这样就算别人得到了数据库,也不容易分析出实体关系,增加别人模仿时的难度(呵呵,我是这样想的,也许不对啊)。
wangzhiqing999
2011-03-28 · TA获得超过1.6万个赞
知道大有可为答主
回答量:7048
采纳率:100%
帮助的人:3256万
展开全部
SQL Server 外键约束的例子
http://hi.baidu.com/wangzhiqing999/blog/item/969f70fa84e2873e5d600821.html

一般用于确保一定的数据的正确性,避免产生垃圾数据.
例如 有 班级表 / 学生表.
学生表上面,有个班级ID。
假如有3个班级, ID 为 1,2,3。

如果没有外键的话,你新增学生的时候, 可以新增 班级ID 为 3,4,5 ,-1,-2,-3 之类的,不存在的班级的学生。
如果有外键的话,那么,新增学生的时候,如果 班级ID, 在班级表那里没有的话,是不允许你插入数据的。

至于大型网站的SQL Server数据库有多个表,竟没有一个外键?
原因可能有下面这几个:
建立了外键的话:
当删除表/数据的时候。 必须按照, 先删除子表的数据,后删除主表的数据。
当数据库数据丢失的时候, 必须先恢复主表,后恢复子表。
这个顺序,很麻烦。
而且,对于大型网站来说, 理论上,业务逻辑写的比较严谨的,测试是比较充分的。
一般不太会发生 上面那种, 插入没有主节点的 子节点的数据。
换句话说,那些检查 父子关系的逻辑, 写在网站的服务里面了,没有写在数据库级别上面。

有没有外键, 多表查询的写法都是一样的啊
例如前面的 班级 / 学生表
无论有没有外键
班级表 和 学生表之间, 都要写 (班级.班级ID = 学生.班级ID) 这样的条件的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ezj08tok
2011-03-28 · TA获得超过2044个赞
知道小有建树答主
回答量:647
采纳率:0%
帮助的人:0
展开全部
QL Server2000/2005,Oracle等等,一样是一个数据库系统,专门用来创建管理数据库。而MySQL是一种免费的数据库系统(当然限于一定版本)。
2.而SQL是一种结构化查询语言,基本上你列出的数据库系统都能用这个语言进行查询,更新等操作(因为它已经形成了一个标准),只是个数据库系统增加了自定义语句。
3.像你电脑上装的数据库系统作,为DW网页制作且用于ASP建议使用Microsoft SQL Server的系统(要下载百度一下),毕竟都是Microsoft的产品兼容性好,不推荐MySQL(基本上没人用在ASP中使用它);Access也可以,它适合小型的网站建设,访问量有限,速度慢,作为你的测试用还可以。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ERP小V
2011-03-28 · TA获得超过1256个赞
知道小有建树答主
回答量:1021
采纳率:82%
帮助的人:280万
展开全部
外键(FK): 是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键。
例如:成绩表中的学号不能做成绩表的主键(因为一个学生可以有多行成绩数据),但每行的学号和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键 。(典型的一对多关系)

表的多少不能决定有没有外键。外键和表之间的关键有关。你好好理解下外键的定义。
追问
涉及多表查询时,用什么实现?用join的效率高吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式