【数据库技术与应用】课程小结1.1+1.2

来源:互联网 发布:h.323端口号 编辑:程序博客网 时间:2024/05/21 01:46

0.0.0开篇

本文主要是记录我个人学习数据库的心路历程,我之前也几乎没有接触过数据库,由于接触的都是移动端开发,虽然有轻量级的数据库,但是说来惭愧,我还没来得及学,但是在项目开发的过程中,我深深意识到数据库在如今的开发中扮演着无比重要的角色,为了巩固自己所学过的知识、分享自己的心得,我写了这篇博客,并打算努力将其打造成一个系列,以后将会视情况一周1~2更,大家如果觉得我写的有什么错误或者不恰当的地方,或者是对于排版以及内容的建议,欢迎评论吐槽,如果觉得我写的还可以,那就点个赞吧哈哈,我会尽量用容易理解的语言和例子解释数据库中的一些概念,谢谢大家的支持。


1.1.1数据与信息

1.数据与信息

简而言之,信息是有用的数据,是有意义的,而数据只是一些离散的如字符串,整型数之类的值,而数据是信息的物理表示和载体,数据是信息存在的一种表现形式。


1.1.2数据管理技术的发展

人工管理阶段 -> 文件数据阶段 -> 数据库系统阶段

人工管理阶段:由程序员自行处理单独设计解决,比如java中的静态类方式来保存数据,这种方法虽然可行,但是有很大的风险。

人工管理阶段有几个特点:

1.数据不保存:程序结束之后数据就没有了存在价值,可以简单理解为没有了。

2.数据不共享

3.数据不具有独立性:数据的存在依赖于它所在的程序,它的生命周期小于等于程序的生命周期。


文件数据阶段:程序员可以通过文件的方式保存数据。

文件管理系统有以下特点:

1.数据可以长期保存

2.应用程序管理数据(增删改查等)

3..数据依赖性强:文件之间缺乏依赖关系,要通过程序这个媒介来进行构造,数据面向应用。

4.数据共享性差:冗余度大,由于文件之间缺乏联系,每个应用程序都有对应的数据文件,可能同样的数据会有重复存储。

5.数据不一致性:进行更新操作时可能使同样的数据在不同文件中不一样。

6.数据之间联系弱


数据库系统阶段:目前来讲完善的高级的数据管理方式

数据库系统阶段数据管理具有以下特点:

1.数据模型表示复杂数据结构:数据模型不经描述本身的特征,还要描述数据之间的联系,这种联系通过存取路径实现。

2.具有较高的数据共享性和较小的数据冗余度:数据不再面向单个或多个应用,而面向整个应用系统,减少冗余,实现数据共享。

3.具有较高的数据独立性,用户无需了解数据的物理结构,只需给予简单的逻辑操作即可,内部各种操作由DBMS(数据库管理系统)实现。

4.数据库管理系统为用户提供了方便的用户接口:用户可以使用查询语言等途径操作数据库(后端朋友们一定很有感受)。

5.数据库提供了数据控制功能:

(1)数据库并发控制

(2)数据库的恢复

(3)数据完整性

(4)数据安全性

*注:234点可以和称为鲁棒性或健壮性


1.1.3名词以及所写

1.数据库(DB, DataBase)

2.数据库管理系统(DBMS, DataBase Mnagement System):管理数据的软件。


1.2数据库系统的模式结构(三层模式结构的概述与个人理解)

如图为数据库三层模式结构


三层即 视图层(View),逻辑层(logical),物理层(physical),分别对应三种模式 外模式,模式,内模式,为什么要分成这三种模式呢?这种架构模式可以让数据库系统的视图,数据逻辑与物理层相互独立,减少项目模块之间的耦合性,方便测试以及维护。三种相互独立的层面通过两层模式映射即外模式-模式映射以及内模式-模式映射进行交互,打个比方,我在视图层增加一个组件,用来显示一个新的数据,那我只要在视图层中改变相应的组件,并不会影响逻辑层与物理层正常运行,我只需通过外模式-模式映射这条渠道进行数据的更新即可。没有接触过项目架构的同学可能会对此很迷惑,但是若是接触过MVP架构(Model-View-Presenter)或者MVVM架构(Model-View-View Modle)的同学一定很好理解数据系统的三层模式两层模式映射的架构,良好的软件架构会使项目工程更加优雅。

外部层负责视图部分,使数据可视化。逻辑层负责逻辑特征的描述,里面包含着很多的数据以及数据之间的逻辑关系,在三层结构中起着承上启下的作用(向上向视图层传递信息,向下从物理层抽取信息)。物理层是数据在计算机上的物理表示,数据都存储在某个物理地址中,物理层负责数据的索引以及存储,存储记录的大小,数据压缩以及数据加密。

两层模式映射对应两种数据系统的数据独立性,分别是逻辑数据独立性与物理数据独立性。外模式-模式映射将可视的数据库跟抽象的逻辑数据库联系起来了,当逻辑层改变时(如属性的变化,新的属性与属性关系的改变),视图层可以保持不变,保证了数据与程序的逻辑独立性。内模式-模式独立性将逻辑数据库与物理数据库联系起来,保证了物理数据的独立性,当逻辑层中的存储结构发生改变,比如我把A班的小明在逻辑层中移动到B班,物理层的离散存储并没有改变,只是小明在逻辑层中的数据联系发生了改变,这就保证了物理数据的独立性。

0 0
原创粉丝点击