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