nullnull
新疆农业大学计算机与信息工程学院null课程简介
本课程结合数据库原理及应用介绍Access2003的基本操作。
课程安排
周数:16周 教学时数:64学时
理论教学数:32学时 实践教学数:32学时
课程要求
上课要认真学习,上机要认真实践,注重理论联系实际。要学有所悟,学有所用。
课程考核
平时成绩(考勤+实验)+考试成绩(实验考试+笔试)null实验要求:
一、实验课是本课程的重要组成部分,与理论课有着同等地位,是培养自身的实验技能与创新能力的重要途径。在实验课前,对实验的目的、要求和基本内容、实验的重点和难点应进行预习与讨论,确定实施措施。
二、实验课期间不得擅自离开实验室或从事与本实验无关的活动,按时按质完成实验作业,培养创造性思维,努力提高自身的实践能力。
三、每次实验应向老师提交实验成果,老师结合实验操作过程给予综合评分(对于有创造性的实验成果酌情给予加分),作为期末考试成绩的一部分。 课程简介课程简介课程性质:专业任选课
课程主要内容
数据库基本知识
SQL语言
Access对象的创建
创建一个功能完备的管理信息系统
null学习要求:
在掌握主要知识之后,能创建一个功能完备的管理信息系统
上课要求
迟到一次扣1分,旷课一次扣3分(实验、理论课)
最终考核
平时占30%+考试占70%
特殊情况
null第一章 数据库基础知识Access 2003 数据库管理系统简介
1.1 信息、数据与数据处理
1.2 数据库管理系统与数据库系统
1.3 数据模型
1.4 关系数据库设计null1.1.1 信息和数据
在数据处理中,我们最常用到的基本概念就是数据和信息,信息与数据有着不同的含义。
1. 信息
信息是关于现实世界事物的存在方式或运动状态的反映的综合。信息源于物质和能量,是可以感知的,是可存储、加工、传递和再生的。
如“2003年硕士研究生将扩招30%”,对接受者有意义,使接受者据此作出决策。1.1 信息、数据与数据处理null2. 数据
数据是用来
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
信息的可识别的符号,是信息的具体表现形式。
可用多种不同的数据形式表示同一信息,而信息不随数据形式的不同而改变。
如“2003年硕士研究生将扩招30%”,其中的数据可改为汉字形式“两千零三年”、“百分之三十”。
数据的概念在数据处理领域中已大大地拓宽了,其表现形式不仅包括数字和文字,还包括图形、图象、声音等。这些数据可以记录在纸上,也可记录在各种存储器中。null3. 数据与信息的联系
数据是信息的符号表示或载体,信息则是数据的内涵,是对数据的语义解释。
如上例中的数据2003、30%被赋予了特定的语义,它们就具有了传递信息的功能。null 通过以上的介绍,我们可总结出三个世界中各术语的对应关系如下所示:
现实世界 信息世界 数据世界
事物总体 实体集 文件
事物个体 实体 记录
特征 属性 字段
事物间联系 实体模型 数据模型
三个世界各术语的对应关系null 在计算机的主要应用领域中,数据处理是计算机应用的主要方面。数据处理涉及内容是非数值型的离散问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
,只能采用诸如表、树和图等非数值型的数据结构来描述。
数据库技术就是作为数据处理中的一门技术而发展起来的。
1.1.2 数据处理null 数据库技术所研究的问题就是如何科学地组织和存储数据,如何高效地获取和处理数据。
数据处理技术经历了四个阶段:
手工管理阶段:数据在程序中
文件系统阶段:数据文件
数据库系统阶段:数据库
分布式数据库系统阶段:网上共享数据null1.2 数据处理技术的四个阶段1.人工管理阶段 早期(46-50年代中期)
20世纪50年代中期以前属于人工管理阶段,它是计算机数据管理的初级阶段。该阶段的主要特点是数据在外存的物理结构与用户观点的逻辑结构完全一致,计算机系统仅提供基本的输入/输出操作,而无统一的数据管理软件,对数据的管理完全由各个程序员在其程序中进行。
计算机数据处理方法:程序自带数据。在引用数据时,直接按内存单元地址或外部设备的物理位置加内存单元地址存取。 人工管理阶段特点人工管理阶段特点
数据的物理存储结构和逻辑结构一致,编程者自行设计数据格式,并将数据嵌入程序中。
数据与处理它的程序合为一体,数据的输入输出及使用都是通过程序来控制.多个程序不能共享数据。
一批数据在多个对其进行不同处理的程序中重复存储。程序间的数据不能互相调用.数据冗余大
人工管理阶段特征null2.文件系统阶段
若干相关的数据元素组成“记录”,若干记录构成文件。数据文件存放于外存储器上,由文件系统统一管理,通过程序来操纵数据。每个用户都可建立、维护和处理一个或几个文件。
文件系统阶段:50-60年代,现在,文件(管理)系统是操作系统的一部分。
文件管理系统数据具有两种形式,用户看到的逻辑结构(称为逻辑文件)和实际存储的物理结构(称为物理文件),文件管理系统提供从逻辑文件到物理文件的转换,部分实现了逻辑数据和物理数据的相互独立性。 文件系统阶段文件系统阶段文件系统阶段特点文件系统阶段特点优点:数据以文件形式保存,
与程序独立,且可多次存取。
缺点:
数据文件是无结构的数据集合,只能反映客观事物的 存在,不能反映各事物间的联系。
数据和应用程序互相依赖,数据文件由程序生成,数据存取由程序完成,离开所依赖的程序则失去意义。
服务与不同程序的数据文件互相独立,无法实现数据 共享。一个应用程序所对应的数据文件不能为另 一个程序使用。数据冗余大。
应用程序编制较繁烦,缺乏对数据正确性、安全性、 保密性的有效控制手段。null3.数据库系统阶段
60年代后期,计算机应用于管理的规模更加庞大,数据量急剧增加;
硬件方面出现了大容量磁盘,使计算机联机存取大量数据成为可能;硬件价格下降,而软件价格上升,使开发和维护系统软件的成本增加。
文件系统的数据管理方法已无法适应开发应用系统的需要。
为解决多用户、多个应用程序共享数据的需求,出现了统一管理数据的专门软件系统,即数据库管理系统。null特点:
数据的性质由其依赖的数据模型来决定。数据模型
规范
编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载
了数据库中数据的组织形式,表示了数据之间的联系。有层次模型、网状模型和关系模型等。 如果依照关系模型来设计库中数据结构,则为关系数据库。用户1用户n…null由数据库管理系统(DBMS)来实现对数据库的定义、管理和操作。DBMS是用户和数据的接口。
目前,流行DBMS软件大多采用关系模型。常见DBMS:Oracle, IBM DB2, Informix, Sybase, FoxPro, SQL Server, Access等。 数据库系统阶段的特点数据库系统阶段的特点数据共享性:数据库中的数据是综合和通用的。一个用户只用部分数据,不同用户可共享,且可按不同方式重叠使用数据。
数据冗余度小。
具有数据完整性措施。
可以采用交互式或程序方式操作。
null 理解几个概念
数据库
数据库是与特定的主题或目的相关的数据的集合。数据库可以直观地理解为存放数据的仓库,只不过这个仓库是在计算机的大容量存储器上。
数据库管理系统
数据库管理系统(DataBase Management System,简称DBMS)是对数据库进行管理的系统软件,它的职能是有效地组织和存储数据、获取和管理数据,接受和完成用户提出的访问数据的各种请求。
null数据库系统
数据库系统是指拥有数据库技术支持的计算机系统,它可以实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享服务。null数据库系统null4.分布式数据库系统阶段(80年代中期开始)
分布式数据库系统是一个逻辑上同一、地域上分布的数据集合,是计算机网络环境中各个局部数据库的逻辑集合,同时受分布式数据库管理系统的控制和管理。
分布式数据库系统在逻辑上很像一个集中式数据库系统,但实际上数据存储在处于不同地点的计算机网络的各个结点上。每个结点的数据库系统都有独立处理本地事务的能力,而且各局部结点之间也能够相互访问、有效配合,以便处理更复杂的事务。null数据库技术,以及网络和通信技术的发展,使异机、异地间的数据共享成为现实。
分布式数据库:数据库和网络、通信系统的结合体。
处理的数据分散在各结点上,每个结点的数据由本地DBMS管理,各结点间通过网络实现数据共享;数据库系统阶段的重要概念数据库系统阶段的重要概念1.3 数据库管理系统1.3 数据库管理系统数据库管理系统位于数据库和用户之间,主要任务是完成用户对数据库的存取请求,即检索、插入、更新和删除等操作;它的另一个主要任务是为数据库管理员提供维护数据库的手段。 当今,计算机信息系统已从管理信息系统(MIS)发展到帮助企业领导分析和作出决策的决策支持系统(DSS),以及以办公自动化技术为支撑的办公信息系统。DBMS的地位DBMS的地位数据库管理系统是对数据进行管理的大型系统软件,它是数据库系统的核心组成部分。
用户在数据库系统中的一切操作,包括数据定义、查询、更新及各种控制,都是通过DBMS进行的。
DBMS就是实现把用户意义下的抽象的逻辑数据处理转换成计算机中的具体的物理数据的处理软件,这给用户带来很大的方便。null1.3.1 数据库管理系统(DBMS)的主要功能1.3.1 数据库管理系统(DBMS)的主要功能(1) 数据库定义功能
DBMS提供数据定义语言DDL(Data Define Language),定义数据的模式、外模式和内模式三级模式结构,定义模式/内模式和外模式/模式二级映象,定义有关的约束条件,
(2) 数据库操纵功能
DBMS提供数据操纵语言DML(Data Manipulation Language)实现对数据库的基本操作,包括检索、插入、修改、删除等。
SQL语言就是DML的一种。null(3) 数据库运行控制功能
DBMS 对数据库的控制主要通过四个方面实现:
数据的安全性控制
数据的完整性控制
多用户环境下的并发控制
数据库的恢复
以确保数据正确有效和数据库系统的可用性和可靠性。null(4) 数据字典(Data Dictionary,简称DD)
用来描述数据库中有关信息的数据
目录
工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录
。
包括数据库的三级模式、数据类型、用户名、用户权限等有关数据库系统的信息。
对数据库的使用和操作都要通过查阅数据字典来进行。
(5) 数据通信
DBMS提供与其他软件系统进行通信的功能。
实现用户程序与DBMS之间的通信,通常与操作系统协调完成。null1.3.2 DBMS的组成
DBMS是许多“系统程序”所组成的一个集合。
每个程序都有自己的功能,共同完成DBMS的一件或几件工作。
数据定义语言DDL (data description language)
它把用DDL编写的各级源模式编译成各级目标模式,这些目标模式是对数据库结构信息的描述,而不是数据本身,它们被保存在数据字典中,供以后数据操纵或数据控制时使用。null(2) 数据操纵语言DML (data manipulation language)
实现对数据库的存取、检索、修改、添加等操作。DML有两类:
一类是宿主型,嵌入在高级语言中,不能单独使用;
另一类是自主型或自含型,可独立地交互使用(VF)。null(3) 系统运行控制程序,主要包括以下几部分:
系统总控程序:是DBMS运行程序的核心,用于控制和协调各程序的活动;
安全性控制程序:防止未被授权的用户存取数据库中的数据;
完整性控制程序:检查完整性约束条件,确保进入数据库中的数据的正确性、有效性和相容性;
并发控制程序:协调多用户、多任务环境下各应用程序对数据库的并发操作,保证数据的一致性;
数据存取和更新程序:实施对数据库数据的检索、插入、修改、删除等操作;
通信控制程序:实现用户程序与DBMS间的通信。 null(4) 系统建立、维护程序(实用程序)
主要包括以下几部分:
装配程序:完成初始数据库的数据装入;
重组程序:当数据库系统性能变坏时(如查询速度变慢),需要重新组织数据库,重新装入数据;
系统恢复程序:当数据库系统受到破坏时,将数据库系统恢复到以前某个正确的状态。
(5) 数据字典(Data Dictionary,简称DD)null微软的Northwind数据库数据库举例:nullnull1.4 数据库系统
数据库系统(Database System,DBS) 是数据库应用系统的简称。数据库系统是指计算机系统中引入数据库之后组成的系统,是用来组织和存取大量数据的管理系统。
主要由计算机系统、数据库、数据库管理系统、应用程序和用户这五部分组成。
图1.1 数据库系统的组成图1.1 数据库系统的组成用户1.4.1 计算机系统1.4.1 计算机系统计算机系统由硬件和软件组成
硬件:指存储数据库和运行数据库管理系统的硬件资源。
软件:指计算机正常运行所需要的操作系统和各种驱动程序等。1.4.2 数据库1.4.2 数据库 数据库是一个单位或组织按某种特定方式存储在计算机内的数据的集合。这个数据集合按照能够反映出数据的自然属性、实际联系,以及应用处理要求的方式有机地组织成为一个整体存储,并提供给该组织或单位内的所有应用系统(或人员)共享使用。
它可以供用户共享,具有尽可能小的冗余度和较高的数据独立性,使得数据存储最优,数据最容易操作,并且具有完善的自我保护能力和数据恢复能力。null数据库由两部分组成:
物理数据库:有关应用所需要的业务数据,它是数据库的主体。
数据库中的数据是一种处理用的中间数据,称为业务数据。
2. 描述数据库:又称为数据库结构,它是关于各级数据库结构的描述数据,通常由一个数据字典系统管理。null1.4.3 数据库管理系统
数据库管理系统(Data Base Management System,简称DBMS)。是负责数据库存取、维护和管理的软件系统,即
数据库系统的各类人员对数据库的各种操作请求,都由DBMS完成。
DBMS是数据库系统的核心软件。null数据库系统层次结构图如下图:
由上图看出:
DBMS在操作系统(OS)的支持下工作,
应用程序在DBMS支持下才能使用数据库。1.4.4 应用程序1.4.4 应用程序应用程序界于用户和数据库管理系统之间,将用户请求的复杂的数据库操作交由DBMS来完成。1.4.5 用户1.4.5 用户用户是指使用数据库的人,即能够对数据库进行存储、维护和检索等操作。
null用户分为三类:
1. 第一类用户,应用程序员(Application Programmer)
负责为终端用户设计和编制应用程序,以便终端用户对数据库进行存取操作。
2. 第二类用户,终端用户(End User)
主要是使用数据库的各级管理人员、工程技术人员、科研人员,一般为非计算机专业人员。
3. 第三类用户,数据库管理员(Dadabase Administrator,简称DBA)
DBA是指全面负责数据库系统的“管理、维护和正常使用的”人员。null数据库管理员(Dadabase Administrator,简称DBA)的职责:
参与数据库设计的全过程,决定数据库的结构和内容;
定义数据的安全性和完整性,负责分配用户对数据库的使用权限和口令管理;
监督控制数据库的使用和运行,改进和重新构造数据库系统。当数据库受到破坏时,应负责恢复数据库;当数据库的结构需要改变时,完成对数据库结构的修改。
nullDBA不仅要有较高的技术专长和较深的资历,并应具有了解和阐明管理要求的能力。
特别对于大型数据库系统,DBA极为重要。对于常见的微机数据库系统,通常只有一个用户,常常不设DBA,DBA的职责由应用程序员或终端用户代替。null几个概念:
数据库:就是长期储存在计算机外存、有组织的、可共享的数据集合。
数据库管理系统:收集并抽取出一个应用所需要的大量数据之后,科学地组织这些数据并将其存储在数据库中,高效地处理这些数据的软件系统。数据库管理系统是位于用户与操作系统之间的一层数据管理软件。
数据库系统:是指在计算机系统中引入数据库后的系统构成,一般由计算机系统、数据库、数据库管理系统、应用程序和用户五部分组成。null可以从多种不同的角度考查数据库系统的结构
从数据库管理系统的角度看,数据库系统通常采用三级模式结构,这是数据库系统内部的体系结构;
从数据库最终用户的角度看,数据库系统的结构分为集中式结构、分布式结构,这是数据库系统外部的体系结构。1.5 数据库系统的体系结构nullnull1.5.1 数据库系统的三级模式结构
模式(Schema)是数据库中全体数据的逻辑结构和特征的描述。
例如:学生记录定义为(学号、姓名、性别、系别、年龄),称为记录型,
而(001101,张立,男,计算机,20)则是该记录型的一个记录值。
模式只是对记录型的描述,而与具体的值无关。
null通常DBMS把数据库系统从逻辑上分为三级,即外模式、概念模式和内模式,它们分别反映了看待数据库系统的三个角度。三级模式结构如图所示。
null 图 1.5 数据库系统的三级模式结构 null(1) 外模式
又称子模式或用户模式或外视图,是三级结构的最外层,也常把外模式称为用户数据库。
它由多种外记录值构成,这些记录值是概念视图的某一部分的抽象表示。即个别用户看到和使用的数据库内容,也称“用户DB”。
从逻辑关系上看,外模式被包含于概念模式。null (2) 概念模式
概念模式(Schema)是数据库中全体数据的逻辑结构和特征的描述,又称模式或概念视图。
模式处于三级结构的中间层,它是整个数据库实际存储的抽象表示,也是对现实世界的一个抽象,是现实世界某应用环境(企业或单位)的所有信息内容集合的表示,也是所有个别用户视图综合起来的结果,所以又称用户共同视图。
它表示了数据库的整体数据。null(3) 内模式
又称存储模式或内视图,是三级结构中的最内层,也是靠近物理存储的一层,即与实际存储数据方式有关的一层。
在数据库系统中,外模式可有多个,而概念模式、内模式只能各有一个。
内模式是整个数据库实际存储的表示,而概念模式是整个数据库实际存储的抽象表示,外模式是概念模式的某一部分的抽象表示。null
1.5.2. 数据库系统的二级映象
数据库系统的三级模式是对数据的三个抽象级别,它使用户能逻辑地抽象地处理数据,而不必关心数据在计算机内部的存储方式,把数据的具体组织交给 DBMS 管理。
为了能够在内部实现这三个抽象层次的联系和转换,DBMS 在三级模式之间提供了二级映象功能:模式/内模式映象和外模式/模式映象。null(1) 模式/内模式映象
数据库中的模式和内模式都只有一个,所以模式/内模式映象是唯一的。
它确定了数据的全局逻辑结构与存储结构之间的对应关系。
null(2) 外模式/模式映象
数据库中的同一模式可以有任意多个外模式,对于每一个外模式,都存在一个外模式/模式映象。
它确定了数据的局部逻辑结构与全局逻辑结构之间的对应关系。null1.6 数据模型 数据模型是描述数据、数据之间联系的结构模式。不同的数据模型提供了模型化数据的不同工具。
根据模型应用的不同目的,可以将模型分为两类或两个层次:概念模型(信息模型),数据模型(层次、网状、关系模型)。null其中,概念模型是按照用户的观点来对数据和信息建模。数据模型是按计算机系统的观点对数据建模。概念模型是用户和数据库设计人员之间进行交流的语言,概念模型需要转换为计算机上某一DBMS支持的数据模型。
概念模型 E—R图概念模型 E—R图概念模型转换为数据模型(关系模型)概念模型转换为数据模型(关系模型)学生(学号,姓名,出生时间,性别,专业)
课程(课程号,课程名称,学分,学时)
成绩(课程号,学号,成绩)
利用模板新建“订单”数据库,打开数据库中的表,请大家试着分析一下该数据库的E—R图,最后打开表间关系,验证一下我们分析的是否正确。
null1.6.1 概念模型
基本概念:
1. 两个实体型之间的联系有如下三种类型:
(1)一对一联系(1:1)
实体集A中的一个实体至多与实体集B中的一个实体相对应,反之亦然,则称实体集A与实体集B为一对一的联系。记作1:1。
如:班级与班长,观众与座位,病人与床位。null(2)一对多联系(1:n)
实体集A中的一个实体与实体集B中的多个实体相对应,反之,实体集B中的一个实体至多与实体集A中的一个实体相对应。记作1:n。
如:班级与学生、公司与职员、省与市。
(3)多对多(m:n)
实体集A中的一个实体与实体集B中的多个实体相对应,反之,实体集B中的一个实体与实体集A中的多个实体相对应。记作(m:n)。
如:教师与学生,学生与课程,工厂与产品。
null实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。
可以用图形来表示两个实体之间的这三类联系,如图 1.7所示。
A B A B A B
(a) (b) (c)
图1.7 不同实体集实体之间的联系概念模型的表示方法 E—R图概念模型的表示方法 E—R图概念模型的表示方法很多,其中最著名的E—R方法(实体联系方法),它用E—R图来描述现实世界的概念模型。
E—R图的主要成分是实体、联系和属性。
用E—R图表示的概念模型与具体的DBMS所支持的数据模型相独立,是各种数据模型的共同基础,因而比数据模型更接近现实世界。
nullE-R图
E-R图它具有三个要素:
(1) 实体(Entity)
客观存在并且可以相互区别的“事物”称为实体。
实体可以是可触及的对象,如学生,书,汽车;也可以是抽象的事件,如课堂,比赛等。
用矩形框表示,框内为实体的名称。学生null(2) 属性(Attributes)
实体的某一特性称为属性。
如学生实体有学号、姓名、年龄、性别、系等方面的属性。属性有"型"和“值”之分,"型"即为属性名,如姓名、年龄、性别是属性的型;“值”即为属性的具体内容,如(990001,张立,20,男,计算机)这些属性值的集合表示了一个学生实体。
null属性用椭圆形表示,并用线与实体连接。属性较多时也可以将实体及其属性单独列表。null(3) 实体间的联系(Relationship)
在现实世界中,事物内部以及事物之间是有联系的,这些联系同样也要抽象和反映到信息世界中来。
在信息世界中将被抽象为实体型内部的联系和实体型之间的联系。
实体内部的联系通常是指组成实体的各属性之间的联系;
实体之间的联系通常是指不同实体集之间的联系。
用菱形框表示,框内填写联系的名称。用线将菱形框与实体相连,并在线上标注联系的类型。
思考思考书上11页的例1.1null关系型的数据模型(关系模型)关系型的数据模型(关系模型)职工(工号,姓名,性别,工资,店号, 开始时间)
商店(店号,店名,店址,店经理)
商品(商品号,品名,单价,产地)
经营(店号,商品号,月销售量)
请大家修正经营表结构
请大家归纳E—R图转换为关系模型的规律
例例顾客购买商品商品号商品名单价供应商类别ID购买数量顾客号姓名住址购买时间nm商品类别类别ID类别关系模型关系模型商品表(商品号,商品名,单价,供应商,商品类别)
商品类别(类别ID,类别)
顾客表(顾客号,姓名,住址)
购买表(商品号,顾客号,购买时间 ,购买数量 )null下面是一个学生管理数据库的E-R图mnmnnull练习:用E-R图表示实体及联系。
学生:学号、姓名
班级:班级号、所属院系
课程:课程号、课程名、学分
教师:教工号、姓名、职称
参考书:书号、书名、内容提要、价格
在联系中应反映出学生进入班级的时间、学生所选课程的成绩、教师授课的时间和地点、学生借书的时间null E-R图广泛地用于数据库的概念设计。通过E-R图,计算机专业人员和非专业人员可以进行交流和与合作,从而更加真实、合理地模拟现实世界,为进一步设计数据库奠定基础。
E-R图需要转换为数据模型后才能更好地在计算机中设计数据库。null1.6.2 数据模型
几个概念和术语
1.记录与数据项
在基于记录的数据模型中,用记录表示实体,用数据项表示实体的属性。一个数据项包含有数据项名、数据类型和数据长度等内容。由于一个实体具有若干属性,故记录由若干数据项组成。一般就采用属性名作为描述它的数据项名。
null2.型与值
实体与属性有型(Type)与值(Value)之分,所以表示它们的记录和数据项也分为“型”与“值”两级。例如数据项“年龄”的型是“名称为年龄,数据特征为三位的十进制整数”,而它的值是“1岁,2岁,…,200岁等”。记录型是数据项型的一个有序组;同理,记录值是数据项值的同一有序组。记录型是一个框架,只有给它的每个数据项取值后才得到记录。nullnull数据模型的分类数据模型的分类当前流行的数据模型有四类:
关系模型
层次模型
网状模型
面向对象模型
数据模型的组成数据模型的组成数据模型通常由数据结构、数据操作和数据的约束条件三个要素组成。
数据结构用于描述系统的静态特征
数据操作用于描述系统的动态特征
数据的约束条件是一组完整性规则的集合
null 1.关系模型
在关系模型中,通常把二维表称为关系,数据的关系模型是由若干个关系模式(相当于记录型)组成的集合。表中的每一行称为一个元组,相当于通常的记录值。每一列称为一个属性,相当于记录中的一个数据项。教学管理数据库的关系数据模型学生×null碟片nullnull关系模型具有以下特点:
(1)描述的一致性。
(2)利用公共属性连接。
(3)结构简单直观。
(4)有严格的理论基础。
(5)语言表达简练。
典型RDBMS(关系数据库管理系统) :VFP、Oracle、Sybase、DB/2、Informix、Access等nullnull关系模型的缺点是在执行查询操作时,需要执行一系列的查表、拆表、并表操作,故执行时间较长,但是采用优化技术的当代关系数据库系统的查询操作的效率,完全不逊色于建立在其他数据模型上的数据库系统。null2.层次模型
层次模型实际上是一个树形结构,它是以记录为结点、以记录之间的联系为边的有向树。在层次模型中,最高层只有一个记录,该记录称为根记录,根记录以下的记录称为从属记录。一般说来,根记录可以有任意多个从属记录,每一从属记录又可以有任意多个低一级的从属记录等等,直到任意级。null层次模型具有两个较为突出的问题:
首先,在层次模型中具有一定的存取路径,它仅允许自顶向下的单向查询。 其次,层次模型比较适合于表示数据记录之间的一对多联系,而对于多对多、多对一的联系,会出现较多的数据冗余。null3.网状模型
在网状模型中用结点(Node)表示实体,用系(Set) 表示两个实体之间的联系。网状模型是一种较为通用的模型,从图论的观点看,它是一个不加任何条件的无向图。网状模型与层次模型的根本区别是:
(1)一个子结点可以有多个父结点;
(2)在两个结点之间可以有两种或多种联系。
显然,层次模型是网状模型的特殊形式,网状模型是层次模型的一般形式。nullnull 在网状模型中,对数据的查询可以用两种方式:
(1)从网络中任一结点开始查询;
(2)沿着网络中的路径按任意方向查询。
网状模型的主要缺点是数据结构本身及其相应的数据操作语言都极为复杂。null4.面向对象数据模型
一系列面向对象的核心概念构成了面向对象数据模型的基础,其中主要包括对象和对象标识、属性和方法、封装和消息、类和继承。null1.7 关系数据库1.7.1 基本术语
基本的数据结构是二维表。
二维表的表头那一行称为关系模式(Relational Scheme),每一张表称为该关系模式的一个具体关系或简称为关系(Relation)。二维表的各行称为关系的元组(Tuple),元组的个数称为基数(Cordinality)。二维表中的每一列称为关系的属性(Attributes),列中的元素为该属性的值,称作分量。
每个属性所对应的变化范围叫属性的变域或简称域(Domain),它是一个值的集合,关系中所有属性的实际值均来自于它所对应的域。关系数据库
数据模型为关系模型的数据库关系数据库
数据模型为关系模型的数据库null术语与内容null1.7.2 关键字
(1)超关键字(Super Key)。在一个关系中,若某一属性集合的值对不同的元组是不同的(因而可惟一地标识元组),则称该属性集合为该关系的超关键字。
(2)候选关键字(Candidate Key)。如某一属性集合是超关键字,但去掉其中任一属性后就不再是超关键字了,这样的属性集合称为候选关键字。
(3)合成关键字(Composite Key)。当某个候选关键字包含有多个属性时,则称该候选关键字为合成关键字。null (4)主关键字(Primary Key 主码,主键)。当按关系组织物理文件时,通常选用一个候选关键字作为插入、删除、检索元组的操作变量。被选用的候选关键字称为主关键字。
组成主关键字的属性称为主属性,其所对应的值域称为主域。
(5)外来关键字(Foreign Key)。如果关系R1的某一(些)属性A1不是R1的候选关键字,而是另一关系R2的候选关键字,则称A1为R1的外来关键字。外来关键字提供了一种表示两个关系联系的方法。nullnull 笛卡尔积(了解)
给定一组域 D1,D2,…,Dn,则
D1D2 … Dn={(d1,d2,…,dn) |di∈Di, i=1,2,…,n}
称为D1,D2,…,Dn的笛卡尔积,每个(d1,d2,…,dn)称为一个n元组,其中每个di为Di域中一个值(一个分量)。例:域 D1={张金,王银,李玉},
D2={20,21,22}
则笛卡尔积
D1D2 =
{(张金,20), (张金,21), (张金,22),
(王银,20), (王银,21), (王银,22),
(李玉,20), (李玉,21), (李玉,22)} 1.7.2 关系运算笛卡尔积笛卡尔积null关系:
D1D2 …Dn的子集叫做在域 D1,D2,…,Dn上的关系,用
R(D1,D2,…,Dn)
表示。其中,R为关系名,n为关系的度。取笛卡尔积的一个有意义的子集作为关系:
R(D1,D2)关系代数(简单了解)关系代数(简单了解)关系代数:抽象查询语言,关系数据操纵的传统表达方式,用对关系的运算表达查询
运算对象:关系
运算结果:关系
运算符:
集合运算符、
专门的关系运算符、
算术比较符、
逻辑运算符null传统的集合运算:
其运算是按元组进行的。
设R1和R2为两个度为n的关系且相对应的属性值取自同一个域,则可定义三种传统的集合运算:
并运算:R1∪R2, 结果:度为n,元组属于R1或R2
差运算:R1-R2 , 结果:度为n,元组属于R1
交运算:R1∩R2 , 结果:度为n,
其中元组既属于R1又属于R2null 专门的关系运算:
选择运算:按条件从给定关系中取若干元组组成新关系,新关系是原关系子集:σF(R)
例:取S(供应厂)表中指定厂址的供应厂信息:
σ厂址=“咸阳”(S)
投影运算:从给定关系中选择一些属性组成新关系,新关系是原关系子集:ΠT (R)
例:P表在零件名和重量两个属性上投影:
Π零件名,重量(P)
nullnull连接运算:从两个关系的广义笛卡尔积中取满足条件的元组形成新关系:A,B分别为两关系中属性组,为比较运算符等连接:取两关系笛卡尔积中A、B属性值相等的元组。
自然连接:A、B为相同属性组的等连接。nullnullT=R/Snull任何一个关系都具备以下特性:
关系的每一个分量都必须是不可分的数据项;
每列都是同类型的数据,来自同一个域;
不同的列给予不同的属性名;
任意两个元组不能完全相同。
行、列的次序可以任意交换。非规范关系 1.7.3 规范化设计理念和方法nullnull关系模型要求关系必须是规范化的,即要求关系模式必须满足一定的规范条件。规范条件中最基本的是:
关系的每一个分量都是不可分的数据项。关系的规范化关系的规范化满足一定条件的关系模式称为范式(Normal Form ,NF)
一个低级范式的关系模式,通过分解(投影)方法可转换成多个高一级范式的关系模式的集合,这个过程称为规范化。第一范式 ( 1NF )第一范式 ( 1NF )要求:关系的每一个分量都是不可分的数据项非规范关系null第一范式是最低的规范化要求,要求数据表中不能存在重复记录,即一定存在一个关键字。
主关键字的要求:
主关键字的值在表中是唯一的
主关键字不能存在空值
成绩表成绩表第二范式 ( 2NF )第二范式 ( 2NF )如果一个关系属于1NF,且所有的非主关键字段(非主属性)都完全依赖于主关键字,则称之为2NF
例:成绩关系(学号,课程代码,平时成绩,期中成绩,期末成绩,综合成绩,学分)其中,主键(关键字)为组合关键字(学号,课程代码)
学分不完全依赖于这个组合主键,只依赖于课程代码,这个关系就不符合第二范式。
成绩表成绩表存在问题!存在问题!使用以上关系模式至少存在以下问题:
产生数据冗余;
更新异常;
解决方法解决方法将原有关系分解(投影)成两个关系,分别是成绩表(学号,课程代码,平时成绩,期中成绩,期末成绩,综合成绩)和课程表(课程代码,课程名称,学分)。
新的成绩关系和课程关系之间通过成绩中的外码(外关键字)课程代码与课程的课程代码相联系,在需要时进行自然联接,可以恢复原有的关系。 null3. 第三范式 ( 3NF )3. 第三范式 ( 3NF )如果一个关系属于2NF,且每个非主属性都直接依赖于主关键字,这种关系就是3NF。
检查学生成绩管理的设计,在成绩表中主键(关键字)为组合关键字(学号,课程代码)。平时成绩,期中成绩,期末成绩依赖于主键, 而综合成绩不依赖于主键,而依赖于平时成绩,期中成绩,期末成绩;
为了满足第三范式,可以删除综合成绩属性。null1.8 数据库设计
数据库设计的6个阶段:
需求分析
确定数据库要完成的操作及数据库要建立的对象等。
概念结构设计
对用户需求进行综合、归纳、抽象,形成一个独立于具体DBMS的概念模型(E-R图)。
逻辑结构设计
将概念结构转换为某个DBMS所支持的数据模型,并对 其进行优化。数据库设计的6个阶段:数据库设计的6个阶段:物理结构设计
为逻辑数据模型选一个最合适应用环境的物理结构(存储结构和存取方法)
数据库实施
建立数据库,编制与调试应用程序,组织数据入库,进行试运行。
数据库运行和维护
对数据库进行
评价
LEC评价法下载LEC评价法下载评价量规免费下载学院评价表文档下载学院评价表文档下载
,调整,修改。
1.8.1 需求分析1.8.1 需求分析收集资料,分析整理,是整个设计过程中最重要的步骤之一,是后继各阶段的基础。
1.8.2 概念结构设计1.8.2 概念结构设计利用E-R图设计概念模式,组织用户关心的所有信息结构。1.8.3 逻辑结构设计1.8.3 逻辑结构设计将概念模型转换为某个具体DBMS所支持的数据模型。
E-R模型向关系模型的转换
转换原则:
a.每一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的关键字就是关系的关键字。
b.联系的转换
1:1,1:m联系不产生新的关系
m:n联系要产生一个新的关系
思考!思考!课本,第19页例1.2
null百货公司E—R图将E-R图转换为关系模式将E-R图转换为关系模式职工(工号,姓名,性别,工资,店号,开始时间)
商店(店号,店名,店址,店经理)
商品(商品号,品名,单价,产地)
经营(店号,商品号,月销售量)
null思考:请将以下E-R图修改之后,
转换为关系模式时间地点教师号null1.8.4 物理结构设计
1.8.5 数据库实施
1.8.6 数据库运行维护null设计能够满足需求的数据库,要考虑以下内容:
每个表只能包含一个主题信息
所有的字段集合要包含描述表主题的全部信息
表中不要包含重复信息,表中的任意两行不能完全相同,行的顺序可以是任意的
每一列中的分量是类型相同的数据,列的顺序可以是任意的
null设计能够满足需求的数据库,要考虑以下内容:
字段要具有唯一性和基础性,不要包含推导数据或计算数据
字段要有不可再分性,每个字段对应的数据项是最小的单位;表中的分量是不可再分割的最小数据项,即表中不允许有子表
确定表的主关键字段1.3.6 关系数据库应用系统设计示例1.3.6 关系数据库应用系统设计示例1、系统介绍
建立学生成绩管理系统的主要目的是通过系统对学生成绩录入、修改与管理,能够方便地查询到各种分析报告和成绩单,例如,分数分布情况、最高、最低分数等情况;系统还应该考虑对成绩管理有严格的权限分配,保证数据的安全性。2、系统需求分析2、系统需求分析录入和维护学生的各种成绩,生成数据库数据。
对不及格学生的处理信息。
按照各种方式方便的浏览成绩,如按科目、按班级、按院系、按专业和按个人等。
对各科考试进行统计分析,例如,进行总分、平均分、最高、最低分数、优秀率、及格率的统计分析;能够输出各种成绩单和统计报表、以及成绩走势图等。
2、系统需求分析(续)2、系统需求分析(续)
重修成绩管理,根据重考的成绩刷新相关课程的成绩。
相关课程的教师和管理员对成绩进行维护,成绩的维护应有严格的时间限制。例如,一定的时间后,教师不能修改学生成绩,如果必须要修改,只能通过管理员修改,并详细记录修改结果、修改原因、修改时间等 。
3、数据库需求分析3、数据库需求分析首先要做成绩录入,为以后的成绩分析做好前期数据信息的准备,所以成绩要保存在数据库中。数据信息应包括学生的学号、考试课程代码和成绩属性,对成绩有约束条件:不得超过100分。
因为要做数据分析和统计,所以需要学生的基本信息,例如学号、姓名、性别、班级、照片、简历、专业和院系等信息,是统计数据的基本信息来源。
3、数据库需求分析(续)3、数据库需求分析(续)考虑给学生补考的机会,所以需要学生补考的信息,应该包含学号、课程代码和补考成绩。
考虑对数据库的操作,设置课程、院系和专业数据信息。它们分别包括课程代码、课程名称、学分,院系代码、名称、电话,以及专业代码、名称和说明。4、数据库设计4、数据库设计(1)实体集的设计
学生基本信息实体
“学生基本信息”实体具有的属性学号、姓名、性别、籍贯、出生年月、班级、专业、院系,还可以增加备注、照片和简历。
成绩实体
“成绩”实体具有学号、课程代码、期中成绩、平时成绩、期末成绩、综合成绩和学分属性。
4、数据库设计(续)4、数据库设计(续)补考成绩实体
“补考”成绩实体具有学号、课程代码、分数和学分属性。
专业实体
“专业”实体具有专业代码、专业名称和专业介绍属性。
班级实体
“院系”实体具有院系代码、名称等属性,还可以增加办公位置、联系电话等属性。
课程实体
“课程”实体具有课程代码、名称、学分属性。null(2)实体间联系
学生与成绩之间的关系是一对多的,一名学生有几门考试成绩;补考成绩和成绩间关系是一对一的;
课程与成绩、补考成绩间的关系是一对多的关系,一门课程有很多成绩;
学生和专业以及院系之间是多对一的关系,多名学生就读一个专业、隶属一个学院或系。4、数据库设计(续)(3)检查数据库的规范性 P23(3)检查数据库的规范性 P23应用第一范式检验学生成绩管理中的表
在学生基本信息关系中,没有可再分的属性,满足第一范式要求。
在其他关系中,没有可再分的属性。
null应用第二范式 2NF
成绩关系(学号,课程代码,平时成绩,期中成绩,期末成绩,综合成绩,学分)其中,主键(关键字)为组合关键字(学号,课程代码);
学分不完全依赖于这个组合主键,只依赖于课程代码,这个关系就不符合第二范式。null使用以上关系模式至少存在以下几个问题:
产生数据冗余;
更新异常;
插入异常;
删除异常。null解决方法
将原有关系分成两个关系模式,分别是成绩关系(学号,课程代码,平时成绩,期中成绩,期末成绩,综合成绩)和课程关系(课程代码,课程名称,学分)。
新的成绩关系和课程关系之间通过成绩中的外码(外关键字)课程代码与课程的课程代码相联系,在需要时进行自然联接,可以恢复原有的关系。
补考成绩关系也存在同样问题null应用第三范式 3NF
检查学生成绩管理的设计,在成绩表中主键(关键字)为组合关键字(学号,课程代码)。平时成绩,期中成绩,期末成绩依赖于主键, 而综合成绩不依赖于主键,而依赖于平时成绩,期中成绩,期末成绩;
为了满足第三范式,可以删除综合成绩属性。null第四范式是属性的多值依赖范式
学生成绩管理中的关系相对简单,不存在多值依赖关系,不再讨论 。数据库设计小结数据库设计小结主要步骤如下:
数据库系统需求分析;
数据需求分析;
设计数据模式(E-R图);
数据模式转化为表;
对表和模式进行第一范式规范;
检查是否符合第二范式并修正关系;
用第三范式规范关系;
如果存在组合多值依赖传递关系,还要规范其满足第四范式。本章 小结本章 小结1、掌握数据库系统的基本组成部分;
2、掌握信息、数据的概念以及它们之间的关系;
3、掌握数据模型的基本概念及四种常用的数据模型;
4、重点掌握关系模型的概念,什么是关系、元组、记录、字段和属性的概念;
“列” “行”的数据库术语
5、能正确理解表与表之间的联系(实体之间的关系),关系的类型及实现;
6、E-R图的相关概念,结合实际应用分析E-R图练习练习null
根据E-R图完成表结构的设计,并加以说明:
1. 标识出表及各表中字段及其数据类型。
2. 指出各表中的主关键字,以及外关键字。
3. 描述出各表之间的具有什么类型的联系,以及通过什么字段进行联系。 1. 标识出表及各表中字段采用的数据类型。1. 标识出表及各表中字段采用的数据类型。null2.
学生表(pk 学号)
课程表(pk 课程号)
学习表(pk 学号,课程号;fk 学号,课程号 )
3.
学生表与学习表为一对多联系 ,通过学号联系
学生表是一,学习表是多
课程表与学习表为一对多联系 ,通过课程号联系
课程是一,学习表是多 作业作业时间地点null
根据E-R图完成表结构的设计,并加以说明:
1. 标识出表及各表中字段及其数据类型。
2. 指出各表中的主关键字,以及外关键字。
描述出各表之间的具有什么类型的联系,以及通过什么字段进行联系。