数据库基础教材要点.docx
《数据库基础教材要点.docx》由会员分享,可在线阅读,更多相关《数据库基础教材要点.docx(162页珍藏版)》请在冰豆网上搜索。
数据库基础教材要点
第1章数据库概述
本章介绍数据库的一些基本术语和概念,介绍数据管理的几个阶段,以及关系数据库的一些特点。
本章目标:
完成本章内容后我们将能够:
✧掌握数据库的术语和概念
✧了解数据管理的几个阶段
✧掌握关系型数据库
1.1数据库常用的术语和基本概念
(1)数据[Data]:
是数据库中存储的基本对象。
数据在大多数人头脑中的第一个反映就是数字。
其实数字只是最简单的一种数据,是数据的一种传统和狭义的理解。
广义的理解,数据的种类很多,例如:
文字、图形、图像、声音、学生的档案记录、货运的运输情况等。
描述事物的符号记录称为数据。
描述事物的符号可以是数字,也可以是文字、图像、图形、声音、语言等,数据有多种表现形式,它们都可以经过数字化后存入计算机。
举例:
在学生档案中,描述一个学生的一条记录
(黎明,男,1988-08-08,江苏,计算机专业,2001-07)
这就是数据。
(2)数据库[DataBase],简称DB。
数据库,顾名思义,是存放数据的仓库。
只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的。
所谓数据库是指长期储存在计算机内的、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
(3)数据库管理系统[DataBaseManagementSystem]简称DBMS
如何科学地组织和存储数据,如何高效地获取和维护数据,完成这个任务的是一个系统软件-数据库管理系统。
数据库管理系统是位于用户与操作系统之间的一层数据管理软件。
数据库管理系统的主要功能:
1)数据定义功能:
DBMS提供数据定义语言(DataDefinitionLanguage,简称DDL),用户通过它可以方便地对数据库中的数据对象进行定义。
2)数据操纵功能:
DBMS还提供数据操纵语言(DataManipulationLanguage,简称DML),用户可以使用DML操纵数据实现对数据库的基本操作,如查询、插入、删除和修改等。
3)数据库的运行管理:
数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制,以保证数据的安全性、完整性、多用户对数据地并发使用及发生故障后的系统恢复。
4)数据库的建立和维护功能:
它包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重组织功能和性能监视、分析功能等。
这些功能通常是由一些实用程序完成的。
数据库管理系统是数据库系统的一个重要组成部分。
(4)数据库系统[DataBaseSystem,简称DBS]
数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。
应当指出的是,数据库的建立、使用和维护等工作只靠一个DBMS远远不够,还要有专门的人员来完成,这些人被称为数据库管理员(DataBaseAdministrator,简称DBA)。
数据库系统是指计算机系统中引进了数据库后的系统,其计算机硬件、软件如下图所示。
下面用一个实体与数据库系统进行比较,例如数据库系统与图书馆的比较。
数据库
图书馆
数据
图书
外存
书库
用户
读者
数据模型
书卡格式
数据库管理系统
图书馆管理员
数据的物理组织方法
图书馆图书存放方法
用户对数据库的操作
读者对图书馆的访问
(使用数据操纵语言对数据检索、插入、删除、修改)
(用普通语言借书、还书等)
1.2数据管理技术的产生和发展
数据库技术是应数据管理任务的需要而产生的。
数据的处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。
数据管理则是指对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。
伴随着计算机技术的不断发展,数据处理及时地应用了这一先进的技术手段,使数据处理的效率和深度大大提高,也促使数据处理和数据管理的技术得到了很大的发展,其发展过程大致经历了人工管理、文件管理、数据库管理及分布式数据库管理等四个阶段。
1.2.1数据管理三个阶段比较
人工管理阶段
文件系统阶段
数据库系统阶段
时间
-50年代中期
50年代后期
-60年代中期
60年代后期—
应用背景
科学计算
科学计算、管理
大规模管理
硬件背景
无直接存取存储设备
磁盘、磁鼓
大容量磁盘
软件背景
没有操作系统
有操作系统
(文件系统)
有DBMS
处理方式
批处理
批处理
联机实时处理
批处理
联机实时处理
分布处理
数据保存方式
数据不保存
以文件的形式长期保存,但无结构
以数据形式保存,有结构
数据管理
考虑安排数据的物理存储位置
与数据文件名打交道
对所有数据实行统一、集中、独立的管理
数据与程序
数据面向程序
数据与程序脱离
数据与程序脱离
实现数据的共享
数据的管理者
人
文件系统
DBMS
数据面向的对象
某一应用程序
某一应用程序
现实世界
数据的共享程度
无共享
共享性差
共享性高
数据的冗余度
冗余度极大
冗余度大
冗余度小
数据的独立性
不独立,完全依赖于程序
独立性差
具有高度的物理独立性和一定的逻辑独立性
数据的结构化
无结构
记录内有结构
整体无结构
整体结构化
用数据模型描述
数据的控制能力
应用程序自己控制
应用程序自己控制
由DBMS提供数据的安全性、完整性、并发控制和恢复能力
(1)人工管理阶段
该阶段指20世纪60年代以前,这一时期的计算机功能比较简单,主要用于科学计算。
计算机外存储设备只有磁带和卡片等,计算机软件系统方面,还没有操作系统,也没有数据库系统等专门的数据管理软件,只有汇编语言。
由于缺乏软件系统的支持,数据管理的工作由应用程序完成。
在应用程序中不仅要规定数据的逻辑结构,还要设计数据的物理结构。
这一阶段数据管理的特点是:
不存储数据
应用程序所对应的数据不单独存在,在程序运行时由数据卡片或数据磁带输入,运算后直接取走结果,源数据与结果都不保存。
不具有数据独立性
应用程序完全依赖于数据,不具有数据独立性,一旦数据的逻辑结构或物理结构发生变化,应用程序必须做相应的修改。
数据不能共享
数据是面向应用的,一个数据集只能对应一个应用程序。
应用程序之间不能共享数据。
数据大量冗余
由于数据不能共享,因此即使两个应用程序使用到某些相同的数据,它们之间也无法相互利用对方的数据。
(2)文件管理阶段
该阶段指20世纪60年代早期到20世纪60年代后期。
在这个时期,计算机开始大量用于非数值计算,磁盘,磁鼓等存储设备的出现大大增强了计算机的存取能力。
软件方面,出现了操作系统,数据以文件的形式由操作系统的专门软件——文件管理系统,进行统一管理。
其具有以下特点:
数据以文件的形式长期保存在计算机中
数据统一由操作系统组织成数据文件,并长期保存在磁盘存储器上。
用户通过文件管理系统可以方便地进行访问与修改。
数据的独立性有一定的提高
由于文件的物理组织由操作系统完成,用户或者应用程序只须根据数据的逻辑结构,通过文件名进行访问,无须了解数据的物理结构,从而提高了数据的物理独立性。
文件的组织形式多样化
文件管理系统还为用户提供了多种文件组织形式,如顺序文件组织,索引文件组织,直接文件存取组织等。
文件管理系统的出现,弥补了手工管理的一些缺陷,使得数据管理技术有了很大的提高,但是它在数据管理方面还存在一些不足,主要表现在以下几点:
由于数据只能以文件为单位进行共享,不能实现以记录或数据项为单位的共享,因此数据还存在大量的冗余。
数据缺乏逻辑独立性,应用程序与数据文件之间仍互相依赖,文件的逻辑结构一旦改变,应用程序也应做相应的修改。
文件与文件之间相互对立,无法实现文件之间的相互联系,不能反映客观世界事物间的复杂联系。
(3)数据库管理阶段
20世纪60年代后期至今,由于计算机技术的迅速发展,磁盘存储技术取得重要进展,计算机更广泛地应用于管理。
随着数据量的剧增,对数据管理提出了更高的要求:
要求具有更高的独立性与共享性。
文件管理技术已经不能适应上述要求。
为了进一步减少数据冗余,满足多用户,多应用程序的数据独立与高度共享的需求,使数据为尽可能多的应用程序服务,出现了统一管理数据的专门软件系统——数据库管理系统(databasemanagementsystem,DBMS)。
其具有以下特点:
数据结构化
数据库中的数据是按照一定的数据模型建立起来的相关的数据的集合,它既反映现实世界的客观事物,也反映事物之间的联系。
数据结构化是数据库系统与文件系统的根本区别。
数据独立性高
数据库系统提供了数据的逻辑映射与物理映射,这样,数据库中的数据既有逻辑独立性,又有物理独立性。
用户只须通过简单的局部逻辑结构来操作数据,无须考虑数据的全局逻辑结构及物理存储结构。
因此确保了较高的数据独立性。
实现数据的共享与最小冗余
数据的共享性直接影响到数据的冗余度。
数据库中的数据是面向整个系统,而不是面向某个应用,可以被多个用户共享。
这样既可以保证最小的数据冗余,又可以避免数据的不相容性与不一致性。
具有统一的数据管理和控制功能
数据库系统中由数据库管理系统对数据进行统一的管理和控制。
通过DBMS还可以保证数据库系统中数据的安全性,数据的完整性,数据的并发访问控制和数据的恢复。
数据库技术在数据管理中的特点与优势,使得它在计算机数据管理中占据主导地位,成为各类信息系统的核心基础。
1.2.2分布式数据库
分布式数据库系统(DistributedDataBaseSystem,DDBS)是在集中式数据库基础上发展起来的,是数据库技术与计算机网络技术、分布处理技术相结合的产物。
分布式数据库系统是地理上分布在计算机网络不同结点,逻辑上属于同一系统的数据库系统,能支持全局应用,同时存取两个或两个以上结点的数据。
分布式数据库系统的主要特点是:
(1)数据是分布的。
数据库中的数据分布在计算机网络的不同结点上,而不是集中在一个结点,区别于数据存放在服务器上由各用户共享的网络数据库系统。
(2)数据是逻辑相关的。
分布在不同结点的数据,逻辑上属于同一个数据库系统,数据间存在相互关联,区别于由计算机网络连接的多个独立数据库系统。
(3)结点的自治性。
每个结点都有自己的计算机软、硬件资源、数据库、数据库管理系统(即LocalDataBaseManagementSystem,LDBMS局部数据库管理系统),因而能够独立地管理局部数据库。
1.3关系型数据库
一个关系型数据库由多个关系组成,每个关系是以二维表的形式组织数据的。
1.3.1介绍关系模型中一些术语
●关系(Relation):
一个关系对应通常说的一张表,如上表所示;
●元组(Tuple):
表中的一行即为一个元组;
●属性(Attribute):
表中的一列即为一个属性,给每一个属性起一个名称即属性名。
如上表有六列,对应六个属性(学号,姓名,年龄,性别,系和年级);
●主码(Key):
表中的某个属性组,它可以唯一确定一个元组,如上表中的学号,可以唯一确定一个学生,也就称为本关系的主码。
●域(Domain):
属性的取值范围,如人的年龄一般在1~150岁之间,大学生年龄属性的域是(14~38),性别的域是(男,女),系的域是一个学校所有系名的集合;
●分量:
元组中的一个属性值;
●关系模式:
对关系的描述,一般表示为:
关系名(属性1,属性2,属性3,…,属性n)
1.3.2关系型数据库主要特点:
●一个关系(表)由行与列组成。
●在关系模式中,能唯一标识元组的属性集称为超键(superkey);如果一个属性能唯一标识元组,且又不含有多余属性,那么这个属性称为候选键(candidatekey);关系模式中用户正在使用的候选键称为主键(primarykey)。
●列是同质的,即同列所有分量是同类型的元素;
●用户能检索、查询表里的数据集。
●用户能把相关的表链接在一起,以便检索存储在不同表中的数据。
1.3.3关系数据库中的一个关系的限制
●关系中没有重复元组,任意元组在关系中都是唯一的
●元组的顺序无关紧要,即元组的次序可以任意交换。
●属性的顺序是非排序的,即它的次序可以任意交换。
●属性必须具有不同的属性名,不同的属性可来自同一个域。
●同一属性名下的诸属性值(同列)是同类型数据,且来自同一个域。
●所有的属性值都是原子的
1.3.4关系数据库系统的体系结构
绝大多数数据库系统在总的体系结构上都具有三级模式的特征。
三级模式是对数据的三个抽象级别:
(1)外模式(用户模式):
也称为字模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
外模式是保证数据库安全性的一个有力措施。
每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是不可见的。
(2)模式(逻辑模式):
是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
一个数据库只有一个模式。
定义模式时不仅要定义数据的逻辑结构,例如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等,而且要定义数据之间的联系,定义与数据有关安全性、完整性要求。
(3)内模式(存储模式):
一个数据库只有一个内模式。
它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
例如:
数据是否压缩存储,是否加密;数据的存储记录结构有何规定等。
1.3.5关系模型的三类完整性规则
(1)实体完整性规则(entityintegrityrule)
这条规则要求关系中元组在关键的属性上不能有空值。
如果出现空值,那么关键值就起不了唯一标识元组的作用。
(2)引用完整性规则(referenceintegrityrule)
这条规则要求“不允许引用不存在的元组”。
这条规则也称为“参照完整性规则”。
举例说明:
学生实体和专业实体可以用下面的关系表示,其中主码用下划线标识:
学生(学号,姓名,性别,专业号,年龄)
专业(专业号,专业名)
这两个关系之间存在着属性的引用,即学生关系引用了专业关系的主码“专业号”。
显然,学生关系中的“专业号”值必须是确实存在的专业的专业号,即专业关系中有该专业的记录,这也就是说,学生关系中的某个属性的取值需要参照专业关系的属性取值。
(3)用户定义的完整性规则
这是针对某一具体数据的约束条件,由应用环境决定。
它反应某一具体应用所涉及的数据必须满足的语义要求。
第2章MySQL软件安装
本章描述如何在Windows操作系统平台上安装MySQL服务器和客户端软件,安装MySQL服务器的步骤以及安装过程中的注意事项,同时还介绍MySQL客户端的工具的安装和使用。
除了详细的操作步骤外,为了让读者能更形象地理解安装过程,还配备大量安装截屏图。
本章目标:
完成本章内容后我们将能够:
✧掌握MySQL安装过程
✧熟练MySQL客户端安装过程
✧熟练应用MySQL客户端
2.1安装MySQL
读者可以从网站()上下载MySQL5.0的软件,解压后双击Setup的文件,几秒钟后,会出现图2.1所示的窗口,这时就可以开始进行MySQL的安装了。
选择窗口中的Next按钮。
这时会出现如图2.2所示的窗口。
图2.1启动安装向导
图2.2选择安装类型
在如图2.2所示的窗口中,会询问读者选择何种方式安装MySQL。
选择Complete选项,接着会询问读者是否已准备好安装。
如果已准备好,那么选择Next。
这是会出现如图2.3所示的窗口。
准备好后,选择Install。
如果希望更改内容,可选择Back并更改一些安装参数。
如果选择Install,则安装过程就会开始并显示其进程,如图2.4所示。
图2.3准备安装MySQL
图2.4MySQL正在安装中
几秒钟后,会出现如图2.5所示的窗口。
在该窗口中选择SkipSign-Up并单击Next,读者可在稍后进行登记。
这时会出现如图2.6所示的窗口。
图2.5登记窗口
图2.6安装向导完成
在图2.6中标记ConfiguretheMySQLServernow复选框后,选择Finish。
这时会出现图2.7所示的窗口。
选择Next,这时会出现如图2.8所示的窗口。
图2.7开始配置MySQL
图2.8选择所需要的配置
在图2.8中,选择StandardConfiguration选项,然后单击Next。
以后,当读者已有了一定经验并具有了MySQL的完整知识后,可以在重新安装MySQL时选择DetailedConfiguration选项。
在这里选择DetailedConfiguration选项,选择Next后,会出现如图2.9所示的窗口。
图2.9选择机器类型
在图2.9中,根据需要选择机器配置类型,选择DeveloperMachine,选择Next,会出现如图2.10所示的窗口。
图2.10选择应用类型
在图2.10中,根据需要选择安装数据库应用类型,选择MultifunctionalDatabase,选择Next,会出现如图2.11所示的窗口。
图2.11选择表空间位置
在图2.11中,根据需要选择表空间存放的位置,选择Next,会出现如图2.12所示的窗口。
图2.12选择连接数目
在图2.12中,根据需要选择连接数目。
如果想指定连接数目,必须选择ManualSetting,在后面的下拉框中输入要指定的连接数目,如不选择ManualSetting,但是在后面的下拉框中输入要指定的连接数目,这是无效的设置。
现在选择ManualSetting,在后面的下拉框中输入连接数目30,选择Next,会出现如图2.13所示的窗口。
图2.13选择网络端口
在图2.13中,可以设置网络端口号,默认端口号3306,也可以进行修改。
该端口号会在以后和Java程序进行连接时用到。
在此建议读者不要修改端口号。
确定端口号之后,选择Next,会出现如图2.14所示的窗口。
图2.14选择字符集
在图2.14中,可以设置数据库的字符集,以便解决字符乱码问题,默认字符集latin1,也可以进行修改。
默认的字符集不支持汉字,可以选择gb2312或utf8字符集,就可以支持汉字了。
因此在图2.14中,选择ManualSelectedDefaultCharacterSet/Collation,在下拉框中选择需要的字符集,选择Next,会出现如图2.15所示的窗口。
图2.15作为WindowsService安装MySQL
在图2.15中,选择InstallAsWindowsService选择并单击Next。
这时会出现图2.16所示的窗口;此时读者必须输入由MySQL创建的用户口令。
该用户的名称为root。
当然,读者也可以给出自己的新口令;但在本书中,我们假设读者使用root。
读者必须输入该口令两次。
为了安全起见,这些口令以星号的形式出现。
然后单击Next。
这时会显示如图2.17所示的窗口。
图2.16使用root作为口令
图2.17做好开始配置的准备
完成MySQL的配置后,单击图2.17所示窗口中的Execute按钮。
这时会出现以复选标记标记的配置进行的状态,如图2.18所示。
这个过程只需几秒钟时间。
当该进程成功完成后,会出现图2.19所示的窗口。
图2.18配置正在进行中
图2.19MySQL的配置完成
选择图2.19中的Finish,则安装过程结束,且MySQL数据库服务器已被安装。
为检查其是否工作正常,可在操作系统的ControlPanel(控制面板)中选择AdministratorTools(管理工具),然后选择Service(服务),如图2.20所示。
图2.20
MySQL正在运行
如果MySQL作为一个服务器出现在图2.20所示的列表中,则表明MySQL正在运行。
下一个问题是读者是否使用数据库服务器,换言之,读者是否可成功登录。
这很容易检查,方法是从任务栏启动程序MySQLCommandLineClient,如图2.21所示。
图2.21启动MySQLCommandLineClient程序
MySQLCommandLineClient程序会要求用户输入口令root。
输入该口令后,会出现如图2.22所示的窗口。
在该窗口中,输入如下这条简单的SQL语句(不要遗漏分号)并按回车键:
selectversion();
图2.22MySQLCommandLineClient程序需要口令
结果显示在图2.23中。
如果一切工作正常,在图2.23中键入exit关闭窗口。
这时表明已正确地安装了MySQL。
图2.23一切工作正常
2.2MySQL客户端工具
2.2.1客户端工具(Navicat8)安装
双击“navicat8_mysql_cs.exe”文件,出现如图2.24所示的窗口。
图2.24Navicat开始安装界面
单击“下一步”按钮,进入图2.25所示的窗口。
图2.25是否同意协议
在图2.25中,选择“我同意”,可以继续安装,选择“我不同意”就不可以继续安装,这里选择“我同意”,点击“下一步”按钮,进入图2.26所示的窗口。
图2.26选择安装路径
在图2.26中,选择安装路径。
点击“下一步”按钮,进入图2.27所示的窗口。
图2.27选择开始目录
在图2.27中,输入快捷方式文件夹名称。
点击“下一步”按钮,进入图2.28所示的窗口。
图2.28创建快捷方式图标
在图2.28中,选择“Createadesktopicon”,可以在桌面上自动创建快捷图标;选择“CreateaQuickLaunchicon”,在快速启动中创建快捷图标,这里选择“Createadesktopicon”,点击“下一步”按钮,进入图2.29所示的窗口。
图2.29准备安装
在图2.29中,选择“安装”,开始进行安装,进入图2.30所示的窗口。
图2.30安装进度
在图2.30中经过几秒钟,安装就完成,出现图2.31所示的窗口。
图2.31安装完成
在图2.31中,点击“完成”,安装完成。
然后按照图2.32所示的窗口,进入客户端的连接界面如图2.33所示。
图2.32启动客户端程序
图2.33客户端连接MySQL
在图2.33界面上,点击“连接”,进入图2.34所示的窗口。
图2.34连接参数
在图2.34中,输入“连接名”信息,输入密码,如图2.35所示。
图2.35参数设置
在图2.35中,点击“连接测试”按钮,测试一下数据库连接状态,如果成功就出现图2.36所示的界面,点击“确定”按钮,进入图2.37所示的客户端主界面。
图2.36测试成功
图2.37客户端主界面
在图2.37中,将鼠标移动到左边树结构的跟结点上,点