http://www.nyq.cn
 当前位置: -> 范文参考 -> 工作报告 -> 实验报告 -> 正文

数据库上机实验报告

作者:未知来源:网络收集时间:2012-2-4 12:29:15阅读:
字号:|
数据库上机实验报告


试验内容 

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)   /*所在系*/ 
);     /*;要加*/ 
-----------
关于本站 | 免责声明 | 业务合作 | 广告联系 | 留言建议 | 联系方式 | 网站导航 | 管理登录
闽ICP备05030710号