数据库笔记-导论
Posted 刘文巾
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库笔记-导论相关的知识,希望对你有一定的参考价值。
1 数据库几个重要的概念
·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 数据恢复,被储存的数据被破坏时,需要数据库进行恢复,这也是文件不能做到的一点。
换言之,数据库系统,是建立在操作系统的文件系统之上的。数据结构化是数据库与文件系统的根本区别。在描述数据时不仅要描述数据本身,还要描述数据之间的联系。
3 数据库的三级结构(数据模式)
数据模式有型和值之分
对于数据库的三级结构来说,首先把现实世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统,不是某一个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 数据库(结构)的分类
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 应用程序的管理者
以上是关于数据库笔记-导论的主要内容,如果未能解决你的问题,请参考以下文章