计算机基础第四章 数据库管理系统
4.1 数据库系统的基本知识
【 术语 】
数据
数据库文件
数据库
数据库管理系统
数据库系统数据 (data):
经过加工的信息。
数据库文件:
存放数据的文件 (.dbf)。
数据库( Database):
相关数据库文件的“集合”。
数据库管理系统( DBMS):
用来建立 /管理 /维护数据库的专用软件。
DBMS是系统软件。
数据库系统:
硬件 +软件硬件:配置合乎要求的电脑。
软件:操作系统 +DBMS
+数据库文件 +应用程序数据库系统(广义),P153
数据库
DBMS(数据库管理系统)
数据库应用程序
管理系统和应用程序的运行环境
数据库用户(管理员、程序员、
最终用户)
相互关系数据库操作
数据
数据库文件
数据库
数据库管理系统
数据库系统
用户借书
图书
书架
书库
图书管理员
图书馆
读者发展与类型
发展第一代:网状、层次数据库系统第二代:关系数据库系统第三代:面向对象 /多媒体数据库系统
类型(数据模型)
层次模型:
网状模型:
关系模型:
层次模型资环系 李晃数学系 98级 机电 1班 郑雪勇莆田高专 → 机电系 → 99级 → 机电 2班 → 林艺丰外语系 00级 计应 1班 ……
…… 计应 2班 严建平网状模型张老师 李老师 王老师机电 2班 商务 1班 计应 1班关系式数据库的基本概念
关系 ——数学集合论中的一个定义本课程中,一个关系可认为是一个没有重复列、重复行的“二维”表格一 点名册维表格姓名张三李四王五
……
三维表格 (课程表)

体育上机语文5-6
英语法律数学体育计应3-4
语文数学计应英语数学1-2


五四三二一二维表与关系数据库姓名 年龄 职业 住址 电话张小明 21 学生 校内 2364747
李大华 19 学生 校内 2388383
王庆林 23 教师 校外 2443434
师生名册表名(库文件名)
列名(字段名)
列(字段,属性)
行(记录,
元组)
表头(库结构)
字符 → 字段 ( field )→ 记录 (record )→ 数据库文件(,dbf)
关系式数据库的特点无完全相同的行、列和字段名姓名 年龄 住址 年龄张三 12 校内 12
张三 12 校内 12
李四 12 校外 12
无表中表姓名 学习成绩数 英 计张三 90 100 80
节四 80 90 95
姓名 数 英 计张三 90 100 80
节四 80 90 95
行、列顺序可以任意调换而不影响数据使用姓名 数 计 英张三 90 80 100
李四 80 95 90
姓名 数 英 计李四 80 90 95
张三 90 100 80
常用关系数据库系统简介 P155
dBase和 FoxBase
FoxPro
FoxPro for DOS
FoxPro for Windows √
Visual FoxPro
Access
MS SQL Server
Oracle
4.2 FoxPro 数据库管理系统概述
运行环境 P157
启动与退出 P157
主要技术指标 P164
工作方式 P165
独占( set exclusive on) ——默认共享( set exclusive off)
4.3 建立数据库 P165
步骤手工画表 建立数据库建表头 建立库结构写内容 输入库纪录
建库用命令 create 库文件名(要带路径)
例,crea d:\stu1\abc
用菜单
FoxPro变量名(包括字段名)命名规则:
最多 10个字符;
汉字或字母开头;
只能使用字母、数字、汉字和下划线。
错误字段名:
姓 名 政治学习时间 1999年与建库有关的注意事项,P166
一个数据库最多可建 255个字段
总的字段宽度为所有字段宽度之和加 1
(存放逻辑删除标志)
FoxPro的数据类型 P171
字符型( Character,C型)
数值型( Numeric,N型)
浮点型( Float,F型)
日期型( Date,D型)
逻辑型( Logical,L型)
备注型( Memo,M型)
普通型( General,G型)
图像型( Picture,P型)
字符型包括所有英文字符、汉字、数字字符和其他专用符号,其最大长度为 254个字符。
数值型由数字、小数点和正负号组成,最大 20位(小数最大 15位)。
浮点型具有浮点小数的数值型数据,有效位数 15位。
日期型宽度固定为 8。格式:
月 /日 /年(美式)日 -月 -年(欧式) 年 /月 /日(中式)
可用 set date to YMD | MDY | DMY设置。
逻辑型用于逻辑判断。
用,T.或,Y.表示真,用,F.或,N.表示假。
备注型用于存放超过 C型长度的文字。
普通型用于保存 OLE对象,能嵌入图像、声音、文件、电子报表或其他类型的数据。
备注文件,P172
主文件名与库文件名相同,扩展名为,fpt
abc.dbf (库文件)
abc.fpt (备注文件)
存放备注字段、通用字段或图像字段的数据。
一个数据库文件不论含有几个备注、通用或图像字段,只有一个备注文件。
4.4 数据库文件的基本操作(一)
添加记录 P167
用命令 append (在库尾增加记录)
append blank (在库尾增加一空白记录)
用菜单 Record — append
插入记录用命令 insert (在当前记录之后插入记录)
insert blank (在当前记录之后插入一空白记录)
insert before (在当前记录之前插入记录)
insert blank before
(在当前记录之前插入一空白记录)
4.4 数据库文件的基本操作(二)
打开库文件 P168
用命令 use 库文件名用菜单 File — open
如果一个库文件以 shared(共享)格式打开,可能出现其记录无法删除等现象。因此应关闭数据库,然后执行命令:
set exclusive on (进入独占状态)
然后重新打开数据库( set excl on/off对已打开的数据库无效)
关闭库文件 P168
用命令 use (关闭已打开的数据库)
或 quit (关闭并退出 FoxPro)
注:菜单 File中的 Close项只关闭命令窗口。
4.4 数据库文件的基本操作(三)
修改库结构 P168 ( Ctrl+W存盘)
用命令 modi stru
用菜单 Database — setup
以 shared(共享)格式打开的库文件,将出现其库结构无法修改现象。因此应关闭数据库,然后执行命令:
set exclusive on (进入独占状态)
然后打开重新该数据库。
浏览数据库 P170
用命令 browse
用菜单 P170
注意,browse与 change显示形式的相互转换。
4.4 数据库文件的基本操作(四)
删除库记录 P183
先逻辑删除,后物理删除
逻辑删除用命令 delete
delete all
delete for 工资 >50
dele for 工资 >=50.and.职称 =?工程师’
dele for 工资 >=50.or.职称 =?工程师’
用菜单 或 在 browse时用鼠标点击删除标记位(最左侧)
物理删除 pack
恢复删除 recall
常量 P171
常量是指在程序运行过程中值固定不变的数据
FoxPro中常量包括以下四种类型
1、数值型常量 如 519 3.14
2、字符型常量用定界符括起来的一串字符定界符 有三种 ‘ ’,,[ ]
如,中国” ‘ abc? [人民 ]
当字符串本身包含有以上定界符符号时,应选用另一种定界符作为字符串的定界符。
如 ‘ I say,,I am a stuent.”?
3、逻辑型常量用,T,或,Y,表示真,用,F,或,N,表示假
4、日期型常量用 { }对括起来的一个日期型数据,如 {60-12-20}
例:
指出以下各常量的类型
,60-01-23”
{60-01-23}
3.14159?
3.14159
[(3+5x)-2]
变量 P172
变量是指在程序运行过程中值可以改变的数据
FoxPro中变量可分为以下几种类型按存放形式:
1、内存变量 存于内存中的临时变量
2、字段变量 存于库文件中的字段名(永久性保存)
按作用范围:
1、全局变量在程序中全程有效的变量(字段变量也是全局变量)
4、局部变量在程序的过程或函数中有效的变量。
变量的命名规则
P173
运算符(一)
FoxPro的运算符七大类 28个 P173
算术运算符 表 4-11
+ - * / % ** ^
5+3*3%2 - 2**4
- 10,00 (5+1-16)
5+SQRT(3*3)
8,00
a=10
b=20
c=max(10,20)+int (9.79)
c
29
运算符(二)
字符运算符 表 4-14
+ - $
a=“福建”
a,a+,莆田”,a-,莆田”,a-a
福建 福建莆田 福建莆田 福建福建
a=“福建,
a+,莆田”,a-,莆田”,a-a
福建 莆田 福建莆田 福建福建
,good”$,good night”,“Good”$,good night”
.T.,F.
国家 =?中国’
,莆田” $国家,“莆田” $“中国”
.F.,F.
运算符(三)
逻辑运算符 表 4-13
.and,(与 ),or.(或 ),not.(非 )
list for,朝” $姓名列出所有姓名中有“朝”字的记录
list for 工资 >100.and.,朝” $姓名列出所有工资大于 100元且姓名中有“朝”字的记录
list for 工资 >100.or.,朝” $姓名列出所有工资大于 100元或姓名中有“朝”字的记录
list for,not.“朝” $姓名列出所有姓名中没有“朝”字的记录比较
list for 工资 >100元,and.,朝” $姓名
dele for 身高 >1.70米运算符(四)
关系运算符 表 4-12
< <= > >=
= = =
3*4+2>10
.T.
“Bd”>”BD”,“BCD”>”BC”
.T.,T,
,男” >“女”,“福建” >,莆田”
.F.,F,
d={72-10-10}
x={30-10-10}
x>d,d>x
.F.,T,
关系运算数值按大小比较,
ASCII字符按 ASCII
码值比较,汉字按区位码大小比较
(一级汉字按拼音顺序,二级汉字按偏旁部首),日期按先后(先者为小)
运算符(五)
日期运算符
+ -
a={01-1-1}
b=date( )
b-a
57
a={00-1-1}
b=date()
b-a
36582
a={2000-1-1}
b=date()
b-a
423
{01-2-27}+100
01-06-07
date()-100
00-11-19
常用函数 (日期函数) P177
date( ) 用于获得系统日期
a=date( )-{2001-01-01}
a,date( )
64 01-03-06
dtoc(d) 用于将日期型数据 d转化为字符型数据
? dtoc({99-01-01}+10)+?10?
99-01-1110
ctod(c) 用于将字符型数据 c转化为日期型数据
today=?2001-03-06?
? ctod(today)+10
01-03-16
常用函数 (字符函数) P178-179
str( n,n1,n2) 用于将指定的数值 n转换成字符串
( n→c )
x=234.456
? str(x,5,2 )+str(x,5)
234.5 234
substr(c,n1,n2) 用于从字符串 c的第 n1位处中截取 n2个字符构成新字符串
?‘我爱’ +subs(?中国福建省’,5,4)
我爱福建
left(c,n) 和 right(c,n) 截取字符串 c的左(右) n个字符构成新字符串
left(“abcdefg”,3)+right(“ABCDEFG”,3)
abcEFG
按条件查看数据库文件中的记录 P181
通过命令 locate (范围 ) for (条件 )进行
use stu
locate all for 工资 >=500,and.性别 =‘男’
disp
continue
disp
范围,all next record rest
条件,for while
通过菜单进行 P181
4.5 数据库文件的排序及索引
排序(物理排序) P184
将数据库中的记录按某个或某些关键字段的值的大小重新排列后生成一个新的库文件(排序文件)
法一:菜单法 P184
法二:命令法
sort on 关键字 1[/… ],关键字 2 [/… ],… to 排序文件名
/d-降序 (由大到小 ) /a-升序 (由小到大 ) /c-不区分大小写注意:
排序文件扩展名,dbf
排序文件中记录存储位置按排序 要求改变。
排序虽然可以将库中的数据记录按关键字有序地排列在一起,但存在着数据冗余、排序文件中的数据不能随原库数据动态变化等缺陷。
4.5 数据库文件的排序及索引
索引(逻辑排序) P185
将数据库中的记录按某个或某些关键字段的值的大小生成索引文件,并按索引文件排列。
两种索引形式:
简单索引:
索引文件扩展名,IDX
一个索引文件只含一个索引复合索引:
索引文件扩展名:
一个索引文件包含多个索引(每个索引取一个标记
( tag)
注意:
索引文件未打开或关闭,记录顺序恢复原样。
关于索引
建立索引文件的方法命令法:
简单索引 index on … to 索引文件名复合索引 index on … tag 标记名
生成的索引文件与库文件同名
使用索引,set order to tag
标记名菜单法,P186
多重索引要化 C型
inde on str(工资,6,2)+dtoc(出生日期 )+性别 to a1
其他常用操作(一)
利用索引查找数据 P187
数据替换例:在 stu.dbf数据库中增加一个总收入字段,然后计算总收入 (=工资 +奖金)的值方法一:命令法
replace all 总收入 with 工资 +奖金方法二:菜单法
库复制将当前数据库复制成另一数据库全部复制选择部分字段或记录复制例一:将 stu.dbf 复制到另一数据库 newstu.dbf中。
例二:将 stu.dbf数据库中姓名、部门和工资字段复制到一个新数据库 gz.dbf中。
例三:将 stu.dbf数据库中工资小于 500元的记录复制到新数据库 jx.dbf中其他常用操作(二)
统计数据库字段总长度
统计记录数 P203
求平均值 P204
求总和 P204
本章作业
第一次
P213 习题一,1,2,3,4 二,1至 8
三,1,2,3
第二次
P213 习题二,9至 15 三,4,5