精选数据库上机实验报告
- 格式:doc
- 大小:17.36 KB
- 文档页数:6
精选数据库上机实验报告
数据库上机实验报告
试验内容;
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);;;/*所在系*/;
);;;;;;/*;要加*/;
-----------