mysql数据库实用教程第一章郑阿奇主编.ppt
《mysql数据库实用教程第一章郑阿奇主编.ppt》由会员分享,可在线阅读,更多相关《mysql数据库实用教程第一章郑阿奇主编.ppt(66页珍藏版)》请在三一办公上搜索。
1、第1章 数据库的基本概念,1.1 数据库基本概念,1.2 关系数据库设计,1.3 数据库应用系统,1.4 MySQL概述,1.1 数据库基本概念,1.数据库 数据库(DB)是存放数据的仓库,只不过这些数据存在一定的关联,并按一定的格式存放在计算机上。从广义上讲,数据不仅包含数字,还包括了文本、图像、音频、视频等。例如,把学校的学生、课程、学生成绩等数据有序地组织并存放在计算机内,就可以构成一个数据库。因此,数据库由一些持久的相互关联数据的集合组成,并以一定的组织形式存放在计算机的存储介质中。,1.1.1 数据库与数据库管理系统,2.数据库管理系统数据库管理系统(DBMS)是管理数据库的系统,它
2、按一定的数据模型组织数据。DBMS应提供如下功能:(1)数据定义功能可定义数据库中的数据对象。(2)数据操纵功能可对数据库表进行基本操作,如插入、删除、修改、查询。(3)数据的完整性检查功能保证用户输入的数据应满足相应的约束条件。,(4)数据库的安全保护功能保证只有赋予权限的用户才能访问数据库中的数据。(5)数据库的并发控制功能使多个应用程序可在同一时刻并发地访问数据库的数据。(6)数据库系统的故障恢复功能使数据库运行出现故障时进行数据库恢复,以保证数据库可靠运行。,1.1.1 数据库与数据库管理系统,(7)在网络环境下访问数据库的功能。(8)方便、有效地存取数据库信息的接口和工具。编程人员通
3、过程序开发工具与数据库的接口编写数据库应用程序。数据库管理员(DBA,DataBase Adminitrator)通过提供的工具对数据库进行管理。数据、数据库、数据库管理系统与操作数据库的应用程序,加上支撑它们的硬件平台、软件平台和与数据库有关的人员一起构成了一个完整的数据库系统。图1.1描述了数据库系统的构成。,图1.1 数据库系统的构成,1.1.2 数据模型,数据库管理系统根据数据模型对数据进行存储和管理,数据库管理系统采用的数据模型主要有层次模型、网状模型和关系模型。层次模型以树形层次结构组织数据。图1.2为某学校按层次模型组织的数据示例。,图1.2 按层次模型组织的数据示例,1.1.2
4、 数据模型,网状模型每一个数据用一个节点表示,每个节点与其他节点都有联系,这样数据库中的所有数据节点就构成了一个复杂的网络。图1.3为按网状模型组织的数据示例。,图1.3 按网状模型组织的数据示例,关系模型以二维表格(关系表)的形式组织数据库中的数据。例如,学生成绩管理系统涉及的学生、课程和成绩三个表。“学生”表涉及的主要信息有学号、姓名、专业名、性别、出生日期、总学分和备注;“课程”表涉及的主要信息有课程号、课程名、类别、开课学期、学时和学分;“成绩”表涉及的主要信息有学号、课程号和成绩。附录A表A.4、表A.5和表A.6描述了学生成绩管理系统中学生、课程和成绩三个表的部分数据。表格中的一行
5、称为一个记录,一列称为一个字段,每列的标题称为字段名。如果给每个关系表取一个名字,则有n个字段的关系表的结构可表示为:关系表名(字段名1,字段名n),通常把关系表的结构称为关系模式。,1.1.2 数据模型,在关系表中,如果一个字段或几个字段组合的值可唯一标志其对应记录,则称该字段或字段组合为码。例如,表A.4的“学号”可唯一标志每一个学生,表A.5的“课程号”可唯一标志每一门课,表A.6的“学号”和“课程号”可唯一标志每一个学生一门课程的成绩。有时一个表可能有多个码,如表A.4中,姓名不允许重名,则“学号”、“姓名”均是学生信息表码。对于每一个关系表通常可指定一个码为“主码”,在关系模式中,一
6、般用下横线标出主码。设表A.4的名字为XS,关系模式可分别表示为:XS(学号,姓名,专业名,性别,出生日期,总学分,备注)。设表A.5的名字为KC,关系模式可分别表示为:KC(课程号,课程名,类别,开课学期,学时,学分)。设表A.6的名字为XS_KC,关系模式可分别表示为:XS_KC(学号,课程号,成绩)。,按关系模型组织的数据表达方式简洁、直观,插入、删除、修改操作方便,而按层次、网状模型组织的数据表达方式复杂,插入、删除、修改操作复杂。因此,关系模型得到了广泛应用,MySQL是支持关系数据模型的数据库管理系统。,1.2 关系数据库设计,通常,把每一类数据对象的个体称为“实体”,而每一类对象
7、个体的集合称为“实体集”,因此在学生成绩管理系统中主要涉及“学生”和“课程”两个实体集。其他非主要的实体可以很多,如班级、班长、任课教师、辅导员等实体。每个实体集涉及的信息项称为属性。就“学生”实体集而言,它的属性有学号、姓名、专业名、性别、出生日期、总学分、备注。“课程”实体集属性有课程号、课程名、类别、开课学期、学时和学分。,1.2.1 概念结构设计,实体集中的实体彼此是可区别的,如果实体集中的属性或最小属性组合的值能唯一标志其对应实体,则将该属性或属性组合称为码。对于每一个实体集,可指定一个码为主码。如果用矩形框表示实体集,用带半圆的矩形框表示属性,用线段连接实体集与属性,当一个属性或属
8、性组合指定为主码时,在实体集与属性的连接线上标记一斜线,则可以用图1.4描述学生成绩管理系统中的实体集及每个实体集涉及的属性。,图1.4 学生和课程实体集属性的描述,1.2.1 概念结构设计,实体集A和实体集之间存在各种关系,通常把这些关系称为“联系”。通常将实体集及实体集联系的图表示为实体(Entity)-联系(Relationship)模型;从分析用户项目涉及的数据对象及数据对象之间的联系出发,到获取E-R图的这一过程称为概念结构设计。联系用菱形表示,通过直线与实体相连。这样构成的图就是E-R图,E-R图就是E-R模型的描述方法。两个实体集A和B之间的联系可能是以下三种情况之一。,1.一对
9、一的联系(1:1)A中的一个实体最多与B中的一个实体相联系,B中的一个实体也最多与A中的一个实体相联系。例如,“班级”与“正班长”这两个实体集之间的联系是一对一的联系,因为一个班只有一个班长,反过来,一个正班长只属于一个班。“班级”与“正班长”两个实体集的E-R模型如图1.5所示。,图1.5“班级”与“正班长”实体集E-R模型,1.2.1 概念结构设计,2.一对多的联系(1:n)A中的一个实体可以与B中的多个实体相联系,而B中的一个实体至多与A中的一个实体相联系。例如,“班级”与“学生”这两个实体集之间的联系是一对多的联系,因为,一个班可有若干学生,反过来,一个学生只能属于一个班。“班级”与“
10、学生”两个实体集的E-R模型如图1.6所示。,图1.6“学生”与“班级”两个实体集的E-R模型,1.2.1 概念结构设计,3.多对多的联系(m:n)A中的一个实体可以与B中的多个实体相联系,而B中的一个实体也可与A中的多个实体相联系。例如,“学生”与“课程”这两个实体集之间的联系是多对多的联系,因为,一个学生可选多门课程,反过来,一门课程可被多个学生选修。“学生”与“课程”两个实体集的E-R模型如图1.7所示。,图1.7“学生”与“课程”实体集间的E-R模型,1.2.2 逻辑结构设计,1.(1:1)联系的E-R图到关系模式的转换对于(11)的联系既可单独对应一个关系模式,也可以不单独对应一个关
11、系模式。(1)联系单独对应一个关系模式,则由联系属性、参与联系的各实体集的主码属性构成关系模式,其主码可选参与联系的实体集的任一方的主码。例如,考虑图1.5描述的“班级(BJ)”与“正班长(BZ)”实体集通过属于(SY)联系E-R模型可设计如下关系模式(下横线表示该字段为主码):BJ(班级编号,院系,专业名,人数)BZ(学号,姓名)SY(学号,班级编号),(2)联系不单独对应一个关系模式,联系的属性及一方的主码加入另一方实体集对应的关系模式中。例如,考虑图1.5描述的“班级(BJ)”与“正班长(BZ)”实体集通过属于(SY)联系E-R模型可设计如下关系模式:BJ(班级编号,院系,专业名,人数)
12、BZ(学号,姓名,班级编号)或者BJ(班级编号,院系,专业名,人数,学号)BZ(学号,姓名),1.2.2 逻辑结构设计,2.(1:n)联系的E-R图到关系模式的转换对于(1n)的联系既可单独对应一个关系模式,也可以不单独对应一个关系模式。(1)联系单独对应一个关系模式,则由联系的属性、参与联系的各实体集的主码属性构成关系模式,n端的主码作为该关系模式的主码。例如,考虑图1.6描述的“班级(BJ)”与“学生(XS)”实体集E-R模型可设计如下关系模式:BJ(班级编号,院系,专业名,人数)XS(学号,姓名,专业名,性别,出生日期,总学分,备注)SY(学号,班级编号),(2)联系不单独对应一个关系模
13、式,则将联系的属性及1端的主码加入n端实体集对应的关系模式中,主码仍为n端的主码。例如,图1.6“班级(BJ)”与“学生(XS)”实体集E-R模型可设计如下关系模式:BJ(班级编号,院系,专业名,人数)XS(学号,姓名,专业名,性别,出生日期,总学分,备注,班级编号,1.2.2 逻辑结构设计,3.(m:n)联系的E-R图到关系模式的转换对于(mn)的联系,单独对应一个关系模式,该关系模式包括联系的属性、参与联系的各实体集的主码属性,该关系模式的主码由各实体集的主码属性共同组成。例如,图1.7描述的“学生(XS)”与“课程(KC)”实体集之间的联系可设计如下关系模式:XS(学号,姓名,专业名,性
14、别,出生日期,总学分,备注)KC(课程号,课程名称,类别,开课学期,学时,学分)XS_KC(学号,课程号,成绩)关系模式XS_KC的主码是由“学号”和“课程号”两个属性组合起来构成的一个主码,一个关系模式只能有一个主码。,至此,已介绍了根据E-R图设计关系模式的方法,通常这一设计过程称为逻辑结构设计。在设计好一个项目的关系模式后,就可以在数据库管理系统环境下创建数据库、关系表及其他数据库对象,输入相应数据,并根据需要对数据中的数据进行各种操作。,1.2.3 数据库物理设计,数据的物理模型即指数据的存储结构,如对数据库物理文件和索引文件的组织方式、文件的存取路径、内存的管理等。物理模型不仅与数据
15、库管理系统有关,还和操作系统甚至硬件有关,物理模型对用户是不可见的。,1.3 数据库应用系统,1.ODBC数据库接口ODBC即开放式数据库互连(Open DataBase Connectivity),是微软公司推出的一种实现应用程序和关系数据库之间通信的接口标准。符合标准的数据库就可以通过SQL语言编写的命令对数据库进行操作,但只针对关系数据库。目前所有的关系数据库都符合该标准,如Oracle、SQL Server、MySQL、DB2、Sybase、Access等。ODBC本质上是一组数据库访问API(应用程序编程接口),由一组函数调用组成,核心是SQL语句。,1.3.1 数据库的连接方式,在
16、具体操作时,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。MySQL是通过MySQL Connector/ODBC(MyODBC驱动程序系列)为ODBC提供支持的,图1.8说明了MySQL使用ODBC连接方式的结构。,1.3.1 数据库的连接方式,图1.8 MyODBC数据库接口,1.3.1 数据库的连接方式,2.ADO数据库接口ADO(ActiveX Data Object)是微软公司开发的基于COM的数据库应用程
17、序接口,通过ADO连接数据库,可以灵活地操作数据库中的数据。使用ADO访问关系数据库有两种途径:一种是通过ODBC驱动程序,另一种是通过数据库专用的OLE DB Provider,后者有更高的访问效率。,1.3.1 数据库的连接方式,3.ADO.NET数据库接口ADO.NET数据模型从ADO发展而来,但它不只是对 ADO的改进,而是采用了一种全新的技术。主要表现在以下几个方面:ADO.NET不是采用ActiveX技术,而是与.NET框架紧密结合的产物。ADO.NET包含对XML标准的完全支持,这对于跨平台交换数据具有重要的意义。,ADO.NET既能在与数据源连接的环境下工作,又能在断开与数据源
18、连接的条件下工作。特别是后者,非常适合于网络应用的需要。因为在网络环境下,保持与数据源连接,不符合网站的要求,不仅效率低,付出的代价高,而且常常会引发由于多个用户同时访问时带来的冲突。因此ADO.NET系统集中主要精力用于解决在断开与数据源连接的条件下数据处理的问题。图1.9显示了 ADO.NET 架构总览。,1.3.1 数据库的连接方式,图1.9 通过ADO.NET访问数据库的接口模型,数据层是实现ADO.NET断开式连接的核心,从数据源读取的数据先缓存到数据集中,然后被程序或控件调用。数据源可以是数据库或XML数据。数据提供器用于建立数据源与数据集之间的联系,它能连接各种类型的数据,并能按
19、要求将数据源中的数据提供给数据集,或者从数据集向数据源返回编辑后的数据。,MySQL使用MySQL Connector/NET实施了所需的ADO.NET接口,并将其集成到了ADO.NET aware工具中。从而使开发人员能够方便地创建需要安全和高性能数据连接(与MySQL)的.NET应用程序。MySQL Connector/NET是用纯C#语言编写的可完全管理的ADO.NET驱动程序。,1.3.1 数据库的连接方式,4.JDBC数据库接口在JDBC API中有两层接口:应用程序层和驱动程序层,前者使开发人员可以通过SQL调用数据库和取得结果,后者处理与具体数据库驱动程序的所有通信。使用JDBC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- mysql 数据库 实用教程 第一章 郑阿奇 主编
链接地址:https://www.31ppt.com/p-5292090.html