基本说明

数据库系统原理的系列章节是基于《数据库系统原理》的基础之上,结合自己的心得与体会进行的归纳总结。
由于这些内容都是自己对数据库相关内容学习的最初理解,因此有所不妥的地方欢迎批评指正。
在此,特别感谢侯迪老师的辛勤教学工作以及很高的个人修养,讲课堂内容真的是深入浅出,为人有风格,受益匪浅。
同时,由于实际需要,在实际学习过程中的每次课程的笔记发表在本人CSDN中,账号为williamyi96。

数据管理技术的发展

数据管理历史阶段

数据管理技术经历了三个阶段,分别为:

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

数据库系统与文件系统

数据库系统与文件系统的优缺点

由于文件系统的数据记录之间没有联系,同时难以维护数据的完整性,并且较难进行查询,因此利用了结构化的数据存储模式,并且提升了数据的安全性以及维护能力的数据库系统。

就效率而言,显然数据库系统具有较高的开发效率,但是文件系统并不是一无是处,其具有较高的运行效率。

数据库系统与文件系统的本质差异

数据库系统与文件系统的本质差异是数据库系统将数据管理的功能独立出来了,而不是再依附于应用本身,因此其具有较好的数据共享能力,同时防止了其他应用对数据的恶意操作,提升了数据的安全性。

数据库系统

数据库的定义

数据库是长期储存在计算机内,有组织的,可共享大量数据的集合。

由定义可知,数据库中的数据之间有组织,也就是数据彼此之间相互联系,同时数据之间可以被多个应用共享。
另外值得注意的是,数据库中的数据具有最小的冗余度和较高的独立性。由于数据管理从应用中剥离出来了,因此各个数据管理系统之间的数据采用了集合合并的方式,最大程度地降低了数据的冗余度。同时,正是由于冗余度低,因此数据之间的独立性高。

数据库系统的定义

数据库系统是实现有组织、动态地存储大量相关的结构化数据、方便各类用户访问的计算机软硬件资源的集合。

数据库系统的组成

DBS = DB + DBMS + APP
以上为数据库系统的核心组成,涉及到诸如以DBMS为核心的开发工具等内容不具体考虑。

其结构为:

数据库系统的用户类型

DBA + PROGRAMMER + END USER

数据库系统的特征

  • 信息冗余度小,易扩充。其是一种高度的结构化数据
  • 支持数据的不同视图。不同类型的用户所看到的数据情况是不一样的。
  • 较高的数据独立性。数据彼此之间结构上相互联系,但是逻辑上彼此独立。
  • 信息完整且功能通用。其是多种数据管理的最小完备子集合,因此数据信息对应用而言是完整的。又由于其数据由数据库管理系统进行集中管理,而且数据管理结构化,因此其公共具有通用性。

数据模型

数据模型分类

针对不同的使用对象和应用目的,具有以下三种不同层次的数据模型:

  • 概念模型

  • 逻辑模型

    • 层次模型
    • 网状模型
    • 关系模型
  • 物理模型

另外还可以根据数据模型的表达方式(面向语法或者是面向语义),数据模型的应用范围等可以进行多种不同的划分。

数据与信息

数据都有语法语义两个方面的内涵。
数据是符号化的信息,信息是语义化的数据。以股市中的每个时段的股票价值为例,数字本身是数据,而如果构成一幅表征股票价格变动的图,这就是信息。又如,称黑白点阵为数据,而称其构成的图像则为信息。
数据处理的目的就是要找出有价值的信息。数据处理的过程就是便于更快地找到所需要的信息,来将其作为后期决策的依据。

数据模型的定义

将数据的定义和操作从应用程序中分离出来,交由数据库管理系统进行定义和管理时,数据库管理系统需要采用某种数据结构来定义、存储要管理的数据。这种数据结构相当于是数据库管理系统的数据模型。

在构建数据模型时,有概念数据模型和结构数据模型。两者的本质区别是概念数据模型是面向真实世界的,而结构数据模型是面向计算机世界的。同时,值得注意的是,连接计算机世界与现实世界的桥梁是信息世界。

更为形式化地定义数据模型是:数据模型是规定现实世界数据特征的抽象,是用来描述数据的语法、语义和操作的一组概念组合。

对数据模型的要求

  • 能比较真实地模拟现实世界
  • 能够被人所理解
  • 便于在计算机上进行实现

值得注意的是,前两条与最后一条之间往往是矛盾的,因此我们需要辩证地去思考如何实现数据模型的高效化。

数据模型三要素

数据模型通常由数据结构、数据操作和完整性约束三部分组成。其中,数据结构式指数据的组织形式,数据操作是指查询和更新,完整性约束是指规定数据合理正确的限制性条件。

逻辑数据模型

逻辑数据模型典型的有三种(数据模型分类时已经做具体说明,在此不赘述),其中层次模型可以使用树进行呈现,网状模型可以用图进行呈现,而关系模型则可以通过表来进行呈现。各种逻辑模型之间的区别在于数据之间联系的表示方式不同。

由于网状模型和层次模型在进行实现时,结构往往较为复杂。因此,关系模型被广泛地使用。

关于关系模型的具体内容将在第二章中进行详细介绍。

数据模式

数据模式是数据模型的实例化。相当于数据模型提供了一个书架,而数据模式是根据这个书架将其填满了书。

三级数据模式

现代数据库设计中一般采用上述三级模式结构,其中本质的目的是提升物理数据和逻辑数据的独立性。外模式与模式之间的映射关系提升了逻辑数据的独立性,同时内模式和模式之间的映射关系提升了物理数据的独立性。下面以图书馆的书籍管理为例进行说明: 所有书籍的图书馆编号就是模型,其有且仅有一个,而外模式就是根据书籍的不同类别进行分类之后的索引号,外模式与模式之间构成了一种映射; 而内模式就是对应于编号之后的具体的书籍的物理位置,其与模式之间也是一种映射关系;

当我们需要修改数据库的信息时,无论是修改外模式还是内模式,我们都不需要对内模式进行修改,我们只需要更改对应的映射关系即可。

数据库管理系统

数据库管理系统的主要功能

DBMS提供了数据的定义、操纵、存储、保护和维护功能。

数据库管理系统是数据库系统的核心,由应用程序到数据库的级联结构我们可以看到,所有应用程序访问数据库的请求都是由数据库管理系统来处理的。

对数据库的操作

广义上来说,各种用户对数据库的操作请求有两类,分别为查询和更新。其中更新包括“删”“改”“查”。

数据库管理系统在执行上述对数据库的操作时,主要有两种方式:解释方法和预编译方法。解释方法是将数据库管理系统作为数据库的核心成分,同时将每一次的命令都通过数据库管理系统进行执行;而预编译则是在运行之前,对将要执行的数据库语句进行编译处理,保存为可执行的代码。随着数据库技术的发展,前者已经逐渐被后者取代。

数据目录

数据目录的定义

数据目录时一组关于数据的数据,也被称之为元数据。

数据目录的基本功能

数据目录的基本功能是将数据库中的数据进行统一管理,实现大范围内的数据共享,并且使系统将相关定义和描述进行长期保存。

数据目录与一般数据的区别

与一般数据相比,数据目录只能由系统定义和为系统所有,在初始化时由系统自动生成,而不能够用SQL之类的语句定义,同时往往相对而言是静态的。也就是一般定义了数据的组织形式之后一段时间不会发生改变;而一般的数据可以使用SQL之类的语句进行定义,同时往往是动态的,也就是数据库中的数据可以进行更新。

数据库系统原理(1)--绪论相关推荐

  1. 数据库系统原理期末复习

    数据库系统原理期末复习 这是本人整理的数据库系统原理的复习资料,按照四个课程目标所划的知识点进行复习,时间充裕的同学可对照文末各章复习知识点查漏补缺. 一.课程目标1:数据库基础知识应用 20分 数据 ...

  2. 数据库系统原理(BNU_党德鹏_慕课)超详细听课笔记

    数据库系统原理 笔记 第一章 绪论 第一节 数据库 第二节 数据库管理系统 第三节 数据管理技术发展趋势 第二章 关系模型 第一节 关系结构和约束 第二节 基本关系代数运算 第三节 附加关系代数运算 ...

  3. 数据库系统原理设计--论坛系统

    论坛信息管理系统  摘要:随着科学技术的发展,基本上所有的具有一定数量数据的机构都  开始使用计算机数据库来管理.现如今网络盛行,BBS 论坛已成为人们生活  中的一种信息交流渠道,它通过在计算机上运 ...

  4. IT:银行类金融科技岗笔试习题集合—各大行(工商+建设+农业+浦发+招商+平安+人民+邮政银行)计算机信息科技岗笔试集合(包括计算机基础知识+网络+操作系统+数据库系统原理)

    IT:银行类金融科技岗笔试习题集合-各大行(工商+建设+农业+浦发+招商+平安+人民+邮政银行)计算机信息科技岗笔试集合(包括计算机基础知识+网络+操作系统+数据库系统原理) 导读:因为博主后台留言太 ...

  5. 数据库系统原理复习提纲

    数据库系统原理复习提纲 参考文献:A First Course in Database Systems | 3rd Edition Authors:Jennifer Widom,Jeffrey D U ...

  6. 数据库系统原理设计题和综合体

    1.设教学数据库中有三个关系: 学生关系 S(S#,SNAME ,AGE,SEX,DEPT),其属性分别表示学号.姓名.年龄.性别.所在系. 课程关系 C(C# ,CNAME ,TEACHER) ,其 ...

  7. 修改数据无法提交_数据库系统原理

    数据库系统原理整理 一.事物 事务指的是满足 ACID 特性的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚. ACID原则 1.原子性 事务被视为不可分割的最 ...

  8. 《数据库系统原理》教学上机实验报告

    <数据库系统原理>教学上机实验报告 实验题目: 实验一 创建数据库与表 实验目的和要求: 了解 mysql 数据库的存储引擎分类; 了解表的结构特点; 了解 mysql 的基本数据类型; ...

  9. 【数据库系统原理】数据库课内实验

    说明:这是武汉理工大学计算机学院[数据库系统原理]课程课内实验. >>点击查看武汉理工大学计算机专业课程资料汇总 >>点击查看WUTer计算机专业实验汇总 谨记:纸上得来终觉浅 ...

最新文章

  1. Delphi7的主窗口
  2. python处理数据的优势-Python语言的七大优势
  3. SAP系统内部顾问如何培养
  4. 如何用python批量处理图片大小_python批量修改图片大小的方法
  5. Getphonenumber获得电话号码的例子
  6. hive對於數據是懶加載的_05-配置数据库的远程连接 创建hive数据库的时候要选择latin1...
  7. vue前端项目的结构以及组成部分
  8. 2. mirth connect探索------------ cs模式客户端登录
  9. Android自动化-双击操作
  10. 华为手机自带浏览器的显示问题
  11. freemaker与es6模板字符串语法冲突问题
  12. java int 运算符,java中各种运算符
  13. 桌面图标小箭头去掉方式
  14. Linux 运维是做什么的?有钱途吗?发展前景怎么样?
  15. python学英语库_交流学英语的经验-js焦点图怎么写-WinFrom控件库|.net开源控件库|HZHControls官网...
  16. 如何给自己各种帐号编一个安全又不会忘记的密码?
  17. python异步协程实战:wallhaven壁纸网站
  18. 父镜像、子镜像、AUFS、UFS之间的关系、基础镜像
  19. 四级高频词汇---词根串讲---day1
  20. GPCC全球降水数据集下载并使用MATLAB进行读取分析--以长江流域为例

热门文章

  1. CPP----C++练习100题
  2. K8S kube-proxy iptables 原理分析
  3. 开淘宝店怎么注册公司?开淘宝店是否需要去工商局登记注册公司
  4. spring boot校园二手销售网站 毕业设计源码161417
  5. win7电脑计算机上配置无线网,Win7无线网络共享设置方法
  6. 汉化版PHP代码审计工具rips
  7. 两招让你成为很厉害的T型人才
  8. 人工智能需要学习哪些编程语言?学人工智能要学python吗?
  9. 淘宝获取sku详情接口工具
  10. 每日英语好文翻译(11)