第一章 关系型数据库管理系统简介
1.为什么要使用数据库有什么优点?
为了存储数据;
优点:降低存储数据的冗余度;
更高的数据一致性;
可以建立数据库所遵循的标准;
便于维护数据完整性;
能够实现数据的安全性;
2.在数据库发展史中出现了不同的数据模型: 包括网状模型、 层次模型、 关系模型、 对象模型;
2.1 层次模型
父与子的关系从上到下不断发展
定义
在一个层次模型中的限制条件是:有且仅有一个节点,无父节点,此节点为树的
根;其他节点有且仅有一个父节点。
特点
层次模型的特点:记录之间的联系通过
指针实现,查询效率高。
缺点
缺点:只能表示1:N的联系。尽管有许多辅助手段实现M:N的联系,但比较复杂,不易掌握
2.2 网状模型
网状模型通过允许记录有多个父子关系,来增强层次模型。
网状数据模型的优点如下。
(1) 能够更为直接地描述现实世界。如一个结点可以有多个双亲,结点之间可以有多种联系。
(2) 具有良好的性能,存取效率较高。
网状数据模型的缺点如下。
(1) 结构比较复杂,而且应用环境越大,数据库的结构就变得越复杂,不利于最终用户掌握。
(2) 其数据定义语言(DDL)、数据操作语言(DML)复杂,用户不容易使用。
2.3 关系模型
核心:表;
关系模型是独立于应用程序的。更改数据库设计,而不会影响应用程序成为可能,因为关系模型用组成相关数据的表的行和列这种结构。
关系操作
集合操作
用户不必关心路径
关系数据操作语言
关系代数
关系演算
SQL(结构化的查询语言)
集合操作
用户不必关心路径
关系数据操作语言
关系代数
关系演算
SQL(结构化的查询语言)
————列子:
#.关系模型把世界看作由实体和联系组成
实 体:指在现实世界中客观存在并可相互区别的事物。可能是有形的或无形的、具体或抽象。例如:一个学生、一门课程等都是实体。
实体 所具有的某一特性称为属性。实体可以用若干个属性来描述。
关系模型来创建的数据库称为关系型数据库。
在表的内部,数据被分为 列(column)和 行(row)。
1. 填入表中的每一行,代表一个实体;
2. 每个表由一到多个列组成。列代表实体的属性。
在关系数据库的表中用一个唯一的标识符来标识每一个行。这个标识符就是主键(Primary Key)
主键的优点:便于唯一的区分表中的每一行。
联 系: (Rekationship)将两个或多个截然不同的实体以特定的意义关联在一起。
在关系数据库中,外键(Forergn Key)就是用来表达 表 和 表 之间的关联关系。
表之间的关联关系存在3种基本关系类型: 一对一关系 、一对多关系、多对多关系。
1. 一对一关系 :一个对一个。
2. 一对多关系:一个对多个。
在一对多的关系中,“多边”的表称为从表,把“一边”称为主表
3. 多对多关系 :在大多的关系型数据库管理系统中,多对多关系通过在关系的两个表之间增加第三个表来实现, 叫连接表(充当桥梁)。
关系型数据库管理系统:
关系型数据库管理只是一个保存数据的容器,大多数的数据库依靠数据库管理系统(Data Mangagement System,简称DBMS)的软件来管理数据库中的数据。
管理关系型数据库的软件称为关系型数据库管理系统(Relational Database Mangagement System,简称RDBMS)。
数据库应用程序通过RDBMS做为桥梁,与关系型数据库进行交互。
RDBMS分为 本地数据库管理系统 和 数据库服务器管理系统:
1). 本地数据库管理系统又称为桌面型数据库管理系统。
2). 数据库服务器管理系统 通常 在不同的机器上。
2.4 对象模型
是面向对象的模型 ;
支持对象模型,体现了面向对象数据库的基本特征。 对象模型也可以用二维表来表示,称为对象表。但对象表是用一个类(对象类型)表定义的。一个对象表用来存储这个类的一组对象。对象表的每一行存储该类的一个对象(对象的一个实例),对象表的列则与对象的各个属性相对应。因此,在面向对象数据库中,表分为关系表和对象表,虽然都是二维表的结构,但却是基于两种不同的数据模型。
结构化查询语言SQL:
什么是SQL?
SQL是结构化查询语言(Structured Query Language).
结构化查询语言包含6个部分:
其语句,也称为“数据检索
语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字
SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。
二:
数据操作语言(DML:Data Manipulation Language):
三:事务处理语言(TPL):
它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。
四:
数据控制语言(DCL):
五:数据定义语言(
DDL):
其语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人
数据库目录中获得数据有关的保留字。它也是动作查询的一部分。
六:指针控制语言(CCL):
它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。
相关函数编辑
SQL Aggregate 函数
有用的 Aggregate 函数:
-
AVG() - 返回平均值
-
COUNT() - 返回行数
-
FIRST() - 返回第一个记录的值
-
LAST() - 返回最后一个记录的值
-
MAX() - 返回最大值
-
MIN() - 返回最小值
-
SUM() - 返回总和
SQL Scalar 函数
有用的 Scalar 函数:
-
UCASE() - 将某个字段转换为大写
-
LCASE() - 将某个字段转换为小写
-
MID() - 从某个文本字段提取字符
-
LEN() - 返回某个文本字段的长度
-
ROUND() - 对某个数值字段进行指定小数位数的四舍五入
-
NOW() - 返回当前的系统日期和时间
-
FORMAT() - 格式化某个字段的显示方式