数据库原理及应用·数据库系统结构

news2024/12/24 7:26:23

2.1 数据模型的概念

2.1.1 什么是数据模型

数据模型(Data Model) 是对现实世界数据特征的模拟和抽象,用来描述数据是如何组织、存储和操作的。

数据模型应满足如下三个条件:
能比较真实地模拟现实世界
容易为人所理解
便于在计算机上实现

2.1.2 数据模型的分类

2.1.3 数据模型的组成要素

举例:
学生信息(2017010101,李光明,男,19,计算机科学学院,软件工程)
数据结构:其描述的是学生的特征信息,即学生数据的基本结构;
数据操作:主要包括对学生信息的查询、修改、删除数据;
数据的完整性约束:其中的性别信息只能是男或女,年龄一般是在15到40岁之间,这实际就是对性别和年龄的一种约束。

2.2 概念模型——信息世界

2.2.1  信息世界中的基本概念

实体(Entity):
客观存在并可相互区别的事物称为实体。
可以是具体的人、事、物或抽象的概念,如:张三、汽车、运动、兴趣……
属性(Attribute):实体所具有的某一特性称为属性。
(Key):唯一标识实体的属性集称为码。
(Domain):属性的取值范围称为该属性的域。
实体集(Entity Set): 同一类型实体的集合称为实体集。
实体型(Entity Type):用实体名及其属性名集合来抽象和刻画同类实体。

学生实体型:学生(学号,姓名,性别,院系,专业)
实体:学生
属性:学号、姓名、性别、院系;
专业码:学号
性别的域: 男,女

教师实体型: 教师(工号,姓名,性别,院系)
实体:教师
属性:工号、姓名、性别、院系
码:工号
性别的域: 男,女

全体学生是一个实体集

全体教师是一个实体集 

学生和教师之间的联系:选课

2.2.2 实体型之间的联系

联系(Relationship):现实世界中事物内部以及事物之间的联系,在信息世界中反映为实体内部的联系和实体之间的联系。

实体内部的联系通常是指组成实体的各属性之间的联系 实体之间的联系通常是指不同实体集之间的联系。

联系分为: 一对一(1:1) 一对多(1:n) 多对多(m:n)

一对一联系(1:1):如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1。

一对多联系(1:n):如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:n。

多对多联系(m:n):如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体B具有多对多联系,记为m:n。

2.3 概念模型的E-R表示法

2.3.1 概述

E-R方法(实体-联系法)是P.P.S.Chen于1976年提出的,是目前最常用的概念模型描述方法

E-R方法使用的工具称为E-R图,E-R方法描述的结果也称为E-R模型。

2.3.2 E-R图

实体:用矩形表示,矩形框内写明实体名。

属性:用椭圆形表示,并用无向边将其与相应的实体连接起来

联系
联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)

联系的属性:联系本身也是一种实体型,也可以有属性。

2.3.3 两个以上实体间的联系

课程、教师与参考书三个实体型:
如果一门课程可以由若干个教师讲授,且使用若干本参考书
而每一个教师可以讲授多门课程
一本参考书可以供多门课程使用

供应商、项目、零件三个实体型:

一个供应商可以供给多个项目多种零件

每个项目可以使用多个供应商供应的零件

每种零件可由不同供应商供给

2.3.4 单个实体型内的联系

职工实体型内部具有领导与被领导的联系
即某一职工(干部)“领导”若干名职工,而一个职工仅被一个职工(干部)直接领导

2.4 概念模型实例分析

案例:实现一个简单的学生选课系统,只涉及对学生、教师、课程的管理。用E-R图表示“学生选课系统”的概念模型。
说明:此系统要求能够记录学生的选课情况、教授的授课情况以及学生、课程、教师的基本信息。 业务需求:
一个教师可以教授多名学生,每个学生可以选修多个教师的课程
一个学生可以选择多门课程,一门课程可以对多个学生开放,且学生选修一门课程就会有一个成绩。
教师与课程:一个教师可以教授多门课程,一门课程同时也可以被多名教师教授。

分析确定实体的基本信息:
学生基本信息:学号、姓名、性别、专业、院系、电话、EMAIL
教师基本信息:工号、姓名、性别、职称、院系、年龄、电话、EMAIL
课程基本信息:课程号,课程名,学分,课程性质

2.5 逻辑模型

2.5.1 逻辑模型概述

逻辑模型(Logical Data Model):从数据的组织方式来描述数据,即用什么样的数据结构来组织数据。

概念数据模型必须转换成逻辑模型,才能在DBMS中实现,因此逻辑模型既要面向用户,又要面向系统

非关系模型:层次模型和网状模型在20世纪70—80年代初非常流行,在数据库系统的初期起了重要作用

关系模型(Relational Data Model):
以严格的数学理论为基础:谓词逻辑(predicate logic)、集合论(set theory)
目前主流的数据库系统都是基于“关系模型”

面向对象模型:目前数据库技术的研究方向

2.5.2 关系模型的基本概念

1970年,IBM的研究员E.F.Codd博士发表《大型共享数据银行的关系模型》一文,提出了关系模型的概念,奠定了关系数据库的基础。关系数据库系统采用关系模型作为数据的组织方式。 目前,计算机厂商新推出的数据库管理系统几乎都支持关系模型。

关系(Relation):一个关系对应通常说的一张表
元组(Tuple):表中的一行即为一个元组
属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名称即属性名
关系模式:对关系的描述,例如:关系名(属性1,属性2,…,属性n)

 用关系模式描述学生、课程、学生与课程之间的多对多联系。

学生(学号,姓名,性别,院系,专业,年龄,电话,EMAIL)
课程(课程号,课程名,学分,课程性质)
选课(学号,课程号,成绩)

2.6 数据库系统的三级模式

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

1975年,ANSI/SPARC(美国国家标准协会/标准规划和需求委员会)提出数据库的三级模式结构/

2.6.2 概念模式

概念模式:
数据库中全体数据的逻辑结构和特征的描述
所有用户的公共数据视图,综合了所有用户的需求

一个数据库只有一个模式

2.6.3 外模式

外模式:数据库用户(包括应用程序员和最终用户)看见和使用的局部数据的逻辑结构和特征描述。

一个数据库可以有多个外模式

外模式是保证数据库安全性的一个有力措施。

2.6.4 内模式(存储模式)

是数据物理结构和存储方式的描述

是数据在数据库内部的表示方式:
记录的存储方式(顺序存储,按照B树结构存储, 按hash方法存储)
索引的组织方式
数据是否压缩存储
数据是否加密
数据存储记录结构的规定

一个数据库只有一个内模式

对于下表的学生基本信息,分配宿舍的部门关心的属性可能是:学号、姓名和性别,学院教学管理人员关心的属性可能是学号、姓名、院系、专业,设计该数据库的三级模式。

根据用户需求,该数据库可以分别为两类用户建立外模式:

宿舍部(学号,姓名,性别)

院部(学号,姓名,院系、专业)

概念模式

内模式:顺序存储、数据不压缩存储,MD5加密。

2.7 数据库的二级映像与数据独立性

2.7.1 概述

为了能够在数据库系统内部实现三级模式的联系和转换,数据库管理系统在三个模式之间提供了两级映像。

2.7.2 外模式/概念模式映像

外模式/概念模式映象
模式:描述的是数据的全局逻辑结构
外模式:描述的是数据的局部逻辑结构
每一个外模式,数据库系统都有一个外模式/模式映象。外模式/模式映象定义了该外模式与概念模式之间的对应关系。映象定义通常包含在各自外模式的描述中。
保证数据的逻辑独立性。

概念模式/内模式映象
定义了数据全局逻辑结构与存储结构之间的对应关系。如,说明逻辑记录和字段在内部是如何表示的。数据库中模式/内模式映象是唯一的。该映象定义通常包含在模式描述中。
保证数据的物理独立性。

对于下标的学生基本信息,分配宿舍的部门关心的属性可能是:学号、姓名和性别,学院教学管理人员关心的属性可能是学号、姓名、院系、专业。

外模式
根据用户需求,该数据库可以分别为两类用户建立外模式:
宿舍部(学号,姓名,性别)
院部(学号,姓名,院系、专业)


概念模式

内模式

顺序存储、数据不压缩存储,MD5加密。

关系模式增加“爱好”属性,即:学生基本信息(学号、姓名、年龄、性别,院系、专业,爱好)
“宿舍部”:不关心学生的“爱好”,外模式“宿舍部”不需要变化;
院部需要了解学生的“爱好”,数据库管理员调整“院部”的外模式,添加“爱好”属性,即:院部(学号,姓名,院系、专业,爱好)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1326157.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

设计模式(三)-结构型模式(3)-装饰模式

一、为何需要装饰模式(Decorator)? 在软件设计中,某个对象会组合很多不同的功能,如果把所有功能都写在这个对象所在的类里,该类会包含很多复杂的代码逻辑,导致代码不美观且难以维护。于是就有了再定义一些…

腾讯AI Lab C++开发日常实习 一面

我们是校企联合专业(深大腾班),所以腾讯给了我们这个实习的机会,据说面试比一般日常实习的面试简单,记录人生第一次实习面试 上来先自我介绍 我介绍了学校专业和求职意向和开发经历,问没了? …

文具品牌企业网站建设的作用是什么

文具的应用非常广泛,不仅是学生、有些行业也会频繁使用,市场中大小文具品牌也是比较多,对文具品牌商和大经销商而言,批发远比零售更好,但在实际经营中,却也面临不少痛点: 1、拓客难 中小品牌商…

【解刊】1个月录用,18天见刊!CCF-A类顶刊,中科院基金委主办,国人占比97%!

计算机类 • 好刊解读 今天小编带来Springer旗下计算机领域顶刊,高分区高影响因子,新晋CCF-A类推荐,如您有投稿需求,可作为重点关注!后文有相关领域真实发表案例,供您投稿参考~ 01 期刊简介 Science Chi…

重生奇迹MU觉醒战士攻略

剑士连招技巧:生命之光:PK前起手式,增加血上限。 雷霆裂闪:眩晕住对手,剑士PK战士第一技能,雷霆裂闪是否使用好关系到胜负。 霹雳回旋斩:雷霆裂闪后可以选择用霹雳回旋斩跑出一定范围(因为对手…

springboot云HIS医院信息管理系统源码

通过云HIS平台,可以减少医院投资,无需自建机房和系统,快速实现信息化服务。系统升级及日常维护服务有云平台提供,无需配备专业IT维护人员进行系统维护。 一、his系统和云his系统的区别 His系统和云his系统是两种不同的计算平台,它们在技术架构上存在很大的差异。下…

【jvm从入门到实战】(九) 垃圾回收(2)-垃圾回收器

垃圾回收器是垃圾回收算法的具体实现。 由于垃圾回收器分为年轻代和老年代,除了G1之外其他垃圾回收器必须成对组合进行使用 垃圾回收器的组合使用关系图如下。 常用的组合如下: Serial(新生代) Serial Old(老年代) Pa…

免 费 搭 建 小程序商城,打造多商家入驻的b2b2c、o2o、直播带货商城

在数字化时代,电商行业正经历着前所未有的变革。鸿鹄云商的saas云平台以其独特的架构和先进的理念,为电商行业带来了全新的商业模式和营销策略。该平台涉及多个平台端,包括平台管理、商家端、买家平台、微服务平台等,涵盖了pc端、…

java定义三套场景接口方案

一、背景 在前后端分离开发的背景下,后端java开发人员现在只需要编写接口接口。特别是使用微服务开发的接口。resful风格接口。那么一般后端接口被调用有下面三种场景。一、不需要用户登录的接口调用,第二、后端管理系统接口调用(需要账号密…

【进阶篇】YOLOv8实现K折交叉验证——解决数据集样本稀少和类别不平衡的难题,让你的模型评估更加稳健

YOLOv8专栏导航:点击此处跳转 K折交叉验证 K折交叉验证(K-Fold Cross-Validation)是一种常用的机器学习模型评估方法,可以帮助我们评估模型的性能,特别适用于数据集相对较小的情况。 在K折交叉验证中,将原…

JMeter接口测试高阶——精通JMeter接口测试之BeanShell及调用java和python脚本

文章目录 一、BeanShell组件二、BeanShell自带的语法(BeanShell常用变量和语法)1.log打印2.vars用来操作JMeter的局部变量(只能在一个线程组里面使用的变量)3.props用来操作JMeter的全局变量(能够跨线程组取值的变量&a…

2023 英特尔On技术创新大会直播 | 边云协同加速 AI 解决方案商业化落地

目录 前言边云协同时代背景边缘人工智能边缘挑战英特尔边云协同的创新成果最后 前言 最近观看了英特尔On技术创新大会直播,学到了挺多知识,其中对英特尔高级首席 AI 工程张宇博士讲解的边云协同加速 AI 解决方案商业化落地特别感兴趣。张宇博士讲解了英…

python实现一个图片查看器——可拖动、缩放和颜色画笔

目录 0 前言1 准备工作2 窗口布局3 图片显示功能3 图片拖拽功能4 图片缩放功能(难度大)5 画笔功能6 颜色选择功能后记源码 0 前言 在现如今的数字时代,我们对于图片的需求越来越大。无论是在工作中,还是在日常生活中,…

SLAM算法与工程实践——SLAM基本库的安装与使用(6):g2o优化库(1)g2o库的安装

SLAM算法与工程实践系列文章 下面是SLAM算法与工程实践系列文章的总链接,本人发表这个系列的文章链接均收录于此 SLAM算法与工程实践系列文章链接 下面是专栏地址: SLAM算法与工程实践系列专栏 文章目录 SLAM算法与工程实践系列文章SLAM算法与工程实践…

PostGIS轨迹分析——横跨180°经线

问题描述 在处理AIS数据中,经常会遇到轨迹线横穿180经线的情况,这种数据绘制到地图上显示的非常乱,如下图所示: 数据模拟 在geojson.io上模拟一条轨迹线,可以看到轨迹显示的非常好,红框里面的经纬度超过…

使用Alpha Vantage API和Python进行金融数据分析

Alpha Vantage通过一套强大且开发者友好的数据API和电子表格,提供实时和历史的金融市场数据。从传统资产类别(例如股票、ETF、共同基金)到经济指标,从外汇汇率到大宗商品,从基本数据到技术指标,Alpha Vanta…

HashSet使用-力扣349做题总结

349. 两个数组的交集 分析代码HashSet出错的知识点1、HashSet新建2、HashSet添加add3、是否包含某元素4、集合->数组5、增强for循环 分析 没做出来的原因代码随想录的视频文字学习 为什么没做出来,因为没有理解好题意。根据示例1可知是去重的。且题目明确说“不考…

机器学习算法(12) — 集成技术(Boosting — Xgboost 分类)

一、说明 时间这是集成技术下的第 4 篇文章,如果您想了解有关集成技术的更多信息,您可以参考我的第 1 篇集成技术文章。 机器学习算法(9) - 集成技术(装袋 - 随机森林分类器和...... 在这篇文章中,我将解释…

先进制造身份治理现状洞察:从手动运维迈向自动化身份治理时代

在新一轮科技革命和产业变革的推动下,制造业正面临绿色化、智能化、服务化和定制化发展趋势。为顺应新技术革命及工业发展模式变化趋势,传统工业化理论需要进行修正和创新。其中,对工业化水平的判断标准从以三次产业比重标准为主回归到工业技…