资源预览内容
第1页 / 共79页
第2页 / 共79页
第3页 / 共79页
第4页 / 共79页
第5页 / 共79页
第6页 / 共79页
第7页 / 共79页
第8页 / 共79页
第9页 / 共79页
第10页 / 共79页
亲,该文档总共79页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2019/1/29,第三章 数据库、表及其操作,1,本章内容简介 本章介绍数据库与数据表的设计、创建、使用及表属性的设置。 学习目标 理解关系型数据库保存数据的特点,重点掌握数据库中表间的联系,学习数据库与数据表的设计、建立与使用的方法,学会在Visual FoxPro中操作数据库与数据表。 通过对本章学习,理论上要求能深入地理解关系型数据 库的特点,掌握设计数据库表的方法,理解索引的功能和数据完整性的意义。 学习切入点及方法 以数据管理的需求分析为切入点,通过分析数据库的表间联系来加深对关系型数据库的理解,多上机练习,掌握数据库与数据表的操作方法。 建议学时 课堂讲授8 10学时,上机15 20学时。另外学生在课后应有预习、复习及练习设计各种不同的数据库的时间。,2019/1/29,第三章 数据库、表及其操作,2,3.1 设计数据库 3.2 数据库的创建和操作 3.3 数据表的创建 3.4 数据表的基本操作 3.5 索引 3.6 数据完整性,2019/1/29,第三章 数据库、表及其操作,3,Visual FoxPro是一个关系数据库管理系统。 关系型数据库管理系统以表的形式管理所有的数据。 数据库:指存储在外存上的有结构的数据集合。 在Visual FoxPro中,数据库用于存储数据库表的属性,组织、关联表和视图,创建存储过程。,在Visual FoxPro中,表分为数据库表和自由表两类。 属于某一数据库的表称为数据库表; 不属于任何数据库而独立存在的表称为自由表。,2019/1/29,第三章 数据库、表及其操作,4,设计数据库一般包括以下几个基本过程: 1. 分析数据需求:确定需要数据库保存那些信息。 2. 确定需要的表:按不同的主题将信息分配到不同的数据表中。 3. 确定所需字段:确定每个表中要保存哪些信息。 4. 确定表间联系:分析数据库中的表间联系。 5. 完善设计:对设计进一步分析,查找错误,对设计方案进一步完善。,在数据库应用系统中,数据库的设计是一项非常重要的工作,数据库性能的优劣将直接影响到最终应用系统的性能。经过长期摸索,人们提出了数据库设计方法以及各种设计准则和规程,这就是规范化设计方案。,3.1设计数据库,2019/1/29,第三章 数据库、表及其操作,5,设计数据库,3.1.1 分析数据需求,数据库设计的第一步是明确数据库的使用目的。需要从数据库中得到哪些信息,数据库是作什么用途。明确目的之后,才可以确定需要保存哪些主题的信息(表),以及每个主题需要保存哪些信息(字段),这些主题之间的关系如何。,3.1.2 确定数据库表,在关系型数据库中,每一个关系都是一个二维表。在一个数据库中可以有若干个关联的二维表(关系)。,3.1.3 确定所需字段,字段:是表中最小的数据单位,决定了表中要保存的信息类型。 为了保证数据的不多余性且不遗漏信息,在确定表中所需字段时应考虑字段的唯一性、无关性及主关键字和外部关键字等要求。,2019/1/29,第三章 数据库、表及其操作,6,3.1.4 确定表间联系,Visual FoxPro将表间的联系归结为3种:一对一、一对多和多对多。,3.1.4.1 一对一联系,如果A表的一个记录在B表中只能对应一个记录,而B表中的一个记录在A表中也只能有一个记录与之对应,则两表之间就是一对一的联系。 例如:一个单位人事部的职工表和财务部的工资表就是一对一的联系。,2019/1/29,第三章 数据库、表及其操作,7,3.1.4 确定表间联系,3.1.4.2 一对多联系,如果对于A表中的任意一个记录,在B表中可以有多个记录与之对应,但反过来B表中的任意记录,在A表中只有一个记录与之对应,则两表之间就是一对多的联系。 在一对多联系中,位于“一”端的表称为父表,和父表关联的那个表为子表。父表也称为主表或主控表,子表又称为相关表或受控表。 在一对一或一对多联系中,位于“一”端的表中用于建立联系的字段必须是主关键字字段,而位于“多”端的表中用于建立联系的字段是外部关键字字段。,2019/1/29,第三章 数据库、表及其操作,8,3.1.4 确定表间联系,3.1.4.2 一对多联系,例如学校里的班级和学生:一个班级有多个学生,而一个学生只能在一个班级里,所以班级和学生之间就是一对多的联系。班级表和学生表通过编号建立起了一对多联系。,一对多关系示意图,2019/1/29,第三章 数据库、表及其操作,9,3.1.4 确定表间联系,3.1.4.3 多对多联系,如果A表的一个记录在B表中可以对应多个记录,同样B表中的一个记录在A表中也可以对应多个记录,则两表之间就是多对多的联系。 在设计数据库时,应将多对多联系分解成两个一对多联系,其方法就是在具有多对多联系的两个表之间创建第三个表。,用于分解多对多联系的表称为“纽带表”。因为它在两表之间起着纽带的作用,可以把两个表的主关键字都放在这个纽带表中。,纽带表可以只包含它所链接的两个表的主关键字,也可以包含其它信息。在纽带表中,两个字段连在一起就能使每个记录具有唯一值。,2019/1/29,第三章 数据库、表及其操作,10,3.1.4 确定表间联系,3.1.4.3 多对多联系,例如学校里的课程和学生:一门课程有多个学生学习,而一个学生也要学习多门课程,所以课程和学生之间就是多对多的联系。,因为学生学习的每门课程都有相应的成绩,可以通过成绩将课程和学生联系起来。 “成绩”表就是“学生”表和“课程”表之间的纽带表。,多对多关系的分解,2019/1/29,第三章 数据库、表及其操作,11,3.1.4 确定表间联系,3.1.4.3 多对多联系,多对多关系分解成两个一对多关系的分解示意图,2019/1/29,第三章 数据库、表及其操作,12,3.1.5 完善数据库设计,在试验最初的数据库时,很可能会发现需要改进的地方。 是否遗忘了字段?是否有需要的信息没有包括进去?如果是, 是否属于已创建的表?如果不在创建的表中,需要另外创建一个表。 是否为每个表选择了合适的主关键字?在使用主关键字查找记录 时,它是否很容易记忆和输入?要确保主关键字值不会出现重复。 是否在某个表中重复输入了同样的信息?如果是,需要考虑将 此表分成两个一对多联系的表。 是否有字段很多、记录却很少的表,而且许多记录中的字段值为 空?如果是,要考虑重新设计该表,使它的字段减少,记录增多。,2019/1/29,第三章 数据库、表及其操作,13,3.1.6 示例数据库:“世界杯”,数据需求:,存放各届足球世界杯举办的时间、地点、参赛队以及冠军、最佳球员、最佳射手归属等方面的信息。,可以查出每届的参赛队成绩、每届的冠军、最佳球员、最佳射手的信息;以及每个参赛队参赛次数、参赛成绩等信息。,设计要求:,数据表信息如下:,2019/1/29,第三章 数据库、表及其操作,14,字段及主关键字:,届次、日期、举办国、队数、冠军、点球决胜、举办背景、照片。,参赛队、地区、备注。,届次、参赛队、成绩。,届次、姓名、国籍。,“基本信息”,“参赛队”,“参赛成绩”,“最佳球员”,“最佳射手”,届次、姓名、国籍、进球数。,3.1.6 示例数据库:“世界杯”,2019/1/29,第三章 数据库、表及其操作,15,世界杯数据库中各表间关系,表间关系:,3.1.6 示例数据库:“世界杯”,2019/1/29,第三章 数据库、表及其操作,16,创建数据库的常用方法有以下3种: 1. 在“项目管理器”中创建数据库; 2. 使用“文件”菜单的“新建”命令创建数据库; 3. 在“命令”窗口中输入创建数据库的命令。 Visual FoxPro数据库文件的扩展名是.DBC。建立.DBC文件的同时, 自动建立.DCT (备注)和.DCX(索引)文件。,3.2 数据库的建立和操作,3.2.1 创建数据库,2019/1/29,第三章 数据库、表及其操作,17,例如,在项目管理器中创建数据库。 在前面已创建的“世界杯”项目中创建数据库的操作步骤如下: 在“世界杯”项目中选择“数据”选项,选择“数据库”,单击“新建” 按钮,打开“新建数据库”对话框。 在“新建数据库”对话框中单击“新建数据库”按钮 ,打开“创建”对 话框。 在“创建”对话框的“数据库名”文本框中输入“世界杯”作为数据库 文件的名称;选择保存数据库文件的文件夹“D:世界杯”;保存类型为默 认的“数据库(*.DBC)”。 单击“保存”按钮,打开“数据库设计器”对话框。,3.2 数据库的建立和操作,3.2.1 创建数据库,2019/1/29,第三章 数据库、表及其操作,18,3.2.2 操作数据库,3.2.2.1 在项目中添加/移出数据库,3.2.2.2 打开/关闭数据库,3.2.2.3 打开数据库设计器,“数据库设计器”窗口是一个带有工具栏的设计窗口。“数据库设计器”工具栏一般随 “数据库设计器”窗口同时打开,如果“数据库设计器”工具栏没有打开,可选“显示”菜单下的“工具栏”命令,在“工具栏”对话框中选中“数据库设计器”工具栏将其打开。,“数据库设计器”和 “数据库设计器”工具栏,3.2.2.4 给数据库添加注释,3.2.2.5 使用多个数据库,3.2.2.6 数据库错误,2019/1/29,第三章 数据库、表及其操作,19,3.2.2.7 操作数据库的常用命令,3.2.2 操作数据库,建立数据库:CREATE DATABASE 打开数据库:OPEN DATABASE 打开数据库设计器:MODIFY DATABASE 设置当前数据库:SET DATABASE TO 显示当前数据库结构:DISPLAY DATABASE 关闭数据库:CLOSE DATABASE ALL 删除数据库:DELETE DATABASE ,2019/1/29,第三章 数据库、表及其操作,20,3.3 数据表的创建,前面建立的“世界杯”数据库还是一个空数据库。 在使用“世界杯”数据库之前,需要先将前面为这个数据库设计的的5个表:“基本信息”、“参赛队”、“参赛成绩”、“最佳射手”和“最佳球员”表建立起来。,在Visual FoxPro中,创建一个新表分为两个步骤: 步骤一:创建表的结构。即说明表包含哪些字段,每个 字段的长度及数据类型等。 步骤二:输入记录。即向表中输入数据。,2019/1/29,第三章 数据库、表及其操作,21,3.3 数据表的创建,3.3.1 建立表结构,3.3.1.1 表的特征,表可存储若干条记录。 每条记录可以有若干个字段,而且每条记录的字段结构相同,也就是具有相同的字段名、字段类型和字段顺序。 字段可以是不同的类型,以便存储不同类型的数据。 记录中每个字段的顺序与存储的数据无关。 每条记录在表中的顺序与存储的数据无关。,2019/1/29,第三章 数据库、表及其操作,22,3.3 数据表的创建,3.3.1 建立表结构,3.3.1.2 设计字段属性,一个表中的所有字段组成了表的结构,字段属性决定了表的结构。 字段属性包括:字段名称、类型、宽度、小数位数及是否允许为空。,字段类型说明,2019/1/29,第三章 数据库、表及其操作,23,3.3 数据表的创建,3.3.1 建立表结构,3.3.1.3 创建数据库表,可以使用以下3种方法启动数据库表的创建: 方法一:在“项目管理器”中选择“数据库” 的“表”选项,单击“新建”按钮,即可创建属于该数据库的数据库表。 方法二:在“数据库设计器”中,从“数据库”菜单中选择“新建表”命令或单击“数据库设计器”工具栏上的“新建表”按钮。 方法三:选择“文件”菜单中的“打开”命令打开数据库,然后再选择“文件”菜单中的“新建”命令来创建表,此时创建的新表自动成为当前数据库中的数据库表。,2019/1/29,第三章 数据库、表及其操作,24,3.3 数据表的创建,3.3.1 建立表结构,3.3.1.3 创建数据库表,采用前述3种方法,都将进入创建方法选择框,可以选择表向导或表设计器来创建数据库表。,下面
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号