mysql数据库实用教程郑阿奇主编
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
● 网状模型 每一个数据用一个节点表示,每个节点与其他节 点都有联系,这样数据库中的所有数据节点就构成 了一个复杂的网络。图1.3为按网状模型组织的数据 示例。
图1.3 按网状模型组织的数据示例
● 关系模型
以二维表格(关系表)的形式组织数据库中的数 据。例如,学生成绩管理系统涉及的学生、课程和 成绩三个表。“学生”表涉及的主要信息有学号、 姓名、专业名、性别、出生日期、总学分和备注; “课程”表涉及的主要信息有课程号、课程名、类 别、开课学期、学时和学分;“成绩”表涉及的主 要信息有学号、课程号和成绩。附录A表A.4、表 A.5和表A.6描述了学生成绩管理系统中学生、课 程和成绩三个表的部分数据。
表格中的一行称为一个记录,一列称为一个字段, 每列的标题称为字段名。如果给每个关系表取一个 名字,则有n个字段的关系表的结构可表示为:关 系表名(字段名1,…,字段名n),通常把关系表 的结构称为关系模式。
1.1.2 数据模型
在关系表中,如果一个字段或几个字段组合的值可 唯一标志其对应记录,则称该字段或字段组合为码。例 如,表A.4的“学号”可唯一标志每一个学生,表A.5 的“课程号”可唯一标志每一门课,表A.6的“学号” 和“课程号”可唯一标志每一个学生一门课程的成绩。
图1.4 学生和课程实体集属性的描述
1.2.1 概念结构设计
实体集A和实体集B之间存在各种关系,通常把 这些关系称为“联系”。通常将实体集及实体集联 系的图表示为实体(Entity)-联系 (Relationship)模型;从分析用户项目涉及的 数据对象及数据对象之间的联系出发,到获取E-R 图的这一过程称为概念结构设计。联系用菱形表示, 通过直线与实体相连。这样构成的图就是E-R图, E-R图就是E-R模型的描述方法。两个实体集A和 B之间的联系可能是以下三种情况之一。
• 1. 一对一的联系(1:1)
• A中的一个实体最多与B中的一个实体相联 系,B中的一个实体也最多与A中的一个实 体相联系。例如,“班级”与“正班长” 这两个实体集之间的联系是一对一的联系, 因为一个班只有一个班长,反过来,一个 正班长只属于一个班。“班级”与“正班 长”两个实体集的E-R模型如图1.5所示。
• 按关系模型组织的数据表达方式简洁、直 观,插入、删除、修改操作方便,而按层 次、网状模型组织的数据表达方式复杂, 插入、删除、修改操作复杂。因此,关系 模型得到了广泛应用,MySQL是支持关系 数据模型的数据库管理系统。
1.2 关系数据库设计
1.2.1 概念结构设计
通常,把每一类数据对象的个体称为“实体”, 而每一类对象个体的集合称为“实体集”,因此在 学生成绩管理系统中主要涉及“学生”和“课程” 两个实体集。其他非主要的实体可以很多,如班级、 班长、任课教师、辅导员等实体。每个实体集涉及 的信息项称为属性。就“学生”实体集而言,它的 属性有学号、姓名、专业名、性别、出生日期、总 学分、备注。“课程”实体集属性有课程号、课程 名、类别、开课学期、学时和学分。
• 2. 数据库管理系统
• 数据库管理系统(DBMS)是管理数据库 的系统,它按一定的数据模型组织数据。 DBMS应提供如下功能:
• (1)数据定义功能可定义数据库中的数据 对象。
wk.baidu.com• (2)数据操纵功能可对数据库表进行基本 操作,如插入、删除、修改、查询。
• (3)数据的完整性检查功能保证用户输入 的数据应满足相应的约束条件。
1.1 数据库基本概念
1.1.1 数据库与数据库管理系统
1. 数据库 数据库(DB)是存放数据的仓库,只不过这些数 据存在一定的关联,并按一定的格式存放在计算机 上。从广义上讲,数据不仅包含数字,还包括了文 本、图像、音频、视频等。 例如,把学校的学生、课程、学生成绩等数据有 序地组织并存放在计算机内,就可以构成一个数据 库。因此,数据库由一些持久的相互关联数据的集 合组成,并以一定的组织形式存放在计算机的存储 介质中。
有时一个表可能有多个码,如表A.4中,姓名不允许 重名,则“学号”、“姓名”均是学生信息表码。对于 每一个关系表通常可指定一个码为“主码”,在关系模 式中,一般用下横线标出主码。设表A.4的名字为XS, 关系模式可分别表示为:XS(学号,姓名,专业名, 性别,出生日期,总学分,备注)。设表A.5的名字为 KC,关系模式可分别表示为:KC(课程号,课程名, 类别,开课学期,学时,学分)。设表A.6的名字为 XS_KC,关系模式可分别表示为:XS_KC(学号, 课程号,成绩)。
• (4)数据库的安全保护功能保证只有赋予 权限的用户才能访问数据库中的数据。
• (5)数据库的并发控制功能使多个应用程 序可在同一时刻并发地访问数据库的数据。
• (6)数据库系统的故障恢复功能使数据库 运行出现故障时进行数据库恢复,以保证 数据库可靠运行。
1.1.1 数据库与数据库管理系统
(7)在网络环境下访问数据库的功能。 (8)方便、有效地存取数据库信息的接口和工具。 编程人员通过程序开发工具与数据库的接口编写数 据库应用程序。数据库管理员(DBA,DataBase Adminitrator)通过提供的工具对数据库进行管理。 数据、数据库、数据库管理系统与操作数据库的 应用程序,加上支撑它们的硬件平台、软件平台和 与数据库有关的人员一起构成了一个完整的数据库 系统。图1.1描述了数据库系统的构成。
图1.1 数据库系统的构成
1.1.2 数据模型
数据库管理系统根据数据模型对数据进行存储和 管理,数据库管理系统采用的数据模型主要有层次 模型、网状模型和关系模型。
● 层次模型 以树形层次结构组织数据。图1.2为某学校按层次 模型组织的数据示例。
图1.2 按层次模型组织的数据示例
1.1.2 数据模型
• 实体集中的实体彼此是可区别的,如果实 体集中的属性或最小属性组合的值能唯一 标志其对应实体,则将该属性或属性组合 称为码。对于每一个实体集,可指定一个 码为主码。如果用矩形框表示实体集,用 带半圆的矩形框表示属性,用线段连接实 体集与属性,当一个属性或属性组合指定 为主码时,在实体集与属性的连接线上标 记一斜线,则可以用图1.4描述学生成绩管 理系统中的实体集及每个实体集涉及的属 性。
图1.3 按网状模型组织的数据示例
● 关系模型
以二维表格(关系表)的形式组织数据库中的数 据。例如,学生成绩管理系统涉及的学生、课程和 成绩三个表。“学生”表涉及的主要信息有学号、 姓名、专业名、性别、出生日期、总学分和备注; “课程”表涉及的主要信息有课程号、课程名、类 别、开课学期、学时和学分;“成绩”表涉及的主 要信息有学号、课程号和成绩。附录A表A.4、表 A.5和表A.6描述了学生成绩管理系统中学生、课 程和成绩三个表的部分数据。
表格中的一行称为一个记录,一列称为一个字段, 每列的标题称为字段名。如果给每个关系表取一个 名字,则有n个字段的关系表的结构可表示为:关 系表名(字段名1,…,字段名n),通常把关系表 的结构称为关系模式。
1.1.2 数据模型
在关系表中,如果一个字段或几个字段组合的值可 唯一标志其对应记录,则称该字段或字段组合为码。例 如,表A.4的“学号”可唯一标志每一个学生,表A.5 的“课程号”可唯一标志每一门课,表A.6的“学号” 和“课程号”可唯一标志每一个学生一门课程的成绩。
图1.4 学生和课程实体集属性的描述
1.2.1 概念结构设计
实体集A和实体集B之间存在各种关系,通常把 这些关系称为“联系”。通常将实体集及实体集联 系的图表示为实体(Entity)-联系 (Relationship)模型;从分析用户项目涉及的 数据对象及数据对象之间的联系出发,到获取E-R 图的这一过程称为概念结构设计。联系用菱形表示, 通过直线与实体相连。这样构成的图就是E-R图, E-R图就是E-R模型的描述方法。两个实体集A和 B之间的联系可能是以下三种情况之一。
• 1. 一对一的联系(1:1)
• A中的一个实体最多与B中的一个实体相联 系,B中的一个实体也最多与A中的一个实 体相联系。例如,“班级”与“正班长” 这两个实体集之间的联系是一对一的联系, 因为一个班只有一个班长,反过来,一个 正班长只属于一个班。“班级”与“正班 长”两个实体集的E-R模型如图1.5所示。
• 按关系模型组织的数据表达方式简洁、直 观,插入、删除、修改操作方便,而按层 次、网状模型组织的数据表达方式复杂, 插入、删除、修改操作复杂。因此,关系 模型得到了广泛应用,MySQL是支持关系 数据模型的数据库管理系统。
1.2 关系数据库设计
1.2.1 概念结构设计
通常,把每一类数据对象的个体称为“实体”, 而每一类对象个体的集合称为“实体集”,因此在 学生成绩管理系统中主要涉及“学生”和“课程” 两个实体集。其他非主要的实体可以很多,如班级、 班长、任课教师、辅导员等实体。每个实体集涉及 的信息项称为属性。就“学生”实体集而言,它的 属性有学号、姓名、专业名、性别、出生日期、总 学分、备注。“课程”实体集属性有课程号、课程 名、类别、开课学期、学时和学分。
• 2. 数据库管理系统
• 数据库管理系统(DBMS)是管理数据库 的系统,它按一定的数据模型组织数据。 DBMS应提供如下功能:
• (1)数据定义功能可定义数据库中的数据 对象。
wk.baidu.com• (2)数据操纵功能可对数据库表进行基本 操作,如插入、删除、修改、查询。
• (3)数据的完整性检查功能保证用户输入 的数据应满足相应的约束条件。
1.1 数据库基本概念
1.1.1 数据库与数据库管理系统
1. 数据库 数据库(DB)是存放数据的仓库,只不过这些数 据存在一定的关联,并按一定的格式存放在计算机 上。从广义上讲,数据不仅包含数字,还包括了文 本、图像、音频、视频等。 例如,把学校的学生、课程、学生成绩等数据有 序地组织并存放在计算机内,就可以构成一个数据 库。因此,数据库由一些持久的相互关联数据的集 合组成,并以一定的组织形式存放在计算机的存储 介质中。
有时一个表可能有多个码,如表A.4中,姓名不允许 重名,则“学号”、“姓名”均是学生信息表码。对于 每一个关系表通常可指定一个码为“主码”,在关系模 式中,一般用下横线标出主码。设表A.4的名字为XS, 关系模式可分别表示为:XS(学号,姓名,专业名, 性别,出生日期,总学分,备注)。设表A.5的名字为 KC,关系模式可分别表示为:KC(课程号,课程名, 类别,开课学期,学时,学分)。设表A.6的名字为 XS_KC,关系模式可分别表示为:XS_KC(学号, 课程号,成绩)。
• (4)数据库的安全保护功能保证只有赋予 权限的用户才能访问数据库中的数据。
• (5)数据库的并发控制功能使多个应用程 序可在同一时刻并发地访问数据库的数据。
• (6)数据库系统的故障恢复功能使数据库 运行出现故障时进行数据库恢复,以保证 数据库可靠运行。
1.1.1 数据库与数据库管理系统
(7)在网络环境下访问数据库的功能。 (8)方便、有效地存取数据库信息的接口和工具。 编程人员通过程序开发工具与数据库的接口编写数 据库应用程序。数据库管理员(DBA,DataBase Adminitrator)通过提供的工具对数据库进行管理。 数据、数据库、数据库管理系统与操作数据库的 应用程序,加上支撑它们的硬件平台、软件平台和 与数据库有关的人员一起构成了一个完整的数据库 系统。图1.1描述了数据库系统的构成。
图1.1 数据库系统的构成
1.1.2 数据模型
数据库管理系统根据数据模型对数据进行存储和 管理,数据库管理系统采用的数据模型主要有层次 模型、网状模型和关系模型。
● 层次模型 以树形层次结构组织数据。图1.2为某学校按层次 模型组织的数据示例。
图1.2 按层次模型组织的数据示例
1.1.2 数据模型
• 实体集中的实体彼此是可区别的,如果实 体集中的属性或最小属性组合的值能唯一 标志其对应实体,则将该属性或属性组合 称为码。对于每一个实体集,可指定一个 码为主码。如果用矩形框表示实体集,用 带半圆的矩形框表示属性,用线段连接实 体集与属性,当一个属性或属性组合指定 为主码时,在实体集与属性的连接线上标 记一斜线,则可以用图1.4描述学生成绩管 理系统中的实体集及每个实体集涉及的属 性。