一篇文章了解数据库系统(二)

简介: 一篇文章了解数据库系统(二)

2.数据模型


数据模型


模型:对现实世界特征的模拟或抽象,比如地图,公式等


数据模型:


对现实世界的数据进行模拟和抽象


在数据库系统中,使用数据模型抽象现实世界中的数据,以便在系统中来处理这些数据,达到系统模拟现实世界的目的。

是数据库系统的核心和基础,是数据库设计的有利工具


数据模型应满足的三方面要求:


能比较真实地模拟现实世界

容易为人所理解

便于在计算机上实现

概念模型:


不涉及数据在计算机中的表示,是按用户的观点对数据建模,强调其语义表达能力

是对现实世界的第一层抽象,是对用户和数据库设计人员交流的工具。

概念模型的用途:


用于信息世界的建模


是现实世界到机器世界的一个中间层次

是数据库设计的有力工具

数据设计人员和用户之间进行交流的语言

对概念模型的基本要求:


较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识

简单、清晰、易于用户理解

逻辑模型和物理模型:


与具体的DBMS有关,按计算机系统的观点对数据进行建模,面向数据库的结构

是对现实世界的第二层抽象,由DBMS自身实现逻辑模型和物理模型的转换。

客观对象的抽象过程:


1.现实世界中的客观对象抽象为概念模型


2.概念模型转换为某一DBMS支持的数据模型


4acb526bf881f378a8be02a1bb34e840_image-20220615191043909.png


信息世界中的基本概念


实体(Entity)


客观存在并可相互区别的事物

可以是具体的人、事、物或抽象的概念

属性(Attribute)


实体所具有的某一特性称为属性

一个实体可以由若干个属性来刻画

码(Key)


唯一标识实体的属性集称为码

实体型(Entity Type)


用实体名及其属性名集合来抽象和刻画同类实体称为实体型

比如 学生(学号,姓名,性别,出生年月,院系)

实体集(Entity Set)


同型实体的集合

联系(Relationship)


实体型之间的联系

包括一对一的联系(比如身份证号与学号)

包括一对多的联系(比如班级和学生)

包括多对多的联系(比如学生和课程)

概念模型的表示方法


实体关系图(ER图)


用ER图来描述现实世界的概念模型


ER方法也称为ER模型(实体型 属性 联系)


99fc58045e471a32dcc1bc0453cbbd35_image-20220615194355271.png


数据模型的组成要素


数据结构:


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


数据结构是对系统静态特性的描述


两类对象:


与数据类型、内容、性质有关的对象

与数据之间联系有关的对象

数据操作:


对数据库中的各种对象(型)的实例(值)允许执行的操作及有关的操作规则

数据操作的类型:检索 更新

数据操作是对系统的动态特性的描述

数据的约束条件:


一组完整性规则的集合

数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容

任何关系必须满足实体完整性和参照完整性两个条件

常用的数据模型


36e346e1e5634eb562153ed60c200a26_image-20220615195532961.png


关系模型


8beac72f46a32b47f0f3dc23d9122cc4_image-20220615195806508.png


关系模型的基本概念


关系(Relation)

一个关系对应通常所说的一张表

元组(Tuple)

表中的一行

属性(Attribute)

表中的一列即为一个属性

主码(Key)

表中的某个属性组,它可以唯一确定一个元组

域(Key)

属性的取值范围

分量

元组中的一个属性集

关系模式

关系名(属性1,属性2,…属性n)

比如学生(学号,姓名,年龄,性别,系,年级);图书(书号,书名,作者,出版社,类别,价格)

关系必须是规范化的,最基本的规范条件:关系的每一个分量必须是一个不可分的数据项。


2075758d97458a360c03dbce6ce4421a_image-20220615200452328.png


关系模型的数据操作


查询、插入、删除、更新

数据操作是集合操作,操作对象和结果都是关系,即若干元组的集合。

存取路径对用户隐蔽

关系模型的完整性约束

实体完整性

参照完整性

用户定义的完整性

关系模型的存储结构

表以文件形式存储

DBMS一个表对应一个操作系统文件


关系模型的优缺点


8075cf683209623458ac93891f065c35_image-20220615201022890.png


3.数据库系统的结构


数据库系统内部的模式结构:从数据库管理系统角度看


数据库系统外部的体系结构:从数据库最终用户角度来看


数据库系统模式的概念


671560397921ea41dd069bf920d366e7_image-20220615204736196.png


48619cb05f40e28241ca8888c3ea5452_image-20220615204825486.png


2c2261069ed6ea34e53d4bc0df1c1fbe_image-20220615204848263.png


型(Type):对某一类数据的结构和属性的说明


值(value):是型的一个具体赋值


例如:学生记录

记录型(学号,姓名,性别)

记录值(20201,小明,男)

数据库系统模式的概念

 

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


模式的分级:


提高数据的物理独立性和逻辑独立性


三级模式结构:


CODASYL提出的模式、外模式、内模式三级模式的概念,三级模式之间有两级映像。


be8616b41c010e5724fe80fa37595595_image-20220615205059967.png


外模式/模式映像的用途

保证数据的逻辑独立性


当模式改变时,数据库管理员修改有关的外模式/模式映像,使外模式保持不变

应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性。

模式/内模式映像的用途

保证数据的物理独立性


当数据库的存储结构改变了(选用另一种存储结构),数据库管理员修改模式/内模式映像,使模式保持不变

应用程序不受影响,保证了数据与程序的物理独立性

外部的体系结构

单用户结构:整个数据库系统(应用程序、DBMS、数据)装在一台计算机上,为一个用户独占,不同机器之间不能共享数据。


1122df23678b2a27ff115d6efdd39762_image-20220615210421580.png


C/S结构:


952c041fb4314afa6946b07f75f3ca2e_image-20220615210441956.png


B/S结构:


分布式结构:数据库的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同节点上。


4.数据库系统小练习

试述关系模型的概念,定义并解释以下术语。

答:关系模型由关系数据结构、关系操作和关系完整性约束三部分组成。


在用户观点下, 关系模型中数据的逻辑结构是一张二维表格,它由行和列组成。


关系:一个关系对应通常说的一张表


属性:表中的一列即为一个属性


域:属性的取值范围


元组:表中的一行即为一个元组


码:表中的某个属性组,它可以唯一确定一个元组


分量:元组中的一个属性值


关系模式:对关系的描述,一般表示为关系名(属性 1,属性 2,…,属性 n)


根据以下描述,确定是哪级模式?


44a3532e742a0dd0a6520b774d2c285e_image-20220615205912911.png


内模式、模式、外模式


试述数据库系统三级模式结构,这种结构的优点是什么?

答:数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。


模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图;


外模式也称子模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示;


内模式也称存储模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。


优点:数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给 DBMS 管理,使用户能逻辑地抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。为了能够在内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映像:外模式/模式映像,模式/内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

相关文章
|
8月前
|
SQL Java 数据库连接
一篇文章彻底理解数据库的各种 JDBC 超时参数 1
一篇文章彻底理解数据库的各种 JDBC 超时参数
|
12天前
|
存储 SQL 关系型数据库
【软件设计师】一篇文章带你了解数据库
【软件设计师】一篇文章带你了解数据库
|
2天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的《数据库系统原理》课程平台附带文章和源代码设计说明文档ppt
基于ssm+vue.js+uniapp小程序的《数据库系统原理》课程平台附带文章和源代码设计说明文档ppt
8 1
|
19天前
|
druid 网络协议 Java
再有人问你数据库连接池的原理,这篇文章甩给他!
在 Spring Boot 项目中,数据库连接池已经成为标配,然而,我曾经遇到过不少连接池异常导致业务错误的事故。很多经验丰富的工程师也可能不小心在这方面出现问题。 在这篇文章中,我们将探讨数据库连接池,深入解析其实现机制,以便更好地理解和规避潜在的风险。
|
19天前
|
存储 NoSQL 关系型数据库
一篇文章带你搞懂非关系型数据库MongoDB
一篇文章带你搞懂非关系型数据库MongoDB
87 0
|
19天前
|
存储 SQL 关系型数据库
【MySQL 数据库】6、一篇文章学习【索引知识】,提高大数据量的查询效率【文末送书】
【MySQL 数据库】6、一篇文章学习【索引知识】,提高大数据量的查询效率【文末送书】
63 0
|
8月前
|
网络协议 Java 关系型数据库
一篇文章彻底理解数据库的各种 JDBC 超时参数 2
一篇文章彻底理解数据库的各种 JDBC 超时参数
|
8月前
|
SQL 存储 关系型数据库
MySQL的第一篇文章——了解数据库、简单的SQL语句
MySQL的第一篇文章——了解数据库、简单的SQL语句
|
8月前
|
Java 数据库连接 数据库
一篇文章学会学会c3p0数据库连接池~
一篇文章学会学会c3p0数据库连接池~
|
10月前
|
存储 数据库 Android开发
Android 使用Room操作SQLite数据库让其变得无比高效和简洁(前一篇文章的完善)
Android 使用Room操作SQLite数据库让其变得无比高效和简洁(前一篇文章的完善)
139 0