230 likes | 428 Views
第四章 数据库的建立. 本章主要介绍数据库的建立。 重点掌握 : ( 1 ) 掌握数据库的建立、向数据库添加数据表、数据库中表的使用方法,建立数据库各表间关联关系,数据库的参照完整性设计。 ( 2 ) 表的设计方法. 内容目录. 4.1 创建数据库 4.1.1 数据库容器的概念 4.1.2 创建数据库 4.2 表设计 4.2.1 设计表结构 4.2.2 用表设计器建立表 4.2.3 设计字段 4.2.4 设计表的索引 4.2.5 设计表的约束 4.2.6 用命令方式创建和修改表 4.3 数据库参照完整性设计 4.3.1 建立表间的关系
E N D
本章主要介绍数据库的建立。 重点掌握: (1)掌握数据库的建立、向数据库添加数据表、数据库中表的使用方法,建立数据库各表间关联关系,数据库的参照完整性设计。 (2)表的设计方法
内容目录 4.1 创建数据库 4.1.1数据库容器的概念 4.1.2创建数据库 4.2 表设计 4.2.1设计表结构 4.2.2用表设计器建立表 4.2.3设计字段 4.2.4设计表的索引 4.2.5设计表的约束 4.2.6用命令方式创建和修改表 4.3 数据库参照完整性设计 4.3.1建立表间的关系 4.3.2删除和修改表间的关系 4.3.3设计参照完整性
4.1 创建数据库 VFP中数据库建立是通过使用数据库设计器来完成的。 数据库建立过程:创建数据库容器 添加表 为表建立索引 建立表间关系 设计参照完整性 4.1.1 数据库容器概念 VFP中的数据库实际上是用于存放表、索引、参照关系、存储、触发器、视图等对象的容器。 VFP数据库本身也是一个表,其内容正是记录了数据库中存放了哪些对象,及对象间的关系等。
4.1.2 创建数据库 (.DBC) 1、进入数据库设计器 菜单方式 或命令方式:CREATE DATABASE E:\VFP6\XSCJ 2、保存、修改、打开和关闭数据库 均可通过菜单方式操作完成。 命令方式: 1)修改数据库: MODIFY DATABASE <数据库名> 2)打开数据库: OPEN DATABASE <数据库名>[EXCLUSIVE|SHARED] 3)关闭数据库: CLOSE DATABASE [ALL] 3、添加数据表
4.2 设计表 4.2.1 设计表结构 表(.dbf)有自由表和数据库表之分。 1)确定表文件名 2)确定表的各字段属性(P45):字段名、类型、宽度、小数位数(小数点和正负号都算一位) 例:要建立学生基本情况表(student.dbf)、课程情况表(course.dbf)和学生成绩表(sc.dbf),根据需要设计各表结构如P46-P47.
4.2.2 用表设计器建立表 (按P49-54介绍 建立表:STUDENT.DBF、COURSE.DBF、SC.DBF) 通过以下两种方式进入表设计器,对各字段的属性的设置,完成表结构的建立。 1)命令方式: • 创建新表: CREATE [<文件名>|?] • 修改已有表结构: MODIFY STRUCTURE 2)菜单方式
4.2.3 设计字段 字段名:必须以字母或汉字开头,可以包括字母、汉字、数字 和下划线,不要超过10个字符。 字段类型:共13种。 字段宽度:不同类型的字段具有不同的宽度。 小数位:数值型数据需要规定小数位数。 使用NULL值:可以指定字段是否接受NULL值,它是一个不存在的值。 1、字段属性设置
2、显示设置 • 格式:控制显示字段值时的大小和样式 • A、D、E、!、^ • 输入掩码:指定字段的输入格式,限制输入数据的范围,控制输入的正确性。(P50) • 标题:字段在浏览、表单或报表第一栏中显示的标题。 3、字段注释 4、字段有效性 记录有效性验证:规则、信息文本框、默认值的设置 5、匹配字段到类 在表单、报表中将自动按指定字段的类样式放置该字段对象
(1)数据输入要点 • 创建数据表时输入数据方式; • 逻辑型字段值的录入; • 日期型字段录入,注意当前日期格式 SET DATE ANSI|AMERICAN &&设置日期格式 ANSI:YY.MM.DD AMERICAN:MM/DD/YY SET CENTURY ON &&显示世纪 • 备注型和通用型字段输入方法,Ctrl+PgDn或双击进入, Ctrl+W存盘退出, Ctrl+Q或Esc放弃退出。 6、表数据的输入
4.2.4 设计表的索引 1、索引的概念 1)索引是由指针构成的文件,这些指针逻辑上按照索引关键字的值进行排序。 2)索引文件和表文件分别进行存储,并不改变表中记录的物理位置。 索引是为了更快速地查询数据
2、索引文件类型 • 按扩展名分 单索引文件:扩展名为.IDX,只包含一个索引项。 复合索引文件:扩展名为.CDX,在一个复合索引文件中可以包含多个索引选项,每个索引选项叫做索引标识(Index Tag)。 复合索引文件又可分为结构复合索引文件(与表文件同名)和非结构复合索引文件(另取索引文件名)。
按功能可分为:主索引、候选索引、唯一索引、普通索引按功能可分为:主索引、候选索引、唯一索引、普通索引 主索引:主索引通常是表的关键字索引。因此,主索引只能在数据库表中,而不能使用于自由表中,且索引不允许有重复值。一个表只能建立一个主索引。 候选索引:候选索引就是候选关键字,索引值也不能重复。候选索引与主索引的唯一区别是:候选索引可以有多个索引。 唯一索引:唯一索引表示索引值只能取一个,如果出现两个或两个以上的索引值,只取其中一个。由此可见,唯一索引可能丢掉一些表记录。主索引是唯一索引,但唯一索引不一定是主索引。 普通索引:普通索引是允许重复索引值的索引。普通索引没有前面几种索引的约束条件。普通索引可以用在数据库表中,也可以使用于自用表中。 3、表设计器中创建索引
4.2.5 设计表约束 1、记录有效性 用于验证用户输入的记录是否有效。可设置记录有效性规则、 记录无效时的提示信息。 2、触发器设计 有插入触发器、删除触发器、更新触发器。
4.2.6 用命令方式创建和修改表(SQL)(*) 1、表结构的建立 格式:CREAT TABLE <表名>(<字段名1>,<字段类型>[(<字段宽度>[,<小数位>])][,<字段名2>…]) 示例:建立学生情况表xjxx.dbf CREAT TABLE xjxx(学号 c(8),姓名 c(10),年龄 n(3),;入学年份 d) LIST STRUCTURE INSERT INTO XJXX VALUES(“20020001”,”张三”,20,{^2003/9/14}) INSERT INTO XJXX VALUES(“20020002”,”李四”,19,{^2003/9/14}) LIST
2、表结构的修改 格式:1、ALTER TABLE <表名> ADD|ALTER [COLUMN] <字段名>,<字段类型>[(<字段宽度>[,<小数位>])] 2、ALTER TABLE <表名> DROP [COLUMN] <字段名1>|RENAME [COLUMN] <字段名2> TO <字段名3> 说明:ADD添加新字段 ALTER修改字段的类型或宽度等 DROP删除字段 RENAME更改字段名
4.3 参照完整性设置 表间关系在“数据库设计器”中,显示为联系数据表索引之间的连线。 1、建立表间关系的作用: • 查询和视图设计中的默认联接条件 • 表单和报表的数据环境中表间的默认临时关系 • 用来存储参照完整性信息 参照完整性(Referential Integrity——RI),是用来控制数据库相关表之间的主关键字和外部关键字之间数据一致性的规则。 参照完整性是建立表间关系基础上进行的,所以设计 参照完整性必须先设计好表间的关系。 4.3.1 创建表间关系 (永久关系)
2、表间关系的建立 • 表间关系是使用索引建立,因此在建立关系前须给相关 表创建索引。建不同的关系需使用不同的索引。 一对多(主)主索引/候选索引 (子)普通索引 一对一(主) (子)主索引/候选索引 • 建立的步骤 • 确定关系类型 • 建立索引 • 设置永久关系 • 操作方法 拖动(数据库设计器中)
1、关系的编辑修改 数据库设计器——双击连线 2、关系的删除 数据库设计器——点击连线选中,按DEL键 4.3.2 删除和修改表间关系
1、三个规则 • 子表中的每一个记录在对应的父表中必须有一个父记录 • 在父表中修改记录时,如果修改了主关键字的值,则子表中相关记录的外部关键字值必须同样修改。 • 在父表中删除记录时,与该记录相关的子表中的记录必须全部删除 4.3.3 设计参照完整性 2、设置方法 • 右击永久关系的连线——选“参照完整性”
3、参照完整性内容 • 更新规则(父动)、删除规则(父动)、插入规则(子动) • 级联、限制、忽略
注意事项: 相关表之间的参照完整性规则是建立在永久关系基础 上的。 参照完整性规则被设置在主表或子表的触发器中, 规则的代码被保存在数据库的存储过程中。