




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络程序设计第8章数据库基础知识章节概述数据库是20世纪60年代后期发展起来的一项重要技术。70年代以来,数据库技术得到了迅速发展和广泛应用,已经成为计算机科学与技术的一个重要分支。随着新世纪的到来,人类步入信息社会,数据处理得到最广泛的应用,数据库称为信息处理的最有效的工具。章节内容本章从数据库的基本概念开始,接着介绍数据库的设计方法,然后说明Access数据库的实现,最后介绍了常用的SQL语句。本章的主要内容:数据库的概念数据模型数据库的设计ACCESS数据库的实现常用的SQL语句8.1数据库的概念该节分为两部分:数据管理技术的发展:主要介绍数据管理技术发展的三个阶段。其中数据库是最高的阶段。数据库的基本术语:介绍数据库中的常用概念。
8.1.1数据管理技术的发展数据管理技术的发展,经历了三个阶段:1、人工管理阶段:计算机没有系统软件的支持,程序员负责处理数据和组织数据,程序员直接与物理设备打交道,程序与物理设备高度相关,程序没有任何独立性。2、文件系统阶段:出现了操作系统,数据可以组织成文件,具有较高的物理独立性。缺点是数据冗余度大和数据与程序之间缺乏独立性。3、数据库阶段:数据库系统的数据冗余度小,数据共享度高,数据和程序之间具有较高的独立性。8.1.2数据库的基本术语1、数据库按照一定的规则组织和存储在一起,相互关联的数据集合。即把各种各样的数据按照一定的规则组合在一起构成的“数据”的集合。
2、数据库管理系统数据库管理系统是建立、管理、维护和控制数据库,位于用户与操作系统之间的一组计算机软件。数据库管理系统使用户能方便的定义数据和操纵数据,并能够保证数据的安全性、完整性以及发生故障后的系统恢复。3、数据库应用系统数据库应用系统是基于数据库技术开发的面向某一类实际问题的应用软件。
8.2数据模型计算机不能直接处理现实世界中的具体事物,怎么办?
人们对现实世界进行模拟和抽象,得到一个中间的层次,叫做信息世界,然后将信息世界转换成计算机世界。转换得结果是对现实世界的描述,叫做数据模型。数据模型是信息世界和机器世界对现实世界的表示和描述。数据模型是数据特征的抽象,是对数据库如何组织的一种模型化表示,是数据库设计的核心与基础。
8.2数据模型数据模型应满足三方面要求:1.是能比较真实地模拟现实世界;2.是容易为人所理解;3.是便于在计算机上实现。根据模型应用的不同目的,将模型分为两类:1.概念模型:也称信息模型,是按用户的观点来对数据和信息建模,主要用于数据库设计。2.数据模型:是按计算机系统的观点对数据建模,主要用于数据库管理系统的实现。如图所示8.2数据模型概念模型概念模型是现实世界到机器世界的一个中间层次,主要内容有:1.实体:客观存在并可相互区别的事物称为实体。2.属性:实体所具有的某一特性称为属性。3.关键字:唯一标识实体的属性或者属性的集合。4.实体型:具有相同属性的实体具有共同的特征和性质。用实体名及其属性名集合来表示同类实体,称为实体型。5.实体集:同型实体的集合称为实体集。6.联系:在现实世界中,事物内部以及事物之间存在联系,在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。联系两个实体型之间的联系分为三类:一对一联系(1:1):如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与B具有一对一联系,记为1:1。一对多联系(1:n):如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与B有一对多联系,记为1:n。多对多联系(n:n):如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与B具有多对多联系,记为m:n。数据模型数据模型的组成要素有三个,分别是数据结构、数据操作和数据约束。数据结构数据结构是对系统静态特征的描述。主要描述数据类型、内容、性质以及数据间联系的有关信息。在数据库系统中,通常按照数据结构的类型来命名数据模型,例如,数据结构为层次、网状或关系结构的数据模型分别被命名为层次模型、网状模型和关系模型。数据操作数据操作描述的是系统的动态特征,主要描述在相应数据结构上的操作类型与操作方式。数据约束数据约束描述的是系统的约束条件,主要描述数据结构内数据间的语义限制、制约与依存关系,以及数据动态变化的规则以保证数据的正确、有效与相容。
关系模型1.关系:关系模型中一个关系就是一个二维表,每个关系有一个关系名。在关系模型中,实体及实体间的联系均用关系来表示。2.元组:表中的一行即为一个元组。3.属性:表中的一列即为一个属性,给每个属性起一个名字即为属性名。4.域:属性的取值范围。5.关键字:属性或属性的集合,其值能唯一地标识一个元组。有的表中能起到这种作用的属性或者属性集有多个,选取一个作为主关键字,简称“主键”其它的作为候选关键字。6.外关键字:如果一个表中的字段名不是本表的主关键字,而是另外一个表的主关键字或者候选关键字,这个字段就是本表的外部关键字。外部关键字用来表示表与表之间的联系。8.3.1关系数据库的设计原则关系数据库的设计目标是采用合理的表结构,存储所需的实体信息,并反映出实体之间客观存在的联系。关系数据库的设计原则是:实体的表示应该单一化避免在表之间出现重复的字段表中的字段必须是彼此独立的用外部关键字保证有关联的表之间的联系8.3.2关系数据库的设计步骤关系数据库的设计步骤:1、确定所需的表根据“单一化”的原则,把复杂的实际问题分成各种基本实体,一个表描述一个实体或实体间的一种联系。2、设计所需的字段(包括关键字)根据实际的需求,抽象实体拥有的属性,确保每一个属性都是有用的,所需的信息都对应相关的属性。对每一个表,确定能够起到唯一标识作用的属性作为主关键字。3、确定表之间的联系对每个表进行分析,确定一个表中的数据和其他表中的数据的联系,使用外部关键字来明确这种联系。8.3.3关系数据库的设计实例在学校的教学过程中,对学生及其考试成绩的管理是很重要。运用关系模型的分析和设计方法,对这个实际问题进行描,完成一个数据库的设计。学生信息表(学号、姓名、性别、民族、出生日期、专业)课程信息表(课程编号、课程名称、课程类别、课程学分)成绩信息表(学号、课程编号、考试成绩,是否补考)主要关键字:学生信息表的主键是学号,课程信息表的主键是课程编号,成绩信息表的主键是学号和课程编号的组合。外部关键字:成绩信息表中的学号是学生信息表的外部关键字,课程编号是课程信息表的外部关键字。8.4常见的关系型数据库管理系统数据库管理系统帮助用户建立和管理数据库,可以分为:大中型数据库管理系统运行稳定,效率高,速度快,但使用比较复杂,用于大型系统,比较流行的大中型数据库管理系统有SQLServer,IBMDB2,Oracle,SyBase,Informix等,小型数据库管理系统使用简单,管理方便,但是效率低,用于数据量比较少的一般系统。常用的小型数据库管理系统有Access,Pradox,Foxpro等。Access2000数据库管理系统是微软公司开发的Office2000套件产品之一,本教材主要使用Access数据库管理系统来创建数据库。8.5Access数据库的建立8.5.1创建数据库。8.5.2表的创建。8.5.1创建数据库1.启动access程序2.创建数据库3.保存数据库8.5.2表的创建1.ACCESS的数据类型2.创建表3.创建表之间的关系4.数据维护ACCESS的数据类型用户在设计表时,必须定义表中字段使用的数据类型ACCESS常用的数据类型如下:1.文本类型:用于存储比较短的字符串,最大长度是255。2.备注类型:用于存储比较长的字符串,最大长度可以容纳65535个字符。3.数字类型:用于存储进行计算的数字数据。用户可以通过设置“字段大小”属性,定义特定的数字类型。4.是/否类型:取值为true或false。5.自动编号类型:可以自动递增或者随机产生一个数字,一般用于记录的编号创建表1.打开设计视图2.创建字段3.创建主键4.保存表建立表之间的关系单击工具栏上的“关系”按钮,创建表之间的联系。首先添加要创建联系的表,然后选择表之间用作联系的字段,从一个表拖动到另一个表相应的字段,松开鼠标,单击“联接类型”,选择联接的类型,单击确定创建联系。表与表之间联接的类型有三种:只包含来自两个表的联接字段相等的记录。包含A表中所有的记录和B表中联接字段相等的记录。包含B中所有的记录和A表中联接字段相等的记录。录入数据表对象有两种视图:设计视图和数据表视图。我们在设计视图中建立表结构,完成了表的设计,然后在数据表视图中编辑数据。
8.6常见的SQL语句通过建立表对象,可以在数据库中存储数据,这是我们管理数据的基础,使用ACCESS的查询对象可以对数据进行各种操作,是数据库功能的体现。下面介绍查询对象的使用。在ACCESS中提供了使用“设计视图”和“SQL视图”两种视图来创建查询,其中“SQL视图”使用灵活,功能强大,因此本书主要介绍使用“SQL视图”创建查询。8.6.1“SQL视图”的使用1.打开查询,进入SQL视图2.书写SQL语句3.运行4.保存8.6.2常用SQL语句SQL(StructureQueryLanguage,结构化查询语言)是在数据库中广泛应用的数据库操作语言,它使用灵活,功能强大。SQL语言内容丰富,包括了数据定义,查询,操作和控制四种功能,包括了对数据库的全部操作。其中最常用的操作是:查询、增加、更新和删除,它们分别对应如下的SQL语句:查询数据:Select语句增加数据:Insert语句更新数据:Update语句删除数据:Delete语句Select语句(1)查询是数据库最常用的操作,Select语句用于数据库的查询,该语句具有灵活的使用方式和丰富的功能,其一般格式为:Select字段列表From表名或查询名[Where条件表达式][Groupby字段列表][Having条件表达式][Orderby字段名][Asc|Desc]
Select语句(2)说明:1.“[]”中的部分可以根据需要选择使用。2.Select的“字段列表”是要查询的数据,可以使表中的一个或多个字段,字段之间用逗号隔开。3.From用于指定查询所涉及到的表或者查询。4.Where的“条件表达式”指定查询的条件5.Groupby的“字段列表”指定用于分组的字段。Having的条件表达式可以对分组总计后的数据使用条件。6.Orderby指定用于分组的字段。Select语句(3)常用Select语句:1.从单表中查询若干列的数据选择指定字段的数据选择全部数据派生新的字段消除重复的记录Select语句(4)常用Select语句:2.从单表中选择符合条件的数据,常用条件的书写如下
查询条件方法比较大小比较运算符,例如:=,<,>,<=,>=,<>确定范围Between…and,notbetween…and确定集合In,notin字符匹配Like,notlike空值Isnull,isnotnull多重条件And,or注意:书写条件的时候,“时间/日期”型的数据要加上#,“文本”型和“备注”型的数据要加单引号,数字类型的直接书写。标点符号是英文的标点。Select语句(5)常用Select语句:比较大小:用于比较大小的运算符一般包括:=(等于)<(小于)>(大于)>=(大于等于)<=(小于等于)<>(不等于)。确定范围:使用between…and可以指定一个闭区间的范围。另外可以使用notbetween…and指定不在这个区间的范围。确定集合:可以使用in查找属于指定的集合中的记录,括号中的元素用逗号分隔。另外可以使用notin查询不在这个集合的元素。模糊查询:很多时候,我们要查找的信息是一个模糊的值,例如查询含有“数据库”三个字的课程,查询姓刘的同学的记录,这可以使用%和_来实现。空值查询:这类值条件用isnull表示。多重条件查询:当条件不止一个的时候,可是用and和or连接不同的条件。Select语句(6)3.对查询结果进行排序使用orderby子句可以对查询的结果排序。其中DESC表示降序,ASC表示升序,默认的排序方式是升序,所以ASC可以省略。4.对满足条件的数据进行总计使用总计函数可以对符合条件的数据进行统计,常用的汇总函数有count(计数),Max(最大),Min(最小),Sum(求和),Avg(平均)等。5.对满足条件的数据进行分组总计总计查询可以对符合条件的数据进行统计,有时候我们需要对符合条件的数据按照某些字段分组,然后对每一组数据进行统计,这需要使用groupby子句实现。Select语句(7)6.从多个表中查询数据有的时候我们需要从多个表的选择数据,如果一个查询同时涉及两个以上的表,则叫连接查询。表之间通过相关字段连接。连接查询和单表查询书写方法不同是:在from子句中书写涉及到的所有表,表名与表名之间使用逗号隔开;在where子句中使用比较运算符组成连接表达式,用于连接表。Where子句的连接表达式一般格式为:[表1].<列名><比较运算符>[表2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度养老机构租赁服务合同
- 2025年度餐饮管理合伙企业合作协议书
- 二零二五年度儿童娱乐中心店面租赁协议模板
- 二零二五年度酒店客房设施设备保养与维修合同
- 2025年度网络安全技术顾问聘请合同范本
- 二零二五年度牧草种植基地牧草购买与种植保险协议
- 2025年度汽修厂汽车维修行业技术标准制定与实施劳务合同
- 2025年货车挂靠业务委托管理合同
- 二零二五年度酒店客房承包经营及收益分成协议
- 二零二五年度废旧纸业买卖与再生利用合同
- 春灌工作总结汇报
- 《义务教育道德与法治课程标准(2022年版)》
- 2023北京高三一模语文汇编:非连续性文本阅读
- 初中物理核心素养培养
- 保安公司招聘笔试题及答案
- 介绍钱三强的
- 农业资源与环境经济学
- JCT2110-2012 室内空气离子浓度测试方法
- 文印服务投标方案(技术方案)
- 经济地理学智慧树知到课后章节答案2023年下江西师范大学
- 小学主题班会【安全使用和维护家用电器】
评论
0/150
提交评论