数据库笔记-导论

Posted 刘文巾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库笔记-导论相关的知识,希望对你有一定的参考价值。

数据库几个重要的概念

·entities ——实体

·relationships ——关系

->数据库不仅要反映数据本身的内容,而且要反映数据之间的联系。

· DBMS(database management system )——数据库管理系统

1.1 三个易混淆的概念

·data ——数据,用来描述现实世界的符号,信息存在的形式。

·data model ——数据模型,用来描述数据的概念和定义(由数据结构【数据性质、数据关系的性质(静态性质)】、数据操作【动态性质】、完整性约束三部分组成)

由于计算机不可能直接处理现实世界中的具体事物,所以人们必须事先把具体事物转换成计算机能够处理的数据。

在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。

通俗地讲数据模型就是对现实世界的模拟。

·data schema ——数据模式,我们用一种给定的数据模式,对给定的数据进行描述(将data model类比为编程语言的话,schema就是用该语言编写出来的程序代码)

2 文件VS 数据库

·文件是操作系统提供的,文件是没有结构的,只是一个平滑的字符流(在操作系统里面,关于文件的操作只有create、 open、 read、 write、 lseak【调整指针读写位置】、 delete等;并没有很强的数据管理功能(像内外存转换、查询等都是DBMS负责的))

·并发用户同时访问数据,需要他们看到的东西是一致的。文件是做不到这一点的,而在数据库中,DBMS可以帮助我们做到这一点。

·cash recovery 数据恢复,被储存的数据被破坏时,需要数据库进行恢复,这也是文件不能做到的一点。

换言之,数据库系统,是建立在操作系统的文件系统之上的。数据结构化是数据库与文件系统的根本区别。在描述数据时不仅要描述数据本身,还要描述数据之间的联系。

数据库的三级结构(数据模式)

数据模式有型和值之分

对于数据库的三级结构来说,首先把现实世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统,不是某一个DBMS支持的数据模型,而是概念级的模型。

然后再把概念模型转换为计算机上某一DBMS支持的数据模型。

物理模式(内模式):数据在磁盘上是怎么储存的(eg,用什么数据结构存储的)

概念模式(逻辑模式/基表):有几张表、每个表用什么结构、每个属性的类型&长度。。。。

外模式(视图):最终呈现给用户的模式

 

物理模式和概念模式一一对应

同一个概念模式,给不同的用户,提出不同的功能,就可能得到不同的模式。

举一个例子:比如教务系统

Conceptual schema:

概念模式

每一个关系(relation)对应的表中的数据结构

Physical schema:

物理模式

三张概念模式的基表怎么存储

External Schema (View):

外视图

这是提供给教务的外模式,知道一门课,知道有几个人选了这门课

 

3.2 数据独立性:

应用程序和数据的具体结构&存储方式独立,不受他们变化的影响

3.2.1 logical data independence

不受数据逻辑结构的变化(逻辑结构变化,可以修改逻辑视图和外视图之间的映射关系)

比如上面的例子中,enrolled中cid拆成了cid的前一半&cid的后一半两个index,但这个并不影响最终外视图course_info的呈现

3.2.2 physical data structure

不受物理存储方式的变化

比如上面的例子中,我们不用无序文件,使用哈希表,一样得到同样的course_info效果

 

数据库(结构)的分类

4.1 Centralized database systems

早期,一台主机+n个终端,数据集中存放在主机上

4.1.1 Centralized structure : Host+Terminal

和Centralized database systems对应,集中式的,没有网络。

 主机+终端(终端只有键盘、显示器,没有处理能力)

4.2 Parallel database system

一台机器,多个cpu,数据还是集中存储,不过这台机器有了并行处理数据的能力

4.3 Distributed database systems

复杂的大型分布式操作系统,多台联网的电脑连接起来,完成一个任务——分布式操作系统。

企业级数据库中,单台电脑存储不了,也处理不了查询和处理操作。于是把多台电脑连成网络,将数据存储在多台电脑上,联网的机器没有主次之分,一在逻辑上起形成了完整的数据库。

4.4 mobile database system

无线通讯——移动数据库,利用移动网络提供的移动通讯,使得任何时间,任何地点都能获得企业数据.

4.5 Client/Server structure

数据库放在服务器上,提供访问服务。

应用程序在客户端上,需要数据时提出请求,主机把数据找到送回去,客户端对拿到的数据做处理。

4.6 Three tier/multi-tier structure 三层/多层体系结构

1-通过internet、企业内部网提出访问数据的请求。

2-通过网络协议向web server提供请求。

3-web server向app server提出请求。

4-如果需要数据,那么app server向db server提出请求。

5-db server将数据给app server,app server进行运算,将结果传给用户。  

前端只需要简单的浏览器即可。

对比client-server,后者前端要安装应用程序;同时一旦应用程序更新了每个用户都要更新,比较繁琐,

but因为是多层结构,所以效率可能会低。

5 数据系统的组成

1,DBMS数据库管理系统(核心)

-High level user interfaces,高级用户接口(相对于文件接口来说)

-Query processing and optimization 查询处理与优化

-Catalog management目录管理(设计一个映射关系)

-Concurrency control and Recovery 并发控制与恢复功能:并发用户同时访问数据,需要他们看到的东西是一致的;如果软硬件发生故障,数据需要及时恢复。

-integrity constraints checking 完整性约束检查:根据用户制定的规则,保护数据的一致性

-Access control:安全性,合法的用户才能访问给定权限的数据

2,database 数据库

3,app 数据库基础上开发的应用程序

4,DBA 应用程序的管理者

以上是关于数据库笔记-导论的主要内容,如果未能解决你的问题,请参考以下文章

数据挖掘导论笔记1

《数据挖掘导论笔记》

学习笔记网络图数据分析导论(solid)

学习笔记网络图数据分析导论(solid)

算法导论学习笔记-归并排序

SQL学习笔记——导论