数据库学习笔记(一)数据库概述及基本概念
最近在学习关系型数据,整理了一些关于数据库学习的笔记。包括一些基本概念和需要了解的知识,并整理成思维图谱,使知识学习更直观。
![](https://img-blog.csdn.net/20171112185945741?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVvamk1NTU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
1.关系型数据基础知识概述
1.1 概述
关系数据库
(英语:Relational database),
关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据,同时也是一个被组织成一组拥有正式描述性的表格,该形式的表格作用的实质是装载着数据项的特殊收集体,这些表格中的数据能以许多不同的方式被存取或重新召集而不需要重新组织数据库表格。关系数据库的定义造成元数据的一张表格或造成表格、列、范围和约束的正式描述。每个表格(有时被称为一个关系)包含用列表示的一个或更多的数据种类。 每行包含一个唯一的数据实体,这些数据是被列定义的种类。当创造一个关系数据库的时候,你能定义数据列的可能值的范围和可能应用于那个数据值的进一步约束。而SQL语言是标准用户和应用程序到关系数据库的接口。其优势是容易扩充,且在最初的数据库创造之后,一个新的数据种类能被添加而不需要修改所有的现有应用软件。主流的关系数据库有oracle、db2、sqlserver、sybase、mysql 等。
-----------《百度百科》
1.2 发展及应用目标
关系型数据库的发展
,大致可分为理论奠基、SQL标准、商用成型、多家发展等几个阶段.首先是数学家E.F.Codd发表了数学论文《用于大型共享数据库的关系数据模型》,提出关系和关系运算的概念,奠定了关系型数据库的理论模型;
然后是Codd的同事DonChamberlin将Codd的论文和关系运算,转换成为比较容易理解和使用的SQL语言,并且在后面成为所有关系型数据库的标准;有了上面的数据理论和SQL基础,LarryElision和他的同事看到商机,开发出第一个商用大型关系型数据库Oracle,Scott作为一个开发的员工,将其测试账户放在里面了;除了Oracle数据库,IBM也开发出了DB2数据库,但其他主流的关系型数据库都与Michael Stonebraker有关,开发了Postgres并放在BSD版权下,后来演变成了Postgres SQL;87年微软和Sybase合作,开发除了MS SQL和Sybase;后又加入Ingres和Informax。
关系型数据库应用目标
,
建立一个冗余少、易维护、便于使用的数据库。易维护包括无各种操作异常现象发生,并且数据库的安全性、一致性、完整性也有保障;便于使用除了指用起来方便以外还包括具有较高的存取效率。
--------
朱扬勇.数据库系统设计与开发:清华大学出版社,北京交通大学出版社,2007
1.3 数据
计算机数据是指计算机中能被识别和处理的物理符号,如数字符号、图形、图像、声音等。数据分为数值型数据(如整数、实数)和非数值型数据(如数字符号、图形、图像、声音等),数据是信息的表现形式。
---------
王岳斌,杨克昌主编.计算机导论(第4版).中国水利水电出版社,2012.01.
1.4 数据管理db
数据管理,
是利用计算机硬件和软件技术对数据进行有效的收集、存储、处理和应用的过程。其目的在于充分有效地发挥数据的作用。实现数据有效管理的关键是数据组织。随着计算机技术的发展,数据管理经历了人工管理、文件系统、数据库系统三个发展阶段。在数据库系统中所建立的数据结构,更充分地描述了数据间的内在联系,便于数据修改、更新与扩充,同时保证了数据的独立性、可靠、安全性与完整性,减少了数据冗余,故提高了数据共享程度及数据管理效率。 ---------《百度百科》
1.5 数据库管理系统(DBMS)
数据库管理系统
(
DBMS
) 是一种针对对象数据库,为管理数据库而设计的大型电脑软件管理系统。具有代表性的数据管理系统有:Oracle、Micorosoft SQL Server、Access、MySql及PostgreSql等。通常数据库管理师会使用数据库管理系统来创建数据库系统。
现代DBMS使用不同的数据库模型追踪实体、属性和关系。在个人电脑、大型计算机和主机上应用最广泛的数据库管理系统是关系型DBMS(relational DBMS)。在关系型数据模型中,用二维表格表示数据库中的数据。这些表格称为关系。
-----
Kenneth C.Laudon and Jane P.Laudon,《Management Information Systems》, Pearson, 07 March 2011, Chapter6 Information systems Organizations and Strategy p.143
1.6 数据模型
数据模型
在软件工程中,
数据模型
是定义数据如何输入和与输出的一种模型。其主要作用是为信息系统提供数据的定义和格式。数据模型是数据库系统的核心和基础,现有的数据库系统都是基于某种数据模型而创建起来的。
三要素
1.数据结构:储存在数据库中对象类型的集合,作用是描述数据库组成对象以及对象之间的联系。
2.数据操作:指对数据库中各种对象实例允许执行的操作的集合,包括操作及其相关的操作规则。
3.数据完整性约束条件:指在给定的数据模型中,数据及其联系所遵守的一组通用的完整性规则,它 能 保证数据的正确性和一致性。
--------
陈国明,徐长航. 安全工程信息化技术概论. 中国石油大学出版社.
1.7 关系模型
关系模型
关系数据模型是最重要的一种模型。关系模型的特点是用一组二维数组来表示数据和数据之间的联系。二维表结构简单、直观。目前,关系数据库在数据库管理领域占主导地位
---------《Acess数据库应用教程》
1.8 数据库内部体系结构
数据库系统的体系结构
从不同的角度可有不同的划分方式。从数据库管理系统的角度可分为三层,从外到内依次为外模式、模式和内模式。
数据库的三层结构是数据的三个抽象级别。用户只要抽象地处理数据,而不必关心数据在计算机中如何表示和存储。
为了实现三个抽象级别的联系和转换,数据库管理系统在三层结构之间提供了两层映像:外模式/模式映像和模式/内模式映像。
1.外模式 外模式(external schema)称为用户模式,是数据库用户和数据库系统的数据库用户的数据视图(view),是数据库用户可以看见和使用的局部数据的逻辑结描述,是与某一应用有关的数据的逻辑表示。一个数据库通常都有多个外模式。当不同用户在应用需求保密级别等方面存在差异时,其外模式描述就会有所不同。一个应用程序只能使用一个外模式,但同一外模式可为多个应用程序所使用。外模式是保证数据库安全的重要措施。每个用户只能看见和访问所对应的外模式中的数据,而数据库中的其他数据均不可见。
2.模式 模式(schema)又可细分为概念模式(conceptual schema)和逻辑模式(109ical schema),是所有数据库用户的公共数据视图,是数据库中全部数据的逻辑结构和特征的描述。一个数据库只有一个模式。其中概念模式可用实体----联系模型来描述,逻辑模式以某种数据模型(比如关系模型)为基础,综合考虑所有用户的需求,并将其形成全局逻辑结构。模式不但要描述数据的逻辑结构,比如数据记录的组成,各数据项的名称、类型、取值范围,而且要描述数据之间的联系、数据的完整性、安全性要求。
3.内模式
内模式(internal Schema)又称为存储模式(storage schema),是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。
一个数据库只有一个内模式。内模式描述记录的存储方式、索引的组织方式、数据是否 压缩、是否加密等。但内模式并不涉及物理记录,也不涉及硬件设备,比如,对硬盘的读写操作是由操作系统(其中的文件系统)来完成的。
在三层模式结构中,数据库模式是数据库的核心与关键,外模式通常是模式的子集。数 据按外模式的描述提供给用户,按内模式的描述存储在硬盘上,而模式介于外、内模式之间, 既不涉及外部的访问,也不涉及内部的存储,从而起到隔离作用,有利于保持数据的独立性。
---------《百度百科》
1.9 关系运算
一类是传统的集合运算(并、差、交等),另一类是专门的关系运算(选择、投影、联接等),有些查询需要几个基本运算的组合,要经过若干步骤才能完成。选择和投影运算都是属于一目运算,它们的操作对象只是一个关系。运算过程是通过联接条件来控制的,联接条件中将出现两个关系中的公共属性名,或者具有相同语义、可比的属性。在FOXPRO中有单独一条命令JOIN实现两个关系的联接运算。它属于联接运算的一个特例,是最常用的联接运算,在关系运算中起着重要作用。[1]
一、传统的集合运算
1、并(UNION) 设有两个关系R和S,它们具有相同的结构。R和S的并是由属于R或属于S的元组组成的集合,运算符为∪。记为T=R∪S。
2、差(DIFFERENCE) R和S的差是由属于R但不属于S的元组组成的集合,运算符为-。记为T=R-S。
3、交(INTERSECTION) R和S的交是由既属于R又属于S的元组组成的集合,运算符为∩。记为T=R∩S。 R∩S=R-(R-S)。
二、选择运算
从关系中找出满足给定条件的那些元组称为选择。其中的条件是以逻辑表达式给出的,值为真的元组将被选取。这种运算是从水平方向抽取元组。 在FOXPRO中的短语FOR和WHILE均相当于选择运算。
三、投影运算
从关系模式中挑选若干属性组成新的关系称为投影。这是从列的角度进行的运算,相当于对关系进行垂直分解。在FOXPRO中短语FIELDS相当于投影运算。
四、连接运算
连接运算是从两个关系的笛卡尔积中选择属性间满足一定条件的元组。
五、除法运算
在关系代数中,除法运算可理解为笛卡尔积的逆运算。
设被除关系R为m元关系,除关系S为n元关系,那么它们的商为m-n元关系,记为R÷S。商的构成原则是:将被除关系R中的m-n列,按其值分成若干组,检查每一组的n列值的集合是否包含除关系S,若包含则取m-n列的值作为商的一个元组,否则不取.[2]
六、外连接运算
---------《互动百科》[1]
---------《百度百科》[2]
1.10 mysql与powerdesigner16.5的简介与安装
MySQL
是一个关系型数据库管理系统
,
由瑞典MySQL AB 公司开发,目前属于Oracle旗下产品.MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。 ---------《mysql数据库》
PowerDesigner是一款**的企业建模和设计解 决方案,采用模型驱动的方法,将业务与IT结合起来 ,能够帮助企业解决大规模复杂信息系统分析设计问 题。它集成了多种标准数据建模技术,包括UML、业 务流程建模以及市场领先的数据建模等等。
1.11 主数据库
主数据库(master database,MDB),简称主库,就是集中存储管理历史归档数据的场所,它永久保管具有长期保留价值、有共享需求的、经过数据质量检查验证的、规范化的数据。加载进入主数据库后的数据,原则上不允许进行更改;主数据库一般不直接支持处理解释等专业应用软件的数据存取;主数据库面向数据管理和共享查询,通过管理平台支持用户的数据存取,通过数据接口为项目库提供数据支持。数据库的数据主要来源于数据源头的各类专业数据库以及项目研究成果的归档。
---------
常冠华,熊华平,马玉书.数据库新技术在石油勘探中的应用:科学出版社,2005年11月:第1版,第118页