数据库与表的基本操作.docx
《数据库与表的基本操作.docx》由会员分享,可在线阅读,更多相关《数据库与表的基本操作.docx(15页珍藏版)》请在冰豆网上搜索。
数据库与表的基本操作
第四章 数据库与表的基本操作
实验4-1数据库及表的操作
(一)实验目的
1.掌握创建数据库的基本操作方法。
2.熟练掌握创建表结构和输入记录的操作方法。
3.熟练掌握修改表结构、浏览和修改表记录数据的操作。
4.熟练掌握建立索引的操作。
5.掌握创建表间联系的操作。
(二)实验内容及步骤
1.创建数据库
【实例4-1】在实验2-1所建立的“教学管理.pjx”项目中,创建一个“学生成绩.dbc”数据库。
操作步骤如下:
(1)打开“教学管理.pjx”项目。
(2)在“项目管理器”窗口中,选择“数据库”,然后单击“新建”按钮,打开“新建数据库”对话框,单击其中的“新建数据库”按钮,打开“创建”对话框,如图4-1所示。
图4-1 “创建”对话框
(3)在“保存在”文本框中,选择保存数据库的文件夹“程序VX”;在“数据库名”文本框中,输入数据库名称“学生成绩”。
(4)单击“保存”按钮,即在指定位置建立一个“学生成绩.dbc”数据库文件。
此时,在VFP主窗口中弹出一个“数据库设计器”窗口,同时还激活了“数据库设计器”工具栏,如图4-2所示。
图4-2 “数据库设计器”窗口
2.创建数据表
【实例4-2】在“教学管理.pjx”项目中,创建学生表(Student.dbf)、成绩表(Grade.dbf)、课程表(Course.dbf)、授课表(Teach.dbf)和教师表(Teacher.dbf)。
各个表的结构和数据记录如图4-3、图4-4、图4-5、图4-6、图4-7、图4-8、图4-9、图4-10、图4-11和图4-12所示。
图4-3 学生表(Student.dbf)的结构
图4-4 学生表(Student.dbf)的记录浏览窗口
图4-5 成绩表(Grade.dbf)的结构
图4-6 成绩表(Grade.dbf)的记录浏览窗口
图4-7 课程表(Course.dbf)的结构
图4-8 课程表(Course.dbf)的记录浏览窗口
图4-9 授课表(Teach.dbf)的结构
图4-10 授课表(Teach.dbf)的记录浏览窗口
图4-11 教师表(Teacher.dbf)的结构
图4-12 教师表(Teacher.dbf)的记录浏览窗口
(1)建立表结构
创建学生表(Student.dbf)结构的操作步骤如下:
1)打开“教学管理.pjx”项目文件,在“项目管理器”中,选择“自由表”,如图4-13所示。
图4-13 在“项目管理器”中新建自由表
2)单击“新建”按钮,弹出“新建表”对话框,单击其中的“新建表”按钮,打开“创建”对话框,如图4-14所示。
图4-14 “创建”对话框
3)在“保存在”文本框中,选择保存表的文件夹;在“输入表名”文本框中,输入表的名称“Student”。
4)单击“保存”按钮,即在“学生管理”项目中创建了一个“Student.dbf”自由表,并打开“表设计器”。
5)输入表结构
按照图4-3所示,在表设计器中依次输入Student.dbf表的各字段的字段名、类型、宽度和小数位的属性值。
注意:
建立数据库表和自由表的“表设计器”界面是不同的。
建立数据库表的“表设计器”有“显示”、“字段有效性”和“匹配字段类型到类”选项组,而建立自由表则没有这些选项组。
6)保存表结构
所有的字段属性设定完后,单击“确定”按钮,即弹出提示框,询问“现在输入数据记录吗?
”。
若打算以后再输入记录,则单击“否”按钮,关闭表设计器;本例要立即输入记录,所以单击“是”按钮,打开输入表记录的“浏览”窗口。
注意:
不论回答“是”还是回答“否”,表结构都建立完毕,表文件已经存在。
(2)输入表的记录
建立表结构后,如果回答“是”,则打开表记录的“浏览”窗口,VFP默认“浏览”窗口显示方式为“编辑”方式。
在此窗口中,用户逐个输入记录数据,如图4-15所示。
图4-15 记录编辑窗口
(3)输入备注型字段的内容
1)在图4-15所示的表记录编辑窗口中,将光标移到备注型字段memo上,双击鼠标,打开备注型字段编辑窗口,如图4-16所示。
图4-16 备注型字段编辑窗口
2)在此窗口中输入备注的内容,输入完毕,按“关闭”按钮
,返回表记录编辑窗口。
当备注型字段的内容输入后,非空的备注型字段标志的首字母以大写显示为“Memo”。
(4)输入通用型字段的内容
1)在图4-15所示的表记录编辑窗口中,将光标移到备注型字段gen上,双击鼠标,打开通用型字段编辑窗口。
2)通用型字段编辑窗口打开后,选择“编辑”菜单中的“插入对象”命令,打开“插入对象”对话框,并选中“由文件创建”单选按钮,如图4-17所示。
图4-17 “插入对象”对话框
3)在“文件(E):
”文本框中,直接输入图像文件的路径及文件名,或者单击“浏览”按钮,打开“浏览”对话框,选定所需要的图片文件。
4)单击“确定”按钮,图片即插入通用型字段的编辑窗口,按“关闭”按钮
,返回表记录编辑窗口。
当备通用字段的内容输入后,非空的通用型字段标志的首字母以大写显示为“Gen”。
当所有记录的字段内容都输入完毕后,按“关闭”按钮
,关闭表记录编辑窗口。
用同样的方法创建成绩表(Grade.dbf)、课程表(Course.dbf)、授课表(Teach.dbf)和教师表(Teacher.dbf)。
3.添加数据库表
【实例3-3】将学生表(Student.dbf)、成绩表(Grade.dbf)、课程表(Course.dbf)、授课表(Teach.dbf)和教师表(Teacher.dbf)添加到“学生成绩.cdx”数据库中,使之成为数据库表。
操作步骤如下:
(1)打开“学生成绩.cdx”数据库。
(2)右击“数据库设计器”窗口,在弹出的快捷菜单中选择“添加表”命令,或者选择“数据库”菜单中的“添加表”命令,或者单击“数据库设计器”工具栏中“添加表”按钮
,都会弹出“打开”对话框,如图4-18所示。
图4-18 “打开”对话框
(2)在“打开”对话框中,选择要添加的“Student.dbf”表,然后单击“确定”按钮,所选定的表即添加到“数据库设计器”窗口中。
(3)重复以上的操作,将前面所建的与学生成绩相关的表都添加到“数据库设计器”窗口中,如图4-19所示。
图4-19 添加表文件后的“数据库设计器”
4.编辑数据库表
【实例3-4】在“项目管理器”中打开学生表(Student.dbf),然后进行如下编辑:
(A)修改表的结构,(B)浏览和修改表记录,(C)追加新记录,(D)删除记录。
操作步骤如下:
(1)修改表结构
修改表结构就是指插入字段、删除字段和调整字段的排列顺序等操作,修改表结构是在“表设计器”中进行。
1)打开“表设计器”
在“项目管理器”中将数据库展开至表,选择要操作的学生表(Student.dbf),如图4-20所示。
图4-20 在项目管理器中选择表
单击“修改”按钮,打开“表设计器”,如图4-21所示。
图4-21 学生表(Student.dbf)的结构
2)插入字段
单击选定要插入位置的某个字段,再单击“插入”按钮,则在选定字段之前插入一个新的字段,然后输入新字段的名称、类型、宽度等属性值。
3)删除字段
单击选定要删除的字段,再单击“删除”按钮。
4)调整字段的顺序
在表设计器字段名的左边,有一排纵向排列的方形按钮。
鼠标单击其中的某个按钮,该按钮即被激活并出现上下箭头的符号
,按住鼠标左键将按钮沿上下方向拖到新的位置,该按钮所在行的字段就被移到了新的位置。
(2)浏览和修改表记录
1)打开浏览窗口
①在“项目管理器”中将数据库展开至表,选择要操作的学生表(Student.dbf),如图4-20所示。
②单击“浏览”按钮,打开浏览窗口,如图4-22所示。
图4-22 学生表(Student.dbf)的“浏览”窗口
(3)追加新记录
选择“显示”菜单中的“追加方式”命令,插入点即移到“浏览”窗口尾记录下面的空记录上,用户可连续追加新记录数据。
(4)删除记录
删除表记录分为两步:
先逻辑删除,然后物理删除。
逻辑删除只是在记录旁作删除标记(黑色小方块),必要时还可以撤消删除标记恢复记录;物理删除是真正删掉表中记录。
1)逻辑删除记录
在浏览窗口中,单击要删除的记录左边的小方框,被逻辑删除的记录的左侧出现删除标记,如图4-23所示。
图4-23 逻辑删除记录
2)物理删除记录
选择“表”菜单中的“彻底删除”命令,即弹出提示框,询问是否从表中移去已标记为逻辑删除的记录,回答“是”,即完成记录的物理删除。
5.建立索引
(1)建立单关键字索引
【实例3-5】在学生表(Student.dbf)中,建立三个索引,要求以“学号”字段为“主索引”关键字,按升序排列;“出生日期”为“普通索引”,按降序排列;“奖学金”为“普通索引”,按升序排列。
操作步骤如下:
(1)打开学生表Student.dbf。
(2)打开“表设计器”,并选择“字段”选项卡,单击“学号”字段,在索引下拉列表中选择“升序”。
用同样的方法设置“出生日期”字段为降序索引,“奖学金”字段为升序索引,如图4-24所示。
图4-24 指定索引字段和索引顺序
在“字段”选项卡中,可以指定某些字段是否是索引项及索引的顺序,但不能指定索引的类型。
3)选择“索引”选项卡,出现“索引”页面。
单击“学号”字段,并单击“类型”右侧的下拉按钮
,在类型下拉列表中选择“主索引”。
用同样的方法设置“出生日期”字段和“奖学金”字段的索引类型为普通索引,如图4-25所示。
图4-25 选择索引类型
4)单击“确定”按钮,这时系统会自动比较当前的设置是否违反索引关键字设定的规则,并弹出提示框,单击“是”按钮即可。
6.建立表间联系
【实例3-6】在“数据库设计器”中打开“学生成绩.dbc”,建立如图4-26所示的表间永久联系。
操作步骤如下:
(1)建立索引
为了建立数据库表之间的联系,首先要为数据库表建立索引。
若要建立“一对一”关联。
则父表和子表的索引都必须是主索引或者候选索引;若要建立“一对多”关联。
则父表索引必须是主索引或者候选索引,子表的索引是普通索引。
在学生表Student.dbf中,建立“学号”字段的“主索引”;在成绩表Grade.dbf中,建立“学号”和“课程号”字段的“普通索引”;在课程表Course.dbf中,建立“课程号”字段的“主索引”;在授课表Teach.dbf中,建立“课程号”字段的“主索引”,“教工号”字段的“普通索引”;教师表Teacher.dbf中,建立“教工号”字段的“主索引”。
(2)建立表间联系
打开“学生成绩”数据库,在“数据库设计器”窗口中,显示该数据库所包含的5个表。
按住鼠标把“一”方表的索引拖放到另一个“一”方表的索引上,或者把“一”方表的索引拖放到“多”方表的索引上,两表之间就出现了一条关系连线,其中不带分岔的一端表示联系中的“一”方,带有三分岔的一端表示联系中的“多”方。
如图4-26所示。
图4-26 建立表间联系
(3)删除表间联系
鼠标左键单击表之间的连线,连线变粗,表示选定了该连线。
鼠标右键单击选定的连线,弹出快捷菜单,如图4-26所示。
选择其中的“删除关系”命令,则取消表间的联系。
(三)实验要求
1.在上机实验前,认真学习VisualFoxPro程序设计教材中与本实验课题相关的内容。
2.完成以下实验作业:
(1)设置字段有效性规则,要求“学号”字段不能为空。
【提示】
1)打开学生表Student.dbf。
2)打开“表设计器”对话框,并选择“字段”选项卡。
3)选定“学号”字段。
4)在“字段有效性”选项组的“规则”框中,输入:
.NOT.EMPTY(学号)
5)在“字段有效性”选项组的“信息”框中,输入:
"学号不能为空!
"
6)单击“确定”按钮,保存所作的设置。
7)打开“浏览”窗口。
8)执行“显示”菜单中的“追加”方式命令,输入一条“学号”字段为空的记录,单击另一条记录,VFP即对追加的记录进行字段有效性规则检验。
(2)在课程表Course.dbf中,设置记录有效性规则,学生要修满18个课时(含18个课时)才能给一个学分。
【提示】
1)打开课程表Course.dbf。
2)打开“表设计器”对话框,并选择“表”选项卡。
3)在“记录有效性”选项组的“规则”框中,输入:
学分<=课时/18
5)在“记录有效性”选项组的“信息”框中,输入提示信息:
"不少于18课时才能给一个学分!
"。
6)单击“确定”按钮,保存所作的设置。
7)打开“浏览”窗口。
8)将“课程号”为C006、“课时”为18的记录的“学分”值改为4,然后将插入点移到其他记录上,观察VFP如何进行记录有效性规则检验。
(3)检索表记录数据。
1)逐个查找并显示所有奖学金大等于200元的男学生的记录。
【提示】
在命令窗口中键入:
USEStudent
LOCATEFOR奖学金>=200AND性别="男"
DISPLAY
CONTINUE
DISPLAY
CONTINUE
DISPLAY
2)索引检索1980年11月5日出生的学生。
【提示】
在命令窗口中键入:
INDEXON出生日期TAGRQ
SEEK{^1980-11-05}
DISPLAY
3)列出姓名中含有“明”字的学生的信息。
【提示】
在命令窗口中键入:
LISTFOR"明"$姓名
(4)表数据统计。
1)统计所有男学生的奖学金总额。
【提示】
在命令窗口中键入:
USEStudent
SUM奖学金FOR性别="男"TOMEN
?
MEN
2)求姓“刘”的学生的平均奖学金。
【提示】
在命令窗口中键入:
AVERAGE奖学金FOR姓名="刘"TOVMEN
?
VMEN
(5)先建立学生表Student.dbf和成绩表Grade.dbf之间的临时关联,然后显示学生的成绩信息。
【提示】
在命令窗口键入:
SELECT2&&选择2区为当前区
USEGrade&&在2区打开Grade.dbf表
SETORDERTO学号&&成绩表已按学号索引,现指定主控索引
SELECT1&&注意:
1区为当前区
USEStudent&&在1区打开Student.dbf表
SETRELATIONTO学号INTOB&&建立Student表到Grade表的临时关联
BROWSEFIELDS学号,姓名,专业,B.课程号,B.成绩&&非当前区的字段前要冠以表的别名