您现在的位置是:首页 > 正文

计算机二级C语言公共基础知识,以及习题总结(六)数据模型

2024-02-01 03:11:33阅读 1
二级C语言公共基础知识,以及习题总结(一) 跳转
二级C语言公共基础知识,以及习题总结(二)树和二叉树 跳转
二级C语言公共基础知识,以及习题总结(三)查找和排序 跳转
二级C语言公共基础知识,以及习题总结(四)程序设计和软件工程基础 跳转
二级C语言公共基础知识,以及习题总结(五)数据库设计基础 跳转
二级C语言公共基础知识,以及习题总结(六)数据模型 跳转
二级C语言公共基础知识,以及习题总结(七)关系代数 跳转

数据模型的基本概念

1、数据模型是数据特征的抽象

数据模型描述的内容(数据模型的三要素)
(1)数据结构
(2)数据操作
(3)数据约束
数据模型按不同的应用层次分成三种类型
概念数据模型(Conceptual Data Model)简称概念模型:对客观世界复杂事务的结构描述以及他们之间内在联系刻画。
主要有E-R模型(Entity-Relationship Model)、扩充E-R模型、面向对象模型及谓词模型。
逻辑数据模型(Logic Data Model)又称数据模型;着重于在数据库系统的一级实现。
概念模型只有在转换为数据模型后才能在数据库中得以表示。
主要有层次模型 网状模型 关系模型 面向对象模型。
物理数据模型(Physical Data Model)有称物理模型:是一种面向计算机物理表示的模型,次模型给出了数据模型在计算机上的物理结构表示。

2、E-R模型

E-R模型的基本概念
(1)实体:现实世界的事务的抽象,是概念世界的基本单位。实体可组成一个集合称为实体集(Entity Set)。
(2)属性:事务的特征。一个属性值的取值范围称为该属性的值域(Value Domain)或值集(Value Set)。
(3)联系:现实世界中事务的关系。实体集的关系有一对一,一对多,多对多的联系。
一个班级的学生,学生与学生之间是一对一的关系,简记为1:1。
在一所学校,一个课程与学生之间是一对多的关系,简记为,1:m。
在一所学校,多门课程与多个学生之间是多对多的关系,简记为,m:n。

E - R 模型的图示法
实体:矩形
属性:椭圆
联系:菱形

3、层次模型

层次模型(Hierarchical Model)一种树形结构。

数据结构比较简单,操作简单。对于实体间联系是固定的、且预先定义好的应用系统,有较高的性能。
可以提供良好的完整性支持。

不适合表示非层次的联系,对于插入和删除操作的限制比较多
特点
(1)每个树有且仅有一个无双亲结点,称为根(Root)
(2)树中除根所有结点有且仅有一个双亲
在这里插入图片描述

4、网状模型

网状模型(Network Model)是一个不加任何条件限制的无向图。优先层次模型。
使用时设计系统内部的物理因素较多,用户操作不方便,其数据模式与系统实现不甚理想。

5、关系模型

关系的数据结构
关系模型采用二维表来表示,简称表。二维表有框架(Frame)以及表的元组(Tuple)组成。表矿建有n个命名的属性(Attibute)组成,n称为属性的元素数(Arity)。每个属性有一个取值范围成为值域(Domain)。一个二维表就是一个关系(Relation)

唯一标识元组的最小属性称为该表的键(Key
二维表可能有若干个键,它们成为该表候选码或候选键(Candidata Key
从二维表的所有候选键中选取一个作为用户使用的键称为主键(Primary Key)或主码,一般主键也称为键或码。
在表A的属性集是某B的键,侧称该属性集为A的外键(Foreign Key)或外码。
在这里插入图片描述
在这里插入图片描述

6、范式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
A
概念数据模型(Conceptual Data Model)简称概念模型:对客观世界复杂事务的结构描述以及他们之间内在联系刻画
在这里插入图片描述
B
在这里插入图片描述
C
在这里插入图片描述
在这里插入图片描述
B
实体:现实世界的事务的抽象,是概念世界的基本单位。实体可组成一个集合称为实体集(Entity Set)。
在这里插入图片描述
D
在这里插入图片描述
D
在这里插入图片描述
C
在这里插入图片描述
D
在这里插入图片描述
A
在这里插入图片描述
B
在这里插入图片描述
B(树是一个典型的层次模型)
在这里插入图片描述
A
在这里插入图片描述
D
在这里插入图片描述
B
在这里插入图片描述
C
在这里插入图片描述
C
在这里插入图片描述
A
在这里插入图片描述
A(最小属性组合)
在这里插入图片描述
A
在这里插入图片描述
B
在这里插入图片描述
D

1、 第一范式(1NF) 在任何一个关系数据库中,
第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。
所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,
同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。
如果出现重复的属性,就可能需要定义一个新的实体,
新的实体由重复的属性构成,新实体与原实体之间为一对多关系。
在第一范式(1NF)中表的每一行只包含一个实例的信息。
简而言之,第一范式就是无重复的列。

2、 第二范式(2NF)
第二范式(2NF) 是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。
第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。这个唯一属性列被称为主关键字或主键、主码。
第二范式(2NF)要求实体的属性完全依赖于主关键字。
所谓完全依赖是指不能存在仅依赖主关键字一部分的属性。如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。
为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。
简而言之,第二范式就是非主属性部分依赖于主关键字。

3 、第三范式(3NF)
满足第三范式(3NF) 必须先满足第二范式(2NF)。
简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。
简而言之,第三范式就是属性不依赖于其它非主属性。

当表当中的每一项不能被拆分(满足第一范式)
当表当中的一个键(依赖传递)可以决定表当中所有数据时(满足第二范式)
当表当中的一个键(不依赖传递)(完全依赖)可以决定表当中所有数据时(满足第三范式)

在这里插入图片描述
A
在这里插入图片描述
在这里插入图片描述
D(合理规划表中数据避免重复,和不确定)
在这里插入图片描述
D(学号决定姓名是部分依赖)
在这里插入图片描述
A(BCD都是完全依赖 -> 代表左边可以决定右边)
在这里插入图片描述
C
在这里插入图片描述
A

二级C语言公共基础知识,以及习题总结(一) 跳转
二级C语言公共基础知识,以及习题总结(二)树和二叉树 跳转
二级C语言公共基础知识,以及习题总结(三)查找和排序 跳转
二级C语言公共基础知识,以及习题总结(四)程序设计和软件工程基础 跳转
二级C语言公共基础知识,以及习题总结(五)数据库设计基础 跳转
二级C语言公共基础知识,以及习题总结(六)数据模型 跳转
二级C语言公共基础知识,以及习题总结(七)关系代数 跳转

网站文章

  • selenium 页面加载慢,超时的解决方案

    开发环境:win10-64 python2.7.16 chrome77from selenium import webdriverdriver = webdriver.Chrome(executable_path='chromedriver.exe')driver.get('http://全部加载完成超级慢的网站')user = 'abc...

    2024-02-01 03:11:27
  • Python智力问答小游戏

    Python智力问答小游戏

    在这个Python智力问答小游戏中,我们将提供一系列问题,并编写代码来实现一个简单的问答游戏。玩家将被要求回答一些与Python编程相关的问题,并根据他们的回答来获得得分。接下来,我们需要编写代码来显...

    2024-02-01 03:10:53
  • [EXP公开] CVE-2020-13935: Tomcat WebSocket 拒绝服务漏洞通告

    [EXP公开] CVE-2020-13935: Tomcat WebSocket 拒绝服务漏洞通告

    原创 360CERT [三六零CERT](javascript:void(0)???? 今天 报告编号:B6-2020-110601 报告来源:360CERT 报告作者:360CERT 更新日期:20...

    2024-02-01 03:10:45
  • 常见的语法错误

    1、有缩进 :IndentationError: unexpected indent2、解释器会明确指出错误原因是无法识别的字符“:invalid character ’

    2024-02-01 03:10:37
  • class 文件方法表集合

    class 文件方法表集合

    一点睛 methods:指向常量池索引集合,它完整描述了每个方法的签名。 在字节码文件中,每一个 method_info 项都对应着一个类或者接口中的方法信息。比如方法的访问修饰符(public、pr...

    2024-02-01 03:10:30
  • eCharts工具类

    eCharts工具类

    ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等)...

    2024-02-01 03:10:02
  • 理解React Hooks看这一篇就够了

    理解React Hooks看这一篇就够了

    在React中,Hooks其实就是一个函数,这个函数的命名以use开头、函数return一个结果;React Hooks其实就是封装了一些通用的、公共的方法,就是一些通用的工具。官方Hooks是指Re...

    2024-02-01 03:09:56
  • html前端对象字段去空格,springboot中前台传来的string字符串自动去除前后面的空格...

    服务器后端接收前端传来的字符串带空格,如下现在在后端接收时需要把字符串前后的空格去除掉。解决办法importcom.fasterxml.jackson.databind.Deserialization...

    2024-02-01 03:09:48
  • java ftl转pdf_FreeMarker(二):利用FreeMarker转pdf

    java ftl转pdf_FreeMarker(二):利用FreeMarker转pdf

    1. 设计需求订票成功后,生成一个pdf 文件,用户打印入场票,门票大致如下所示: 2. 设计思想1). 使用FreeMarker 转换 ftl(就是FreeMarker 魔板文件),生成HTML2)...

    2024-02-01 03:09:18
  • BootStrap 多个tab页面 保存提交后停留在操作tab页或者指定tab页

    jQ+ Bootstrap 动态控制tab页面切换最近在做一个功能,一个页面包含多个tab页签,每一个tab页面都有保存和提交按钮功能,现在是希望在某个tab页面点击保存或者提交按钮提交表单后,重新加...

    2024-02-01 03:09:11