第四章 数据库的创建和使用

上传人:qiuji****ngye 文档编号:46054186 上传时间:2018-06-21 格式:PPT 页数:74 大小:789.50KB
返回 下载 相关 举报
第四章  数据库的创建和使用_第1页
第1页 / 共74页
第四章  数据库的创建和使用_第2页
第2页 / 共74页
第四章  数据库的创建和使用_第3页
第3页 / 共74页
第四章  数据库的创建和使用_第4页
第4页 / 共74页
第四章  数据库的创建和使用_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《第四章 数据库的创建和使用》由会员分享,可在线阅读,更多相关《第四章 数据库的创建和使用(74页珍藏版)》请在金锄头文库上搜索。

1、第四章数据库的创建和使用几点说明l自由表:主要为了与FOXBASE兼容l建立的都是自由表l数据库表在自由表的基础上进行了功 能扩充(演示)4.1 VFP数据库l数据库=数据库表+本地视图+远程视 图+连接+存储过程(演示)l数据库是许多相关的数据库表的集合l数据库包含表及表之间的联系(数据库 表之间有联系(关系)举例:教学数据库管理系统 4.2 数据库的设计过程确定建立数据库的目的确定需要的表确定表的结构确定表间关系设计求精设 计 数 据 库 的 步 骤一、 确定建立数据库的目的明确数据库中应保存哪些信息充分了解用户的需求,明确数据库的目的确定各主题二、确定需要的表尽量避免在一个表中存储重复的

2、数据(冗 余度最小)重复信息的后果l增加数据量、工作量l数据的不一致性l删除异常技巧性最强的一步三、 确定表的字段v 每个字段直接和表的主题相关;v 不要包含推导得到或需计算的数据字段 (年龄,出生日期)v 收集所需的全部信息(不要太多)v 以最小的逻辑单位存储信息(原子)v 每个表都必须包含主关键字(学号、课 程代号)四、 确定表之间的关系 1.关系的种类 (1)一对多关系(主表、子表)例:学生表与成绩表 (2)多对多关系(纽带表)例:学生表与课程表 (3)一对一关系(不常用) 2.分析并确定表之间关系五、设计求精 是否遗忘了字段? 是否有的信息未包括进去? 主关键字是否合适? 是否有重复信

3、息?4.3 建立数据库文件一、创建数据库1、界面方式(1)在项目管理器中新建数据库(2)通过“新建”对话框新建 这样新建的数据库 不会自动加到项目 中去2、命令方式CREATE DATABASE |?数据库库文件: 扩展名为 .DBC数据库备库备 注文件: 扩展名为 .DCT数据库库索引文件: 扩展名为 .DCX二、数据库的组成1、数据库表数据库与数据库表间的双向链接数据库DBC表表表表(2)在数据库中添加、新建和移去表添加表:自由表数据库表(建立库与表之 间的双向链接)新建数据库表移去(不同于删除)表:数据库表自由表( 删除库与表之间的双向链接)(3)命令方式lOPEN DATABASE l

4、ADD TABLE NAME 长表名 注:使用新建表的方法所创建的表, 都属于该数据库lREMOVE TABLE 表名 DELETE 注意:一张表在同一时间内只能属 于一个数据库2.视图(VIEW)v 把分散在相关表中的数据通过联接条件把它们收 集到一起。构成一个“虚表”。这个“虚表”就是 视图。v 可以用来从一个或多个相关联的表中提取有用信 息;与表相类似的地方是,可以用来更新其中的信 息,并将更新结果永久保存在磁盘上。3. 存储过程v 数据库中的数据经常要进行一些相似或相同的处 理v 对于这些处理,可以编写成自定义函数或过程, 并保存到存储过程.4.4 数据字典数据字典:包含数据库中所有表

5、信息的一张 表元数据:存储在数据字典中的信息,是记 录数据的数据数据字典有助于这些数据的进一步管理和 控制,为设计人员和数据库管理员提供帮助。4.5 数据库表字段的扩展属性数据库表的字段除了具有字段的基本属 性(字段名、类型、宽度、小数位数)外,还 具有以下扩展属性:qq 字段的显示属性字段的显示属性 qq 字段的有效性属性字段的有效性属性一、字段的显示属性字段的格式输入掩码字段的标题和注释1、字段的格式l格式:确定一个字段在表单、浏览窗口或报表中的显示格式输入所需的格式码格式实际上是字段的输出掩码l常用的格式码:A D L T ! p84 表4-72、输入掩码l输入掩码:可以确定字段输入的格

6、式屏蔽非法输入,减少人为的数据输入错 误l常用的输入掩码 (p84)例如l年龄字段的输入掩码为99年龄字段只能接受数字输入,而不能输入 空格字符、字母等l姓名的显示格式指定为AT 姓名两个字段只能接受字母或汉字输入,而 不能输入空格字符、数字l注: 设置格式: 限制显示输出, 输入掩码:是限制输入3、设置字段标题系统默认,字段的标题显示的是字段名 。(字段名的最大长度只有10个字符长)如果用户不进行字段标题的设置 ,难以概括清楚该名下数据的属 性;标题的长度可达128个字符为了在显示表中数据时浏览的清晰、方便 ,用户可以自定义字段标题。二、字段验证规则1.字段级规则作用:用来控制用户输入到字段

7、中的信息类型,或检 查其他字段值的字段数据。实现数据库数据的完整性和固有的商业规则。用字段验证中的“信息”作为出错信息 设置:表设计器 CREATE TABLE 命令带CHECK子句ALTER TABLE 命令的SET CHECK子 句 检查:字段值改变时发生作用例子: create table stu (student_id c(10),sex c(2) check sex=“男”or sex=“女”) Alter table stu alter sex set check sex=“男”or sex=“女” 2.默认值作用:添加记录时,字段所具有的最初的值系统自动的默认值;亦可将之置为 .

8、NULL.可减少用户的输入工作量当添加新记录时,可确保验证规则生效之前,先 用默认值来填充。 创建字段默认值表设计器 “字段属性”CREATE TABLE DEFAULT子句ALTER TABLESET DEFAULT子句例子:create table teacher(teacher_id c(10) default “0000“,name c(10) alter table 教师表 alter column teacher_id set default “0000“4.6 数据库表的表属性库表不仅可以设置字段的高级属性 ,而且可为表设置属性。表属性: (演示) 长表名 表注释 表记录的有效性

9、规则及说明 触发器一、 长表名l 表文件名(表名)长度规定受操作系统的限制(DOS8.3、 Windows255)自由表, 数据库表最长128个字符l设计长表名(128):1、表设计器/表/表名2、create table student name “学生表 ”( )注意:自由表不能设置长表名(演示)l 打开数据库表 长表名:表所属数据库必须打开并且 是当前数据库,否则将不能成功打开。表文件名:如果所属数据库未打开, 将会自动打开数据库。(演示)js表的长表名为 教师 use 教师 -要求打开所属数据库use js-不需要二、 表记录的有效性规则l记录级有效性验证规则:用来检查同 一记录中不同

10、字段之间的逻辑关系l如何设置表设计器“表”选项卡CREATE TABLE CHECK子句ALTER TABLE SET CHECK子句1、表设计器v规则文本框:设置有效性规则v信息文本框:指定出错提示信息,当校验与规则不符,显示此信息l教师表设置记录级规则: 例1:教师的工龄(gl)小于(教师的年龄-15 )gl1500,WAGE=50 CREATE TRIGGER ON JS FOR ; UPDATE AS GL open database db1 open database db2 open database db3二.设置当前数据库只有一个是当前数据库最后一个打开的数据库为当前数据库设置

11、为当前数据库设置方法:l界面(工具栏)l SET DATABASE TO l set database to db1几个函数l测试当前数据库名DBC()l测试数据库是否打开 DBUSED( ) ?dbc() ?dbused(“db1”)三.使用数据库中的表使用USE命令可以打开数据库表和自由表如果打开的是数据库表,则系统会首先自 动打开表所在的数据库(但不是当前数据库) USE USE !四.关闭数据库项目管理器(单击数据库名左面的“+”展开,然后才能关闭)CLOSE DATABASES:关闭当前数据库和 表CLOSE DATABASES ALLCLOSE ALL4.10 查看和设置数据库的属

12、性一、DBGETPROP ( ) 函数返回当前数据库的属性,或者返回当前 数据库中字段、表或视图的属性DBGETPROP(cName,cType,cProperty)例:l?dbgetprop(“教师表“, “Table“, “PrimaryKey“)l?dbgetprop(“教师表.teacher_id“, “field“, “caption“)l?dbgetprop(“教师表.teacher_id“, “field“, “Comment“)l?dbgetprop(“教师表.sex“, “field“, “rulexpression“)l?dbgetprop(“教师表.workt“, “fi

13、eld“, “default“)二、DBGETPROP ( ) 函数可以给当前数据库或当前数据库中表的字段、表 或视图设置属性。该函数只能设置部分属性,对于 表来说可以设置字段的标题和注释。caption、comment、ruleexpression、 ruletextDBSETPROP(cName,cType,cProperty,ePropertyV alue)例:l=dbsetprop(“教师表.name”, “field”, “caption”,“教师姓名“)l=dbsetprop(“教师表 .name“,“field“,“comment“,“教师的姓名“)一、 临时关系l 在打开的表之

14、间用SET RELATION建立的临时性 关系l 临时关系会使子表的指针随父表指针的移动而移动l 临时关系和永久关系之间的联系区别联系:l有意义:建立关系的两表在客观上确实有关系(一对多,一对一)l默认性:永久关系常被作为默认的临时关系4.11 建立表之间的临时关系永久关系与临时关系的区别:1、临时关系用于控制表之间的记录访问;永 久关系用来存储表之间的参照完整性 2、临时关系在表打开之后使用SET RELATION 创建,随表关闭而解除;永久关系永久保存在数 据库中 3、临时关系可在任何表间建立;永久关系只 存在于库表间 4、临时关系中一张表不能有两张主表,永久 关系则不然。二、建立临时关系

15、建立临时关系的条件 两表必须为一对多关系或一对一关系 子表必须按照与主表相关联的字段建立索引利用“数据工作期”窗口建立使用 SET RELATION 命令 SET RELATION TO 关系表达式 INTO 区号|别 名步骤: SELE 0 USE 成绩表 ORDER TAG student_id SELE 0 USE 学生表 SET RELATION TO student_id INTO 成绩表三、解除临时关系 利用“数据工作期”窗口解除 SET RELATION OFFTO 命令 关闭主表或子表 Set relation off into INTO 区号|别名 Select 区号|别名 Set relation to1打开一个数据库的命令是。AUSE BUSE DATABASE COPEN DOPEN DATABASE 2Visual FoxPro参照完整性规则不包括 。 A更新规则B删除规则 C查询规则 D插入规则 3一个数据表可以添加到数据 库中。 A两个 B一个 C多个 D随意个4数据表间建立参照完整性后,不能设置 数据表间操作规则。A更新 B删除 C 浏览 D插 入 5创建两个具有“多对多”关系的表之间

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号