您的位置:首页 > 数据库

数据库基础

2016-01-04 19:30 375 查看

第一章 关系型数据库管理系统简介

1.为什么要使用数据库有什么优点?

为了存储数据;

优点:降低存储数据的冗余度;

更高的数据一致性;

可以建立数据库所遵循的标准;

便于维护数据完整性;

能够实现数据的安全性;

2.在数据库发展史中出现了不同的数据模型: 包括网状模型、 层次模型、 关系模型、 对象模型;

2.1 层次模型

父与子的关系从上到下不断发展


定义

用树型(层次)结构表示实体类型及实体间联系的数据模型称为层次模型(Hierarchical
Model)。

在一个层次模型中的限制条件是:有且仅有一个节点,无父节点,此节点为树的;其他节点有且仅有一个父节点。


特点

层次模型的特点:记录之间的联系通过指针实现,查询效率高。


缺点

缺点:只能表示1:N的联系。尽管有许多辅助手段实现M:N的联系,但比较复杂,不易掌握

2.2 网状模型

网状模型通过允许记录有多个父子关系,来增强层次模型。

网状数据模型的优点如下。

(1) 能够更为直接地描述现实世界。如一个结点可以有多个双亲,结点之间可以有多种联系。

(2) 具有良好的性能,存取效率较高。

网状数据模型的缺点如下。

(1) 结构比较复杂,而且应用环境越大,数据库的结构就变得越复杂,不利于最终用户掌握。

(2) 其数据定义语言(DDL)、数据操作语言(DML)复杂,用户不容易使用。

2.3 关系模型

核心:表;
关系模型是独立于应用程序的。更改数据库设计,而不会影响应用程序成为可能,因为关系模型用组成相关数据的表的行和列这种结构。
关系操作

集合操作

用户不必关心路径

关系数据操作语言

关系代数

关系演算

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个部分:

一:数据查询语言(DQL:Data
Query Language):

其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER
BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。

二:数据操作语言(DML:Data Manipulation Language):

其语句包括动词INSERTUPDATEDELETE。它们分别用于添加,修改和删除表中的行。也称为动作查询语言。

三:事务处理语言(TPL):

它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。

四:数据控制语言(DCL):

它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。

五:数据定义语言(DDL):

其语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分。

六:指针控制语言(CCL):

它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。


相关函数编辑

SQL Aggregate 函数

SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。[3]

有用的 Aggregate 函数:

AVG() - 返回平均值

COUNT() - 返回行数

FIRST() - 返回第一个记录的值

LAST() - 返回最后一个记录的值

MAX() - 返回最大值

MIN() - 返回最小值

SUM() - 返回总和

SQL Scalar 函数

SQL Scalar 函数基于输入值,返回一个单一的值。[3]

有用的 Scalar 函数:

UCASE() - 将某个字段转换为大写

LCASE() - 将某个字段转换为小写

MID() - 从某个文本字段提取字符

LEN() - 返回某个文本字段的长度

ROUND() - 对某个数值字段进行指定小数位数的四舍五入

NOW() - 返回当前的系统日期和时间

FORMAT() - 格式化某个字段的显示方式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: