资源描述
数据库上机实验报告 - 实验报告 - 数据库上机实验报告1/2试验内容 1、 数据表的建立 基本表简单的带有主键 带有外码约束的(外码来自其他表或者本表) 2、 数据表的修改 添加删除列 修改列属性类型 添加删除约束(约束名) 元组的添加,修改,删除 删除数据表 试验过程 1、create table student ( sno char(9) primary key , /*sno是主码 列级完整性约束条件*/ sname char(20) unique, /*sname取唯一值*/ ssex char(2), sage smallint, /*类型为smallint*/ sdept char(20) /*所在系*/ ); create table course ( cno char(4) primary key, /*列级完整性约束条件,cno是主码*/ cname char(40), cpno char(4), /*cpno的含义是先行课*/ ccredit smallint, foreign key (cpno) references course(cno) /*表级完整性约束条件,cpno是外码,被参照表是course,被参照列是cno*/ ); create table sc ( sno char(9), cno char(4), grade smallint, primary key (sno,cno), /*主码有两个属性构成,必须作为表级完整性进行定义*/ foreign key (sno) references student(sno), /*表级完整性约束条件,sno是外码,被参照表是student*/ foreign key (cno) references course(cno), /*表级完整性约束条件,cno是外码,被参照表示course*/ ); 例1、create table s ( cno varchar(3), /*变长的字符串,输入2个字符就是两个字符不会补空格*/ sname varchar(20), status int, city varchar(20), constraint pk_sno primary key(sno), /*约束条件的名字为pk_sno*/ ); create table p ( pno varchar(3), pname varchar(20), color varchar(3), weight int, constraint pk_pno primary key (pno), /*约束条件的名字是pk_pno*/ ); create table j ( jno varchar(3), jname varchar(20), city varchar(20), constraint pk_jno primary key(jno) /*约束条件的名字为pk_jno*/ ); 例2、create table spj ( sno varchar(3), /*第一个表中的主码*/ pno varchar(3), jno varchar(3), qty int, /*数量*/ constraint pk_spj primary key(sno,pno,jno), /*主码由3个属性组成*/ foreign key(sno) references s(sno), /*表级完整性约束条件,sno是外码,被参照表是s*/ foreign key(pno) references p(pno), /*表级完整性约束条件,pno是外码,被参照表是p*/ foreign key(jno) references j(jno), /*表级完整性约束条件,jno是外码,被参照表是j*/ ); 2、数据表的更改 在s表中添加一个concat 列 alter table s add concat varchar(20) 在s表中删除concat 列 alter table s drop column concat 更改s表 concat列的属性 把长度由20改为30 alter table s alter column concat varchar(30) 联系方式 名字为concat 修改属性为唯一的 属性名为con_concat alter table s add constraint con_concat unique(concat) 删除约束关系con_concat alter table s drop constraint con_concat /*插入一个元组*/ insert into s valus(s1,精益,20,天津) /*20不能写成20*/ 试验中的问题的排除与总结: 1、在创建spj时 有三个实体所以从3个实体中取主码,还有一个数量属性也要写上 主码由那3个主码确定 2、更改一个数据库中数据表时一定要先使该数据库处于正在使用状态 3、constraint 是可选关键字,表示 primary key、not null、unique、foreign key 或 check 约束定义的开始。约束是特殊属性,用于强制数据完整性并可以为表及其列创建索引。 4、-go可以不加但是要注意顺序 注:go -注释 提示错误 5、注意添加一个空元素用 null 附 sql备份 -创建一个数据库 student create database student go -在数据库student中创建表student course sc 注意顺序 use student - create table student ( sno char(9) primary key, /*sno是主码 列级完整性约束条件*/ sname char(10) unique, /*sname取唯一值*/ ssex char(2), sage smallint, /*类型为smallint*/ sdept char(20) /*所在系*/ ); /*;要加*/ -第 4 页 共 4 页
展开阅读全文