数据库第一章内容梳理
数据库笔记
就在最近,刚刚学完数据库的第一章,本来以为数据库会是充满代码的一门课, 但是就第一章而言,很多知识点都是零碎的,分散的,而且更偏向记忆化。所以我决定记录下来数据库的笔记, 以便日后复习使用。
数据库管理系统(DBMS)的发展历程
数据库的发展经历了
人工管理阶段-------->文件系统---------->第一代数据库系统(层次数据模型与网状数据模型)--------->第二代数据库模型(关系数据模型)---------->数据仓库、并行/分布式/Web数据库技术的发展
其中比较重要的,也是现在一般在使用的是第二代数据库模型(关系数据模型)
文件系统阶段
1、文件如何与链表中数据进行交换:
(1).程序运行时,将文件中的数据读出,放置到程序对应链表中;
(2).程序结束运行前,将链表中的数据存入到对应数据文件中。
2、文件管理系统的缺陷
(1).无法处理超大量的数据
(2).多用户并发访问
(3).故障情况下的恢复
(4).安全性
(5).数据完整性
数据库管理系统
由于文件系统有那么多的漏洞,我们引入的数据库管理系统,首先应该明确的是,数据库管理系统对应的功能有哪些:
(1).数据的独立性 :应该分为数据的物理独立性和数据的逻辑独立性
数据的物理独立性: 用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。即,数据在磁盘上怎样存储由DBMS管理,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。
数据的结构独立性: 用户的应用程序与数据库的逻辑结构是相互独立的,逻辑结构通过DDL语言由数据库设计人员在DBMS中进行定义和修改。即,当数据的逻辑结构改变时,用户程序也可以不变。
(2).数据的完整性
(3).数据的安全性
(4).数据的安全性
(5).并发访问
(6).故障恢复
明确了数据库管理系统应有的功能后,给出他的定义:
是一个通用的软件系统,由一组计算机程序构成,用于科学地组织和存储数据、高效地获取和维护数据它能对数据库进行有效的管理,包括存储管理、安全性管理、完整性管理等;同时,它也为用户提供了一个软件环境,使其能够方便快速地创建、维护、检索、存取和处理数据库中的信息
he
数据库的设计过程
数据库的设计过程 常常分为三个方面数据抽象
,数据模型
,数据模式
简单来说就是,数据抽象的工具是数据模型,得到的结果为数据模式
数据抽象
数据抽象的三个层次:视图抽象,概念抽象, 物理抽象。
三层抽象的原因为:
1、传统的数据模型难以同时实现“易于被用户所理解”和“易于在计算机上实现”,因此需要分而治之,通过划分阶段,不同阶段采用不同的数据模型。
2、三层抽象与数据库实际的设计过程相吻合,需要在分组调研设计的基础上进行整体设计,继而根据数据量及要求采用DBMS存储数据。
数据模型
数据模型的三要素:数据结构
,数据操作
,数据约束
其中数据操作分为:增加
,删除
,查询
,修改
数据模型的三个评价标准:1.比较真实的描述世界,2.易于用户理解 3.易于在计算机上实现
数据模型的分类: 1.概念数据模型 2.逻辑数据模型 3.物理数据模型
数据模式
数据库三层抽象得到的模式分别为: 1.外模式 2.概念模式 3.内模式
抽象层次之间的二级映像
(1)、外模式/模式映像:每一个外模式,数据库系统都有一个外模式/模式映象,定义外模式与模式之间的对应关系 。
(2)、模式/内模式映像:定义了数据全局逻辑结构与存储结构之间的对应关系 ,数据库中模式/内模式映象是唯一的。
作用:
保证数据的物理独立性
1、当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变
2、应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。
数据库用户
数据库的用户分为四类:分别是 最终用户
, 数据库应用开发人员
,数据库管理员
,有关的软件工程师
最终用户:
是现实系统中的业务人员,为了查询、更新、以及产生报表等需要而访问数据库的人。如银行的柜员、商业分析师等。
数据库应用开发人员
分析用户需求,为每个用户建立一个适于业务需要的外部视图,负责从“外部模式—->概念模式—->内模式—->建立数据库的过程
数据库管理员
负责数据库监控、日常维护和管理。例如,为用户授予存取权限等。
有关的软件工程师
开发数据库工具软件包、系统分析等。
数据库语言
数据库语言是SQL
,由三个子语言构成,分别为DDL
,DCL
,DML
,他们的功能各不相同,分别如下
数据库设计人员使用数据定义语言(****Data Defination Language,****DDL)完成对数据库模式的描述,定义数据结构和数据的完整性约束。
数据库管理员和用户使用数据操纵语言(****Data Manipulate Language,****DML对数据进行“增删改查询”等操作。
使用数据控制语言(Data Control Language,DCL)对数据库进行管理****,****包括定义用户、为用户授权、设置系统参数、调整系统性能等。
SQL语言的标准
SQL语言分为SQL-86
,SQL-89
,SQL-92
,三种标准。
最早在System R
上开发
使用方式:1.交互式使用
2.嵌入式使用
课后检测
后记
无…