今天,因为项目有3张表,而且3张表之间,都有关联,我又重温习了一个主键与外键的运用:
--删掉表
drop table dept
drop table emp
--创建dept表,
create table dept(deptno int primary key,dName nvarchar(30),loc nvarchar(30))
--这里是dept(deptno)主键指向外键emp(deptno),没有联级删除与更新
create table emp(empno int primary key
,eName nvarchar(30),
job nvarchar(30),
mgr int,
hiredate datetime,
sal numeric(10,2),
comm numeric(10,2),
deptno int foreign key references dept(deptno));
--以后为创建表时,并创建联级关系
create table emp(empno int primary key
,eName nvarchar(30),
job nvarchar(30),
mgr int,
hiredate datetime,
sal numeric(10,2),
comm numeric(10,2),
--联级删除
deptno int foreign key references dept(deptno) on delete cascade);
--联级更新
--deptno int foreign key references dept(deptno) on update cascade);
--如果是创建表时,没有创建联级关系,可以再增加
create table emp(empno int primary key
,eName nvarchar(30),
job nvarchar(30),
mgr int,
hiredate datetime,
sal numeric(10,2),
comm numeric(10,2),
deptno int);
--这段语句就是增加联级的删除与更新
alter table emp add constraint FK_deptno foreign key (deptno) references dept(deptno) ON UPDATE CASCADE ON DELETE CASCADE
以上的操作都是在sql server 2000中进行的,以下部分是插入与删掉的数据,本人已经操作过没有问题,图片就不上传了。
insert into dept values(10,'grtu','newke')
insert into dept values(20,'sl','shengchang')
insert into emp(empno,eName,job,mgr,hiredate,sal,deptno)values
(103,'dengping','cleck',9,'1985-9-12',1300.00,10)
insert into emp(empno,eName,job,mgr,hiredate,sal,deptno)values
(106,'milik','cleck',9,'1985-9-12',1300.00,30)--deptno这时为30时,就违反了主键定义,因为30不存在,这就是外键指向主键的运用
insert into emp(empno,eName,job,mgr,hiredate,sal,deptno)values
(105,'lichong','IPQC',93,'1990-2-22',1400.00,10)
insert into emp(empno,eName,job,mgr,hiredate,sal,deptno)values
(104,'lichong','IPQC',93,'1990-2-22',1400.00,20)
select * from emp
select * from dept
delete from emp where empno= '105';
--联级删除
delete from dept where deptno= '10';
--联级更新
update dept set deptno=11 where deptno =10;
分享到:
相关推荐
主键与外键的设置 为了确保数据在数据库中的唯一性和关联性以及完整性,有必要对数据库进行 主键与外键的设置。 要善于识别与正确处理多对多的关系 中间表、报表和临时表 防止数据库设计打补丁的方法是"三少原则" 2...
当你问到关于主键和外键的问题时,后面的问题都十分有难度,因为答案可能会更难解释和说明,尤其是在面试的情形下。 你能向我简要叙述一下SQL Server 2000中使用的一些数据库对象吗? 你希望听到的答案包括这样一些...
系统实现了比较完整的O-R映射,数据库中的所有逻辑对象表,列,字段,主键,外键,Null,Default,唯一索引都在类里得到了体现,同时还支持代码表,代码列,自增长机制 系统支持完整的数据操作功能,支持带事务功能...
通过这份文档,您学习并了解了MySQL数据库中常用的约束类型:主键约束、外键约束、唯一约束和检查约束。每个约束类型都通过示例代码展示了其作用和使用方法,帮助您更好地理解和运用这些约束。 这些约束能够保证...
3.2后台设计:根据E-R图创建表字段,创建表间关联约束(主键,外键,非空,检查约束等等) 4.编码任务: 4.1前台页面编码: 4.2后台编码: > 系统搭建:采用当前软件行业比较流行的JavaWeb技术,运用MVC分层...
userid(引用用户表外键),cid(引用帖子表主键) --用户表:(users) -- Create table create table USERS ( USERID INTEGER not null, USERNAME VARCHAR2(20) not null, PASSWORD VARCHAR2(20) not null, SEX ...
数据库中的所有逻辑对象表,列,字段,主键,外键,Null, Default,唯一索引都在类里得到了体现,同时还支持代码表,代码列,自增长机制. 系统支持完整的数据操作功能,支持带事务功能的数据操作,提供数据自动装载功能,有很强...
掌握主键约束、外键约束及check约束的用法; 2. 掌握默认值约束和默认值对象的应用; 3. 掌握用触发器实现参照完整性的方法。 二、实验学时 2学时 三、实验要求 1. 了解约束、默认值; 2. 了解触发器的定义方法; 3...
"课程名称: " 数据库原理与运用 " " " 名片管理系统 " "系 别: " " "年级专业: " " "学 号: " " "姓 名: " " "任课教师: " "成绩: " " " " " "2015 "年 " "用户序号(主键) "nchar(8) "用于用户表主键 " ...
10.5 业务主键与逻辑主键 10.6 NULL的学问 10.6.1 NULL与比较运算符 10.6.2 NULL和计算字段 10.6.3 NULL和字符串 10.6.4 NULL和函数 10.6.5 NULL和聚合函数 10.7 开窗函数 10.7.1 开窗函数简介 ...
实验目的与要求 通过上机实践,了解DBMS的体系结构,熟练掌握SQL的数据定义、数据操纵和数据控 制语言的运用。 考核知识点与考核要求 1. SQL Server的体系结构. 1) SQL Server的逻辑组件 熟练掌握数据类型和表的...
人力资源管理系统的数据库设计..."主键 " "工号 "char(10) "外键 " "日期 "datetime "Not null " "出勤情况 "char(4) "Not null " 表5工资表 "字段名 "类型 "特殊属性 " "工号 "char(10) "主键 " "工资发放日 "date
" " "个人编号 "文本(50) "有(无重复) "外键,NOT NULL " 4、机构信息数据表 "字段名称 "数据类型 "索引 "其他 " "机构编号 "文本(50) "有(无重复) "主键,NOT NULL " "机构名称 "文本(50) " "NULL " 5、...
4 1.1 外部设计 4 1.1.1 类型划分 4 1.1.2 使用它的程序 4 1.1.3 标识符和状态 4 1.2 结构设计 6 1.2.1 概念结构设计 6 1.2.2 逻辑结构设计 6 1.3 运用设计说明 7 1.3.1 数据库字典的设计 7 1.3.2 安全保密的设计 7 ...
退票 6 2.3数据库逻辑结构 6 2.4数据库中地约束 7 2.4.1主键约束 7 2.4.2外键约束 7 2.4.3 CHICK约束 7 2.4.4 DEFAULT约束 8 2.4.5长度约束 8 3 各功能模块和流程图 9 3.1系统软件结构设计 9 3.2系统流程图 9 4 系统...
1) 给每个表实施主键及外键约束。 2) 设定缺省约束。如性别。 3) 设置非空约束如图书信息表中的书名。 4) 实施CHECK约束。如ISBN类别表中的可借数量小于馆藏数量。 5) 实施规则。如身份证号码必须为15为或...
12、主键和外键的区别? 44 13、在数据库中查询语句速度很慢,如何优化? 44 14、数据库三范式是什么? 44 15、union和union all有什么不同? 45 16、char、varchar2、varchar有什么区别? 45 17、Oracle和Mysql的区别...
E- R模型向关系数据库模型转换应遵循下列原则: *每一种实体要转换成一种关系 *所有主键必要定义非空(NOT NULL) *对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。 依照E- R模型,教师档案...
" "表1-2 学员文件关系表 " "名称 " "类型 " "含义 " " " "SNO " "INT " "学员学号(主键) " " " "CM " "INT " "班级代号(外键) " " " "TOPTEACHER " "CHAR(8) " "班主任(外键) " " " "ATIME " "DATETIME " "报名...
解,能将SQL语言很好的运用,增强了自己在数据库中应用SQL语言的灵活性,其中包括 ,插入、删除、修改、查询,牵涉表和表之间的联系,主建与外键的定义,约束项的设 置,使逻辑更严密,在学习过程中,我也能过上网查...