第六章计算机二级Word文档格式.docx
- 文档编号:15765914
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:7
- 大小:30.55KB
第六章计算机二级Word文档格式.docx
《第六章计算机二级Word文档格式.docx》由会员分享,可在线阅读,更多相关《第六章计算机二级Word文档格式.docx(7页珍藏版)》请在冰豆网上搜索。
第二节:
数据定义
1、库文件和表文件的建立
建库文件:
creadatabase学生管理
modidatabase(此时可以见到数据库设计器)
建表文件:
有数据库打开的时候,所建立的表是数据库表,如果想建立自由表,在建表时要在表文件名后加上free.
例1在打开数据库设计器时,比较以下两条命令的操作结果。
Createtableabcfree(snoc(5),snamec(6))
Creatableabc(snoc(5),snamec(6))
例2建立一个名为temp的表,该表字段情况为:
学号c(5),姓名c(8),性别c
(2),出生日期d,其中学号和姓名字段不能为空)
creatabletemp(学号c(5),姓名c(8),;
性别c
(2)null,;
出生日期dnull)
在vf中,字段默认是不允许为空值的,所以对于不允许为空值的字段,notnull可以省略不写。
另外,在输入空值的时候需要使用ctrl+0
例3:
以第五章为例,建立学生管理数据库,要求有学生、选课、课程,共3张表。
creadatabase学生管理(建立数据库)
creatable学生(学号c(6)primarykey,;
姓名c(8),性别c
(2),籍贯c(6),;
入学成绩n(5,1)check(入学成绩>
=480)error'
入学成绩至少为480分'
;
少数民族l,简历m,照片g)
在学生管理数据库中建立学生表。
字段名及宽度如命令中所示,注意字段名和字段类型中间有空格,一行写不下时加分号换行。
Primarykey表示学号为主关键字,check是字段有效性规则,error为报错信息。
creatable课程(课程号c(6)primarykey,课程名c(20),学分n
(1))(建立课程表)
creatable选课(学号c(6),课程号c(6),成绩n(2,0);
check(成绩>
=0.and.成绩<
=100)error'
成绩范围是0--100'
default60,;
foreignkey学号tag学号references学生,;
foreignkey课程号tag课程号references课程)
对于选课表的建立,还有另一种写法
creatable选课(学号c(6)references学生,;
课程号c(6)references课程,;
成绩n(2,0);
default60)
对于选课表的成绩字段,除了字段有效性和报错信息之外,还设置了默认值;
并且说明了学号和课程号都是外部关键字,它们分别参照学生表和课程表里的学号和课程号字段。
2、表文件的删除
例1:
删除学生管理数据库中的选课表
Opendatabase学生管理
Droptable选课
说明:
将指定的表文件从磁盘上删除。
如果要删除数据库表,最好先将该库文件打开。
否则,表文件虽然被删除,但在数据库中仍然可以看到该表文件存在,使用该表时,系统会提示出错。
3、修改表结构
修改字段类型及宽度
altertable选课alter成绩c(4)
将成绩字段由原来的n(2,0)修改为c(4)
增加或修改字段
altertable课程add学时icheck(学时>
=34)error'
至少需要学时34'
default51
为课程表增加学时字段,该字段为整型,至少34默认51
altertable课程alter学时n(2,0)check(学时>
=16)error'
学时至少16'
default34
将课程表的学时字段修改为数值型,并且修改字段有效性规则及默认值
注意:
对于一个刚建立好的空表(没有记录的表),vf不会去检查字段有效性,因此check条件可以任意写,但对于一个有记录的表文件,如果声明了check条件,那么最好要加上default,而且default必须符合check条件要求,否则vf报错(因为vf认为新加的字段不符合check条件的限定)。
上机实验时,可以在一个已经建好的数据库(比如之前的学生管理数据库)中给课程表加字段。
例如:
=80)error'
学时至少80'
default80
可以发现,第一条命令为课程表添加了一个学时字段,而第二条命令修改了学时字段的字段有效性,但第三条命令无法执行下去。
因为之前的学时默认值是34,无法满足大于等于80的要求。
定义、修改、删除字段有效性规则
altertable课程alter学时dropcheck
将课程表中学时字段的字段有效性规则删除,保留默认值,如果想实现刚好相反的效果,可以将dropcheck换成dropdefault
删除字段:
altertable课程drop学时
第三节:
数据查询
1、命令语法
Select要查询的字段或表达式from字段的来源where查询条件
2、基本查询
Select*from学生显示学生表的全部信息
select学号,姓名,籍贯,出生日期from学生显示学生表的指定字段
sele姓名as学生名单,year(date())-year(出生日期)as年龄from学生
sele学号,姓名,round(入学成绩,0)as考试成绩from学生
seleavg(入学成绩)as入学成绩平均分from学生
seleround(avg(入学成绩),0)as入学成绩平均分from学生
sele性别,count(*)as学生人数from学生groupby性别
3、条件查询
sele姓名,入学成绩from学生where少数民族and性别='
女'
sele*from学生where籍贯in('
云南'
'
陕西'
)
sele*from学生where籍贯='
or籍贯='
以下3条命令是等价的
1、sele*from学生where籍贯!
='
2、sele*from学生where籍贯<
>
'
sele*from学生where籍贯#'
3、sele*from学生wherenot(籍贯='
sele*from学生where入学成绩between565and575
sele*from学生where入学成绩>
=565and入学成绩<
=575
xbetweenaandb等价于x>
=aandx<
=b即x∈[a,b]
1、sele*from学生where姓名like'
胡%'
2、sele*from学生wheresubstr(姓名,1,2)='
胡'
3、sele*from学生where姓名="
王"
考虑:
将条件换成where姓名=="
或where姓名='
会是什么情况?
4、嵌套查询
当一个select语句无法完成查询任务时,有时需要将一个子select语句的返回值作为主select语句的查询条件。
(1)返回单值的子查询
例:
查询选修“数据库原理”的所有学生的学号
分析:
选课表中有学号和课程号,可以根据课程名找到课程号。
数据库原理是个课程名(存放在课程表中),而课程号也在课程表中
sele学号from选课where课程号=;
(sele课程号from课程where课程名='
数据库原理'
先从课程表里找出数据库原理的课程号,再从选课表里根据所得到的课程号找出学号。
假设有一个表s,其中有学号和年龄字段。
查询所有比张三年龄大的学生的学号
Select学号fromswhere年龄>
(select年龄fromswhere姓名=’张三’)
(因为子查询只返回了一个值,因此称为返回单值的子查询)
(2)返回一组值的子查询
列出选修‘01101’的学生中成绩比选修’01102‘的最低成绩高的学生的学号和成绩。
(找出选修数据库原理的成绩比选修软件工程的最低分成绩高的)
sele学号,成绩from选课where课程号='
01101'
找出选修01101课程的学生
sele成绩from选课where课程号='
01102'
找出选修01102课程的学生
and成绩>
any;
(sele成绩from选课where课程号='
该命令还可以写成如下形式:
sele学号,成绩from选课where课程号=;
(sele课程号from课程where课程名='
)and成绩>
(sele成绩from选课where课程号='
这个形式的意思是找出选修数据库原理的成绩比选修01102的最低分成绩高的学生的学号和成绩。
(sele成绩from选课where课程号=;
(select课程号from课程where课程名='
软件工程'
))
这个形式的含义是对的。
但是嵌套了两层(蓝色部分是第一层嵌套,褐色部分是第二层嵌套)。
Vf只支持一层嵌套,所以这个命令无法执行。
列出选修‘01101’的学生,要求这些学生的成绩比选修‘01102’课程的最高成绩还要高的学生的学号和成绩
select学号,成绩from选课where课程号='
all;
(select成绩from选课where课程号='
列出选修‘数据库原理’或‘软件工程’的所有学生的学号
select学号from选课where课程号in;
or课程名='
软件工程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第六 计算机 二级