数据库上机实验报告

发布时间:2013-11-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)   /*所在系*/
);     /*;要加*/
-----------
 


前一篇:定做程序设计
后一篇:SQL数据库制作考务管理系统实验报告
分享到: