240 likes | 326 Views
第二章 数据库及其操作. 本章基本目标 *掌握数据库和数据表的操作及与其操作相关的简单命令 *掌握数据库表和自由表的区别以及两者相互转化 *掌握索引的概念、分类以及与其操作相关的简单命令 *掌握数据表间关系. 第一讲 库及表的操作. 本讲学习内容 创建数据库(文件) 与数据库文件相关的命令 建立数据库表 建立自由表 修改表结构 与表操作相关的命令. 数据库及数据表. 数据库管理系统 DBMS :是对数据进行存储、管理、处理和维护的软件系统,是现代计算机环境中的一个核心部分。 数据库 DB :相当于一个存放物品的仓库,其扩展名 .DBC ;
E N D
第二章 数据库及其操作 本章基本目标 *掌握数据库和数据表的操作及与其操作相关的简单命令 *掌握数据库表和自由表的区别以及两者相互转化 *掌握索引的概念、分类以及与其操作相关的简单命令 *掌握数据表间关系
第一讲 库及表的操作 本讲学习内容 • 创建数据库(文件) • 与数据库文件相关的命令 • 建立数据库表 • 建立自由表 • 修改表结构 • 与表操作相关的命令
数据库及数据表 数据库管理系统DBMS:是对数据进行存储、管理、处理和维护的软件系统,是现代计算机环境中的一个核心部分。 数据库DB:相当于一个存放物品的仓库,其扩展名.DBC; 数据表就相当于在其中存放的一种物品,其扩展名.DBF 。 数据库设计就是——确定每种物品的存放方式以及每种物品之间的相互的关系 计算机类(计算机英语) 材料类 英语类 社科类 书 库( .DBC) 关联 多个表( .DBF)
创建数据库 • 单击“文件\新建”命令,在“新建”对话框中单击“数据库”,单击“确定”。 • 在项目管理器中选择数据选项卡,选定数据库图标后单击“新建”按钮。在创建窗口选定保存位置、键入数据库名如“学籍管理”,单击“保存”,此时出现数据库设计器窗口,并且所有打开的数据库都可以通过工具栏中的下拉列表选择
与数据库相关的命令 (一) 注:多数情况写清楚全路径 • 创建:CREATE DATABASE 数据库名 省略将自动显示创建对话框 例: CREATE DATABASE c:/xjgl.dbc CREATE DATABASE xjgl.dbc 区别 • 打开数据库有两种方式: • 1、独占方式打开:除了打开数据库的用户可以访问该数据库 • 其它用户将不能访问。 • 2、共享方式打开:允许多人同时访问该数据库。 • 不使用命令的情况下即在打开对话框的下方选中Open exclusive
与数据库相关的命令 (二) • 打开:OPEN DATABASE 数据库名[打开方式][NOUPDATE] 独占:EXCLUSIVE 共享: SHARED 是否可以修改打开的数据库 例:OPEN DATABASE c:\xjgl.dbc SHARED NOUPDATE • 关闭:CLOSE DATABASE • 例:CLOSE DATABASES ALL ALL关闭所有打开的数据库 之前要先关闭哦! • 删除:DELETE DATABASE 数据库名 • 修改:MODIFY DATABASE 数据库名 • 例:MODIFY DATABASE 此时将出现
与数据库相关的命令 (三) • 设置当前数据库: SET DATABASE TO 数据库名 当打开多个数据库时某时刻只能有一个数据库成 为当前数据库,相当于在工具栏上选择数据库。 例:SET DATABASE TO c:\xjgl 小结:与数据库相关的六条命令完成了对数据库的简单操作。需要注意的是:在非默认情况下,所有文件应该写明全路径。
与数据库相关的命令(小结) • CREATE / MODIFY DATABASE[ [路径] 数据库文件名 ] • OPEN DATABASE [ [路径]数据库文件名] [Exclusive/Shared][NoUpdate] • MODIFY DATABASE [DatabaseName | ?] [NoWait] [NoEdit] • CLOSE DATABASES [ALL] • DELETE DATABASE 数据库文件名 • SET DATABASE TO 数据库文件名
建立数据表(.DBF文件) • VFP中的数据表分为两种:数据库表(与数据库相关联)和自由表(没有和任何数据库关联) • 建立数据库表: (1)在项目管理器中展开一个具体的数据库,单击其中的表,单击“新建”按钮。 (2)在数据库设计器中建立。 (3)在数据库文件打开的情况下用“文件\新建”。 • 表设计器是设计和修改表结构的场所: 1.字段名:数据库表字段名长度可多达128个字符,自由表的最多包含10个字符。 2.字段类型和宽度:见书表3-2说明。 3.NULL:指定字段值是否允许设置空记录。
表设计器之“显示”区 1、格式:确定一个字段在数据浏览窗 口、报表或表单中的显示方式。 2、输入掩码:主要是限制字段的输入 格式,使用掩码可以屏蔽非法格式 的输入,提高工作效率。 3、标题:用于设置字段显示标题,当 对表进行浏览时,将显示字段标题 ,而不显示字段名。 例:将“综合考评”字段的标题设为“期末总成绩”,输入掩码格式为“999.99”且不足位用零补齐。 结果
表设计器之“字段有效性”区 1、规则:是指定字段值有效的域,一般使用逻辑表达。 2、信息:用于记录在字段值超出规则后显示的提示信息,当输入提示信息时要将提示的字符串使用定界符括起来。 3、默认值:是指在向数据表中添加新记录时,该字段可以是预先准备好的数字或字符串。 例:设置“综合考评”字段的默认值为0 ,并使其值要小于等于100分,若违反则提示错误信息。 输入120时
表设计器之“记录有效性” 与“自动增长” 区 别 • 记录有效性规则与字段有效性规则说明一致 记录有效性规则检查不同字段在同一记录中的限制。 字段有效性规则检查各个字段的限制。 例:设置某表的一个“出生年月”字段要小于“入学时间”字段 • FoxPro8.0提供 “整数(AutoInc)”类型可自动增加值 • (1)下一个值:在设置完该字段后输入第一条记录的初值。 • (2)步长:相连两条记录的差值。 例:某表中存在一个“序号”字段且类型为整数要求该字段为输入一条记录自动加1。
创建自由表 • 自由表是与数据库无关联的表,它的建立不需要数据库作容器,所以在建立之前要关闭打开的数据库。 • 创建自由表: (1)在项目管理器中单击“自由表”,单击“新建”。 (2)在关闭数据库的情况下单击“文件\新建”,CREATE。 自由表不具备数据库表的所有属性,但两表可进行相互转化 自由表可在数据库设计器中建立吗?
添加和移去表 • 在“项目管理器”中,点击要操作的数据库中的“表”选项,单击“添加”(“移去”)。 • 在“数据库设计器”中,点击工具栏上的“添加表(“移去表”) • 一个表只能添加到一个数据库中。 • 把具有长字段名(长度大于10字符)的数据库表变为自由表时,长字段名将变成前10个字符。
修改表结构 在表设计器中进行 1、“文件\打开”,选择文件类型为表(*.dbf),单击需要修改的表,在“显示”菜单下选择“表设计器”。 2、打开项目管理器找到需要修改的表,点击右边的“修改”。 3、若是数据库表则利用数据库工具栏上的“修改表”,或者右键点击数据库设计器所包含的表的标题栏,在出现的快捷菜单上选择“修改”。
例(1)在“学生档案.DBF”表中的“综合测评”字段前插入“政治面貌”字段,数据类型为字符型,宽度为8。例(1)在“学生档案.DBF”表中的“综合测评”字段前插入“政治面貌”字段,数据类型为字符型,宽度为8。 (2)删除“学生档案.DBF”表中的“政治面貌”字段,并将“专业”字段移到“出生年月”字段的前面。 打开表设计器→把光标放在“政治面貌”字段→点击“删除”按钮→点击“确定”按钮出现询问对话框确定即可。 打开表设计器→选中“专业”字段行左侧的按钮,拖曳该按钮到“出生年月”字段上方→释放鼠标→点击“确定”按钮出现询问对话框确定即可。 打开表设计器→把光标放在“综合考评”字段→点击“插入”按钮,输入“政治面貌”字段的名,类型设为字符型宽度列中键入“8”→点击“确定”按钮出现询问对话框确定即可。
与表操作相关的命令(一) 建立表文件: CREATE TABLE 数据表名 [FREE](字段名 字段类型[(字段长度[,精度])]) • 说明:(这是一个SQL数据库定义语言中的命令) • 若使用[FREE]参数,可在任何情况下建立自由表。 • 不要用A-J单个字母作为表文件名,它们是工作区的别名。 例:建立一数据表“数据表1.dbf”,其中有两个字段 分别是name:字符型,长度8 和 zongf:数值型,长度7。 CREATE TABLE 数据表1(name C(8),zongf N(7))
与表操作相关的命令(二) 将自由表加入数据库中 : ADD TABLE 表文件名 说明:加入自由表之前要保证数据库是打开的。 例:在“学籍管理.DBC”数据库中加入数据表“选课登记.dbf” OPEN DATABASE 学籍管理 &&打开数据库 ADD TABLE 选课登记 &&加入自由表 打开数据表 : USE 表文件名 说明:打开的数据表在状态栏中可以看到相关信息 显示表结构 : LIST/DISPLAY STRUCTURE 说明:显示打开的数据表结构。 LIST STRUCTURE 是列表显示方式。 DISP STRUCTURE 是分页显示方式。
与表操作相关的命令(三) 修改表结构 : MODIFY STRUCTURE 说明:该命令是打开数据表设计器,显示当前的数据表结构 。 关闭数据表 : USE 说明:关闭当前数据表 删除数据表 : DELETE FILE 表文件名 说明:“表文件名” 一定要写明表后缀名.dbf。 使用该命令时一定要确保要删除的文件是关闭的。
数据表的复制:一张数据表既有结构又有数据(记录),因此数据表的复制:一张数据表既有结构又有数据(记录),因此 学习数据表复制就有多种情况 。 一、结构和记录数据同时复制 : COPY TO 表文件名 [范围][FIELDS<字段名>][FOR |WHILE <条件>] ALL, NEXT, REST,RECORD 新表包含的字段名及顺序 筛选所满足的条件的记录 USE 学生档案 &&打开原数据表 COPY TO b1 FIELDS 学号,姓名,出生年月,是否贷款 FOR 性别=“男” && 新表中包含原表的四个字段并且只复制男生的纪录 USE b1 &&打开复制的数据表 LIST &&显示数据
与表操作相关的命令(三) 二、单独复制文件结构 : COPY STRUCTURE TO 表文件名[FIELDS<字段名>] 新表包含的字段名及顺序 例:把学生档案表中学号,姓名,综合测评,出生地,性别五个 字段的相关结构拷贝到b2表中,不要求有数据。 USE 学生档案 COPY STRUCTURE TO b2 FIELDS 学号,姓名,综合测评,出生地,性别 USE b2 LIST STRUCTURE
与表操作相关的命令(三) 三、结构文件建立 :COPY TO 表结构文件名 STRUCTURE EXTENDED 说明:文件的结构由系统固定的模式自动生成 文件的记录由原文件的结构生成 例:将学生档案的表结构复制成一个特殊的表文件。 USE 学生档案 COPY TO jgwj STRUCTURE EXTENDED USE jgwj LIST STRUCTURE LIST &&有数据显示吗?? 四、结构文件还原成原表文件 :CREATE 表文件名 FROM 结构文件 USE 学生档案 COPY TO cj STRUCTURE EXTENDED &&生成一个cj结构文件 CREATE new1 FROM cj LISTSTRUCTURE &&new1表与学生档案的结构是一致的
小结 表设计器的使用:建立与修改表结构、 字段及记录有效性、字段显示与输入格式 CREATE TABLE 数据表名 [FREE](字段名 字段类型[(字段长度[,精度])]) ADD TABLE 表文件名 USE 【表文件名】 LIST/DISPLAY 【 STRUCTURE】 MODIFY STRUCTURE DELETE FILE 表文件名 COPY TO 表文件名 [范围][FIELDS<字段名>][FOR |WHILE <条件>] COPY STRUCTURE TO 表文件名[FIELDS<字段名>] COPY TO 表结构文件名 STRUCTURE EXTENDED CREATE 表文件名 FROM 结构文件
作业:本章课后练习。 上机作业: 1、按照课本中的例题在计算机上练习所学的命令 2、书后实验题 3、本章习题