第4章 数据库的设计

合集下载

数据库原理与应用第四章

数据库原理与应用第四章

说明:
函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。 函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。 例如“姓名→年龄”这个函数依赖只有在不允许有同名人的条件下成立 数据库设计者可以对现实世界作强制的规定。例如规定不允许同名人出现,函数依赖“姓名→年龄”成立。所插入的元组必须满足规定的函数依赖,若发现有同名人存在, 则拒绝装入该元组。
四、关系模式的简化表示
关系模式R(U, D, DOM, F) 简化为一个三元组: R(U, F) 当且仅当U上的一个关系r 满足F时,r称为关系模式 R(U, F)的一个关系
五、数据依赖对关系模式的影响
例:描述学校的数据库:
学生的学号(Sno)、所在系(Sdept) 系主任姓名(Mname)、课程名(Cname) 成绩(Grade) 单一的关系模式 : Student <U、F> U ={ Sno, Sdept, Mname, Cname, Grade }
汇报时间:12月20日
Annual Work Summary Report
一、概念回顾
关系:描述实体、属性、实体间的联系。 从形式上看,它是一张二维表,是所涉及属性的笛卡尔积的一个子集。 关系模式:用来定义关系。 关系数据库:基于关系模型的数据库,利用关系来描述现实世界。 从形式上看,它由一组关系组成。 关系数据库的模式:定义这组关系的关系模式的全体。
4.2.2 码
定义5.4 设K为关系模式R<U,F>中的属性或属性组合。若K f U,则K称为R的一个侯选码(Candidate Key)。若关系模式R有多个候选码,则选定其中的一个做为主码(Primary key)。 主属性与非主属性 ALL KEY

第4章习题与解答

第4章习题与解答

第4章数据库和数据仓库4.1本章知识框架与学习要求数据库技术是数据管理的最新技术,是计算机科学的重要分支。

它已经成为先进信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。

数据库已经成为人们存储数据、管理信息、共享资源的最先进最常用的技术。

认识和掌握有关的数据库技术对学好本课程具有重要作用。

本章主要介绍了数据库技术的相关概念包括数据的组织层次、数据模型、信息模型、关系规范化等,以及数据库的设计方法,数据库仓库和数据挖掘的概念。

4.1.1 知识框架与学习要求一、数据的描述与组织(掌握)(一)三个世界1.现实世界2.信息世界3.计算机世界(二)数据组织的层次1.数据项(字段)2.记录3.数据文件4.数据库二、数据库管理技术(一)数据管理的发展(了解)1.简单应用阶段2.文件系统阶段3.数据库系统阶段(二)数据库管理系统(掌握)1.数据库系统(DBS)2.数据库管理系统(DBMS)(1)数据库的定义功能(2)数据库的操作功能(3)数据库的保护功能(4)数据库的维护功能(5)数据的存储管理三、数据模型(掌握)(一)信息模型(概念模型)1.信息模型的要素2.两个实体集之间联系的分类3.实体联系模型(E-R模型)(二)数据模型1.数据模型的三要素2.数据模型与信息模型的关系3.三种主要的数据模型(1)层次模型(Hierarchical Model)(2)网状模型(Network Model)(3)关系模型(Relational Model)(三)概念模型向关系模型的转换(四)关系的规范化1.第一范式(1NF)2.第二范式(2NF)3.第三范式(3NF)五、数据库设计(掌握)(一)数据库设计方法简述(二)数据库设计步骤六、数据仓库和数据挖掘(了解)(一)数据仓库1.数据仓库的概念2.数据仓库和数据库的区别3.数据仓库的特性4.数据仓库的基本结构5.数据仓库工具的组成(二)数据挖掘1.数据挖掘的概念2.数据仓库与数据挖掘的关系4.1.2 学习重点本章重点掌握以下几方面的内容:1.三个世界即现实世界、信息世界、计算机世界的特点及区别与联系;2.人工管理阶段、文件系统阶段及数据库系统阶段应用程序与数据关系的区别;3.数据库管理系统功能4.信息(概念)模型的要素、E-R模型的绘制方法;5.数据模型的三要素、数据模型与信息模型的关系、关系模型;6.概念模型向关系模型的转换;7.数据库设计方法和步骤4.2 教材习题与解答4.2.1 习题一、名词解释1.数据库2.记录3.DBMS4.DBS5.概念模式6.数据模型7.概念模型8.键或码9.数据操作10.1NF 11. 2NF 12.3NF 13.关系14.关系模式15.数据仓库16.数据挖掘二、简答题1. 数据库系统组织数据的特点是什么?2. 数据库系统与文件系统的区别是什么?3. 数据管理经历了哪几个阶段?各个阶段的特点是什么?4. 数据模型的三要素是什么?5. 数据库管理系统的主要功能是什么?6. 信息模型的要素有哪些?7. 试述概念模式在数据库中的重要地位。

第四章 数据库设计基础——关系运算

第四章 数据库设计基础——关系运算

3. 交(Intersection) )
R和S
具有相同的目n 相应的属性取自同一个域
R∩S
仍为n目关系,由既属于R又属于S的元组组成 R∩S = { t|t ∈ R∧t ∈S } R∩S = R –(R-S)
An Introduction to Database System
交 (续) 续
An Introduction to Database System
(c)
An Introduction to Database System
1. 选择(Selection) 选择( )
1) 选择又称为限制(Restriction) 2) 选择运算符的含义 在关系R中选择满足给定条件的诸元组 σF(R) = {t|t∈R∧F(t)= '真'} F:选择条件,是一个逻辑表达式,基本形式为:
学生-课程数据库: 学生关系Student、课程关系Course和选修关系SC
Student
学号 Sno 200215121 200215122 200215123 200215125 姓名 Sname 李勇 刘晨 王敏 张立 性别 Ssex 男 女 女 男 (a) 年龄 Sage 20 19 18 19 所在系 Sdept CS IS MA IS
An Introduction to Database System
(b)
专门的关系运算(续 专门的关系运算 续)
SC
学号 Sno 200215121 200215121 200215121 200215122 200215122 课程号 Cno 1 2 3 2 3 成绩 Grade 92 85 88 90 80
200215121 200215121 200215122 200215122

数据库原理与SQL Sever2000第四章 数据库设计

数据库原理与SQL Sever2000第四章 数据库设计

管理01
4.2数据库逻辑设计
描述内部数据:一般从输入端向输出端推进。当经过 使数据流的组成或数值发生变化的地方,用一个“加 工”将其连接起来。要求: 1)不能把相互无关的数据画成一个数据流
2)不能 把作为一个处理单位的数据画成两个数据流。
如“图书管理系统”的内部数据流动图4-6表示:
管理01
4.2数据库逻辑设计
物理设计大部分工作都是由DBMS完成,只有少量的工作 可由用户选择或者干预。
管理01
4.4应用程序与系统的运行和维护
4.4.1应用程序设计
1、应用程序设计以数据库逻辑设计为基础 2、设计方法:
建立工作界面 程序按功能模块化 通过控制模块统一调度各功能模块 追求程序可读性
3、程序编码 4、程序调试
管理01
管理01
4.6信息系统开发
4.6.5系统维护评价阶段(P82)
1.
系统维护的目标
系统能正常运行、系统资源能有效利用;系统不断 完善;系统功能得以扩充;系统效率得到提高
2.
系统维护的任务
维护任务包括:程序、数据文件、代码、机器与设 备等。
3.
系统评价的内容
管理01
4.7小结
系统的开发过程 数据库的设计过程
明确用户要求,是数据库设计的关键。分析用户 要求分四个步骤: 分析用户活动 确定系统范围 分析用户活动所涉及的数据 分析系统数据
管理01
4.2数据库逻辑设计
[例4-1]某图书馆要求数据库支持以下数据处理:办理借 书证、查询馆藏图书、查询逾期读者、丢失图书罚款。 1、分析用户活动
管理01
4.2数据库逻辑设计
图书(编号、书名、作者、出版社、单价、库存量) 可以分解为: 科技图书(编号、书名、作者、出版社、单价、库存量) 文艺图书(编号、书名、作者、出版社、单价、库存量) 外文图书(编号、书名、作者、出版社、单价、库存量) 这样减少了单个数据表中的记录,因此每次操作只需要使 用其中一个表,就可以达到减少单位时间内访问的逻辑 记录的个数。

数据库原理及应用第4章课后习题答案

数据库原理及应用第4章课后习题答案

习题61、说明数据库设计的特点。

1)三分技术,七分管理,十二分基础数据2)综合性3)结构(数据)设计和行为(处理)设计相结合2、试述数据库设计的过程3、试述数据库设计过程的各个阶段设计内容。

1)需求分析阶段需求分析是对用户提出的各种要求加以分析,对各种原始数据加以综合、整理,是形成最终设计目标的首要阶段。

需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。

2)概念结构设计阶段概念结构设计是对用户需求进行进一步抽象、归纳,并形成独立于DBMS和有关软、硬件的概念数据模型的设计过程。

3)逻辑结构设计阶段逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化的设计过程。

4)物理设计阶段数据库物理设计阶段,是将逻辑结构设计阶段所产生的逻辑数据模型,转换为某种计算机系统所支持的数据库物理结构的实现过程。

5)数据库实施阶段数据库实施阶段,即数据库调试、试运行阶段。

一旦数据库的物理结构形成,就可以用已选定的DBMS来定义、描述相应的数据库结构,装入数据库数据库,以生成完整的数据库,编制有关应用程序,进行联机调试并转入试运行,同时进行时间、空间等性能分析。

6)数据库运行和维护阶段数据库实施阶段结束,标志着数据库系统投入正常运行工作的开始。

在数据库系统运行过程中必须不断地对其进行评价、调整与修改。

4、需求分析中发现事实的方法有哪些?1)跟班作业。

通过亲身参加业务工作来观察和了解业务活动的情况。

2)开调查会。

通过与用户座谈来了解业务活动的情况及用户需求。

3)检查文档。

通过检查与当前系统有关的文档、表格、报告和文件等,进一步理解原系统,并有利于提供与原系统问题相关的业务信息。

4)问卷调查。

5、需求分析阶段的设计目标是什么?调查的内容是什么?需求分析阶段的目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,确定企业的组织目标,明确用户的各种需求,进而确定新系统的功能,并把这些要求写成用户和数据库设计者都能够接受的文档。

数据库课件第4章关系数据库(RDB)规范化设计理论

数据库课件第4章关系数据库(RDB)规范化设计理论


3. 完全函数依赖与部分函数依赖
完全函数依赖: 在关系模式R(U)中,如果X→Y,并且对于X的任何一 个真子集X′,都有X′ Y,则称Y完全函数依赖于X, 记作X f Y。 部分函数依赖: 若X→Y,但Y不完全函数依赖于X,则称Y部分函数依 p Y。 赖于X,记作X



例8: 学生(学号,姓名,所在系,系主任姓名,课程号,成绩) 学生关系模式存在的部分函数依赖: p (学号,课程号) 姓名 p 所在系 (学号,课程号) p (学号,课程号) 系主任姓名
教师姓 名
李林 78号
住址
课程号
C1
课程名
N1
李林
李林 汪佳 吴仪
78号
78号 59号 79号
C2
C3 C4 C5
N2
N3 N4 N5
师帆
76号
C6
N6

⑷当执行数据插入时,DB中的数据不能产生插入 异常现象 所谓“插入异常”是指希望插入的信息由于不 能满足数据完整性的某种要求而不能正常地被 插入到DB中的异常问题。 比如:上例中插入一个尚未安排授课的新进教师 信息. 原因: 因多种信息混合放在一个表中,可能造成因一 种信息被捆绑在其他信息上而产生的信息之间 相互依附存储的问题,使得信息不能独立插入。
第4章
关系数据库(RDB)规范化理论
4.1 关系模式规范化的必要性 4.2 数值依赖 4.3 范式与规范化 、关系分解原则






RDB规范化理论的目的是要设计“好的”RDB模式。要设计 好的关系模式,必须是关系满足一定的约束条件,此约束 形成了规范。 范式(Normal Form):衡量DB规范的层次或深度,DB规范化 层次由范式来决定。简记作NF. 根据关系模式满足的不同性质和规范化的程度,将关系模 式分为第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、 BC范式、第四范式(4NF)、第五范式(5NF),范式越高规范 化程度越高。 规范化:低级关系模式通过模式分解转换为若干高级范式 的关系模式集合的过程。 规范化是在RDB中减少数据冗余的过程。

数据库第4章数据库概念模型

数据库第4章数据库概念模型在当今数字化的时代,数据库成为了信息存储和管理的核心工具。

而在深入了解数据库的构建和运作之前,我们首先需要掌握数据库概念模型这一重要的知识领域。

数据库概念模型是对现实世界中各种事物及其之间关系的一种抽象描述。

它的主要目的是帮助我们理解和定义数据库中需要存储和处理的信息。

在数据库概念模型中,最常见的表示方法是实体联系模型(ER 模型)。

实体可以理解为具有独立存在意义的事物,比如一个学生、一本书、一家公司。

而联系则反映了这些实体之间的关系,比如学生与课程之间的选课关系,公司与员工之间的雇佣关系。

为了更清晰地描述实体和联系,我们需要为它们赋予属性。

属性就是实体或联系所具有的特性。

以学生这个实体为例,可能的属性包括学号、姓名、年龄、性别等。

在构建数据库概念模型时,准确识别实体和联系至关重要。

这需要我们对业务需求有深入的理解。

比如在一个在线购物系统中,顾客、商品、订单就是重要的实体,而顾客与订单之间的下单关系,商品与订单之间的包含关系就是关键的联系。

概念模型的建立并非一蹴而就,而是一个反复的过程。

我们可能会在最初的设计中遗漏一些重要的元素,或者对某些关系的理解不够准确。

这时候就需要不断地进行审查和修正,以确保模型能够准确地反映现实世界的情况。

在实际操作中,我们通常会使用一些图形化的工具来绘制概念模型。

这样可以更直观地展示实体、联系和属性之间的关系。

比如,使用矩形表示实体,菱形表示联系,椭圆表示属性,并通过线条将它们连接起来。

数据库概念模型的质量直接影响到后续数据库设计和实现的效果。

一个良好的概念模型应该具有清晰性、准确性和完整性。

清晰性意味着模型的结构和关系易于理解;准确性要求模型能够真实地反映业务场景;完整性则确保了没有重要的信息被遗漏。

当我们完成了概念模型的构建后,就可以将其转换为逻辑模型。

逻辑模型更加接近数据库的实际实现,会涉及到具体的数据结构和关系的定义。

另外,数据库概念模型的设计也需要考虑到未来的扩展性。

数据库原理与设计-第四章


练习:
1、在关系R(R#,RN,S#)和S(S#,SN,SD)中,R的主键
是R#,S的主键是S#,则S#在R中称为 外键

2、用户选作元组元组标识的一个侯选键称为 主键

3、关系模式的任何属性( A )。
A、不可再分
B、可再分
C、命名在该关系模式中可以不惟一 D、以上都不是
4、一个关系数据库文件中的各条记录( B )
练习:
1、分别建立表dept1和emp1,并在二者之间定义关联。
表名
列名
数据约束
约束
DEPT1
Dno NAME
Decimal(3) VARCAHR(10)
PRIMARY KEY
LOC
VARCHAR(20)

表名 EMP1
列名 数据类型
Eno
Decimal(4)
NAME VARCHAR(10)
Salary Decimal(6,2)
Dno
Decimal(3)
约束
UNIQUE
FOREIGN KEY 级联删除
2、增加约束
(1)值唯一; (2)可有一个且仅有一个空值。
唯一约束既可以在列级定义,也可以在表 级定义。
【例4-4】示例。
(1)建立employee表,在employee表中定义一个phone字段, 并为phone字段定义指定名称的唯一约束。
CREATE TABLE employee ( empno DECIMAL(2) PRIMARY KEY, name VARCHAR(8), age DECIMAL(3), phone VARCHAR(12), deptno DECIMAL(2), CONSTRAINT emp_phone UNIQUE(phone) );

第4章数据库设计


D,一个1:1联系可以转换为一个独立的关 系模式,也可以与任意一端对应的关系模 式合并.
转换为一个独立的关系模式:
关系的属性:与该联系相连的各实体的码以及联系
本身的属性
关系的候选码:每个实体的码均是该关系的候选码
与某一端对应的关系模式合并:
合并后关系的属性:加入对应关系的码和联系本身
的属性
合并后关系的码:不变
2.转换原则
A,一个实体型转换为一个关系模式.
关系的属性:实体型的属性 关系的码:实体型的码
例:学生实体可以转换为如下关系模式: 学生(学号,姓名,出生日期,所在系, 年级,平均成绩) 性别,宿舍,班级,档案材料,教师,课程, 教室,教科书都分别转换为一个关系模式.
B,一个m:n联系转换为一个关系模式.
例:"管理"联系为1:1联系,可以有三种转换方 法: (1)转换为一个独立的关系模式:
或 管理(职工号,班级号) 管理(职工号,班级号)
(2)"管理"联系与班级关系模式合并,则只需 在班级关系中加入教师关系的码,即职工号: 班级:(班级号,学生人数,职工号)
( 3)"管理"联系与教师关系模式合并, 则只需在教师关系中加入班级关系的码, 即班级号: 教师:(职工号,姓名,性别,职称,班 级号,是否为优秀班主任)
P58图4.3
4.2 需求分析
需求分析就是分析用户的需要与要求
需求分析是设计数据库的起点 需求分析的结果是否准确地反映用户的实际 要求,将直接影响到后面各个阶段的设计, 并影响到设计结果是否合理和实用
1.需求分析的任务
通过详细调查现实世界要处理的对象 (组织,部门,企业等),充分了解原系 统(手工系统或计算机系统)工作概况, 明确用户的各种需求 在此基础上确定新系统的功能.新系统 必须充分考虑今后可能的扩充和改变,不 能仅仅按当前应用需求来设计数据库

第四章 数据库规范化理论(第二节)

在上面的例中,关系模式:COURSE(C#, TITLE, LNAME, ROOM#)
其中存在非主属性ROOM#对码的传递依赖, 即:
C#→LNAME, LNAME→ROOM# 因此COURSE不属于3NF。
将COURSE分解为:COURSE1(C#, TITLE, LNAME) 和 LECTURE(LNAME, ROOM#),
则关系模式COURSE1和LECTURE中都没有传递函数依赖,
因此 COURSE1 和 LECTURE 都属于3NF。
16
第四章 数据库规范化理论
第二节、 范式理论
三、 第三范式(3NF)
至此,关系模式REPORT分解为下列3个属于3NF的一组关系模式:
REPORT1 (S#, C#, MARKS) COURSE1 (C#, TITLE, LNAME) LECTURE (LNAME, ROOM#)
非第一范式的例子如表4-4,可以转换为第一范式如表4-5。
表4-4
研究生
导师
专业
第一个研究生 第二个研究生
表4-5
导师 专业 第一个研究生 第二个研究生
几乎所有的商用关系DBMS都要求关系为第一范式
4
第四章 数据库规范化理论
第二节、 范式理论
一、 第一范式(1NF)
如果关系仅仅满足第一范式的条件是不够的,可能会存在更新异常。
定义:关系模式R∈1NF,若X→Y,且Y⊈ X 时,X必含有候选码,则R∈BCNF。
即 在关系模式R中,若R的每一个决定因素都包含候选码,则R∈BCNF。
由BCNF的定义可知,一个满足BCNF的关系模式有如下特性:
● 每个非主属性对每个码都是完全函数依赖;
● 所有的主属性对每一个不包含它的码,也是完全函数依赖;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Select 1 Use 成绩 set order to tag 学号 Select 2 Use 学生 set order to Tag 学号 Set Relation To 学号 Into 成绩 Brow Fields 姓名, 学号, A.课程号, A.成绩
3. 解除表间的临时关联 Set Relation Off Into <子表工作区>/<子表别名> 例:解除上例中已经建立的关联 Select 学生 Set Ralation Off Into 成绩
4.1.2 数据库和自由表的相互转换
Visual Foxpro 中的表可分为两种类型: 数据库表: 已加入到某个数据库中的表. 自由表: 不属于任何数据库的表. 自由表可以转换为数据库表, 数据库表也可以 转换为自由表. 数据库表拥有自由表所没有的 许多特性, 如长文件名、字段验证等。
1.将表加入到数据库 在一个已经打开的数据库中,可以创建表或向数据库 中添加已存在的表。用户可以将某个自由表加入到数 据库中,也可以将表从某个数据库移出后再将其加入 另一个数据库(一个表在同一时间内只能属于一个数 据库)。 (1) 菜单方式 数据库添加表 (2) 命令方式: Add Table 表名/? [长表名] 例:打开学籍数据库,并向其中添加表学生.dbf Open Database 学籍 Add Table 学生
(2).关闭工作区中的表 1) USE IN 5 2) SELECT 5 USE 3) USE 学生 IN 5 USE IN 学生 4)如果在一个工作区中已经打开了一个表,则 在打开另一个表时,前一个表自动被关闭。 5) 在“数据工作期”窗口选定要关闭的表别名, 然后选择“关闭”按钮。
(3). 为表定义别名 1) 用户自定义别名 Select 3 Use 学生 Alias Student …… Select Student 2) 默认别名 Use 学生 In 3 Use 成绩 In 1 Select 学生 (4).引用其它表的字段
二、数据库表间的永久关系 1.建立表间的永久关系 目的:实现参照完整性 在查询设计器、 视图设计器中作默认连接条件 在数据库设计器、数据环境设计器中作为表单和报表之间的 默认关系。 (1)通过数据库设计器建立 步骤: a. 为父表建立主索引,子表建立主索引、普通索引或唯一索引 b. 在数据库设计器中,用鼠标将父表的主索引拖放到子表的相 应索引索引上 (2) 使用命令(两表须先建立索引) Alter Table 成绩 Add Foreign Key 学号 Tag 学号 reference 学生
例. 查看学生王平所学一门课程的成绩,要求屏幕显示 该同学的学号、姓名,及相应课程的课程号、课程名及成绩 Open Database 学籍 Select 1 Use 学生 Alias Student Locate For 姓名=“王平” Use 成绩 Alias Grade In 2 Use 课程 In 3 Select Grade Locate For Alltrim(学号)=Alltrim(Student.学号) Select 课程 Locate For Alltrim(课程号)=Alltrim(Grade.课程号) Select Grade ?学号,Student.姓名,课程号,C.课程名,成绩 Close Database
Select 1 Use 成绩 set order to tag 学号 Select 2 Use 学生 set order to Tag 学号 Set Relation To 学号 Into 成绩 Brow Fields B.姓名,学号,a.课程号, a.成绩
不能正确显示每个学生所学所有课程的情况。只能显示出 每个学生所学一门课程的课称号和成绩。
4.1.5 建立表间的关联
在两个数据库表之间可以创建两种关系类型, 一种是永久性关系, 一种是临时性关系. 一、表间的临时关系 目的:使一个表文件(父表)的指针移动时,另一个 表文件(子表)的指针会自动移到满足条件的记录上。 在VFP中,两个表文件记录关系主要有三种: 一对一关系,多一关系,一多关系。 一对一关系中,父表中一条记录只对应子表中一条 记录;在多一关系中,父表中多条记录对应子表中 一条记录。一多关系则相反,父表中的一条记录可 以对应子表中多条记录。
选择工作区: Select 工作区/表别名 工作区的联访 <别名>.<字段名> 或 <别名>-><字段名> 2. 工作区的使用规则 一个工作区中只能打开一个表 对非当前工作区中的表进行操作只能采用引用方式 一个表文件能在多个工作区中打开
3. 工作区操作举例 (1). 在指定的工作区中打开表 1) Use 学生 In 5 2) Select 5 Use 学生 3) 在不同的工作区中多次打开同一个表 Select 6 Use 学生 Again 4)在“数据工作期”窗口中选定要打开的表别名, 然后选择“打开”按钮。表将出现在最低工作期 中
当前工作区及当前表 称当前正在操作的工作区为当前工作区,在当 前工作区中打开的表为当前表 工作区的别名 系统固有指定的为A,B,…J,在工作区11到 32767中指定的别名是W11到W32767。 用户自定义的表别名 通常是通过使用该工作区中打开的表的别名来 识别。表别名是一个名称,通过它可以引用在 工作区中打开的表。 Use <表文件名> [Alias <别名>]
1.建立临时关联: Set Relation To <关联关键字表达式> Into <子表工作区/子表别名> [Additive] 功能:建立表的临时关联,默认关联类型为多一关系。 说明: ①建立关联前应对子表按关联的关键字建立索引。 ②Additive:表示在建立新的关联时,保留当前工作 区中已存在的表关联。
2. 从数据库中移出表 (1)菜单: 数据库移出表 (2)工具栏: 移出表按钮 (3)命令: Remove Table 表名/?[Delete] [Recyle] 功能: 从当前数据库中移出表. 说明: Delete 子句表示从当前数据库中移出指定名 称 的表, 并从磁盘上删除. Recyle 子 句 表 示将删 除的表文件放入回收站中. 例: 将学生表从学籍数据库中移出. Open Database 学籍 Remove Table 学生
4.2 有效性、触发器与参照完整性
4.2.1 有效性
一、表的字段级属性 1.定义长字段名
自由表的字段名最长10位,而数据库表的字段名可达 128位,有利于描述字段的含义。数据库表被移出数据 库而称为自由表后,它的长字段名属性就会丢失,被 截为前10个字符。利用表设计器可以设置长字段名.
2.设置字段标题
2. 建立一多联系 Set Skip To [<子表1别名>,<子表2别名>,…] 功能:说明关联类型为一对多。 说明: ① <子表别名>指子表或其所在工作区别名,应 为多方。 ②无参数时表示取消已建立的一多联系,但Set Relation 命令所建立的多一关联仍然存在。
例: 建立学生表和成绩表的一多联系
4.1.3 数据库的基本操作
在对数据库实施各种操作之前,必须先打开 数据库,操作完毕后,也须关闭数据库。 1.打开数据库 Open Database <文件名> [Exclusive/Shared] [Noupdate] 2. 关闭数据库 Close Database [All] 3.修改数据库 Modify Database <数据库名>
一般情况下,Visual Foxpro将字段名作为标题使用, 但在实际应用中,有时需要为数据库表的字段设立标 题,在“浏览”或“编辑”该表时显示字段标题,但 字段名并未改变,字段标题只起标示作用,在涉及到 对字段变量的操作时必须使用字段名而不是字段标题。 方法: 表设计器中“字段”标签下的“标题(Caption)”
3.设置字段注释
字段注释即为对字段进行的注释。 方法:表设计器中“字段”标签下的“字段注释 (Field Comment)”
4. 建立输入掩码(格式符)
当某个字段需要以一定的格式输入时,如“学号”字 段要求都是七位数字形式的字符,则可以利用字段的 “输入掩码”特性加以限制(输入:9999999).这样更有 利于简化输入、规范格式、减少数据输入错误和提高输 入效率。
4. 删除数据库 Delete Database <数据库名> [Delete Tables] 数据字典 是每个数据库所特有的数据集合,每一个 Visual Foxpro数据库都有对应的数据字典,其 中存放数据库表的各种特征信息。如,表的有 效性检验,表间的关联等信息。 数据工作期 多表操作的动态工作环境。可以打开、关闭、 浏览多个数据库表或自由表。
2. 数据库设计器 新建表: 用数据库设计器创建新表. 添加表: 将表添加到数据库. 移去表: 从数据库中将表移出. 修改表: 在"表设计器"中打开表. 浏览表: 在浏览窗口中显示并编辑表. 新建本地视图: 使用数据库设计器创建本地视图. 新建远程视图: 使用数据库设计器创建远程视图. 编辑存储过程: 显示Visual Foxpro存储过程
4.1.4 工作区
1.工作区 Visual Foxpro 在内存中开辟的临时区域。在每一 工作区中最多可以打开一个表,即用户打开的每 一个表都放在一个工作区中;同一个表可以在不 同的工作区中多次打开。 工作区编号 每一个工作区都是一个编号区域, 它标识一个已经打开的表。Visual Foxpro中最 多允许使用32767个工作区,可以用1、 2、……32767标识。
例如:在学生表和成绩表之间,学生表为“一” 方,成绩表为“多”方,当在二者之间建立一 多关系时,用命令: Brow Fields 学号,姓名,B.课程号, B.成绩 可以在浏览窗口中看到每个学生所选所有课程的 课程号和成绩; 但如果在二者之间建立多一关系 时,使用此命令则不能列出每个学生所选的所有课 程的课程号和成绩, 而只是显示出所选课程中的 第一门课程.
相关文档
最新文档