SQL server2005中关于外键设置问题
2016-07-16 16:41
337 查看
创建外键有两个重要条件:所选中的属性列要求是主键或是唯一值(对应的数据类型相同和长度相等)
例如:学生表中有班主任姓名列,而班主任都是老师表中的老师,所以班主任姓名是学生表的外键
1、用鼠标创建外键(先建立teacher表和student表)
![](https://img-blog.csdn.net/20160716174508043?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20160716175041607?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20160716174125939?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20160716175148499?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20160716174407926?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20160716174536975?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
SQL语句创建
create database t;
use t;
create table te(
tno int primary key identity(100,1),
tname varchar(20) unique, --唯一性
tsex varchar(2) check(tsex='男' or tsex='女'),
)
create table stu(
sno int primary key identity(200,1),
sname varchar(20) not null,
ssex varchar(2) check(ssex='男' or ssex='女'),
tname varchar(20) foreign key references te(tname)
)
![](https://img-blog.csdn.net/20160716181204402?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20160716181234747?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
例如:学生表中有班主任姓名列,而班主任都是老师表中的老师,所以班主任姓名是学生表的外键
1、用鼠标创建外键(先建立teacher表和student表)
SQL语句创建
create database t;
use t;
create table te(
tno int primary key identity(100,1),
tname varchar(20) unique, --唯一性
tsex varchar(2) check(tsex='男' or tsex='女'),
)
create table stu(
sno int primary key identity(200,1),
sname varchar(20) not null,
ssex varchar(2) check(ssex='男' or ssex='女'),
tname varchar(20) foreign key references te(tname)
)
相关文章推荐
- 2. mac mysql error
- mysql 字符串截取函数
- mysql 结合keepalived测试
- mysql 结合keepalived测试
- mysql 结合keepalived测试
- Mybatis深入了解(五)----动态SQL
- session如何加入mysql库
- oracle表分区详解
- sqlite 数据库开发中一些用法
- mysql 语句优化一列
- Sqlmap 使用tamper脚本绕过waf (一)
- Mysql 如何实现列值的合并
- 子查询
- 为了梦想,努力奋斗! 追求卓越,成功就会在不经意间追上你 mysql之触发器trigger
- hibernate辅导教程H2数据库连接 URL说明
- 编译安装PostgreSQL-9.5.3数据库
- ORACLE使用DBCA建数据库时错误ORA-01503,ORA-01158解决
- MySQL复制出错 Last_SQL_Errno:1146的解决方法
- 把数据保存到数据库主表 `#@__archives` 时出错
- PL/SQL Developer 如何显示行号