精选数据库上机实验报告

  • 格式: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);;;/*所在系*/;

);;;;;;/*;要加*/;

-----------