项目数据库.docx
《项目数据库.docx》由会员分享,可在线阅读,更多相关《项目数据库.docx(17页珍藏版)》请在冰豆网上搜索。
![项目数据库.docx](https://file1.bdocx.com/fileroot1/2023-1/30/2dfe6b43-9a57-4d6a-ac12-77f56faa11b9/2dfe6b43-9a57-4d6a-ac12-77f56faa11b91.gif)
项目数据库
专题二项目、数据库及其基本操作
本章重点:
一、项目的基本概念及其基本操作
二、数据库的基本概念及其基本操作
三、数据库表的基本概念及其基本操作
四、索引的基本概念、意义及其基本操作
五、关联的意义及关联的建立及其作用
六、数据库表与自由表的关系及其相互转换
一、项目
1、项目的基本概念
项目是文件、数据、文档和对象的集合。
2、项目的建立方法
方法一:
通过菜单实现项目的建立,其具体操作方法如下:
单击“文件菜单”,选择“新建”命令,弹出“新建”对话框,在“新建”对话框中点选“项目”单选按钮,再单击“新建文件”选项,弹出对话框,在对话框中,选择“文件夹”并输入“项目名称”,即完成项目的创建。
方法二:
通过命令实现项目的创建:
命令格式:
creatproject<项目名称>
例:
crteatprojectd:
\图书管理
3、打开项目管理器
方法一:
通过菜单或工具打开项目管理器,具体操作方法:
单击“打开”工具按钮或单击“文件菜单”并选择“打开”命令,弹出“打开”对话框,在该对话框中,首先选择“打开”类型为“项目”,再在文件列表项中双击所选中的项目文件。
方法二:
通过命令完成,命令格式为:
modifyproject<项目名称>
例:
modifyprojectd:
\图书管理
4、项目管理器的折叠与展开
当项目管理器处于“打开”状态时,点选“↑”按钮,则项目管理器折叠;当项目管理器处于“折叠”状态时,点选“↓”按钮,则展开项目管理器。
5、停放项目管理器和从工具栏还原项目管理器
停放项目管理器的操作方法:
选中项目管理器按住鼠标左键,拖动项目管理器到工具栏处,释放鼠标左键,则将项目管理器停放在工具栏上。
还原项目管理器的操作方法:
将鼠标移动到项目管理器停放处的最左端,按住鼠标左键,呈现虚框,拖动鼠标移出项目管理器,在输出窗口的任意位置释放鼠标,则将项目管理器还原为对话框形式。
6、项目管理器的拆分、合并
拆分的操作方法:
当项目管理器处于折叠状态或停放在工具栏上,将鼠标移动到项目管理器的相应的工具选项上,按住鼠标左键,拖放到任意位置,其他照此办理,就完成项目管理器的拆分。
合并的操作方法:
将鼠标移动到相关拆分项上,按住鼠标左键,拖放到项目管理器状态条对应的位置,其他照此办理,则完成项目管理器的合并。
二、数据库
1、数据库的基本概念
对数据表实施统一组织和管理集合。
2、数据库的创建
方法一:
点击“文件”菜单,选择“新建”命令,弹出“新建”对话框,在该对话框中选择“数据”选项,再单击“新建文件”弹出“新建文件对话框”,输入数据库名称,即完成。
方法二:
利用命令创建数据库
creatdatabase<数据库名>
例:
creatdatabased:
\学生成绩库
3、数据库的打开
方法一:
单击“打开”工具按钮或单击“文件菜单”并选择“打开”命令,弹出“打开”对话框,在该对话框中,首先选择“打开”类型为“数据库”,再在文件列表项中双击所选中的数据库文件。
方法二:
利用命令打开数据库:
opendatabase<数据库名>
例:
opendatabased:
\学生成绩库
4、修改数据库
方法一:
从项目管理器中打开数据库设计器,首先展开数据库分支,接着选择要修改的数据库,最后单击“修改”按钮打开相应的数据库及数据库设计器。
方法二:
从“打开”对话框中打开数据库
方法三:
利用命令打开:
modifydatabase<数据库名>
例:
modifydatabased:
\学生成绩库
5、删除数据库
方法一:
从项目管理器中删除数据库
方法二:
利用删除命令删除数据库:
deletedatabase<数据库名>
例:
deletedatabased:
\学生成绩库
三、数据库表
1、数据库表的建立
方法一:
在项目管理器中(项目管理器已创建),点选“数据库”(数据库已在项目管理器中创建),再点选“表”,再点击项目管理器中右边的“新建”命令,弹出“新建表对话框”,再点选“新建表”,弹出“创建对话框”,在框中“输入表名”处,输入所要创建的表名称即可。
方法二:
在数据库设计器中创建数据表,其创建方法如下:
在数据库设计器中(先建数据库或打开数据库),单击鼠标右键,在弹出菜单中,选择“新建表”命令选项,弹出“新建表对话框”,再点选“新建表”,弹出“创建对话框”,在框中“输入表名”处,输入所要创建的表名称即可。
方法三:
利用命令创建,其创建方法如下:
1)打开数据库设计器
modifydatabase<数据库名>
例:
modifydatabase图书库
2)创建数据表
creat<数据表名>
例:
creat图书表
三、数据表操作
1、数据结构的建立
当用以上方法创建数据表完成后,紧接着会弹出表设计器如下图所示:
在该设计器中首先输入表所需要的字段名,并设置相应字段的数据类型,在这里的数据库表是有相应的字段约束规则的,在这里我们主要讲字段的有效性规则:
字段有效性包含:
1)规则项:
字段输入的有效范围规则,如有“成绩字段”成绩要求在0~100分,其规则是:
成绩>=0.and.成绩<=100,若用户在输入不是该范围的数据,则系统会按下面的“信息栏”中输入的信息进行提示;
2)信息项:
按字符串的方式输入出错提示信息,如上述规则,可在信息栏输入“分数应在0~100分之间”必须输定界符。
3)默认值项:
当没有输入数据时,默认的数据,如在该栏中输入数据“0”值,不需要输入定界符。
2、数据结构的修改及显示
1)在还没有点击确定按钮的情况下,若发现有需要修改的,可通过拖动右边的滑块,并点击左端的字段名左端的字段块
修改相应字段,并可以实现字段的插入和删除操作,完成后,点击”确定”按钮即可.
2)若在表结构建立后,又希望修改相关数据表的结构,其操作方法有二种:
方法一:
在数据库设计器中,在要修改表的位置,单击鼠标右键,在弹出的菜单中点击”修改”命令选项,即弹出表设计器,按以上方法进行字段的修改.
方法二:
利用命令打开表设计器进行修改,其命令如下:
modifystructure
3)数据表结构的显示
liststructure
displaystructure
3、数据表的打开
方法一:
在“文件”菜单中,选择“打开”命令选项,或在工具栏中选择“打开”按钮,再在弹出“打开”对话框中文件类型中选择“数据表”,再在框中选择相应的数据表,再点击“确定”按钮即可。
方法二:
用命令方式打开:
use<数据表名>
例use<学生信息表>
4、数据表数据的录入
方法一:
在表结构建立完成后,直接输入数据,并按CTRL+W,保存录入数据。
方法二:
用browse命令向数据表中输入数据
第一步:
输入命令browse出现如下窗口
第二步:
在“显示”菜单中,点击“追加方式”,即可在表中输入数据。
第三步:
数据录入完毕后,按CTRL+W,保存。
6、数据浏览
1)将表中所有记录显示输出
方法一:
利用browse命令进行数据浏览
方法二:
利用命令list命令实现浏览
方法三:
利用命令dispall命令实现浏览
2)将表中满足给定条件的记录显示输出
如现有销售员信息如下表所示
员工号
姓名
店号
工资
XS001
王温馨
LS001
2000
XS002
秦红
LS003
2300
XS003
龙波
LS002
2100
XS004
杨兵
LS001
1900
XS005
张大川
LS003
2200
列出店号为lS001的记录
listfor店号=”LS001”
或
displayallfor店号=”LS001”
3)列出表中给定字段的信息
例:
列出员工号,姓名,店号,工资字段信息
listfields员工号,姓名,店号,工资
4)显示指定记录的信息
(1)记录的定位命令
A.go<记录号>或goto<记录号>
功能:
将指针指向指定的记录
例:
use销售员
go3
disply
B.gotop
功能:
将指针指向数据表的第一条记录
C.gobottom
功能:
将指针指向数据表的最后一条记录
D.记录相对定位命令
skip
功能:
当n值为正整数时,指针从当前记录处移n条记录,若n为负整数时,指针从当前记录上移n条记录.
(2)显示指定记录的信息
方法:
首先用上述记录定位命令,移动到指定记录,再用display命令即可.
7、数据编辑/修改命令
方法:
打开数据表,再用如下命令实现数据表的编辑,当编辑完成后,按CTRL+W保存,则完成数据表的编辑/修改。
命令一:
edit命令
命令二:
change
命令三:
browse
上述三个命令,若不在“显示”菜单中点选“追加方式”,均只能实现记录的修改,若要添加新的记录,需在“显示”菜单中点选“追加方式”。
命令四:
append
8、数据记录的追加
A)insertblank
功能:
在当前记录之后,插入一条空白记录
B)insertblankbefore
功能:
在当前记录之前,插入一条空白记录
C)appendblank
功能:
在数据表的末尾,追加一条空白记录
9、数据记录的替换
1)替换指定字段
命令格式:
replace<字段名1>with<表达式1>[,<字段名2>with<表达式2>,……]
例1:
现有如下数据表,其表名为“职工表”,将所有职工工资增加50元
员工号
姓名
店号
工资
XS001
王温馨
LS001
2000
XS002
秦红
LS003
2300
XS003
龙波
LS002
2100
XS004
杨兵
LS001
1900
XS005
张大川
LS003
2200
其命令实现如下:
use职工表
replace工资with工资+50all
例2在表的末尾追加一条空白记录,其信息替换为如下信息:
员工号
姓名
店号
工资
XS006
杨永建
LS001
2400
命令实现如下:
use职工表
appendblank
replace员工号with“XS006”,姓名with“杨永建”,店号with“LS001”,工资with工资+50
2)替换满足条件的记录的相关字段
例:
将所有店号为“LS001”的职工的工资增加100元
命令格式如下:
replace工资with工资+100for店号=“LS001”all
10、记录定位
1)go(goto)top
功能:
将记录指针指向第一条记录
2)go(goto)其中n为正整数
功能:
将记录指针指向数据表中第n条记录,当n大于最后一条记录值时,指针指针最后一条记录。
3)go(goto)bottom
功能:
将记录指针指向最后一条记录的前面
4)记录指针相对移动
指令格式:
skip<
>注:
n为正整数
功能:
当为+n时,记录指针从当前位置,向下移动n条记录,当为-n时,记录指针从当前记录向前移动n条记录。
11、记录的逻辑删除
记录的逻辑删除是只在相关记录上做删除标记。
1)删除指定的记录
操作方法:
(1)、首先将指针移到指定记录上,其操作命令如下:
gon
(2)再用删除命令,其操作命令如下:
delete
2)删除满足条件的记录
例:
在上表的职工表中,删除店号为“LS001”的所有职工信息
use职工表
deletefor店号=“LS001”all
12、逻辑删除记录的恢复
1)恢复所有已做删除记号的记录
命令格式如下:
recallall
2)恢复满足条件的已做逻辑删除的记录
recallfor<条件表达式>all
13、记录的删除
1)删除已做逻辑删除标记的记录
pack
2)将数据表中所有记录清空
zap
四、索引的操作
1、索引的基本概念
所谓索引就是在相关数据表的基础上建立的有序序号链。
建立索引的目的是加快数据的查询速度。
2、索引的分类
A索引按功能分为以下四类:
1)主索引:
在指定字段或表达式中不允许出现重复值的索引,一个表只能有一个主索引。
2)候选索引:
具有和主索引具有相同的特性,但在一个数据表中可以创建多个候选索引。
3)唯一索引:
针对指定的字段建立的索引,允许字段出现重复,但重复的字段只出现一个。
4)普通索引:
针对指定字段建立的索引,允许字段出现重复,且重复的字段均会出现。
B按索引文件的类型分类:
1)复合索引:
由多条索引链构成的索引文件,其文件扩展名为.cdx
复合索引分为:
a)结构化复合索引:
特征:
①索引文件基本名与表的基本名相同;②在打开表时就同时打开索引文件。
b)非结构化复合索引文件
特征:
①索引文件基本名与表的基本名不相同;②需要专有命令或菜单方式索引文件
2)单索引:
其文件扩展名为.idx
特征:
单独的一条索引链就构成一个索引文件
3、建立索引的方法
方法一:
该方法创建的是结构化复合索引文件。
在建立表时,就建立所需要的相关索引。
在表结构中点击索引按钮,选择升序或降序,再在“索引”菜单中设置索引的类型。
即完成索引的设计。
方法二:
用命令方式创建索引
1)创建单索引的方法:
indexon<关键字>to<索引文件名>
例:
在上述“学生名单”表中,以姓名为索引关键字,建立单索引,其命令如下:
indexon姓名to名单
注意:
创建单索引只能按升序建立。
2)创建结构化复合索引
indexon<关键字>tag<复合索引标记>[ascending/descending]
例:
在上述“学生名单”表中,以姓名为索引关键字,分别以降序和升序建立结构化复合索引
indexon姓名tag姓名1ascending
indexon姓名tag姓名2descending
3)创建非结构化索引
indexon<关键字>tag<复合索引标记>of<索引文件名>[ascending/descending]
例:
在上述“学生名单”表中,以姓名为索引关键字,分别以降序和升序建立非结构化复合索引
indexon姓名tag姓名1of名单ascending
indexon姓名tag姓名2of名单descending
4、索引文件的打开
打开索引文件之前,必须先打开表文件
方法一:
用菜单打开
方法二:
用命令方式打开:
setindexto<索引文件名>
例:
打开“名单”复合索引文件
setindexto名单
5、复合索引文件中序号链的选择
采用以下命令选择:
setorderto<复合索引标记/或序号>
例:
选择“姓名1”序号链
setorderto姓名1
或setorderto1
6、索引的关闭
setindexto
7、重新索引
当在关闭索引链的情况下,修改了记录数据,数据的序号将被破坏,用以下命令恢复新数据的有序性:
reindex
8、使用序号链快速定位
seek<搜索表达式>[order<索引序号>/tag<索引标记>]
例:
搜索“学生名单”表中姓名为“陈艳”的学生,其命令如下:
seek“陈艳”order1
seek“陈艳”tag姓名1
9、删除索引
1)删除复合索引中某条索引链
deletetag<索引标记>
2)删除复合索引中所有索引链
deletetagall
3.5数据完整性
1、数据完整性的概念
保证数据正确的特性
2、数据完整性的分类
1)实体完整性与主关键字:
保证表中记录的唯一性
2)域完整性与约束规则:
数据的定义
3)参照完整性与表之间的关联
3、关联
1)关联的概念
所谓关联是基于具体的数据库中,多个表之间存在的联系。
2)关联的意义
当插入、删除或修改一个表中的数据时,通过参照引用相互关联的另一个表中的数据来检查对表的数据操作是否正确。
3)关联的建立方法
第一步:
建立数据库
例:
建构“订货管理数据库”如下图所示
第二步:
建立基于数据库管理的各数据表及各表的普通索引
例:
在“订货管理”数据库中创建“仓库表”、“职工表”、“供应商表”、“订购表”如下图所示:
第三步:
建立关联
在上述表中“仓库表”和“职工表”存在一对多的关系,即一个仓库有多个职工存在;两表之间通过“仓库号”发生关联;在“职工表”和“订购单表”存在一个一对多关系,即一个职工完成多个订购单任务,它们通过“职工号”发生关联;在“订购单表”和“供应商表”之间存在一个一对多的关系,即一个订购任务可以由多个供应商提供,两表之间通过供应商号发生关联。
建立关联的方法:
以“仓库表”与“职工表”之间的关联的建立为例说明:
A)用鼠标左键单击选中“仓库表”中的主索引“仓库号”,按住鼠标左键,并拖动鼠标到“职工表”的仓库号索引上,释放鼠标则关联就建立好成功。
B)其它关联的建立,依此类推,建立完成后,则如下图所示:
C)联系的编辑
点击选中两表之间的关联线,并在关联线上双击鼠标左键,则出现如下“编辑关系”对话框:
D)参照完整性的建立方法
第一步:
首先在数据库菜单中选择“清理数据库”命令,清理数据库。
第二步:
点选上述“编辑关系”对话框中在“参照完整性”命令按钮,则出现“数据完整性生成器”对话框:
4)参照完整性
A)参照完整性包含
更新规则、删除规则和插入规则
B)更新规则
它规定了当更新父表中的连接字段(主关键字)时,如何处理相关子表中的记录:
若选择“级联”:
则用新的连接字段值修改子表中的所有相关记录。
例:
若将“仓库表”中仓库号中的“wh1”修改为“wh5”则子表“职工表”中的仓库号原为“wh1”的则会自动修改为“wh5”
若选择“限制”:
则若子表中有相关记录,则禁止修改父表中的连接字段
例:
若选择“限制”规则,修改父表中仓库号为“wh1”的仓库号为“wh5”修改完成后,存盘时,则会弹出“触发器失败”的消息对话框如下图所示:
单击“确定”按钮后,仓库号自动还原为“wh1”.
若选择“忽略”规则:
则可以随意更新父表记录的连接字段。
B)删除规则:
删除规则指的是当删除父表中的记录时,如何处理子表中的相关记录
若选择“级联”规则:
则自动删除子表中与之相关联的记录。
例:
若删除“仓库表”中仓库号为“wh1”的记录,则自动删除子表“职工表”中所有仓库号为“wh1”的所有职工信息记录。
若选择“限制”规则:
若子表中有相关记录存在,则禁止删除父表中的记录。
例:
若“职工表”中还有仓库号为“wh1”的职工信息,则禁止删除父表“仓库表”中仓库号为“wh1”的记录。
若选择“忽略”规则:
则删除父表中的记录时与子表无关。
C)插入规则
该规则规定了当在子表中插入记录时,是否进行参照完整性检查,它有“限制”和“忽略”两项规则。
若选择“限制”:
若父表中没有相匹配的记录时则禁止插入记录。
例:
如在父表“仓库表”中没有仓库号为“wh6”的记录信息,若要在子表“职工表”中插入仓库号为“wh6”的职工信息记录,则会被禁止。
若选择“忽略”:
则在子表中可以随意插入记录。