1.1 数据库系统概述

1.1.1 数据库系统的4个基本概念

数据:

描述事物的符号记录称为数据。数据的含义称为数据的语义,数据与其语义是不可分的。

数据库(DB):

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

数据库管理系统(DBMS):

DBMS是位于用户和操作系统之间的一层数据管理软件,跟操作系统一样是计算机的基础软件。

主要功能包括:①数据定义功能:由数据定义语言(DDL)实现    ② 数据组织、存储和管理    ③ 数据操纵功能:由数据操纵语言(DML)实现    ④数据库的事物管理和运行管理    ⑤ 数据库的建立和维护功能    ⑥ 其他功能

数据库系统:

数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理人员(DBA)组成的存储、管理、处理和维护数据的系统。一般在不引起混淆的情况下简称数据库。

1.1.2 数据管理技术的产生和发展

1. 人工管理阶段

特点:(1)数据不保存    (2) 应用程序管理数据    (3) 数据不共享    (4) 数据不具有独立性

2.文件系统阶段

特点:

优点:(1)数据可长期保存 (2)由文件系统管理数据

缺点:(1)数据共享性差,冗余度大 (2)数据独立性差

3.数据库系统阶段

从文件系统到数据库系统标志着数据管理技术的飞跃

1.1.3 数据库系统的特点

1.数据结构化

2.数据的共享性高、冗余度低且易扩充

3.数据独立性高

4.数据有数据库管理系统统一管理和控制

1.2 数据模型数据模型是对显示世界的数据特征的抽象。

数据模型是数据库系统的核心和基础。

1.2.1 两类数据模型

第一类是概念模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计

第二类是逻辑模型和物理模型:

逻辑模型:它是按计算机系统的观点对数据建模,主要用于数据库管理系统的实现。

物理模型:是对数据最底层的抽象,是面向计算机系统的。

1.2.2 概念模型

1.信息世界中的基本概念

(1)实体:客观存在并可互相区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系,例如, 一个职工、一个学生、一个部门、一门课、学生的一次选课、部门的一次订货、教师与院系的工作关系(即某位教师在某院系工作)等都是实体。

(2)属性:实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。例如,学生实体可以由学号、姓名、性别、出生年月、所在院系、入学时间等属性组成,属性组合(201315121, 张山,男, 199505, 计算机系, 2013) 即表征了一个学生。

(3)码:唯一标识实体的属性集称为码。例如学号是学生实体的码。

(4)实体型:用实体及其属性名集合来抽象和刻画同类实体,称为实体型。例如,全体学生就是一个实体集。

(5)联系:在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指不同实体集之间的联系。实体之间的联系有一对一、一对多和多对多等多种类型。

2.概念模型的一种表示方法:实体-联系方法

概念模型的表示方法很多,其中最为常用的是P.P.S .Chen 于1976 年提出的实体-联系方法CEntity-Relationship approach) 。该方法用E-R 图(E-R diagram ) 来描述现实世界的概念模型, E-R 方法也称为E-R 模型。

1.2.3 数据模型的组成要素

数据模型通常由数据结构、数据操作和数据的完整性约束条件三部分组成。

1.数据结构

数据结构描述数据库的组成对象以及对象之间的联系。

2.数据操作

数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。

3.数据的完整性约束

数据的完整性约束条件是一组完整性规则。

1.2.4 常用的数据模型

数据库领域中主要的逻辑数据模型有:

· 层次模型( hi erarchi cal model)

. 网状模型( network model )

· 关系模型( relational model)

· 面向对象数据模型( object oriented data model)

· 对象关系数据模型(object relational data model)

· 半结构化数据模型(semistructure data model)

其中层次模型和网状模型统称为格式化模型。注意:这里讲的数据模型都是逻辑上的,也就是说是用户眼中看到的数据范围。

同时它们又都是能用某种语言描述,使计算机系统能够理解,被数据库管理系统支持

的数据视图。这些数据模型将以一定的方式存储于数据库系统中, 这是数据库管理系

统的功能,是数据库管理系统中的物理存储模型。

在格式化模型中实体用记录表示,实体的属性对应记录的数据项(或字段)。实体之间的联系在格式化模型中转换成记录之间的两两联系。

在格式化模型中数据结构的单位是基本层次联系。所谓基本层次联系是指两个记录以及它们之间的一对多(包括一对一)的联系。

1.2.5 层次模型

层次模型是数据库系统中最早出现的数据模型,层次数据库系统采用层次模型作为数据的组织方式。

1. 层次模型的数据结构

在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型:

(1) 有且只有一个结点没有双亲结点,这个结点称为根结点;

(2) 根以外的其他结点有且只有一个双亲结点。

在层次模型中,每个结点表示一个记录类型,记录类型之间的联系用结点之间的连线(有向边)表示,这种联系是父子之间的一对多的联系。这就使得层次数据库系统只能处理一对多的实体联系。

2. 层次模型的数据操纵与完整性约束

层次模型的数据操纵主要有查询、插入、删除和更新。进行插入、删除、更新操作时要满足层次模型的完整性约束条件。

进行插入操作时,如果没有相应的双亲结点值就不能插入它的子女结点值。进行插入操作时,如果没有相应的双亲结点值就不能插入它的子女结点值。

3 . 层次模型的优缺点

层次模型的优点主要有:

(1) 层次模型的数据结构比较简单清晰。

(2) 层次数据库的查询效率高。

(3) 层次数据模型提供了良好的完整性支持。

层次模型的缺点主要有:

(1) 现实世界中很多联系是非层次性的,如结点之间具有多对多联系,不适合用层次模型表示。

(2) 如果一个结点具有多个双亲结点等,用层次模型表示这类联系就很笨拙,只能通过引入冗余数据(易产生不一致性)或创建非自然的数据结构(引入虚拟结点)来解决。对插入和删除操作的限制比较多,因此应用程序的编写比较复杂。

(3) 查询子女结点必须通过双亲结点。

(4) 由于结构严密,层次命令趋于程序化。

1.2.6 网状模型

网状数据库系统采用网状模型作为数据的组织方式。网状数据模型的典型代表是DBTG 系统,亦称CODASYL 系统。

1. 网状模型的数据结构

在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型:

( I1) 允许一个以上的结点无双亲。

(2) 一个结点可以有多于一个的双亲。

2. 网状模型的数据操纵与完整性约束

网状模型一般来说没有层次模型那样严格的完整性约束条件,但具体的网状数据库系统对数据操纵都加了一些限制,提供了一定的完整性约束。

例如, DBTG 在模式数据定义语言中提供了定义DBTG 数据库完整性的若干概念和语句,主要有:

(1) 支持记录码的概念,码即唯一标识记录的数据项的集合。例如,学生记录(如图1.13) 中学号是码,因此数据库中不允许学生记录中学号出现重复值。

( 2) 保证一个联系中双亲记录和子女记录之间是一对多的联系。

(3) 可以支持双亲记录和子女记录之间的某些约束条件。例如,有些子女记录要求双亲记录存在才能插入,双亲记录删除时也连同删除。例如图1.13 中选课记录就应该满足这种约束条件,学生选课记录值必须是数据库中存在的某一学生选修存在的某一门课的记录。DBTG 提供了“ 属籍类别”的概念来描述这类约束条件。

3. 网状模型的优缺点

网状模型的优点主要有:

( 1) 能够更为直接地描述现实世界,如一个结点可以有多个双亲,结点之间可以有多种联系。

( 2) 具有良好的性能, 存取效率较高。

网状模型的缺点主要有:

(1) 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。

(2) 网状模型的DDL 、DML 复杂,并且要嵌入某一种高级语言( 如COBOL 、C) 中。用户不容易掌握,不容易使用。

(3) 由于记录之间的联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此用户必须了解系统结构的细节,加重了编写应用程序的负担。

1.2.7 关系模型

关系模型是最重要的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式。

1. 关系模型的数据结构

2 .关系模型的数据操纵与完整性约束

3. 关系模型的优缺点

1.3 数据库系统的结构

1.3.1 数据库系统模式的概念

1.3.2 数据库系统的三级模式结构

1.3.3 数据库的二级映像功能和数据独立性

1.4 数据库系统的组成

1.5 小结

计算机管理系统绪论,数据库系统概论 第一章 绪论相关推荐

  1. 数据库系统概论-第一章绪论

    数据库系统概论-第一章绪论 1.1数据库系统概述 1.2数据模型 1.4数据库系统的组成 1.数据库 2.数据库管理系统(及其开发工具) 3.应用系统 4.数据库管理员 5.(用户) 1.4.1 数据 ...

  2. 数据库系统概论-第一章绪论【概念模型、层次模型和三级模式(外模式、模式、内模式)】

    1,数据系统概述 数据库的四个基本概念: 数据.数据库.数据库管理系统.数据库系统: 1 数据: 描述事物的符号记录称为数据 2 数据库是长期存储在计算机内.有组织.可共享的大量数据的集合. 3 数据 ...

  3. 数据库系统概论 第一章 绪论 知识点总结

    目录 1. 数据库的4个基本概念 2. 数据模型 2.1 概述: 2.2 数据模型的分类: (1)概念模型: (2)逻辑模型和物理模型: 2.3 数据模型的组成要素: 2.4 常用的数据模型 2.5 ...

  4. 计算机在化学化工中的应用ppt绪论,化工应用数学第一章绪论摘要.ppt

    化工应用数学第一章绪论摘要.ppt 量化计算方法 探索<红楼梦>前80回和后40回是否同一作者所为? 1981,陈炳藻首次借助计算机从字.词出现频率入手,通过计算机进行统计.处理.分析,认 ...

  5. 数据库系统:第一章绪论

    1.1 数据库系统概述 1.1.1 基本概念 1.数据(Data) 数据:描述事物的符号记录. 语义:数据的含义称为数据的语义(如学生的姓名.性别.出生年月等用于描述数据是什么的词语),两者不可分割. ...

  6. 信息安全概论 第一章 绪论

    1.0 a. 安全分析 从要保护的对象的价值.威胁.弱点三个方面分析其可能遇到的风险,并据此生成对策. b. 安全对策(PDRRP) 保护(Protect):层层设防 检测(Detect):实时,动态 ...

  7. 数据库系统概论第一章课后习题答案(第5版)

    本文PDF版下载:点击下载 1.试述数据.数据库.数据库系统.数据库管理系统的概念. (1)数据是描述事物的符号记录. (2)数据库是长期储存在计算机内的.有组织的.可共享的数据集合. (3)数据库系 ...

  8. c++语言编程,一个电灯两个开关控制,[理学]四川大学计算机学院精品课程_面向对象程序设计C++课件_游洪越_第一章绪论.ppt...

    [理学]四川大学计算机学院精品课程_面向对象程序设计C课件_游洪越_第一章绪论 主讲教师: 游洪跃 个人主页: /~youhongyue 邮件地址: youhongyao@ 教材:<C++面向对 ...

  9. 计算机控制技术(第一章 绪论)

    计算机控制技术 第一章 绪论 前述 计算机控制系统的组成 计算机控制系统分类 微型计算机控制系统分类 计算机控制系统的发展趋势 前述 前段时间开始写博客,到现在非常喜欢把学到的东西和要复习的东西在博客 ...

最新文章

  1. php调用txt接口,PHP 如何更优雅地调用 API 接口
  2. ps修改dds贴图_「干货」喜爱3D游戏动漫建模的你,必备的次世代游戏贴图技巧...
  3. python坐标轴刻度为经纬度_python各类经纬度转换
  4. Python编程语言学习:sklearn.manifold的TSNE函数的简介、使用方法、代码实现之详细攻略
  5. 好用的数学公式(持续更新中)
  6. android第三方推送实现,Android--利用第三方推送实现APP伪保活(小米篇)
  7. 对于python命令行参数使用,你应该这么做才专业
  8. mysql挂载数据卷_docker卷挂载技术
  9. 智慧发电厂+智能发电厂web端平台管理系统+Axure高保真智慧电厂系统+能耗管理+告警管理+生产监控+安防设备管理+运维设备管理+监控面板+系统管理+智慧电厂+电厂系统+axure源文件+rp原型
  10. 页面之间传递参数的几种方法荟萃(经典)
  11. 华为设备初始用户名/密码
  12. ftp服务器 文件权限,ftp服务器 文件权限设置
  13. Python数据有效性DataValidation模块
  14. linux下system函数
  15. 寝室多设备连接校园网的解决方案
  16. hk域名如何注册?为什么要选择.hk域名?
  17. (附源码)ssm保险办理系统 毕业设计 012232
  18. 炮弹仿真系统matlab软件下载,基于Matlab/Simulink的导弹六自由度弹道仿真系统设计...
  19. 用命令查看计算机网络连接数,局域网如何查看共享服务器连接数 局域网查看共享服务器连接数的方法...
  20. Win10安装Ubuntu子系统及图形化界面详细教程20210401

热门文章

  1. JDK源码(16)-ClassLoader
  2. c语言学生管理系统write to a text file,语言编程学生成绩管理系统.doc
  3. 转录组分析_转录组分析 | 使用Stringtie对数据进行下游处理
  4. 基于redis实现分布式锁思考
  5. java 数组 c foreach_在Java 8中,为什么Arrays没有给出forEach的Iterable方法?
  6. dataframe scala 修改值_【Spark学习笔记】 Scala DataFrame操作大全
  7. 折半查找的思想及源码_二分查找及对应的几道经典题目
  8. 关于操作 ASP.NET Web API的实例
  9. 一个初级的前端工程师需要知道些什么?
  10. createSQLQuery与createQuery的区别