临时关系:
是在打开的数据表之间用 set relation命令建立的临时关系,或是在数据工作期窗口建立。建立了临时关系后,子表的指针会随主表记录指针的移动。表被关闭后,关系自动解除。
临时关系与永久关系的联系与区别: 联系:
(1)都必须明确建立关系的两张表之间确实在客观上存在着一种关系(一对多或一对一关系)。
(2)永久关系在许多场合可以作为默认的临时关系。 区别:
(1)临时关系是用来在打开的两张表之间控制相关表之间记录的访问;而永久关系主要是用来存储相关表之间的参照完整性,附带地可以作为默认的临时关系或查询中默认的联接条件。
(2)临时关系在表打开之后使用set relation命令建立,随表的关闭而解除;永久关系永久地保存在数据库中而不必在每次使用表时重新创建。
(3)临时关系可以在自由表之间、库表之间或自由表与库表之间建立,而永久关系只能在库表之间建立。
(4)临时关系中一张表不能有两张主表(除非这两张主表是通过子表的同一个主控索引建立的临时关系),永久关系则不然。
4. 用命令方式操作数据库
常用命令一览表
命令格式
create database 库文件名 open database 库文件名 close database close all modify database
delete database 库文件名 open database 库文件名
功能
创建新的数据库文件 打开指定的库文件
关闭当前的数据库和数据表
关闭所有的数据库和数据表,并把工作区1置为当前工作区,同时还关闭一些窗口 修改当前库文件结构 删除指定的库文件 在数据库中添加表
37
add table 表名 open database 库文件名
将表从数据库中移去
remove table 表名 open database 库文件名
将表从数据库中移去并从盘上删除
remove table 表文件名 delete use 库文件名 !表名
“!”表示引用一个不在当前数据库中的表
browse
Set relation to 关系表达式 into 区号 | 别名 Set relation to
建立表之间的临时关系
删除表之间的临时关系
alter table 子表名 add foreign key 索引关键字 tag
创建永久关系
索引标识 references 父表名 [tag 索引标识 ]
alter table 子表名 drop foreign key tag 索引标识 删除永久关系 5. 用CREATE TABLE-SQL 命令创建数据库表(考试必考) 命令一般格式:
Create table 表名1 [free] ( 字段名1 字段类型代号 [ (字段宽度[,小数位数 ] ) ][null | not null] [check 字段规则1 [error “信息1” ] ] [default 默认值][primary key | unique] [references 表名2 [tag 索引标识1 ] ][ , 字段名2 字段类型代号 [ (字段宽度 [, 小数位数]) ] [null | not
null] ][check 字段规则2 [error “信息2” ] ] [default 默认值 ] ) | from array 数组名 使用示例:
creat data xscjgl && 创建学生成绩管理数据库 create table xs (;
xh c(4) default \ xm c(6), ;
xb c(2) check xb=\男\女\性别只能是男或女\女\ nl n(2) null; ) && 创建学生表 create table kc (;
38
kch c(3) unique, ; kcm c(10),; xf n(3,1),; bxk l; ) && 创建课程表 create table cj(;
xh c(4) default \ kch c(8),; ksrq d,; cj n(5,1); ) && 创建成绩表 modi data
alter table cj add primary key xh+kch+str(cj,4,1) tag dh && 为成绩表添加一个主索引
6. 查看和设置数据库的属性
(1) 用dbgetprop()函数查看数据库属性: 命令格式: dbgetprop(cName,cType,cProperty) (2) 用 dbsetprop()函数设置数据库属性:
命令格式: dbsetprop(cName,cType,cProperty,ePropertyValue) (3) 用dbsetprop() 函数给表中字段添加标题和说明
一般格式: dbsetprop('表名.字段名',’field’,’caption|comment’,’标题|说明’)
例:dbsetprop(’xs.xh’,’field’,’caption’,’学号’)
39
dbsetprop('cj.xh','field','comment','本表学号应与学生表中的学号对应')
7. 数据库表的约束机制
激活时机
当从浏览中离开字段,或执行INSERT或REPLEASE更
NULL值 字段
改字段值时
当从浏览中离开字段,或执行INSERT或REPLEASE更
字段级规则 字段
改字段值时
主索引/候选索引 记录 发生记录更新时 记录级规则 触发器 VALID子句
记录 发生记录更新时
表 在INSERT、UPDATE或DELETE事件中,表中值改变时 表单 移出记录时
约束机制
级别
第五章 创建查询和视图(相比较而言查询更容易考到)
5.1 创建查询(会查询命令和实际操作)
1. 查询的概念
查询:就是向一个数据库发出检索信息的请求,从中提取符合特定条件的记录。 查询文件:
即保存实现查询的SELECT-SQL命令的文件。查询文件保存时,系统自动给出扩展名 .qpr;查询被运行后,系统还会生成一个编译后的查询文件,扩展名为 .qpx。 查询结果:
通过运行查询文件得到的一个基于表和视图的动态的数据集合。查询结果可以用不同的形式来保存。查询中的数据是只读的。
查询的数据源:可以是一张或多张相关的自由表、数据库表、视图。 2. 用查询设计器创建查询[图例] 基本步骤:
打开查询设计器 → 添加创建查询所基于的数据表 → 定义输出内容 → 设置联接、筛选、排序、分组条件 → 选择查询结果的输出形式 → 保存查询文件 →运行查询。
40