数据库上机实验报告

数据库上机实验报告


试验内容 

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)   /*所在系*/ 
);     /*;要加*/ 
---------------------------------------------------------------- 
create table Course 

Cno char(4) primary key, /*列级完整性约束条件,Cno是主码*/ 
Cname char(20), 
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*/ 
); 
------------------------------------------------------------------- 
go 

--创建一个数据库SPJ 习题2-5 

create database SPJ 

go 

--在数据库SPJ中创建表 S P J SPJ 

use SPJ 

go 
-------------------------------------------------------------------------- 
create table S 

Sno 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*/ 
); 
-------------------------------------------------------------------------- 
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*/ 

); 
-------------------------------------------------------------------------- 
go 

--数据表的修改 添加一个列 删除一个列 更改列的属性 建立约束 删除约束 元组的添加删除和修改 

--和还是在数据库SPJ中 不用重新use SPJ 
alter table s add concat varchar(20) /*在S表中添加一个concat 列*/ 
go   
--go可以不加但是要注意顺序 注:go --注释   提示错误 
alter table s drop column concat /*在S表中删除concat 列*/ 
go 
alter table s add concat varchar(20) /*在S表中添加一个concat 列*/ 
go 
alter table s alter column concat varchar(30) /*更改s表concat列的属性 把长度由20改为30*/ 
go 
alter table s add constraint con_concat unique(concat) /*建立一个约束关系 关系名为con_cat(删除时用到)使concat列具有唯一性*/ 
go 
alter table s drop constraint con_concat /*删除约束关系con_concat*/ 
go 

alter table s drop column concat /*在S表中删除concat 列*/ 

go  


------------------------------------------------------------------------------ 
---插入数据 
insert into s values(’s1’,’精益’,20,’天津’) /*向表s中插入一个元组*/ 

insert into s values(’s2’,’盛锡’,10,’北京’) /*向表s中插入一个元组*/ 
insert into s values(’s3’,’东方红’,30,’北京’) /*向表s中插入一个元组*/ 
insert into s values(’s4’,’丰泰盛’,20,’天津’) /*向表s中插入一个元组*/ 
insert into s values(’s5’,’为民’,30,’上海’) /*向表s中插入一个元组*/ 
--------------------- 
insert into p values(’p1’,’螺母’,’红’,12) /*向表p中插入一个元组*/ 
insert into p values(’p2’,’螺栓’,’绿’,17) /*向表p中插入一个元组*/ 
insert into p values(’p3’,’螺丝刀’,’蓝’,14) /*向表p中插入一个元组*/ 
insert into p values(’p4’,’螺丝刀’,’红’,14) /*向表p中插入一个元组*/ 
insert into p values(’p5’,’凸轮’,’蓝’,40) /*向表p中插入一个元组*/ 
insert into p values(’p6’,’齿轮’,’红’,30) /*向表p中插入一个元组*/ 
--------------------- 
insert into j values(’j1’,’三建’,’北京’) /*向表j中插入一个元组*/ 
insert into j values(’j2’,’一汽’,’长春’) /*向表j中插入一个元组*/ 
insert into j values(’j3’,’弹簧厂’,’天津’) /*向表j中插入一个元组*/ 
insert into j values(’j4’,’造船厂’,’天津’) /*向表j中插入一个元组*/ 
insert into j values(’j5’,’机车厂’,’唐山’) /*向表j中插入一个元组*/ 
insert into j values(’j6’,’无线电厂’,’常州’) /*向表j中插入一个元组*/ 
insert into j values(’j7’,’半导体厂’,’南京’) /*向表j中插入一个元组*/ 
--------------------- 
--go 

insert into spj values(’S1’,’P1’,’J1’,200) /*向表spj中插入一个元组*/ 
insert into spj values(’S1’,’P1’,’J3’,100) /*向表spj中插入一个元组*/ 
insert into spj values(’S1’,’P1’,’J4’,700) /*向表spj中插入一个元组*/ 
insert into spj values(’S1’,’P2’,’J2’,100) /*向表spj中插入一个元组*/ 
insert into spj values(’S2’,’P3’,’J1’,400) /*向表spj中插入一个元组*/ 
insert into spj values(’S2’,’P3’,’J2’,200) /*向表spj中插入一个元组*/ 
insert into spj values(’S2’,’P3’,’J4’,500) /*向表spj中插入一个元组*/ 
insert into spj values(’S2’,’P3’,’J5’,400) /*向表spj中插入一个元组*/ 
insert into spj values(’S2’,’P5’,’J1’,400) /*向表spj中插入一个元组*/ 
insert into spj values(’S2’,’P5’,’J2’,100) /*向表spj中插入一个元组*/ 
insert into spj values(’S3’,’P1’,’J1’,200) /*向表spj中插入一个元组*/ 
insert into spj values(’S3’,’P3’,’J1’,200) /*向表spj中插入一个元组*/ 
insert into spj values(’S4’,’P5’,’J1’,100) /*向表spj中插入一个元组*/ 
insert into spj values(’S4’,’P6’,’J3’,300) /*向表spj中插入一个元组*/ 
insert into spj values(’S4’,’P6’,’J4’,200) /*向表spj中插入一个元组*/ 
insert into spj values(’S5’,’P2’,’J4’,100) /*向表spj中插入一个元组*/ 
insert into spj values(’S5’,’P3’,’J1’,200) /*向表spj中插入一个元组*/ 
insert into spj values(’S5’,’P6’,’J2’,200) /*向表spj中插入一个元组*/ 
insert into spj values(’S5’,’P6’,’J4’,500) /*向表spj中插入一个元组*/ 
---插入数据 
----------------------------------------------------------------------------- 
use Student  
go 
--go 不加出现错误 
----------------------------------------------------------------------------- 
---插入数据 注意顺序 Student Course SC 
-------------------------------------- 
insert into Student values(’95001’,’李勇’,’男’,20,’CS’) /*向表Student中插入一个元组*/ 
insert into Student values(’95002’,’刘晨’,’女’,19,’IS’) /*向表Student中插入一个元组*/ 
insert into Student values(’95003’,’王敏’,’女’,18,’MA’) /*向表Student中插入一个元组*/ 
insert into Student values(’95004’,’张立’,’男’,19,’IS’) /*向表Student中插入一个元组*/ 
-------------------------------------- 
-----注意顺序(先行课问题) 注意添加一个空元素用 null 
insert into Course values(’2’,’数学’,null,2)/*向表Course中插入一个元组*/ 
insert into Course values(’6’,’数据处理’,null,2)/*向表Course中插入一个元组*/ 
insert into Course values(’4’,’操作系统’,’6’,3)/*向表Course中插入一个元组*/ 
insert into Course values(’7’,’PASCAL语言’,’6’,4)/*向表Course中插入一个元组*/ 
insert into Course values(’5’,’数据结构’,’7’,4)/*向表Course中插入一个元组*/ 
insert into Course values(’1’,’数据库’,’5’,4)/*向表Course中插入一个元组*/ 
insert into Course values(’3’,’信息系统’,’1’,4)/*向表Course中插入一个元组*/ 
-------------------------------------- 
insert into SC values(’95001’,’1’,92)/*向表SC中插入一个元组*/ 
insert into SC values(’95001’,’2’,85)/*向表SC中插入一个元组*/ 
insert into SC values(’95001’,’3’,88)/*向表SC中插入一个元组*/ 
insert into SC values(’95002’,’2’,90)/*向表SC中插入一个元组*/ 
insert into SC values(’95002’,’3’,80)/*向表SC中插入一个元组*/ 
---插入数据 
声明:本站所有资源为网上收集或网友推荐,是很好的范本,仅作为写作参考使用,其著作权属于文章原作者,我们不提倡抄袭的做法,支持原创范文,借鉴与抄袭的界限就靠朋友们自己去把握,取长补短可以,但不要全盘照搬,不做拿来主义,请朋友们端正自己的学习态度,在参考资料的帮助下,写出自己的好文章。

收藏本页 关闭窗口

最新更新
在科学发展观专题民主生活会上的发言提纲
质监局书记个人述职述廉报告
质监局领导班子述职述廉报告
2008年党风廉政建设责任制的落实情况
2008年党政“一把手”履行党风廉政建设责任制和廉洁自律情况的报告
2008年党风廉政建设和反腐败工作要点
党风廉政建设责任制的自查报告
2008年反腐倡廉调研论文征集情况汇报
工会技协科学发展观学习体会
外事工作人员学习实践科学发展观心得体会
相关文章
实验小学三年级班主任工作计划
2007-2008学年第二学期实验小学图书馆工作总结
2008年秋季学期实验小学六年级德育暨少先队工作计划
2008-2009学年度第一学期实验小学教育科研工作计划
实验小学五五普法工作情况汇报
镇中心小学“十一五”课题阶段实验汇报
SQL数据库制作考务管理系统实验报告
《聋校语文教学学生学习兴趣引导的研究》实验报告
“小学教师心理素质优化研究”实验总结
实验报告撰写要求
最新热门
四川大地震思想汇报
2008预备党员转正思想汇报
2008年12月入党思想汇报
入党积极分子党的理论知识学习思想汇报
2008年第4季度入党思想汇报
2008年第四季度学习科学发展观思想汇报
预备党员关于神舟七号的思想汇报
2008年下半年预备党员思想汇报
学习科学发展观民主生活会发言提纲
我看改革开放30年心得体会
最新推荐
2008年奥运开幕式观后感
2008奥运开幕式观后感
2008年北京奥运会个人感想
要客观总结2008年北京奥运会
观看2008年北京奥运会心得感想
2008年北京奥运会闭幕式总结
2008年北京奥运会闭幕式个人自我总结
2008年北京奥运会心得体会总结
2008年北京奥运会闭幕式心得体会
2008北京奥运会观后感个人心得总结
Loading…
1.本站竭诚欢迎文秘教育工作者投稿!
2.您能为本站做点什么?
3.为什么本站范文需要会员才能阅读?
网站事务