数据库管理系统复习资料Word文档格式.docx
《数据库管理系统复习资料Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据库管理系统复习资料Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
长度:
内存中为8B;
字段变量中≤20位.
3>
.货币型(CurrencY)
专用表示货币的数值型数据,需加货币前缀符$;
长度:
8B.(取值范围见P.19)
4>
.日期型(Date)
由年,月,日组成的数据.长度:
8B;
取值范围:
{^0001-01-01}~{^9999-12-31}.
.日期时间型(DateTime)
由年,月,日加时,分,秒组成的数据.长度:
8B;
时间取值范围:
00:
00:
00am~11:
59:
59pm
6>
.逻辑型(Logical)
具有逻辑真值.T.和逻辑假值.F.;
1B.
7>
.整型(Integer)
仅用于数据表中存储无小数的整数值,长度:
4B.
8>
.浮点型(Float)
仅用于数据表中以浮点格式存储的数据.长度和取值范围:
与N型相同.
.双精度型(Double)
仅用于数据表中存储高精度浮点数的数据.固定长度:
8B.
6、常量、变量与函数
一、常量
在程序运行或操作过程中其数据值不变的量.
.字符型常量(C)
由字母,数字,标点符号,空格,中文字符和其他可打印符号组成,用定界符(‘’,“”,[])界定的字符串;
定界符必须成对匹配,位于字符串两端.
例:
“数据库”,‘DBMS’,[“山东财院计算机系”+‘sdfi’]都是字符型常量。
在第三个字符常量中,双引号“”和单引号‘’均属于字符串的内容,其定界符是方括号[]。
不包含任何字符的字符串“”称为空串,与仅包含空格的字符串“”是不同的。
字符型常量的长度最大为255个ASCII码字符。
.数值型常量(N)
由数字,正负号,小数点组成.日常计数法,科学计数法,如:
-2.34E12表示–2.34×
1012.
.货币型常量(Y)
用于货币,带前缀符号“$”的数值,小数位≤4位.
.日期型常量(D)
由年,月,日组成,用{}界定.有多种显示格式和分隔符.默认美国格式:
{mm/dd/yy}表示月/日/年.
严格日期格式:
{^yyyy-mm-dd}首字符^,年4位.
.日期时间型常量(T)
由日期和时间组成,一般格式:
{<
日期>
<
时间>
}严格格式:
{^yyyy-mm-dd,hh[:
mm[:
ss]][am|pm]}
hh,mm,ss表示时,分,秒;
am,pm表示上,下午.
例如:
在命令窗口键入下列命令:
?
{^2003/05/15,},{^2003-06-16,8},{^2003/10/20,8p},{^2003-12-30,15:
45}
主窗口的工作区显示:
05/15/0312:
00AM06/16/0308:
00AM10/20/0308:
00PM12/30/0303:
45:
00PM
.逻辑型常量(L)
仅有逻辑真值(.t..T..y..Y.)和逻辑假值(.f..F..n..N.);
定界符.号不可缺少.
二、变量
变量是存储数据的基本单位.变量中的数据(变量值)在程序运行或操作过程中可以改变.
VFP中变量分两大类:
字段变量,内存变量.
1>
.字段变量
依赖于数据表文件存在,永久性的多值变量.
定义数据表结构时设定;
每个字段名是一个字段变量;
支持14种数据类型.使用与操作等在第三章详细介绍.
.内存变量
分类:
简单变量;
数组变量;
系统变量.
特点:
独立存在,可任意定义、使用,单值变量.
数据类型:
取决于所存数据的类型,与常量相同,支持C,N,Y,D,T,L六种类型.变量命名:
由字母,数字,下划线,中文字符组成,长度≤128个字符.优先级:
字段变量高于内存变量;
若同名,则需加前缀符:
M.<
内存变量名>
|M->
<
⑴简单变量:
每个存储单元对应一个变量名,建立与赋值
同步;
赋新值代替旧值.
赋值命令:
①Store<
表达式>
To<
内存变量名表>
1<
=<
功能说明:
♦将表达式的值存储到指定名的变量中;
♦格式①可同时给多个简单变量(用“,”分隔)赋值;
♦格式②只给一个简单变量赋值.
7、常用内存变量操作
⑴显示内存变量
①ListMemory[Like<
通配符>
]
[ToPrint|ToFile<
文件名>
②DisplayMemory[Like<
显示内存变量名称,作用域,类型,值等信息.
Like设置显示符合条件的变量,通配符*|?
;
To设置将显示信息同时打印输出或保存到
指定文件;
格式①连续显示,格式②分屏显示.
⑵清除内存变量
①ClearMemory
②Release<
③ReleaseAll[Extended]
④ReleaseAll[Like<
通配符>
|Except<
]
清除内存变量,释放它们所占用的内存空间;
格式①清除所有内存变量,格式②清除指定内存变量;
在命令窗口中格式③与格式①功能相同,在程序中需要
可选项以清除公共内存变量;
格式④中,Like清除与通配符匹配的内存变量,
Except清除与通配符不匹配的内存变量;
数组变量清除以数组为单位,命令中不能出现数
组元素.
⑶保存内存变量
SaveTo<
文件名>
[AllLike<
|AllExcept<
将当前全部/部分内存变量保存到指定内存变量文件
(默认扩展名.mem)中;
无可选项,保存全部,有可选项,保存指定的.
⑷恢复内存变量
RestoreFrom<
[Additive]
将指定内存文件中保存的内存变量恢复到内存中;
无Additive可选项,先清除当前内存变量再恢复;
有Additive可选项,保留当前变量,文件中的变量追加到内存中;
若追加的变量与当前变量同名,当前变量被替换.
例1-4:
显示、保存、清除、恢复内存变量的操作
ListMemoLikex*&
&
显示首字符为x的内存变量信息
yx=$1234.56&
货币型常量赋予简单变量yx
yt={^2010/08/03/05/20,16:
26}&
日期时间常量赋予简单变量yt
DispMemoLikey*&
显示首字符为y的内存变量信息
SaveTod:
\vfp-user\yAllLikey*&
将首字符为y的内存变量保存到y.mem文件中
\vfp-user\xAllExcepty*&
将首字符非y的内存变量保存到x.mem文件中
Releasex,y&
清除数组变量x,y
DispMemoLikex*&
yx=$1234.56+4321.32&
货币型运算值赋予简单变量yx
yt={^2010/12/15,11:
36}&
新的日期时间常量赋予简单变量yt
RestoreFromd:
\vfp-user\xadditive&
恢复保存在x.mem中的内存变量且保留原有变量
DispMemoLikex*&
DispMemoLikey*&
\vfp-user\y&
恢复保存在y.mem中的内存变量且清除原有变量
8、运算符与表达式
运算符:
构建表达式,实现某种运算功能的符号.
分类:
算术,字符,日期时间,关系,逻辑五类运算符.
表达式:
用运算符,圆括号将常量,变量,函数等按一定规则连接起来构成的有意义的式子.
优先级:
数值→字符和日期时间→关系→逻辑;
优先级相同则按自左向右的顺序,可用圆括号改变顺序.
一、算术运算符和数值表达式
.算术运算符:
构建数值表达式,运算对象为数值型,货币型数据,结果为数值.运算符按优先级顺序排列为:
取负-;
乘方^或**;
乘*、除/、取余%;
加+、减-。
取负是单目运算符,对其右边的运算对象取负值;
其它均为双目运算符.
.数值表达式:
例1-5算术运算符和数值表达式运算结果及显示举例。
设已赋值x=15,y=4,z=-7。
⑴取负、乘方、乘、除、加、减运算。
使用括号改变运算优先级。
-2^3+5,-2^4+x,(3-1)**-2*6+y,(3-z)**-2*6,3*y/6**-2,(3*y/6)^-2
-3.0031.005.500.06432.00000.2500
⑵取余运算是两个整数相除,得其余数,再根据被除数和除数的符号确定结果值及其符号。
若被除数与除数符号相同,结果值等于余数;
若被除数与除数符号相异,则结果值为除数的绝对值减余数的绝对值的差值,符号与除数相同。
x%y,x%-y,-x%y,-x%-y,-17%z,-17%-z,17%z,17%-z
3-11-3-34-43
⑶货币型数据的运算。
$100.45*x+$2500.82,($100.45*x+$2500.82)/y,($100.45*x+$2500.82-$26.78*x)/y
4007.57001001.8925901.4675
二、日期时间运算符及其表达式
.日期时间运算符:
构建日期时间表达式.根据运算对象的不同,运算结果可能是日期时间或数值.均为双目运算符且优先级相同.运算符为:
+,-.
.日期时间表达式:
日期时间表达式中运算符和运算对象的使用有严格要求,不能随意组合,详见P.30表1-11和运算举例.
例1-7:
日期时间表达式举例。
设已赋值x={^2010-07-10},y={^2010-07-20,10:
30:
00}。
{^2010/07/12}+15,10+{^2010/07/20}-x,{^2010/09/28}-x,{^2010/08/15}-15
07/27/10208007/31/10
3600*5+y,y-{^2010/06/20,00:
00},y-36000,y-36000-{^2010/05/19,23:
30}
07/20/0303:
00PM262800007/20/1012:
00AM5274000
三、逻辑运算符及其表达式
.逻辑运算符:
构建逻辑表达式.运算对象和结果均为逻辑型数据.
逻辑非.Not.,!
;
逻辑与.And.;
逻辑或.Or.逻辑非:
单目运算符,其它:
双目运算符;
定界符“.”可省略.
.逻辑表达式:
逻辑运算规则(P.33表1-13)
9、常用函数
.绝对值和符号函数:
Abs(N)求N的绝对值|N|.Sign(N)根据N>
0,=0,<
0,返回1,0,-1.
例1-10x=10
Abs(x-20),Abs(5-x),sign(x),sign(x-10),sign(-x)
10510-1
.年,月,日:
Year(D|T);
Month(D|T);
Day(D|T)分别返回给定参数中的年;
月;
日.均为数值.
例:
X={^2010/07/25}
Dae()、Time()、Datetime()、Year()、Month()、Day()
07/18/1021:
26:
5107/18/1009:
51PM2010725
.年月日格式:
Dmy(D|T);
Mdy(D|T)分别返回英文日,月,年或月,日,年;
均为字符型
例X={^2010/07/25,02:
29:
47PM}
Hour()、Minute()、Sec()、Dmy(x)、Mdy(x)
14294725July10July25、10
10、数据、信息和数据处理
.数据(Data):
用于表达、描述、记录客观事物与现象的属性,能被接收、识别和存储的某种物理符号.如数字、文字、声音、图形、影像等.计算机能接收、识别、存储、处理二进制数据.
.信息(Information):
经过加工处理,能影响人类行为,具有特定形式的有用数据.
.数据处理:
对原始数据进行的诸如:
采集、接收、传送、转换、存储、整理、分类、排序、索引、查找、统计、计算、检索等一系列加工操作的过程.目的:
获得有用的数据─信息.
11、数据库技术的三个发展阶段:
⑴第一代数据库系统:
非关系型数据库系统:
层次,网状型数据库系统.
⑵第二代数据库系统:
关系型数据库系统.应用最广泛的数据库系统.
⑶第三代数据库系统:
结合网络通信,多媒体技术,面向对象的程序设计方法,人工智能,并行计算机系统等计算机新技术的数据库系统.
12、数据库和数据库管理系统
一、数据库(DataBase):
以一定的组织方式存储在计算机存储设备上,与应用程序彼此独立、能为多个用户共享、结构化的相关数据的集合。
它是数据库系统的核心和管理对象。
二、数据库管理系统(DBMS):
为数据库的建立、使用和维护配置的软件系统。
三、数据库系统(DBS):
引入数据库技术的计算机系统.
13、数据模型通常由数据结构、数据操作、数据的完整性约束条件三部分组成。
14、关系间的联系
.一对一的联系:
两个关系中作为主关键字的属性相同且属性值一一对应,则构成一对一的联系.
.一对多的联系:
在某个关系中作主关键字的属性在另一个关系中其相同属性的值不是唯一的,则两个关系构成一对多的联系.
.多对多的联系:
关系A的一条记录对应关系B的多条记录,关系B的一条记录对应关系A的多条记录,A和B两个关系之间构成多对多的联系.通常将多对多的联系分解成一对多的联系.
15、关系的完整性
.实体完整性:
是对关系中元组唯一性的约束.该约束规定构成主关键字的所有属性均不能为空值(Null),并且不能有完全相同的属性值.
.参照完整性:
是关系之间数据引用的约束.该约束规定某个关系外部关键字的值必须是与其已建立联系的另一个关系主关键字的值或空值.
.域完整性(用户自定义完整性):
是对关系中属性的约束.该约束确定属性的数据类型,取值的域,以及是否可以为Null等.
16、关键字(Key):
属性或属性的集合,能唯一、最小地标识一个元组.
候选关键字:
对于可以作为关键字的所有属性或者属性的集合,他们中的每一个都是候选关键字。
主关键字:
在候选关键字中指定的一现行关键字,称为主关键字。
外部关键字:
如果某个表中的某个属性或属性集合,在另一个表中是主关键字或者候选关键字则称该属性为本表的外部关键字。
主属性和非主属性:
主属性指的是可以做候选关键字的属性,不能做候选关键字的属性则成为非主属性。
17、专门的关系运算
⑴选择(Selection):
从一个关系中找出满足给定条件的元组(水平方向抽取记录)的操作.
⑵投影(Projection):
从一个关系中选取若干个属性(垂直方向抽取字段),构成一个新关系的操作.
⑶连接(Join):
根据条件将两个关系组合成一个新关系的操作.
①等值连接:
将指定属性值相等的元组组合起来构成新关系的连接运算.
②自然连接:
去掉重复属性的等值连接.
18、数据表是指扩展名为.dbf的文件,用于存放具有相同结构的数据记录。
它既可以独立于数据库之外(称为自由表),也可以包含在数据库中(称为数据库表),而数据库是指一个扩展名为.dbc的文件,是一个能够包含各种数据对象的“容器”。
这个“容器”包含了若干相关的数据表(.dbf),同时还可以包含这些数据表之间的永久关系以及视图、连接、存储过程等各种数据对象。
19、数据库文件扩展名默认为.dbc;
.dct和.dcx分别为数据库备注文件和数据库索引文件。
不要删除.dct文件,否则数据库将无法打开。
20、打开数据库
⑴使用菜单:
单击“文件”→“打开”→指定位置及库文件名.
⑵使用命令:
格式:
OpenDatabase[<
数据库文件名>
|?
][Exclusive|Shared][Noupdate]
Exclusive:
指定以独占方式打开数据库.,不允许其他用户同时访问该数据库。
Shared:
指定以共享方式打开数据库.允许其他用户访问数据库。
Noupdate:
以只读方式打开数据库.不允许在数据库中添加、新建或删除数据对象。
21、关闭当前数据库
⑴使用菜单
单击“文件”→“退出”命令,则退出VisualFoxPro系统的同时,自动关闭当前已打开的所有数据库。
单击“数据库设计器”的关闭按钮或主菜单“文件”下拉菜单中的“关闭”命令,仅关闭“数据库设计器”窗口,并不能关闭已打开的数据库文件。
⑵使用CloseDatabase命令格式:
CloseDatabase[All]
说明:
缺省All可选项,关闭当前数据库;
使用All可选项,则关闭所有打开的数据库。
22、自由表——独立于数据库之外的数据表;
数据库表——和数据库建立了链接关系的数据表。
23、字段定义区域
✓字段名:
数据库表字段名的最大长度是128个字符,以字母或汉字开头,不能含有空格
✓字段类型:
在下拉列表中选择,可以是C、N、D、L、M、F、G等。
默认为C型(字符型)。
✓宽度:
保存数据时使用的总字节数(包括小数点)。
✓小数位数:
指定数值型、浮动型或双精度型字段的小数位数。
✓索引:
若使用当前字段作为索引字段,可在列表中指定升序或降序排序方式。
✓NULL:
设置是否允许该字段为空值。
选中复选框表示允许。
空值Null的含义与空串、空的字段或数值0不同,表示暂时缺值或没有确定值。
24、修改数据库表结构
打开“表设计器”,对数据表结构进行修改。
①增加字段②删除字段③修改字段④调整字段顺序
⑵使用ModifyStructure命令若“数据库设计器”窗口没有打开,可用下面命令:
格式:
ModifyStructure
①必须以独占方式打开数据表,才能修改表结构。
②如果数据表中已经输入记录数据,修改其结构可能会造成数据的丢失,应谨慎。
25、索引
.索引的概念:
索引是按照一定的规则对数据表的记录进行逻辑排序,并将排序结果保存成索引文件。
索引文件依附于数据表而工作,单独存在或使用都没有意义。
物理顺序:
索引建立之前,数据表记录的操作顺序是按照记录在数据表中的存储顺序进行的,这种顺序在输入记录时由记录号表示出来。
逻辑顺序:
建立索引后,数据表记录按照索引表达式的顺序显示和访问,这种顺序称为逻辑顺序。
.索引的类型
⑴主索引(PrimaryIndex):
索引字段或表达式的值不允许出现重复的索引。
主索引只能在数据库表中建立,而且每一个数据库表中只能包含一个主索引。
⑵候选索引(CandidateIndex):
候选索引与主索引一样能够确保字段输入的唯一性,不同的是,一个数据表可以有多个候选索引。
⑶普通索引(RegularIndex):
允许索引字段或表达式的值重复的索引,一个数据表中可建立多个普通索引。
(4)唯一索引(UniqueIndex):
当字段或表达式的值出现重复时,在索引中只保留一个记录。
.索引文件的类型
⑴单索引文件:
仅包含一个索引的文件,其扩展名为.idx。
对于一个给定的数据表可以建立多个单索引文件。
每个单索引文件都是独立存储的。
需要使用相应的命令打开这些单索引文件。
⑵复合索引文件:
包含多个索引标识的索引文件,其扩展名为.cdx。
复合索引文件分为结构复合索引文件和非结构复合索引文件两种类型。
其中,结构复合索引文件与数据表具有相同的文件名,并随着数据表文件的打开而自动打开;
而非结构复合索引文件不会随着数据表的打开而自动打开。
/使用Index命令创建索引
⑴创建单索引文件
格式:
IndexOn<
索引表达式>
单索引文件名>
[Additi