第3章数据表的创建和管理
第3章 数据库的基本操作(1)

■若在文件名前指定了驱动器标识符,则文件建立在指定的 驱动器上,否则建立在当前驱动器上。 ■不指定文件扩展名时,缺省扩展名为.DBF。 ■若磁盘上存在这个文件或文件重名,系统显示一个警告对 话框,提示是否要改写表。如果需要改写,则选择【是】, 否则选择【否】。 ■不要用A-J单个字母作为表文件名,因为它们是专门用于工 作区别名的。
记录的总字节数=各个字段的宽度+ 1
LIST STRU和DISP STRU命令的区别:
DISP STRU:在每显示一屏信息后暂停,等待用户按任 意一键后继续显示; LIST STRU:显示信息时没有周期性暂停,而是连续 向下显示,直到显示完毕。
二. 显示表中的记录
格式:LIST ︱ DISPLAY
• 逻辑型字段:只允许输入下列字母中的一个: y, Y, t, T, n, N, f, F
• 日期型字段:mm-dd-yy mm取值范围01~12 dd取值范围01~31
• 备注型字段的输入:
Ctrl+PgDn: 弹出字段编辑窗口
Ctrl+W: 保存该字段内容到备注文件中。 输入数据后,该字段栏显示为Memo
指针定位就是将记录指针移到指定的记录上,记录指针指向的记 录称为当前记录。VFP提供了绝对定位和相对定位两类命令。
(1)记录指针的绝对定位
格式: GOTO [RECORD <数值表达式> ]∣TOP∣BOTTOM 功能:将记录指针直接定位到指定的记录上。
钮,所改变的设置仅在本次系统运行期间有效,退出系统 后,所做的修改将丢失。
二. 建立表前的准备
在建立表结构以前,首先应该根据用户的需求,明确所要创建 的表中应该包含哪些字段,每个字段的名称、类型和宽度。
第3章 数据库和表

2) “查找内容”文本框中输入要查找的内容,此处输入“空运”; 在“替换为”文本框中输入将要替换的内容,此处输入“海运”。
3.4 维护表
3.4.1 向表中输入数据
图3-42 在“产品”表添加数据
3.4.2
1.重命名字段
修改表的结构
图3-43 重命名字段
2.修改字段数据类型 3.编辑字段
3.4.2
1) 插入行。
修改表的结构
图3-44 插入行示例
3.4.2
修改表的结构
图3-45 确定是否删除行
2) 删除行。 3) 更改主键。
3.2.4 使用设计器创建表
图3-27 “订单”表的数据表视图
1) 在“产品订单”数据库中双击“使用设计器创建表”,
3.2.4 使用设计器创建表
将弹出如图3-28所示的表设计器。
图3-28 表设计器
2) 在“字段名称”列中输入表的字段名进行字段定义,在“数据类 型”列单击下拉箭头可显示所有数据库类型的列表框,
编辑表的内容
2) 选定数据后,就可以直接在刚才选定的单元格上输入要修改的内 容,同时可以看到,最左边框上的图标变为了,如图3-49所示。
图3-49 修改“订单”表中数据
3) 数据修改完成后,按“Enter”键或箭头键,可以控制光标在单元 格之间移动,也可以设置移动方式,单击“工具→选项”然后在弹 出的“选项”对话框中选择“键盘”选项卡,在这里可以进行设置, 如图3-50所示。
图3-19 “表向导”对话框2
3.2.2 使用向导创建表
4) 在图3-19所示的对话框中,我们可以指定表的名称为“产品”, 及设定表中主键字段为“产品标识”。
图3-20 “表向导”对话框3
3.2.2 使用向导创建表
数据库的创建和管理

3.1 数据库旳存储构造
注意:SQL Server 2023中旳数据和事务日 志文件不能存储在压缩文件系统或象共享网络 目录等远程旳网络驱动器上。
SQL Server 2023旳文件拥有两个名称,即 逻辑文件名和物理文件名。当使用TransactSQL命令语句访问某一种文件时,必须使用该 文件旳逻辑名 。
辅助数据库文件旳扩展名为ndf(简称为辅 助文件)。
3.1 数据库旳存储构造
3.事务日志文件 存储数据库旳更新情况等事务日志信息 ,当 数据库损坏时,管理员使用事务日志恢复数据 库。
每一种数据库至少必须拥有一种事务日志文 件,而且允许拥有多种日志文件。事务日志文 件旳扩展名为ldf,日志文件旳大小至少是 512KB。
3.1 数据库旳存储构造
主数据库文件用来存储数据库旳开启信息以 及部分或者全部数据,是全部数据库文件旳起 点,包括指向其他数据库文件旳指针。一种数 据库只能有一种主数据库文件。
3.1 数据库旳存储பைடு நூலகம்造
2.辅助数据库文件(Secondary Database File)
用于存储主数据库文件中未存储旳剩余数据 和数据库对象,一种数据库能够没有辅助数据 库文件,但也能够同步拥有多种辅助数据库文 件。
<filespec>::= ([NAME=logical_file_name,] FILENAME=‘os_file_name’ [,SIZE=size] [,MAXSIZE={max_size|UNLIMITED}] [,FILEGROWTH=growth_increment] ) [,…n] <filegroupspec>::=
PRIMARY:用于指定主文件组中旳文件。主文件 组旳第一种由<filespec>指定旳文件是主文件。假如 不指定PRIMARY关键字,则在命令中列出旳第一种 文件将被默以为主文件。
第3章 表的创建与使用

字段的数据类型决定了可以设置哪些其他字段属性,如只 能为具有“超链接”数据类型或“备注”数据类型的字段 设置“仅追加”属性。
3-15类型属性比较
图3-4 数据表视图
3.2.3 使用表设计创建数据表
使用表的【设计视图】来创建表主要是设置表的各 种字段的属性。而它创建的仅仅是表的结构,各种数 据记录还需要在【数据表视图】中输入。通常都是使 用【设计视图】来创建表。下面将以创建一个“学生 信息表”为例,说明使用表的【设计视图】创建数据 表的操作步骤。
3.2 数据类型
3.2.3日期和时间类型
Access 2010中提供了以下几种日期和时间类型的数据。 “短日期”:显示短格式的日期。具体取决于读者所在区 域的日期和时间设置,如美国的短日期格式为3/14/2012。 “中日期”:显示中等格式的日期,如美国的中日期格式 为14-Mar-01。 “长日期”:显示长格式的日期。具体取决于读者所在区 域的日期和时间设置,如美国的长日期格式为Wednesday, March 14, 2012。 “时间(上午/下午)”:仅使用12小时制显示时间,该格式 会随着所在区域的日期和时间设置的变化而变化。 “中时间”:显示的时间带“上午”或“下午”字样。 “时间(24小时)”:仅使用24小时制显示时间,该格式会随 着所在区域的日期和时间设置的变据表是Access各个版本数据库
中存储数据的唯一对象,这里分类存储着 各种数据信息。它存储的数据一般要经过 各种数据库对象的处理后,才能成为对人 们有用的信息。
3.2.1使用表模板创建数据表
对于一些常用的应用,如联系人、资产等信息,运用 表模板会比手动方式更加方便和快捷。下面以运用表 模板创建一个“联系人”表为例,来说明其具体操作。 建一个“联系人”表为例,来说明其具体操作:
第3章 表的创建和使用

第三章表的创建和使用3.1 表结构1. 表的概念表(数据表):是指存放在磁盘文件中的一张二维表。
自由表:不属于任何数据库的表。
数据库表:包含在一个数据库中的表,只属于一个数据库。
表文件名:表名可以由字符、数字或下划线组成,但不可用A-J中的单个字母作文件名,系统自动给出的扩展名为.DBF。
备注文件名:当表中有备注型或通用型字段时,系统自动生成与所属数据表的表名相同、扩展名为:.FPT的文件名。
表结构:存储表记录的公共结构。
(就是指一张表的表头结构,即字段的属性)。
字段:表中的一列。
它规定了数据的特征。
记录:表中的一行。
它是多个字段的集合,同一张表的每个记录都有相同的字段。
关系型数据表的特点:(1)每一个字段不可再分解,也不能有名字相同的字段;(2)每一列中的数据都有相同的数据类型;(3)表中没有内容完全相同的行(记录)。
(4)表中任意两行或两列都可以任意交换。
2. 字段的基本属性字段的属性包括:字段名、数据类型、字段宽度、小数位数、空值支持◆字段名:即每个字段的名字,必须以字符开头,可由字符、数字、下划线组合而成,字母大、小写无区别,但其中不许有空格或其它字符。
自由表的字段名最多由10个字符组成,数据库表的字段名支持长名,最多可达128个字符。
如果从数据库中移去一个表,那么此表的长字段名将被截短成10 个字符。
VFP允许长字段名和长表名,但使用长名称对于跨平台的操作可能遇到难以预料的结果。
◆数据类型:指该字段的数据特征。
◆字段宽度:指该字段所能容纳数据的最大字节数。
◆小数位数:指数值型数据将保留几位小数。
此时的字段宽度= 整数位数+1+小数位数。
◆NULL 值(空值):用来指示记录中的一个字段有或没有数据的标识,NULL不是一种数据类型或一个值,NULL不等同于零或空格。
一个NULL 值不能认为比某个值(包括另一个NULL 值)大或小,相等或不同。
VFP 6.0表中字段的数据类型字段类型代号说明字段宽度使用示例字符型 C字母、汉字和数字型文本每个字符为1个字节,最多可有254 个字符学生的学号或姓名,"8199101" 或'李立'货币型Y 货币单位8 个字节工资,$1246.89日期型 D 包含有年、月和日8 个字节出生日期,的数据 {02/25/2000}日期时间型 T 包含有年、月、日、时、分、秒的数据 8 个字节 上班时间,{02/25/2000 9:15:15 AM}逻辑型 L“真”或“假”的布尔值 1 个字节课程是否为必修课,.T. 或 .F.数值型 N 整数或小数 在内存中占 8 个字节;在表中占 1 至20个字节 考试成绩, 83.5通用型 G OLE 对象 在表中占 4 个字节图片或声音备注型 M 不定长度的一段文字 在表中占 4 个字节学生简历3. 表结构的创建创建表结构其实就是设计字段的基本属性。
第三章 access

• 第一节:输入掩码本身。 • 第二节:确定是否保存原意显示字符。 0 —— 以输入的值保存原意字符 1 或空白—— 只保存输入的非空格字符 • 第三节:显示在输入掩码处的非空格字符,可以使 用任何字符,若省略该节,显示下划线。 例:为一文本型字段定义的输入掩码:L9999-99;0; * 该掩码控制该字段输入7个字符,第一个字符是大 写字母,第2至7个字符只能是0—9的字符之一,且 第五个字符后有一个原意字符“-”,它在输入时自 动加入;用字符 “*”做占位符 。
• 第四步:单击【保存】按钮保存该数据表,输入名称为“ 销售订单”,单击【确定】按钮以后,弹出“尚未定义主
键”的提示框,如下图所示。
• 第五步:在“表工具-设计”选项卡上的 “工具”组中, 单击 “主键”。
2 通过数据表视图创建数据表
• 单击“创建”选项卡, 在“表”组中, 单击“表”,在工作 区出现新表 • 双击列标题“ID”,输入:专业代码 • 双击列标题“添加新字段”,输入:名称 • 依次输入其他字段名 • 在“表工具”的 “数据表”选项卡上,在“数据类型和格式 ”组中,单击“数据类型” • 快速访问工具栏,单击“保存”, 在“另存为”窗口,输入 :专业,然后单击“确定”
• 日期/时间型数据的格式 – 七种预定义的格式 – 可以用自定义字符,时间分隔符号:、日期分 隔符/、以dddddd来显示日期,ttttt显示时间, d、w、m、q、y分别表示日、星期、月、季、 年 例如:yy/mm/dd,hh:mm:ss • 是/否型数据的格式 – 真/假 -1为true, 0 为false – 是/否, -1为是,0为否 – 开/关,-1为开,0位关
三 修改表的设计
字段的操作—表结构建立与编辑
表结构的基本操作包含: 定义字段、 加入新字段、 字段的删除、追加、复制、移动
Access数据库实用教程第三章 表的创建
3.3 自定义表
【例3-3】设计一张“学生”表,用于记录学生的基 本信息,各字段的具体要求见下表。
字段 字段类 名称 型 学号 文本 name 文本 要 求
(1)字段大小:8。(2)显示要求:右对齐。 (3)设置为主键。 (1)字段大小:10。(2)显示要求:“name”字段名的 显示字样为“姓名”;该字段数据显示要求:当输入了名 字后,正常显示名字;没有输入数据时,显示“noname”, 以表示还没有输入姓名。 (1)字段大小:1。(2)数据输入要求:新建记录时该字 段的默认值为“男”;利用查阅列表框选择输入“男”或 “女”。 (1)数据输入要求:在“____年-__月-__日”格式中输入 日期。(2)显示格式:如“1965年03月12日”所示。
符号 .(英文句号) ,(英文逗号) 0 # $ % 小数分隔符 千位分隔符 数字占位符。显示一个数字或 0 数字占位符。显示一个数字或不显示 美元符号 百分比。数字将乘以 100,并附加一个百分比符 号 说明
E-或e-
科学记数法,在负数指数后面加上一个减号 (-) , 在正数指数后不加符号。该符号必须与其他 符号一起使用,如 0.00E -00 或 0.00E00。
符号
@ &
说明
要求文本字符(字符或空格) 不要求文本字符
<
> ! -
使所有字符变为小写
使所有字符变为大写 数据左对齐 数据右对齐
自定义格式(分两节):<格式符号>;<字符串> 【例3-6】设置例题3-3中的“name”字段的“格式” 属性,实现如下要求:当输入了名字后,正常 显示名字;没有输入名字时,显示“noname”。 (4)“是/否”型字段格式 ①预定义格式 对于“是/否”型数据类型,可以将“格 式”属性设置为“真/假”、“是/否”或“开 /关”三种预定义格式之一 。 注意:表中数据的显示形式还要受到“查阅” 选项卡的“显示控件”属性的限制。
第3章_数据库与表的创建及使用
库表的约束机制及其激活时机
库表的字段级和记录级以及表的触发器, 为数据的输入和更改实施了约束。
3.3.4 表的打开与关闭
1、工作区
• 工作区的几个概念 – 用以标识一张打开的表的区域。 – 每个工作区都有一个编号,从1~32767(前10个可以用字母A~J表 示); – 每个工作区只能打开一张表,但一张表可以在多个工作区打开,用 AGAIN子句;在工作区打开的表都有一个别名,也可使用表的别名 作为工作区号。 – 系统正使用的工作区为当前工作区,启动VFP后默认当前工作区为1。 – 可以用SELECT命令选择当前工作区。 如:SELECT 4 &&选择4号工作区 SELECT 0 &&选择当前未使用的工作区区号最小的工作区。
3.1.2 数据库的组成
4、存储过程
•在数据库中保存过程和代码的地方。 • 包含用户自定义函数中的任何命令和函数,还有永久关系中参照 完整性代码。
• 对数据库中的数据进行地相似或相同的处理,可以编写成自定义 函数或过程保存在存储过程中,以供其他时候调用。
FUNCTION cj_rule PARAMETERS cj 创建、修改或移去存储过程有以下几种: IF cj>=0 and cj<=100 (1)在“项目管理器”中,选择并展开一个数据库,选 .T. RETURN 定“存储过程”,然后选择“新建”、“修改”或“移去” ELSE RETURN .F. 按钮。 ENDIF (2)在“数据库设计器”中,从“数据库”菜单中选择 ENDFUNC “编辑存储过程”按钮。 在cj字段的验证规则中设 置如下:cj_rule(cj.cj)
(1)“工具”—“选项”
独 占
3.3.4 表的打开与关闭
第3章 表的创建与操作_习题答案
第3章表的创建与操作习题参考答案一、选择题1.C2.D3.C4.B5.D6.B7.B8.C二、填空题1.自由表,数据库表2.创建表结构,输入记录数据3.物理,逻辑4.dbf5.表文件,按<关键字表达式>进行排序或创建索引文件。
三、问答题1.答:两个命令的作用基本相同,区别仅在于LIST是连续显示,当显示的内容超过一屏时,自动向上滚动,直到显示完成为止。
DISPLAY是分屏显示,显示满屏时暂停,待用户按任一键后继续显示后面的内容。
如果FOR子句或WHILE子句以及范围全省略,对于LIST默认为所有记录,即取ALL,对于DISPLAY默认为当前记录,即取NEXT1。
此外,对于DISPLAY命令是分屏输出,对于LIST是连续输出。
2.答:ZAP命令删除当前表的全部记录,只留下表结构,因此该表还存在。
DELETE 命令给指定的记录加上删除标志(*),这时被标记的记录并没有真正被删除,需要时仍可以用RECALL命令恢复(取消指定记录上的删除标志)。
如要对加了删除标志的记录真正地从表中删除掉,再使用PACK命令。
ZAP命令用于删除当前表的全部记录,它等价于DELETE ALL和PACK命令。
3.答:排序是根据不同的字段对当前表的记录做出不同的排列,产生一个新的表。
新表与旧表内容完全一样,只是它们的记录排列顺序不同而已。
索引并不是重新排列表记录的物理顺序,而是另外形成一个索引关键表达式值与记录号之间的对照表。
索引文件中记录的排列顺序称为逻辑顺序。
索引文件发生作用后,对表进行操作时将按索引表中记录的逻辑顺序进行操作,而记录的物理顺序只反映了输入记录的历史,对表的操作将不会产生任何影响。
对于用户来说,索引不但可以使数据记录重新组织时节省磁盘空间,而且可以提高表的查询速度。
在Visual FoxPro中,索引可分为下列4种类型:主索引、候选索引、唯一索引和普通索引。
创建索引文件可以使用INDEX命令,也可以在表设计器中创建索引。
VFP第3章 数据表的创建及操作1总结
注意观察: 1.在操作表时,命令窗口显示的相关命令。 2.在输入标记录时,状态栏上提示的信息。
思考:表中有几条记录,当前为 第几条记录?该表在的位置什么? 该表的打开方式是什么?
3.1.6 表的打开与关闭
1) 表的打开
数据表是一种文件,存放在外存即磁盘中。数据表从外 存被调入到内存中,这个过程叫“打开”。“关闭”则是 将调入内存中的数据保存到外存并释放内存空间。 1.命令方式
修改:菜单“Edit/Clear”,删除对象。
特殊字段数据内容:
注意:有时图片不能正常 显示,但只要在表记录浏 览状态下gen变为Gen即可 视为录入了数据。
补充:数据输入要点
1.输入时,有一个 “I”型光标在空白字段中闪烁,表明当
前是对该字段的值进行输入 。
2.逻辑型字段的输入只能接受单个字母,用“T”表示真、
本章主要内容
3.1 建立数据表(可视化方式) 3.2 操作数据表(命令方式)
3.3 工作区
3.4 表的索引
3.5 数据共享
3.1 建立数据表(可视化方式)
3.1.1 表的概述 3.1.2 表的重要概念 3.1.3 可视化的创建自由表 3.1.4 录入表记录 3.1.5 记录的删除与恢复 3.1.6 表的打开与关闭
独占方式,表示打开的表 既可以修改结构也可以修 改数据;若不选,则只可 修改数据而不可以修改结 构
项目管理器方式打开表
点击“Modify”按钮,重新进入表设计器界面。 点击“Browse”按钮,可查看表中记录。
可以通过“数据工区期(Data sesstion)”观察已打
开的表。
2) 表的关闭
用“F”表示假。不区分大小写 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
➢使用IDENTITY时,可设置种子(seed)与增量 (increment)。如果未指定,则取默认值(1,1)。
➢当对表中数据进行删除操作后,在标识值之间可能会产Байду номын сангаас生数量不等的差值。
CREATE TABLE Student (S_NO CHAR(7) NOT NULL, NAME VARCHAR(8), AGE SMALLINT, SEX CHAR(2))
(3)单击工具栏上的“分析查询”按钮,若结果窗口无错误信息, 再单击“执行查询”按钮,将返回“命令已成功完成”的信息。
例3-2:使用查询分析器创建Student_1学生信息表, 要求包含S_NO(学号)、NAME(姓名)、AGE(年 龄)信息,并限制年龄在15到25周岁之间,指定学号 为主关键字。
3 .1.3使用企业管理器对数据表进行管理
创建数据表之后,可以使用企业管理器或使用 Transact-SQL语言对数据表和数据表的结构进行操作 使用企业管理器管理表
3.1.2 使用Transact-SQL语言创建数据表 CREATE TABLE
[database_name.[owner.]| owner .]table_name ({column_name data_type [NULL|NOT NULL]
| [DEFAULT constant_expression] | [IDENTITY [(seed,increment)]] }[,…n] ) [ON filegroup | DEFAULT}] [TEXTIMAGE_ON{filegroup}]
3.1 在企业管理器中创建数据表
每个表都代表一个特定的实体。创建好 数据库后,就可以向数据库中添加数据 表。数据通常存储在表中,表存储在数 据库文件中,任何有相应权限的用户都 可以对之进行操作。
例:使用企业管理器在数据库 Student_db创建数据表St_info。
标识列IDENTITY (自动编号)
column_name:用于指定新建表的字段名。
data_type:用于指定列的数据类型。
DEFAULT:用于指定列的默认值。
IDENTITY [(seed,increment):是否为标识列及标识 列的种子和增量。
ON {filegroup | DEFAULT}:用于指定存储表的文件 组名。如果使用了DEFAULT选项,或者省略了ON子 句,则新建的表会存储在默认的文件组中。
第3章 SQL Server数据表
3.1 数据表的创建和管理 3.2 表数据的管理 3.3 数据完整性管理。
3.1 数据表的创建和管理
SQL Server 2000有两类表,一类是永久表, 这类表一旦创建将一直存储在硬盘上,除非被 用户删除;另一类是临时表,这类表在用户退 出时自动被系统删除。临时表又分为局部临时 表与全局临时表。局部临时表的名称以#开头, 仅可由创建者本人使用,一旦创建者断开连接, 该表将会消失;全局临时表的名称以##开头, 创建者在创建后可以由多个授权用户立即使用, 一旦最后使用的用户断开连接,该表将会消失。
例3-1:使用查询分析器在数据库Student_db中创建Student学生 信息表,要求包含S_NO(学号)、NAME(姓名)、AGE(年 龄)、SEX(性别)信息,其中学号不能为空。
(1)启动SQL Server服务器,运行查询分析器,并连接到数据库
(2)在查询窗口中输入创建表的语句。
创建数据表Student的语句如下:
CREATE TABLE #temp_student (学号 SMALLINT NOT NULL , 姓名 VARCHAR(30) NOT NULL, 年龄 INT NOT NULL, PRIMARY KEY (学号))
在Transact-SQL中可用CREATE TABLE来创建临时 表,只要在表名前加“#”或“##”符号。其中“#”表示 本地临时表,在当前数据库内使用;“##”表示全局临 时表,可在所有数据库内使用。这些表存储在系统数 据库tempdb中,它们在与服务器的交互结束时会自动 删除。
创建数据表Student_1的语句如下: CREATE TABLE Student_1
(S_NO CHAR(7) NOT NULL, NAME CHAR(10), AGE SMALLINT, PRIMARY KEY(S_NO), CHECK(AGE BETWEEN 15 AND 25))
例3-3:使用查询分析器创建临时表temp_student 。创建 表temp_student的语句如下:
TEXTIMAGE_ON:用于指定text、ntext和image列的 数据存储的文件组。如果表中没有text、ntext或image 列,则不能使用TEXTIMAGE_ON。如果没有指定 TEXTIMAGE_ON子句,则text、ntext和image列的数 据将与数据表存储在相同的文件组中。
3.2.2 利用Transact-SQL语言创建表
当需要对某一列输入的数据是有规律的顺序编号且保证每 个编号惟一时,最好采用IDENTITY。具有IDENTITY属性 的列称为标识列,其取值称为标识值,具有如下特点:
➢IDENTITY列的数据类型只能为整型、numeric、 decimal。当为numeric、decimal时,不允许有小数位。
➢当用户向表中插入新记录时,系统将自动在该列添加一 个按规定递增(或递减)的数据。该列值由系统自动产生
3.2.2 利用Transact-SQL语言创建表
其中各参数的说明如下:
database_name:创建新表所属的数据库名称。 如果不指定,database_name 默认为当前数据库。
owner:指定新表所有者的用户名,如果不指定, owner 默认为当前注册用户名。
table_name:用于指定新建表的名称。表名必须 符合标识符规则。