数据库系统教程上课重点内容12.docx
《数据库系统教程上课重点内容12.docx》由会员分享,可在线阅读,更多相关《数据库系统教程上课重点内容12.docx(19页珍藏版)》请在冰豆网上搜索。
数据库系统教程上课重点内容12
第一讲数据库系统基本概念
第一章概论
一、基本概念
1.数据库:
2.数据库管理系统:
一组软件,帮助用户建立数据、使用数据库、管理数据库
ACCESS、VFP小型
ORACLE、INFORMIX、SYSBASESQL大型
3.数据库系统:
以计算机为基础、以数据库方式管理大量综合数据应用系统,MIS、POS。
二、数据模型
1.概念模型:
以用户观点描述客观事物
2.主要名词:
实体:
实体名(学生、成绩)
属性:
属性名(学号、性别;学号、课程、成绩)
实体名(属性名列表)
联系:
关键字:
值是唯一
值域:
3、描述概念模型的工具:
E-R图
假设一个小型的进销存关系系统需要管理某个单位的的进销数据,如何画E-R图?
4.基本的数据模型:
按计算机系统的观点描述客观事物,方便计算机表示
表示数据的基本结构(表示属性间的联系、实体间的联系)(层次数据模型、网状数据模型和关系数据模型)
数据操作:
数据的约束条件:
保证数据系统符合实际
5.DBMS:
层次型的DBMS
网状型的DBMS
关系型DBMS
第二章:
关系数据库
1.定义:
以表格作为基本的数据存储结构、通过相同的关键字实现表(实体)间的联系。
2.表(实体、关系):
是关系型DBMS管理数据的基本单位
表名(实体名)、实体的每个属性作为表中的一列(字段)、具体的实体作为表中的一行(记录)
如何将E-R图转化为关系模型?
每个实体转换为一个表
每个联系也转换为一个表
3、主关键字:
能唯一表示表中记录
4、数据库:
管理多张表的联系、规则
5.关系的规范化:
P33
思考题:
1.什么是数据库?
数据库模型有哪几种?
2.什么是实体的完整性?
在VFP中如何保证实体的完整性?
3.在关系数据库系统中,表间的关系有哪几种?
如何区分?
4.什么是参照完整性?
5.什么是关系数据库?
请列出三种常用的关系型数据库管理系统。
6.在关系数据库系统中,实体间的关系有哪几种?
如何区分?
第二讲VFP数据库管理系统---基础操作
一、四大元素
1.数据类型:
N、C、D、L、D、M(备注型)、G(通用型)
2.存储数据的容器:
(1)常量
(2)变量
内存变量:
定义的方法:
=store
数组型的内存变量:
dimension数组名[n1、n2]
dimex[3]下标从1开始
字段变量:
伴随表文件而有效
(3)对象:
3、函数:
函数名([参数列表])
(1)数值型函数int(n),mod(n1,n2)
(2)字符型函数:
substring(c,n1,n2)subs(“abcdefg”,3,2)
rigt(c,n)
trim©trim(“aaaa“)“aaaa”
len(c)len(“aaaa“)7
len(trim(“aaaa“))4
(3)日期型函数:
DATE()YEAR()MONTH()WEEK()
(4)类型转换函数:
dtoc(d)ctod(c)str(n)val(c)
(5)逻辑型函数:
4.达式:
由常量、变量、函数和运算符组成的有意义的式子。
i.数值型表达式(+、-、*、/、**)
ii.字符型表达式:
(+、-)
iii.日期型表达式:
(+、-)
iv.逻辑表达式:
(关系运算符、逻辑运算符)
5.&
&字符型的内存变量,功能有两点
二、表操作
1.设计表
设计表名:
主名。
DBF
设计表结构:
字段数、字段名称、类型、宽度和小数位
2、建立表结构
create表名
显示/修改表结构
3.表记录
appe
brow
第三讲自由表操作
一、显示表记录:
LIST/DISPALL
二、几个名词:
1.记录号:
由DBMS按照记录输入的先后顺序唯一编号,反映记录的物理顺序
2.记录指针:
用于指向某条记录
3.当前记录:
指针所指向的记录称为当前记录,唯一
3.当前记录号:
当前记录的编号
4.指针定位的命令:
GON
三、几个常用的短语:
1.范围短语:
选择表中的部分记录
ALL:
表示所有记录
NEXTN:
表示从当前记录开始的连续的N条记录
RECORDN:
表示第N条记录
REST:
表示当前记录以后的所有记录
2.条件短语:
选择表中的部分记录
FOR逻辑表达式:
表示所有使得逻辑表达式值为真的记录
3.FIELDS短语:
选择部分字段
格式:
FIELDS字段名列表
命令名[范围短语][条件短语][FIELDS短语]
命令名[范围短语]/[条件短语]/[FIELDS短语]
四、表文件的头与尾:
与文件中第一条和最后一条记录的位置上的差异
五、表函数:
1.Recno():
N型值等于当前记录的记录号
2.Reccount():
N型值等于当前表文件中的记录总数
3.Eof():
L型检测记录指针是否指向文件尾,若指向文件尾,函数值为真;否则为假
4.Bof():
L型检测记录指针是否指向文件头,若指向文件头,函数值为真;否则为假
5.Fcount():
N型值等于当前表文件中的字段数
6.Field(N):
C型值等于第n个字段的字段名
六、记录指针定位:
1.Gon/top/bottom绝对定位命令
2.Skip+/-n:
下移或上移N条记录相对定位命令
记录指针如何指向文件头?
如何执行文件尾?
指向头和尾各有什么特点?
3.按序定位命令:
(条件定位)
LOCATEFOR逻辑表达式指针定位第一个使逻辑表达式为真的记录
Contine指针定位于下一个使逻辑表达式为真的记录
如何判断条件定位是否成功?
例题:
请分析下列各条指令的功能:
Usexscj
?
bof()
?
eof()
?
recno()
skip3
x=field
(2)
?
x
?
&x
indexon成绩tagcjdesc
gotop
?
recno()
skip3
?
recno()
gobottom
?
recno()
skip
?
recno()
?
eof()
Usexscj
?
课程名
?
len(alltrim(课程名))
skip8
?
subs(课程名,3,4)
x=field
(2)
?
x
?
&x
indexon成绩tagcj
gotop
?
recno()
skip3
?
recno()
gobottom
?
recno()
skip
?
recno()
?
eof()
第四讲过滤、删除、工作区
一、记录的过滤(永久选择)
1.选择命令:
setfilterto逻辑表达式
2.取消选择:
setfiltto
二、字段筛选
1.选择命令
setfieldsto字段名列表
2.取消选择
setfieldstoall
三、记录的删除与恢复
1.逻辑删除------将指定的记录打上“*”标记
Delete[范围][for逻辑表达式]
2.恢复
Recall[范围][for逻辑表达式]
3.物理删除--------将所有作过逻辑删除标记的记录从表中移走
PACK
例:
物理删除表中的所有记录:
deleall
pack
空表----------eof()和bof()函数同时为真
4.直接进行物理删除表中的所有记录的命令:
zap
四、工作区
1.定义:
打开的表文件占用的内存的空间(32767个)
2.工作区号:
1~32767A~J别名(将表文件名作为工作区的别名)
3.工作区选择命令:
select区号/A~J------选择指定的工作区
select0----------------选择目前未使用的最小工作区号
select()---------------值等于当前工作区号
4.注意:
在同一时刻,一个表文件只能在一个工作区打开
在同一时刻,一个工作区只能打开一个表文件,打开新表会自动关闭旧表
第五讲记录的修改与索引
一、快速修改记录
格式:
repl[范围]字段名1WITH表达式1,字段名2WITH表达式2,….[for逻辑表达式]
功能:
修改当前记录(或指定范围满足条件的记录)指定字段的值
与“APPEBLANK”联合使用可以向表尾增加一条新记录
二、索引
1.定义------改变记录的输出顺序
2.逻辑顺序与物理顺序:
物理顺序是唯一
逻辑顺序可以建立多个,不同的逻辑顺序用索引标识
名进行区分(sy1,sy2)
3.每种索引需要记录哪些参数?
索引名、选定某个字段(关键字段)、[类型]、[升/降]
4.索引的类型:
普通索引--------将所有记录按照新的顺序输出
候选索引--------确保被选定的候选关键字段的值是唯一
唯一索引--------关键字值相同的若干条记录仅显示第一条
5.索引创建的方法:
方法一:
通过表设计器
方法二:
利用INDEXON命令创建索引
INDEXON选定的关键字段名/关键字表达式TAG索引标识名[asce/desc][candidate/unique][for….][范围]
6.主索引:
控制记录的逻辑顺序、
选定主索引的命令:
setorderto索引标识名/序号(1~7)/0(选择物理顺序)
setordetosy1/1
7.Gotop/bottom含义skip含义
三、自由表与数据库
1.自由表--------独立存在的表文件、在命令窗口中直接用“CREATE表名”建立的文件都为自由表
2.数据库-------在数据库设计器建立的表文件都属于数据库表
3.两种表的区别:
(三点)
第六讲数据库、数据库表的操作和SQL初步
一、数据库的操作
1.建立数据库:
createdatabase数据库名
2.修改数据库:
modidata
3.打开数据库:
opendata数据库名
二.如何建立数据库表
1.打开某个数据库之后,建立的表文件都是作为数据库
2.在数据库设计器中添加表
3.移去:
三、如何建立表间的联系:
1.建立一对一:
1)主表中的主关键字建立主索引
2)从表中的外关键字建立后选索引
3)利用鼠标右键将主关键字拖到外关键字
2.建立一对多:
1)主表中的主关键字建立主索引
2)从表中的外关键字建立普通索引索引
3)利用鼠标右键将主关键字拖到外关键字
3.编辑参照完整性:
1)插入规则:
-----限制子表的中记录的追加
2)删除规则:
----限制主表中记录的删除(限制、级连)
3)更新规则:
----限制主表中记录的修改(限制、级连)
目的:
保证表间的数据与实际相符。
四、SQL(structurequerylanguage)关系数据库查询语言的概述
1.四大功能:
数据建立、数据查询、数据操作和数据控制功能。
2.SQL语句的特点:
每种语句独立完成一中特定操作,可以对立使用
3.如何完成查询的功能?