第一章 RDBMS简介
1.1为什么使用数据库:
解决电子文件形式存储数据的弊病
优点:1.降低存储数据的冗余度
2.更高的数据一致性
3.共享
4.建立数据库的标准
5.维护完整性
6.实现安全性
1.2 数据在数据库中的存储形式
(数据库是相关数据的集合)
数据以结构化的格式来被组织和分类
这种格式叫为:元数据
数据库的发展历史,不同的数据模型:
- 层次模型:倒挂树(应用最广:IBM信息系统管理)
一个父记录可以有多个子记录,而一个子记录只能有一个父记录。
缺点:简单呆板的结构,数据更改复杂、费时。
不支持纪录间复杂的关系。
- 网状模型:一父多子,一子多父。
原因:为了克服层次模型的缺陷。20世纪60年代。
缺点:有很多层次模型的缺点。
优点:更多的可收缩性,允许程序员在记录间导航。
- 关系模型:
原因:因为前两个的缺陷。20世纪70年代早期,80年代末期。
特点:独立于应用程序,使用表的行和列替换父子框架。
克服早期模型的缺陷,在表之间定义复杂的关系。
- 对象模型:面向对象(将整个物体整体放到数据库中)
原因:由于关系模型和对象之间存在一种抗拒不匹配的关系,编写程序时很不方便。
但是使用关系模型的数据库任是主流
1.3关系型数据库的基本概念:把世界看作由实体和联系组成。
实体就是现实世界中的客观存在并可以相互区别的事物
可以是有形的、无形的、具体的或是抽象的、有生命或无生命的。
属性:实体具有的某一特性。
关系型数据库:以关系模型创建的数据库,表是它的核心单元,用于数据存储。
行:代表一个实体
表 列:实体的一个属性
主键:用一个唯一的标识符来标识每一个行
外键:表和表之间的关联关系
关联关系的类型:
- 一对一(A表中的一行对B表的中的一行,B表中的一行对A表中的一行)
- 一对多(A表中的一行对B表中的多行,B表中的一行对应A表中的多行)
其中一行为主表,多行为从表
- 多对多(A表的一行对B表的多行,B表的一行对A表的多行)
1.4 关系型数据库管理系统
A本地数据库管理系统:RDBMS与数据库应用程序运行在同一客户端的进程中
B数据库服务器管理系统:与前一个相反
1.5 结构化查询语言SQL:是一种用于管理关系型数据库,并与数据库中数据进行通讯的计算机语言。
他与RDBMS协同工作,来定义数据库的结构、存储数据、操纵数据、获取数据、控制对数据的访问以及确保数据的完整性。
SQL语句可以执行:增、减、删、改、查
1.5.2他的发展史:略
1.5.4非过程性质
带有过程性元素但是本质上是非过程式
1.5.5 SQL语句
分类:数据定义语言(DDL):
创建和删除数据库:create /drop database 数据库名
创建、修改、重命名、删除表:create /alter/rename/drop table
创建和删除索引:create /drop index
数据查询语言(DQL): select
数据操作语言(DML):
插入:insert (into)
更新:update
删除:delete
数据控制语言(DCL):
授予访问权限:grant
取消访问权限:revoke