层次模型1非关系模型数据模型网络模型关系模型(1)非关系模型①层次模型:指用树型结构表示实体及其之间的联系,树中每一个节点代表一个记录类型,树状结构表示实体型之间的联系。RR21R22R31R33R32特点:a.有且仅有一个结点无父结点,这个结点即为树的根。b.其它结点有且仅有一个父结点,0到多个子结点。c.节点之间的关系是父子的一对多的联系。(例)家谱、单位部门、学院机构等。②网络模型:一种某一数据记录可与任意其他多个数据记录建立联系的有向图结构的数据模型。RIR2R3R5R7R6特点:a.可以有一个以上的结点无父结点。b.至少有一个子结点有一个以上的父结点。C.在两个结点之间有两个或两个以上的联系。(2)关系模型【关系模型】用二维表结构来表示实体以及实体之间联系的模型。每个二维表就是一个关系,关系模型是由若于个二维表格组成的集合。特点:概念描述单一,每一个关系就是一个二维表,无论实体本身还是实体之间的联系军用二维表表示。《例》某部门专门人才基本情况表姓名性别年龄甲女40男乙51男35丙女厅451.3关系数据库
( 1)非关系模 型 ① 层 次 模 型 : 指用树型结构表示实体及其之间的联系,树中每一个节点代表一 个记录类型,树状结构表示实体型之间的联系。 特点: a.有 且 仅 有 一 个 结 点 无父结点,这个结点即为树的根。 b.其 它 结 点 有 且 仅 有 一 个 父 结 点 , 0 到 多 个 子 结 点 。 c.节 点 之 间 的 关 系 是 父 子 的 一 对 多 的 联 系 。 〈例〉家谱、单位部门、学院机构等。 ②网络模型:一种某一数据记录可与任意其他多个数据记录建立联系的有向图结构 的数据模型。 特点: a.可 以 有 一 个 以 上 的 结 点 无 父 结 点 。 b.至少有一个子 结 点 有 一 个 以 上 的 父 结 点 。 c.在 两 个 结 点 之 间 有 两 个 或 两 个 以 上 的 联 系 。 ( 2)关系模型 【关系模型】用 二 维 表 结 构 来 表 示 实 体 以 及 实 体 之 间 联 系 的 模 型 。每 个 二 维 表 就 是 一 个 关 系 ,关 系 模 型 是 由 若 干 个 二 维 表 格 组 成 的集合。 特 点 :概 念 描 述 单 一 ,每 一 个 关 系 就 是 一 个 二 维 表 ,无 论 实 体 本 身 还 是 实体之间的联系军用二维表表示。 〈例〉 某 部 门 专 门 人 才 基 本 情 况 表 姓 名 性 别 年 龄 甲 乙 丙 丁 女 男 男 女 40 51 35 45 1.3 关系 数 据 库 数据模型 非关系模型 关系模型 层次模型 网络模型 R1 R21 R22 R31 R32 R33 R1 R2 R3 R4 R5 R6 R7
1.3.1关系术语1.关系一个关系就是一张二维表。通常将一个没有重复行、重复列的二维表看成一个关系,每一个关系有一个关系名。在VisualFoxPro中,一个关系存储为一个文件,文件的扩展名为.dbf,称为“表”。2.元组在一个二维表(一个具体的关系)中,水平方向的行称为元组,每一行是一个元组。元组对应存储文件中的一个具体记录。因此,元组也可以称之为记录。3.属性二维表中垂直方向的一列称之为关系的一个属性,也就是表中的一个字段,因此,属性也可以称之为字段。每一个属性都有一个名称,称之为属性名,在VisualFoxPro中表示为字段名。每个字段的数据类型、宽度等在创建表的结构时规定。每一个属性对应每一个元组都有相应的值,这个值称之为属性值。4.域每一个属性的取值范围称之为域,即不同元组对应同一个属性所能进行取值的所有可能性。如:学生表的性别字段只能从“男”、“女”两个汉字中取一;成绩表中某一课程的成绩值为0到100之间。5.主关键字主关键字也叫主键,是属性或者属性的组合,其值能够唯一地标识一个元组。在VisualFoxPro中表示为字段或字段的组合,如学生基本情况表中的学号可以作为主关键字,因为它能够唯一标识该表中的每一条记录,即表中不能有两个相同的学号出现。在VisualFoxPro中,主关键字和候选关键字都能起惟一标识一个元组的作用。6.外部关键字如果表中的一个字段不是本表的主关键字或候选关键字,而是另外一个表的主关键字或候选关键字,这个字段(属性)就称为外部关键字。7.关系模式对关系的描述称之为关系模式,一个关系模式对应一个关系的结构,可以表示为:关系名(属性1,属性2,….属性n)在VisualFoxPro中表示为表的结构:表名(字段名1,字段名2,**字段名n)如“学生基本情况表”的关系模式为:学生基本情况表(学号,姓名,性别,出生日期,民族,专业,系别,照片,备注)。1.3.2关系的特点(1)一个关系中的任意两个元组不能相同:(2)关系的每一列都必须有不同的名字:(3)列是同质的,即关系的每一列都是同类型的数据;(4)关系的行、列的次序不影响其信息内容,可以任意交换:(5)关系的每一个分量都必须是不可以分的基本数据项;(6)每一个关系都有一个关键字唯一标识它的元组。1.3.3关系运算
1 .3 .1 关 系 术 语 1.关系 一个关系就是一张二维表。通常将一个没有重复行、重复列的二维表看成一个关 系,每一个关系有一个关系名。在 Visual FoxPro 中,一个关系存储为一个文件,文 件的扩展名为.dbf,称为“表”。 2.元组 在一个二维表(一个具体的关系)中,水平方向的行称为元组,每一行是一个元 组。元组对应存储文件中的一个具体记录。因此,元组也可以称之为记录。 3.属性 二维表中垂直方向的一列称之为关系的一个属性,也就是表中的一个字段,因此, 属性也可以称之为字段。每一个属性都有一个名称,称之为属性名,在 Visual FoxPro 中表示为字段名。每个字段的数据类型、宽度等在创建表的结构时规定。每一个属性 对应每一个元组都有相应的值,这个值称之为属性值。 4.域 每一个属性的取值范围称之为域,即不同元组对应同一个属性所能进行取值的所 有可能性。如:学生表的性别字段只能从“男”、“女”两个汉字中取一;成绩表中某 一课程的成绩值为 0 到 100 之间。 5.主关键字 主关键字也叫主键,是属性或者属性的组合,其值能够唯一地标识一个元组。在 Visual FoxPro 中表示为字段或字段的组合,如学生基本情况表中的学号可以作为主关 键字,因为它能够唯一标识该表中的每一条记录,即表中不能有两个相同的学号出现。 在 Visual FoxPro 中,主关键字和候选关键字都能起惟一标识一个元组的作用。 6.外部关键字 如果表中的一个字段不是本表的主关键字或候选关键字,而是另外一个表的主关 键字或候选关键字,这个字段(属性)就称为外部关键字。 7.关系模式 对关系的描述称之为关系模式,一个关系模式对应一个关系的结构,可以表示为: 关系名(属性 1,属性 2,„„属性 n) 在 Visual FoxPro 中表示为表的结构: 表名(字段名 1,字段名 2,„„字段名 n) 如“学生基本情况表”的关系模式为: 学生基本情况表(学号,姓名,性别,出生日期,民族,专业,系别,照片,备注)。 1 .3.2 关 系 的 特 点 ( 1) 一 个 关 系 中 的 任 意 两 个 元 组 不 能 相 同 ; ( 2) 关 系 的 每 一 列 都 必 须 有 不 同 的 名 字 ; ( 3) 列 是 同 质 的 , 即 关 系 的 每 一 列 都 是 同 类 型 的 数 据 ; ( 4) 关 系 的 行 、 列 的 次 序 不 影 响 其 信 息 内 容 , 可 以 任 意 交 换 ; ( 5) 关 系 的 每 一 个 分 量 都 必 须 是 不 可 以 分 的 基 本 数 据 项 ; ( 6) 每 一 个 关 系 都 有 一 个 关 键 字 唯 一 标 识 它 的 元 组 。 1 .3.3 关 系 运 算
关系模型由数据结构、关系操作集合和关系的完整性组成。关系模型把关系作为集合来进行操作(运算),参与操作的对象是集合,结果仍是集合。关系操作的能力可以用关系代数来表示,常用的有以下三种:(1)选择。选择就是从一张二维表中选择满足条件的元组或者记录,记做oF(R)。其中F代表条件,R代表一个关系。说明:①条件由逻辑表达式给出:②水平方向的选择,即行的选择操作;③结果是原关系的一个子集。(2)投影。投影是从关系R中选择若干列组成新的关系,记做IIA(R)。A为关系R中的若干列构成的集合。①垂直方向的选择,即列的选择操作。(3)连接。将两个关系(R、S)中的元组按一定条件横向结合拼接成一个新的关系,或者说是将两个数据表格中记录按一定的条件横向结合,拼接成一个新的数据表称为连接,记做RS。1.3.4关系完整性关系模型的完整性是对关系的一种约束条件。1.实体完整性实体完整性是指关系中的主关键字不能取空值和重复的值。空值(NULL)就是不确定或不知道的值。如学生成绩表中,学号为空值,而其它属性却有值,则该条记录无意义。2.参照完整性参照完整性是用来约束数据库中表与表之间的关系,它定义了外键与主键之间的引用规则。3.用户自定义完整性用户自定义完整性是指根据用户的实际需要,属性域的完整性的规定。1.3.5数据库设计步骤1.需求分析需求分析是明确设计数据库的目的和如何使用。包括信息需求、处理需求、安全性和完整性需求三个方面。要与数据库的使用人员多交流,耐心细致地了解现行业务处理流程,收集全部数据资料。只有对用户需求进行详尽分析,才有可能设计出满足用户应用需要的数据库应用系统。2.确定所需的表。这是技术性最强的一步。应当遵从概念单一化“一事一地”的原则,着手把需求信息划分成各个独立的实体,每个实体都可以设计为数据库中的一个表,避免设计大而杂的表。例如,应把学生信息保存到学生表中,把有关课程的信息保存到课程表中,把学生选课的信息和所选课程的成绩保存到选课表中。3.确定所需的字段确定在每个表中要保存哪些字段。通过对这些字段的显示或计算应能够得到所有需求的信息。除了保证表中有反映与其他表之间存在联系的外部关键字之外,尽量避免在表之间出现重复字段,这样做的目的是使数据余尽量小,防止在插入、删除和
关系模型由数据结构、关系操作集合和关系的完整性组成。关系模 型 把 关 系 作 为 集 合 来 进 行 操 作 ( 运 算 ), 参 与 操 作 的 对 象 是 集 合 , 结 果 仍 是 集 合 。关 系 操 作 的 能 力 可 以 用 关 系 代 数 来 表 示 ,常 用 的 有 以 下 三 种 : ( 1) 选 择 。 选 择 就 是 从 一 张 二 维 表 中 选 择 满 足 条 件 的 元 组 或 者 记 录 , 记做σ F(R)。其中 F 代表条件, R 代 表 一 个 关 系 。 说明: ①条件由逻辑表达式给出; ②水平方向的选择,即行的选择操作; ③结果是原关系的一个子集。 ( 2)投 影 。投 影 是 从 关 系 R 中 选 择 若 干 列 组 成 新 的 关 系 ,记 做 ∏ A( R)。 A 为关系 R 中 的 若 干 列 构 成 的 集 合 。 ①垂直方向的选择,即列的选择操作。 ( 3)连接。 将 两 个 关 系 ( R、 S) 中 的 元 组 按 一 定 条 件 横 向 结 合 拼 接 成 一 个 新 的 关 系 , 或 者 说 是 将 两 个 数 据 表 格 中 记 录 按 一 定 的 条 件 横 向结合,拼接成一个新的数据表称为连接,记做 RS。 1 .3.4 关 系 完 整 性 关系模型的完整性是对关系的一种约束条件。 1.实体完整性 实体完整性是指关系中的主关键字不能取空值和重复的值。空值(NULL)就是 不确定或不知道的值。如学生成绩表中,学号为空值,而其它属性却有值,则该条记 录无意义。 2.参照完整性 参照完整性是用来约束数据库中表与表之间的关系,它定义了外键与主键之间的 引用规则。 3.用户自定义完整性 用户自定义完整性是指根据用户的实际需要,属性域的完整性的规定。 1 .3.5 数 据 库 设 计 步 骤 1.需求分析 需求分析是明确设计数据库的目的和如何使用。包括信息需求、处理需求、安全 性和完整性需求三个方面。要与数据库的使用人员多交流,耐心细致地了解现行业务 处理流程,收集全部数据资料。只有对用户需求进行详尽分析,才有可能设计出满足 用户应用需要的数据库应用系统。 2.确定所需的表。 这是技术性最强的一步。应当遵从概念单一化“一事一地”的原则,着手把需求 信息划分成各个独立的实体,每个实体都可以设计为数据库中的一个表,避免设计大 而杂的表。例如,应把学生信息保存到学生表中,把有关课程的信息保存到课程表中, 把学生选课的信息和所选课程的成绩保存到选课表中。 3.确定所需的字段 确定在每个表中要保存哪些字段。通过对这些字段的显示或计算应能够得到所有 需求的信息。除了保证表中有反映与其他表之间存在联系的外部关键字之外,尽量避 免在表之间出现重复字段,这样做的目的是使数据冗余尽量小,防止在插入、删除和
更新时造成数据的不一致。例如,在课程表中有了课程名字段,在选课表中就不应再有课程名字段,需要时可以通过两个表的联接找到。4.确定表间关系对每个表进行分析,确定一个表中的数据和其他表中的数据有何联系。表之间的关联依靠外部关键字来维系,必要时,可在表中加入字段或创建一个新表来明确联系。表间关系分为以下几种:一对多关系、多对多关系、一对一关系(最常用的是一对多关系)。5.设计优化对设计进一步分析,查找其中的错误。创建表,在表中加入几个示例数据记录,看能否从表中得到想要的结果。需要时可调整设计。第2章VisualFoxPro系统初步2.1 visual FoxPro 6.01.增强的项目及数据库管理2.提高了应用程序的开发效率3.互操作性和支持网络应用4.充分利用已有数据5.与其他应用程序的数据共享2.2VisualFoxPro的使用初步安装VisualFoxPro6.0的具体步骤如下:步骤1:将VisualFoxPro6.0的安装光盘放入光驱,执行光盘中的“Setup.exe文件,启动VisualFoxPro6.0安装向导,如图2-1所示,单击【下一步】按钮。步骤2:根据安装向导的提示,接受“软件《最终用户许可协议》”,如图2-2所示,单击【下一步】按钮。步骤3:输入正确的产品ID号,输入用户的姓名和公司名称,如图2-3所示,单击【下一步】按钮。图2-3输入产品ID步骤4:系统默认的安装中路径为C:\ProgramFilesMicrosoftVisualStudiolCommon文件夹,用户可单击浏览按钮,或直接在选择公用的文件夹)文本框中修改安装路径。如图2-4所示,设置完成,单击【下一步】按钮。步骤5:安装向导会提示是“典型安装”还是“自定义安装”,如图2-5所示。一般选择“典型安装”。如果选择了“自定义安装”,向导还会提示所需要安装的组件。图2-5选择安装类型步6:接下来安装程序会进行文件的复制。文件复制完后VisualFoxPro6.0安装完成。步骤7:安装向导会提示安装MSDN库。如图2-6所示。MSDN库中包含了VisualFoxPro6.0的联机帮助文档和示例,用户可根据需要进行安装。如需安装可勾选【安装MSDN】复选框,单击【下一步】按钮进入下一步
更新时造成数据的不一致。 例如,在课程表中有了课程名字段,在选课表中就不应再有课程名字段,需要时 可以通过两个表的联接找到。 4.确定表间关系 对每个表进行分析,确定一个表中的数据和其他表中的数据有何联系。表之间的 关联依靠外部关键字来维系,必要时,可在表中加入字段或创建一个新表来明确联系。 表间关系分为以下几种:一对多关系、多对多关系、一对一关系(最常用的是一对多 关系)。 5.设计优化 对设计进一步分析,查找其中的错误。创建表,在表中加入几个示例数据记录, 看能否从表中得到想要的结果。需要时可调整设计。 第 2 章 Visual FoxPro 系统初步 2 .1 V isu al F oxP ro 6. 0 1.增强的项目及数据库管理 2.提高了应用程序的开发效率 3.互操作性和支持网络应用 4.充分利用已有数据 5.与其他应用程序的数据共享 2 .2 V isu al F oxP ro 的 使 用 初 步 安装 Visual FoxPro 6.0 的具体步骤如下: 步骤 1:将 Visual FoxPro 6.0 的安装光盘放入光驱,执行光盘中的“Setup.exe” 文件,启动 Visual FoxPro 6.0 安装向导,如图 2-1 所示,单击【下一步】按钮。 步骤 2:根据安装向导的提示,接受“软件《最终用户许可协议》”,如图 2-2 所 示,单击【下一步】按钮。 步骤 3:输入正确的产品 ID 号,输入用户的姓名和公司名称,如图 2-3 所示, 单击【下一步】按钮。 图 2-3 输入产品 ID 步骤 4:系统默认的安装中路径为 C:\Program Files\Microsoft Visual Studio\Common 文件夹,用户可单击【浏览】按钮,或直接在【选择公用的文件夹】 文本框中修改安装路径。如图 2-4 所示 ,设置完成,单击【下一步】按钮。 步骤 5:安装向导会提示是“典型安装”还是“自定义安装”,如图 2-5 所示。 一般选择“典型安装”。如果选择了“自定义安装”,向导还会提示所需要安装的组件。 图 2-5 选择安装类型 步骤 6:接下来安装程序会进行文件的复制。文件复制完后 Visual FoxPro 6.0 安装完成。 步骤 7:安装向导会提示安装 MSDN 库。如图 2-6 所示。MSDN 库中包含了 Visual FoxPro 6.0 的联机帮助文档和示例,用户可根据需要进行安装。 如需安装可勾选【安 装 MSDN】复选框,单击【下一步】按钮进入下一步
步骤8:安装向导提示可通过Web注册VisualFoxPro6.0,如图2-7所示。勾选【现在注册】复选框可进行注册,单击【完成】按钮,结束安装。2.2.2VisualFoxPro的启动和退出1.VFP的启动在Windows中启动VisualFoxPro6.0的方法与启动其他应用程序相同。方法1:依次单击【开始】八【程序】【MicrosoftVisualFoxPro6.o】八MicrosoftVisualFoxPro6.0】菜单项即可:方法2:双击桌面上的VFP6.0图标。2.VFP的退出采用以下方法之一就可以退出VFP。方法1:按组合键【Alt+F4】。方法2:在命令窗口中输入【quit】,然后回车。方法3:选择【文件】菜单中的【退出】命令。方法4:双击左上角的控制图标。方法5:单击右上角【关闭】按钮≥。2.2.3VisualFoxPro的系统界面启动VisualFoxPro6.0后,就进入如图2-9所示的系统主界面。标题栏口区licrosoft Visual FoxPro菜单栏文件编错)量采(格式)工具)程)窗口帮助eaea工具栏金今0D×命令窗口系统工作区1状态栏图2-9VisualFoxPro6.0系统界面VisualFoxPro6.0系统界面由标题栏、菜单栏、工具栏、系统工作区、命令窗口、状态栏六部分组成。1.标题栏“标题栏”位于软件主窗口的顶部,显示VFP的系统图标、名称和三个常用的按钮(最小化、最大化/还原、关闭)。2.菜单栏(主菜单)“菜单栏”位于“标题栏”下方,它提供了多种菜单项供用户选择。VFP菜单不是静止不变的,它是一个动态菜单,会根据当前操作的状态来增加、减少或者改变菜单选项。3.工具栏“工具栏”位于“菜单栏”的下方,它是由若干个常用工具按钮组成。除常用工具栏以外VFP还有若干个其它的工具栏,它们会随着某一类型的文件打开后自动打
步骤 8:安装向导提示可通过 Web 注册 Visual FoxPro 6.0,如图 2-7 所示。勾 选【现在注册】复选框可进行注册,单击【完成】按钮,结束安装。 2.2.2 Visual FoxPro 的启动和退出 1.VFP 的启动 在 Windows 中启动 Visual FoxPro 6.0 的方法与启动其他应用程序相同。 方法 1:依次单击【开始】\【程序】\【Microsoft Visual FoxPro 6.0】\【Microsoft Visual FoxPro6.0】菜单项即可; 方法 2:双击桌面上的 VFP 6.0 图标。 2.VFP 的退出 采用以下方法之一就可以退出 VFP。 方法 1:按组合键【Alt+F4】。 方法 2:在命令窗口中输入【quit】,然后回车。 方法 3:选择【文件】菜单中的【退出】命令。 方法 4:双击左上角的控制图标。 方法 5:单击右上角【关闭】按钮 。 2.2.3 Visual FoxPro 的系统界面 启动 Visual FoxPro 6.0 后,就进入如图 2-9 所示的系统主界面。 图 2-9 Visual FoxPro 6.0 系统界面 Visual FoxPro 6.0 系统界面由标题栏、菜单栏、工具栏、系统工作区、命令窗 口、状态栏六部分组成。 1.标题栏 “标题栏”位于软件主窗口的顶部,显示 VFP 的系统图标、名称和三个常用的按 钮(最小化、最大化/还原、关闭)。 2.菜单栏(主菜单) “菜单栏”位于“标题栏”下方,它提供了多种菜单项供用户选择。VFP 菜单不 是静止不变的,它是一个动态菜单,会根据当前操作的状态来增加、减少或者改变菜 单选项。 3.工具栏 “工具栏”位于“菜单栏”的下方,它是由若干个常用工具按钮组成。除常用工 具栏以外 VFP 还有若干个其它的工具栏,它们会随着某一类型的文件打开后自动打