社区
MS-SQL Server
帖子详情
关于主键和外键sql server
moxing99
2002-12-03 05:57:38
我是一个初学者,请问,我创建了两个表,如:
表1的结构:number(主键),name(unique约束),sex,birthday,address
表2的结构:name(外键),bookname,telphone,country
我的认为是在表1被操作的时候,表2也会随着变化,例如,向表1加数据,表也会把相应的数据填写进去,是吗?
还有一个问题就是,用哪种数据类型好varchar,char!!
请向告,非常感激!!
...全文
116
8
打赏
收藏
关于主键和外键sql server
我是一个初学者,请问,我创建了两个表,如: 表1的结构:number(主键),name(unique约束),sex,birthday,address 表2的结构:name(外键),bookname,telphone,country 我的认为是在表1被操作的时候,表2也会随着变化,例如,向表1加数据,表也会把相应的数据填写进去,是吗? 还有一个问题就是,用哪种数据类型好varchar,char!! 请向告,非常感激!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xmboy
2002-12-03
打赏
举报
回复
第一步删除约束
ALTER TABLE 表2
DROP CONSTRAINT 外键约束名
GO
第二步重键约束
ALTER TABLE 表2
ADD FOREGIN KEY(name)REFERENCES 表1(name)ON DELECT CASCADE ON UPDATE CASCADE
GO
搞定!
Rbuyangel
2002-12-03
打赏
举报
回复
这样设计的表也不是太好,表2对表1只是部分函数依赖,不满足第2范式。在数据库不断变化后会引起问题的。
zhouzdsoft
2002-12-03
打赏
举报
回复
外键为其他表的关键字,当insert数据时如果表中存在外键约束的话,首先检索插入的数据在另外一个表中是否存在,如果存在才能插入成功,当delete
时要先删除另一表中的当前数据后,才能删除带有外键约束的表中的数据
Dullboy
2002-12-03
打赏
举报
回复
对于你的问题,我觉得应该先找一本入门的书籍看一下。
但在此我想说一下pengdali(大力)提出的级联的问题,很多初学者都很喜欢(即便是一些有一点经验的数据库管理员)都很喜欢用级联的关系,而且Microsoft在它的产品Access和sql server里都很容易实现,但是我必须警告设计者,这是一种非常危险的做法,尤其在删除的时候,很容易破坏数据库的完整性。
为了删除数据而冒着破坏数据完整性的做法是不值得的。事实上数据量的大小往往并不是影响查询速度的主要原因,主要原因是查询的算法,有经验的数据库设计者很少删除数据,而是给要删除的数据做一个标记,真正要物理删除也不可能交给级联去处理。
因此,再次警告数据库的使用者,慎用级联关系。
老万2018
2002-12-03
打赏
举报
回复
你的表建得好像不好,你这些数据应该建在同一个表中,至于你问的问题大力已回答了
pengdali
2002-12-03
打赏
举报
回复
级连更新,删除!!!在设计表右键
moxing99
2002-12-03
打赏
举报
回复
前面的那个问题,好象回答的不够清楚!!!!为什么我修改表1的数据,表2的数据不变呀!
stone2003
2002-12-03
打赏
举报
回复
设置一个关系 表1name和表2name
用varchar好
sql
server
2005 主
外键
-复合
主键
sql
server
2005 主
外键
-复合
主键
案例
Sql
Server
2016从入门到实战应用
关联查询,优化查询,分组排序、视图、索引和游标,
主键
的好处和用法,
外键
的建立依据、存储过程与触发器、数据库的备份与还原、安全与权限综合知识学习,定时作业计划的设计和定制等相关内容详解。 本课程设计的...
Sql
Server
数据库字典--表.视图.函数.存储过程.触发器.
主键
.
外键
.约束.规则
Sql
Server
数据库字典--表.视图.函数.存储过程.触发器.
主键
.
外键
.约束.规则
删除数据库的所有表、存储过程、
主键
、
外键
、索引等 .
sql
删除数据库的所有表、存储过程、
主键
、
外键
、索引等 .
sql
MS-SQL Server
34,594
社区成员
254,589
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章