欢迎您访问科普小知识本站旨在为大家提供日常生活中常见的科普小知识,以及科普文章!
您现在的位置是:首页  > 科普文章

数据库上机实验报告

科普小知识2022-12-03 21:04:16
...

数据库上机实验报告

试验内容

1、数据表的建立

基本表《简单的》带有主键

带有外码约束的(外码来自其他表或者本表)

2、数据表的修改

添加删除列

修改列属性类型

添加删除约束(约束名)

元组的添加,修改,删除

删除数据表

试验过程

1、createtablestudent

(

snochar(9)primarykey,/*sno是主码列级完整性约束条件*/

snamechar(20)unique,/*sname取唯一值*/

ssexchar(2),

sagesmallint,/*类型为smallint*/

sdeptchar(20)/*所在系*/

);

createtablecourse

(

cnochar(4)primarykey,/*列级完整性约束条件,cno是主码*/

cnamechar(40),

cpnochar(4),/*cpno的含义是先行课*/

ccreditsmallint,

foreignkey(cpno)referencescourse(cno)

/*表级完整性约束条件,cpno是外码,被参照表是course,被参照列是cno*/

);

createtablesc

(

snochar(9),

cnochar(4),

gradesmallint,

primarykey(sno,cno),

/*主码有两个属性构成,必须作为表级完整性进行定义*/

foreignkey(sno)referencesstudent(sno),

/*表级完整性约束条件,sno是外码,被参照表是student*/

foreignkey(cno)referencescourse(cno),

/*表级完整性约束条件,cno是外码,被参照表示course*/

);

例1、createtables

(

cnovarchar(3),/*变长的字符串,输入2个字符就是两个字符不会补空格*/

snamevarchar(20),

statusint,

cityvarchar(20),

constraintpk_snoprimarykey(sno),/*约束条件的名字为pk_sno*/

);

createtablep

(

pnovarchar(3),

pnamevarchar(20),

colorvarchar(3),

weightint,

constraintpk_pnoprimarykey(pno),/*约束条件的名字是pk_pno*/

);

createtablej

(

jnovarchar(3),

jnamevarchar(20),

cityvarchar(20),

constraintpk_jnoprimarykey(jno)/*约束条件的名字为pk_jno*/

);

例2、createtablespj

(

snovarchar(3),/*第一个表中的主码*/

pnovarchar(3),

jnovarchar(3),

qtyint,/*数量*/

constraintpk_spjprimarykey(sno,pno,jno),/*主码由3个属性组成*/

foreignkey(sno)referencess(sno),

/*表级完整性约束条件,sno是外码,被参照表是s*/

foreignkey(pno)referencesp(pno),

/*表级完整性约束条件,pno是外码,被参照表是p*/

foreignkey(jno)referencesj(jno),

/*表级完整性约束条件,jno是外码,被参照表是j*/

);

2、数据表的更改

在s表中添加一个concat列

altertablesaddconcatvarchar(20)

在s表中删除concat列

altertablesdropcolumnconcat

更改s表concat列的属性把长度由20改为30

altertablesaltercolumnconcatvarchar(30)

联系方式名字为concat修改属性为唯一的属性名为con_concat

altertablesaddconstraintcon_concatunique(concat)

删除约束关系con_concat

altertablesdropconstraintcon_concat

/*插入一个元组*/

insertintosvalus(‘s1’,’精益’,20,’天津’)/*20不能写成’20’*/

试验中的问题的排除与总结:

1、在创建spj时

有三个实体所以从3个实体中取主码,还有一个数量属性也要写上

主码由那3个主码确定

2、更改一个数据库中数据表时一定要先使该数据库处于正在使用状态

3、constraint

是可选关键字,表示primarykey、notnull、unique、foreignkey或check约束定义的开始。约束是特殊属性,用于强制数据完整性并可以为表及其列创建索引。

4、--go可以不加但是要注意顺序注:go--注释提示错误

5、注意添加一个空元素用null

附sql备份

--创建一个数据库student

createdatabasestudent

go

--在数据库student中创建表studentcoursesc注意顺序

usestudent

----------------------------------------------------------------

createtablestudent

(

snochar(9)primarykey,/*sno是主码列级完整性约束条件*/

snamechar(10)unique,/*sname取唯一值*/

ssexchar(2),

sagesmallint,/*类型为smallint*/

sdeptchar(20)/*所在系*/

);/*;要加*/

-----------