本篇首先引入编程微课项目作为数据库的应用案例,通过对项目功能及涉及的相关数据的介绍,让读者对数据库的应用有一个感性认识,然后重点讲述关系数据库的理论基础知识。通过本篇的学习,读者应该能掌握以下内容:

● 编程微课的主要功能

● 数据库的基本原理及数据模型

● 关系数据库

1、编程微课

编程微课项目使用图文,语言,视频等方式进行内容教学,再附加各种训练题,帮助练习和巩固知识。

微课内容来自于编程达人,编程达人撰写课程内容,通过编程微课平台为编程爱好者提供课程内容,获得收益。读者可以通过PC浏览器、微信小程序支付课程费用和学习课程内容,并可以加入编程达人的朋友圈,与编程达人进一步互动交流学习。

2、理解数据库

数据库可以理解为存储数据的仓库,每个数据项在数据仓库中都有编号,通过编号就可以找到该数据项。例如,图书馆就是存储图书的仓库,在图书馆存储的每本图书都有一个编号,编号表示了书的类别和顺序号,同类别的书放在一个书架上,便于图书管理员和读者查找图书。

图书馆存储的是图书,数据库存储的是数据,每条数据称为数据项。数据是对客观事物的符号表示,如文字、图形、数字等。在日常生活中,人们直接用语言来描述事物,例如在描述一门课程时,人们常用“Java编程课程—入门篇由编程达人郎老师编写,编程语言课,课程面向青少年编程爱好者,课程以浅显易懂的语言,以常见的生活场景为案例,带领大家逐步进入计算机编程世界”。

在计算机中,为了存储和处理这些事物,就要将事物的特征抽象出来组成一个记录来描述。

例如,将课程事物抽象为数据项记录(课程名称,授课老师,类别、学生对象,课程简介)。课程事物的一条数据可以描述为(Java编程课程—入门篇,郎老师,编程语言,面向青少年爱好者,课程以浅显易懂的语言,以常见的生活场景为案例,带领大家逐步进入计算机编程世界)。

当需要存储多个课程数据项时,就构成了数据库。因此,数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用提供数据服务。

3、数据库发展简史

计算机应用于数据管理的初期,由于没有必要的软件、硬件环境的支持,用户只能直接在裸机上操作。当时编写的应用程序不仅要设计如何处理和存储数据,还要指明数据在存储器上的存储地址。在这一管理方式下,应用程序和数据之间相互结合,不可分割,数据独立性差,缺少共享性,编程效率低下。这一阶段称为人工管理阶段。

随着计算机软、硬件的发展,数据管理进入了文件管理阶段,这一阶段的主要标志是计算机有了专门管理数据库的软件——操作系统(文件管理)。文件管理方式是把有关的数据组织成一种文件,这种数据文件可以脱离程序而独立存在,有一个专门的文件管理系统实施统一管理。在这一管理方式下,应用程序通过文件管理系统对数据文件中的数据进行加工处理,应用程序的数据具有一定的独立性和共享性,比手工管理方式更进了一步。

在文件管理阶度,数据虽然具备了一定的独立性和共享性,但由于数据的组织依然是面向程序,数据不但存在大量冗余,而且数据自身的逻辑结构也难以满足不同用户对数据的要求。为了减少数据冗余,提高数据的共享性和独立性,人们需要对使用的数据进行统一规划管理,形成一个数据中心,构成一个数据库。数据库中数据能够满足所有用户的不同要求,供不同用户共享。这个阶段称为数据库管理系统阶段。

4、数据模型

数据模型是数据库的基础,数据是对客观事物的符号表示,模型是现实世界的抽象。数据模型是对数据特征的抽象。

客观事物抽象为数据模型,是一个逐步转化的过程,经历了现实世界、信息世界和计算机世界这三个不同的世界,经历了两级抽象和转换,如下图所示:

图 2-1 数据抽象过程

现实世界是指客观存在的事物及其相互间的联系,人们一般选择事物的基本特征来描述事物。事物可以是抽象的,也可以是具体的,如课程属于抽象的事物,人们通常用课程名称、授课老师、类别、学生对象、课程简介等特征来描述和区分。学生就属于具体的事物,通常用学号、姓名、班级、成绩等特征来描述和区分。

信息世界是对现实世界的抽象,人们把事物的特征和联系通过符号记录下来,并用规范化的语言描述现实世界的事物,从而构成一个基于现实世界的信息世界,这个信息世界就是概念模型概念模型主要用来描述显示世界的概念化结构,它使数据库的设计人员在设计的初始阶段,摆脱计算机系统及数据库管理系统的具体技术问题,集中精力分析数据以及数据之间的联系。在概念模型中,最常用的设计模型就是实体—联系模型(ER模型),关于课程的ER模型如下图所示:

图 2-2 课程ER模型

信息世界的概念模型还不能被数据库管理系统直接使用,需要将概念模型进一步转换为逻辑数据模型,形成便于计算机处理的数据形式。逻辑数据模型是具体的数据库管理系统所支持的数据模型,主要有关系数据模型、层次数据模型和网状数据模型。关系数据模型是目前最流行的数据库模型,支持关系数据模型的数据库管理系统称为关系数据库管理系统,MySQL就属于关系数据库管理系统。关系数据模型以二维表结构来表示事物与事物之间的联系,也可以称为实体与实体之间的联系。关于课程关系的二维表如下表所示:

表格 2-1 课程关系表

逻辑数据模型反映了数据的逻辑结构,当需要把逻辑模型数据存储到物理介质时,就需要用到物理数据模型了,物理数据模型是面向计算机物理表示的模型,描述了数据在存储介质上的组织结构,它不但与具体的数据库管理系统有关,而且还与操作系统和硬件相关,每一种逻辑数据模型在实现时都有对应的物理数据模型。本课程重点讨论概念数据模型和逻辑数据模型,物理数据模型不是本课程讨论的重点。

5、 关系数据库

要设计一个数据库系统,首先要将现实世界抽象到数据的世界,即将现实世界用数据进行描述,得到一个现实世界的数据模型

关系数据模型是目前描述现实世界主要的抽象化方法它将用户数据的逻辑结构归纳为满足一定条件的二维表的形式。由于关系数据模型概念简单、清晰,用户易懂易用,又有严格的数学基础。因此,20世纪80年代以来推出的数据库管理系统都支持关系数据模型,支持关系数据模型的数据库管理系统也称为关系数据库。

在描述现实世界的过程中,为了分析的方便,可以将这一抽象过程分为两个阶段首先应用ER模型将现实世界抽象为一个信息世界,这种信息的结构不依赖于具体的计算机实现,然后将信息世界的数据抽象为结构化的二维表形式,形成关系数据模型。

下面以编程微课项目的学生与课程两个事物(实体)为例,对两个阶段的抽象过程作具体说明。

在现实世界中描述学生和课程,要结合具体的事物场景来分析。编程微课项目使用图文,语言,视频等方式进行在线教学,学生可以在任何时间、任何地点使用手机或电脑打开课程学习。结合上面的场景来分析学生和课程的特征。学生有名称、账号、登录密码、性别、年龄等基本特征;课程有课程名称、授课老师、类别、学生对象、课程简介等基本特征;学生与课程的主要关系是学生学习课程。

经过上面对学生和课程的分析,可以画出学生与课程的ER模型,完成第一阶段从现实世界到概念世界的抽象。ER模型如下图所示:

图 2-3 学生与课程ER模型

第二阶段将设计的ER模型抽象为结构化的二维表形式,形成关系数据模型。将ER模型转换为结构化的二维表形式非常简单,一个事物(实体)对应一个表,事物(实体)的属性为表的字段,事物(实体)之间的关系可以在一个实体的二维表中增加另一个实体的主要字段来实现。ER模型转换后的二维表如下图所示:

图 2-4 学生课程二维表结构

■ 课程小结

可以把关系数据库理解为超市,超市摆放商品的每一排货架为数据库表,货架中每一列为表的字段,每一行为表的一条记录。假设货架每行同列摆放的商品类别相同,则可以把超市的每一排货架理解为数据库的二维表结构。由此可以看出,关系数据库是由多个二维表组成的,在每个二维表中每行同列存储的数据类别相同。

设计关系数据库时,需要两个阶段。第一个阶段是需要将现实世界的事物进行概念化,抽象为概念数据模型,此阶段最常用的工具是实体—联系模型(ER图);第二个阶段是将ER模型转换为二维表结构(关系数据模型),此阶段一般需要利用数据库设计工具进行设计,如PowerDesigner、Visio等设计软件。

理解数据库与数据模型的概念相关推荐

  1. 【数据库】数据模型基础概念(图文版)

    0 前言 本文通过一个实例,来讲解数据模型的基础概念. 要求设计一个数据库的数据模型,统计出你的宿舍每个人(4个人)的信息,要求包括 个人信息:学号.姓名.班级.年级.学院 选课情况:学号.课程号.课 ...

  2. 如何理解mysql数据库_怎么简单地理解数据库的概念?

    1.什么是数据库呢? 每个人家里都会有冰箱,冰箱是用来干什么的?冰箱是用来存放食物的地方. 同样的,数据库是存放数据的地方.正是因为有了数据库后,我们可以直接查找数据.例如你每天使用余额宝查看自己的账 ...

  3. 数据库笔记——数据模型

    1 概念数据模型与基本数据模型 1.1 概念数据模型 独立于计算机系统的数据模型,它完全不涉及信息在计算机系统中的表示,只是用来描述某个特定组织所关心的信息结构,这类模型称为 "概念数据模型 ...

  4. mysql学习总结-初识+数据管理+增删改查+常用函数+事务理解+数据库设计+JDBC引入

    1.初识MySQL 1.1数据库的定义 数据库(DataBase,简称DB),是一个按数据结构来存储和管理数据的计算机软件系统.每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制 ...

  5. 什么是ER图?数据库ER图基础概念整理

    前置知识 概述:数据模型的基本概念 模型就是对现实世界特征的模拟和抽象,数据模型是对现实世界数据特征的抽象.对于具体的模型人们并不陌生,如航模飞机.地图和建筑设计沙盘等都是具体的模型.最常用的数据模型 ...

  6. 数据库的三级模式结构以及如何理解数据库的三级模式

    所谓模式是指用数据描述语言精确定义的数据模型.数据模式的三个层次:外部层.概念层和内部层,构成数据库系统的三级模式结构,如图所示.不管数据库管理系统的功能如何变化.操作系统的平台如何不同.数据模型如何 ...

  7. 深入理解数据库磁盘存储(Disk Storage)

    数据库管理系统将数据存储在磁盘.磁带以及其他的裸设备上,虽然这些设备的访问速度相比内存慢很多,但其非易失性和大容量的特点使他们成为数据存储的不二之选. 本文主要讨论大型数据库产品的磁盘存储内部结构,这 ...

  8. Spring Data JPA 之 理解 Persistence Context 的核心概念

    21 理解 Persistence Context 的核心概念 21.1 Persistence Context 相关核心概念 21.1.1 EntityManagerFactory 和 Persis ...

  9. 理解数据库范式(转)

    理解数据库范式 系统是短暂的 数据是永恒的 数据库范式是数据库设计中必不可少的知识,没有对范式的理解,就无法设计出高效率.优雅的数据库.甚至设计出错误的数据库.而想要理解并掌握范式却并不是那么容易.教 ...

最新文章

  1. 多列布局——column-width
  2. java版DVD影碟片出租赁系统C/S模式 java电影购票系统课程设计
  3. 华为路由器的NAT配置
  4. 简述dijkstra算法原理_Dijkstra算法之 Java详解
  5. React开发(162):React关于 this.props.children 总结
  6. 宁波海曙区服务器维修,宁波市海曙区第二医院关于服务器(备份一体机) 1套的在线询价公告...
  7. mooc作业怎么上传附件_中国大学MOOC最新考试系统(老师视角)增加学生作弊成本...
  8. 转载:C#WinForm窗体事件执行次序(较完整版)
  9. Keras学习---RNN模型建立篇
  10. Matlab重建信号实验总结,实验三信号采样与重建(实验报告).doc
  11. vue脚手架实现选项卡_从零一步步实现一个前端脚手架
  12. 使用 background:url(#) 解决 IE67 bug
  13. PMP 第六版 p25 矩阵图 方便记忆 口诀
  14. 计算机信息技术知识点思维导图,思维导图信息技术的学习方法
  15. 机械专业向机器人工程专业转型的可行性与前景分析
  16. php 图片木马,php图片木马怎么运行
  17. Java实现港(澳)台大陆身份证校验(亲测有效)
  18. MTK MT6577 Android驱动设置方法资料分享
  19. 议题曝光!百位顶级讲师、20大论坛,总有一个话题吸引你
  20. 刀~~~~~~~~~~~~

热门文章

  1. 直通车运营系统优化之账户结构设置
  2. 详解.NET IL代码(一)
  3. pku 1611 The Suspects 并查集的应用
  4. float:left后,导航栏不左浮解决
  5. python 字符串 4位一组_Python基础4- 字符串
  6. php template strring,PHP字符串函数
  7. python etree创建xml_Python构建XML树结构的实例教程
  8. 函数运行 形参实参变化 内存空间_可能python创始人都不知道的,python函数实参形参讲解...
  9. java中日历类:Calendar
  10. 2022年中国在线视频行业研究报告