数据库系统概论学习 1 绪论

news2024/11/26 19:45:07

1.1.1 数据、数据库、数据库管理系统、数据库系统

一、数据 Data

数据是数据库中存储的基本对象

定义:描述事物的符号记录称为数据,描述事物的符号可以是数字、文字、图像、图形、声音、语言等表现形式,它们都可以经过数字化后存入计算机。

二、数据库 DB

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

特点:

数据库数据具有永久存储、有组织和可共享三个基本特点。

三、数据库管理系统 DBMS

主要功能

1.数据定义功能

DBMS提供数据定义语言,用户通过它可以 方便的对数据库中的数据对象进行定义。

2.数据组织、存储、管理

DBMS要分类组织、存储和管理各种数据,包括数据字典、用户数据、数据的存储路径

3.数据操纵功能

DBMS提供数据操纵语言DML,用户可以使用DML操纵数据、实现对数据库的基本操作如查询、修改、删除、插入等

4.数据库的事务管理和运行管理

数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制,以保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。

5.数据库的建立和维护功能

数据库初始数据的输入、转换功能、数据库的转换、数据库的重组织功能和性能监视、分析功能等 

四、数据库系统 DBS

数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。

结构

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

数据库管理技术经理了人工管理、文件系统、数据库系统三个阶段

一、人工管理阶段

特点:

1>数据不保存   2>应用程序管理数据   3>数据不共享   4>数据不具有独立性

缺点:

数据的逻辑结构或物理结构发生变化后,必须对应用程序作出相应的修改,这就加重了程序员的负担。

二、文件系统阶段

特点:

1>数据可以长期保存

2>由文件系统管理数据

缺点:

1>数据共享性差,冗余度大

2>数据独立性差

三、数据库系统阶段

特点:

1>数据结构化

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

3>数据独立性高

4>数据由DBMS统一管理和控制

1.2 数据模型

数据模型也是一种模型,它是对现实世界数据特征的抽象,数据模型就是现实世界的模拟。

1.2.1 两类数据模型

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

1>能比较真实的模拟现实世界

2>容易为人所理解

3>便于在计算机上实现

第一类:概念模型

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

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

1>逻辑模型主要包括层次模型、网状模型、关系模型、面向对象模型和对象关系模型等,它是按计算机系统的观点对数据建模,主要用于DBMS的实现。

2>物理模型是对数据最低层的抽象,它描述数据在系统内部的表示方法和存取方法,在磁盘和磁带上的存储方式和存取方法是面向计算机系统的。

1.2.2 数据模型的组成要素

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

一、数据结构

数据结构描述数据库的组成对象以及对象之间的联系,数据结构是所描述的对象类型的集合,是对系统静态特性的描述。

二、数据操作

数据库主要有查询和更新(包括插入、删除、修改)两大类操作,数据操作是对系统动态特性的描述。

三、数据的完整性约束条件

数据的完整性约束条件是一组完整性规则(条件和要求的限制)在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。

1.2.3 概念模型

概念模型是现实世界到机器世界的一个中间层次,表现为:

1>概念模型用于信息世界的建模;

2>现实世界到信息世界的第一层抽象

3>数据库设计人员进行数据库设计的有力工具

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

概念模型要求:

1>具有较强的语义表达能力

2>能够方便、直接地表达应用中的各种语义

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

1.2.4 最常用的数据模型 

数据库中最常用的逻辑数据模型有:层次模型、网状模型、关系模型、面向对象模型、对相关系模型。

1.层次模型(树)

2.网状模型(图)             

                               

3.关系模型:二维表格(表格就是关系模型)

1.2.5 关系模型

一、关系数据模型的数据结构

关系

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

元组

表中的一行即为一个元组

属性

表中的一列即为一个属性,给每一个属性起一个名称即属性名

也称为码键。表中的某个属性组,它可以唯一确定一个元组,如学号可以确定唯一的学生,也就成为本关系的码

属性的取值范围,如人的年龄一般在1~150岁之间

分量

元组中的一个属性值

关系模式

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

二、关系数据模型的操纵与完整性约束

关系数据模型的操作主要包括查询、插入、删除和更新数据,这些操作必须满足关系的完整性约束条件

关系的完整性约束条件包括:

1.实体完整性 2.参照完整性 3.用户定义的完整性

三、关系数据模型的优点

1.关系模型与格式化模型不同,它是建立在严格的数学概念的基础上的

2.关系模型的概念单一

3.关系模型的存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性也简化了程序员的工作和数据库开发建立的工作

数据和数据之间的关系E-R图表示

一、信息世界中的基本概念

1.实体

客观存在并可相互区别的事物称为实体 例如:学生、职工

2.属性

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

3.码

唯一标识实体的属性集称为码 例如:学号

4.域

域是一组具有相同数据类型的值的集合,属性的取值范围来自某个域。例如:学生性别:(男\女)

5.实体型

具有相同属性的实体必然具有共同的特性和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体集 例如:学生(学号,姓名,性别,出生年月,入学时间)就是一个实体型。

6.实体集

同一类型实体的集合称为实体集 例如:全体学生

7。联系

在现实世界中,事物内部以及事物之间是有联系的

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

二、两个实体型之间的联系

1.一对一联系(1:1)

对于实体集A中每一个实体,实体集B中最多有一个元素与之联系

例如:学校里面,一个班级只能有一个正班长。

2.一对多联系(1:n)

对于实体集A中每一个实体,实体集B中由n个实体与之联系。

例如:一个班级有若干名学生,而每个学生都只在一个班级中学习,则班级与学生之间具有一对多的联系。

3.多对多联系(m:n)

对于实体集A中的每一个实体,实体集B中由n个实体与之联系,实体集B中的每一个实体,实体集A中也有m个实体与之联系,则称实体集A和实体集B具有多对多联系,记为m:n

例:

一门课程同时有若干个学生选秀,而一个学生可以通识选修多门课程,则课程和学生之间具有多对多联系

三、两个以上的实体型之间的联系

两个以上的实体型之间也存在一对一、一对多、多对多的联系。

例1:课程、教师、参考书。多对多的联系

例2:供应商、项目、零件 多对多的联系

四、单个实体型内的联系

同一个实体集内的各实体之间也可以存在一对一、一对多、多对多的联系。

例:职工与领导间的关系 多对一关系 一对多关系

五、概念模型的一种表示方法:实体—E-R图 实体-联系图

E-R图提供了表示实体型、属性和联系的方法

实体型:

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

属性:

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

例:一个学生具有学号、姓名、成绩、专业等信息

联系:

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

注:如果一个联系有属性,则这些属性也要用无向边与该联系连接起来。

例:如果用“供应量”来描述联系“供应”的属性,表示某供应商供应了多少数量的零件给某个项目。那么这三个实体及其之间联系的E-R图如下:

六、实例

用E-R图表示某个工厂物资管理的概念模型

物资管理涉及的实体有:

1.仓库 属性有仓库号、面积、电话号码

2.零件 属性有零件号、名称、规格、单价、描述

3.供应商 属性有供应商号、姓名、地址、电话号码、账号

4.项目 属性有项目号、预算、开工日期

5.职工 属性有职工号、姓名、年龄、职称

实体之间的联系如下:

1>一个仓库可以存放多种零件,一种零件可以存放在多个仓库中,因此仓库和零件具有多对多的联系,用库存量表示某种零件在某个仓库中的数量

2>一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,所以仓库与职工是一对多的关系

3>职工之间具有领导-被领导的关系,即仓库主任领导若干保管员,因此职工实体集中具有一对多的联系

4>供应商、项目、零件三者间具有多对多的联系,一个供应商可以提供给若干项目多种零件,每个项目可以使用不同供应商供应的零件,每种零件可以由不同供应商供给

实体及属性的E-R图:

 

完整的E-R图:(横线连接的是各实体的属性)

1.3 数据库系统结构

1.3.1 数据库系统模式的概念

模式是数据库中全体数据的逻辑结构和特征的描述,同一个模式可以有很多实例

模式是概念上的内容,实例是具体到模式内部

例:

在学生选课数据库模式种,包含学生记录、课程记录和学生选课记录,则2003年有一个学生数据库的实例,该实例包含了2003年学校中所有学生的记录(如果某校有10000个学生,则有1000个学生记录)、学习开设的所有课程的记录和所有学生选课的记录。

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

数据库系统的三级模式结构是指数据库系统由外模式(应用模式)、模式(概念模式)、和内模式(物理模式)三级构成。

一、模式

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

它是数据库系统模式结构的中间层,既不涉及数据的物理细节和硬件环境,也与具体的应用程序,所使用的应用开发高级程序设计语言无关。

二、外模式

外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,始于某一应用有关的数据的逻辑表示

注意:

1.外模式通常是模式的子集,一个数据库可以有多个外模式。

2.同意外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。

3.外模式是保证数据库安全的一个有力措施,每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是不可见的。

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

数据库系统的三级模式是对数据的三个抽象级别,他把数据的具体组织留给DBMS管理,使用户能逻辑地抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。

数据库管理系统在这三级模式之间提供了两层映像:

1.外模式/模式映像

2.模式/内模式映像

两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性

1.4 数据库系统的组成

数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统和数据库管理员构成。

一、硬件平台及数据库

硬件资源要求:

1.要有足够大的内存,存放操作系统、DBMS的核心模块、数据缓冲区和应用程序。

2.要有足够大的磁盘或者磁盘阵列等设备存放数据库,有足够的磁带(光盘)作数据备份

3.要求系统有较高的通道能力,以提高数据传送率

二、软件 

软件主要包括:

1.DBMS 是为数据库的建立、使用和维护配置的系统软件

2.支持DBMS运行的操作系统

3,具有与数据库接口的高级语言及编译系统,便于开发应用程序

4.以DBMS为核心的应用开发工具

5.为特定应用环境开发的数据库应用系统

三、人员

开发、管理和使用数据库系统的人员主要是:数据库管理员、系统分析员与数据库设计人员、应用程序员和最终用户。不同的人员设计不同的数据抽象级别,具有不同的数据视图,如下图:

1.数据库管理员(DBA)

需要有专门的管理机构来监督和管理数据库系统,DBA则是这个机构的一个人员,负责全面管理和控制数据库系统。

具体职责包括:

1.决定数据库中的信息内容和结构,数据库中要存放哪些信息,DBA要参与决策;

2。决定数据库的存储结构和存取策略;

3.定义数据库的安全性要求和完整性约束条件;

4.监控数据库的使用和运行;

5.数据库的改进和重组重构;

2.系统分析员和数据库设计人员

系统分析员

负责应用系统的需求分析和规范说明,要和用户及DBA相结合,确定系统的硬件软件配置,并参与数据库系统的概要设计。

数据库设计人员

负责数据库中数据的确定,数据库各级模式的设计

3.应用程序员

应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装

4.用户

指最终用户,最终用户通过应用系统的用户接口使用数据库

                                                                                                                       

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

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

相关文章

六分科技CEO李阳:精准定位助力汽车智能化普及

10月10日,2023四维图新用户大会在上海成功举办。大会现场,六分科技展示了基于PPP-RTK技术的“星璨”产品和软硬件一体化解决方案。同时在智能驾驶主题论坛上,六分科技CEO李阳受邀发表了以《精准定位助力汽车智能化普及》为主题的演讲。 高精度…

微信小程序clearInterval无法关闭时间间隔器问题解决

今天在微信小程序遇到了一个问题 我的代码是这样的 // 关闭动画函数 AnimationOff() {//定义时间间隔器clearInterval(this.animationTimer) }, DefineAnimation() {//定义时间间隔器this.animationTimer setInterval(() > {console.log("执行");}, 1000) },但是…

【Power BI】Power BI 入门指南:版本、下载和报表创建的步骤

文章目录 一、前言二、了解 Power BI 版本三、下载 Power BI Desktop四、如何开始使用 Power BI Desktop五、在 Power BI Desktop 中创建报表六、文末总结 一、前言 Power BI 是微软于 2013 年推出的产品,为一款商业智能与数据可视化工具。它通过引人注目的视觉效果…

企业如何选择安全又稳定的文件传输协议

企业无论是内部的数据共享,还是与外部的合作交流,都需要通过网络进行文件的传输和交换。然而,文件传输它涉及到多方面的因素,例如文件的大小、数量、类型、敏感性、传输距离、网络环境等。这些因素都会影响到文件传输的各个方面&a…

WEB应用程序编程接口API

使用Web API Web API是网站的一部分,用于与使用具体URL请求特定信息的程序交互。这种请求称为API调用。请求的数据格式以易于处理的格式(JSON,CSV)返回。 Git和GitHub Git是一个分布式版本控制系统,帮助人们管理为项目所做的工作…

Intellij 安装配置 lombok

Intellij 安装配置 lombok 用 lombok 能够减少 setter/getter/noArgsConstructor 这样的 boilerplate 代码,所以用起来还是比较方便的。 刚开始以为直接安装到 maven 里面就能用了,运行的时候发现 Getter, Data 这些 annotation 根本找不到&#xff0c…

*常用函数

文章目录 nn.PReLU() 激活函数 nn.PReLU() 激活函数 PReLU(Parametric Rectified Linear Unit), 顾名思义:带参数的ReLU 其中a代表的是可学习的参数 ReLU、PReLU的比较: 如果ai0,那么PReLU退化为ReLU; 如果ai是一个很小的固定…

c++可变参数模板

不要做一个清醒的堕落者文章目录 可变参数模板的简介什么是可变参数 模板参数包参数包数据的获取(函数递归获取)参数包的获取(逗号表达式获取) 可变参数的应用emplace 可变参数模板的简介 c11添加的新特性能够让你创建可以接受改变的函数模板和类模板,C98/03&#…

深入篇【C++】总结<lambda表达式>与<包装器和bind>的使用与意义

深入篇【C】总结<lambda表达式>与<包装器和bind>的使用与意义 一.lambda表达式1.使用语法2.底层本质3.应用意义 二.包装器(适配器)1.使用语法2.解决问题①3.解决问题②4.应用场景:指令操作 三.bind (适配器)1.调整参数位置2.绑定参…

Kafka基础入门

Kafka介绍 Kafka是什么? kafka是一种分布式的,基于发布/订阅的消息系统。 Kafka的特点 分布式,吞吐量高,发布订阅模式,轻量灵活,较长时间持久化 Kafka的应用场景 解耦 原先一个微服务是通过接口&…

2023年中国芝麻酱行业供需分析:需求量同比增长3.5%[图]

芝麻酱也叫麻酱,是把炒熟的芝麻磨碎制成的食品,有香味,作为调料食用。根据所采用的芝麻的颜色,可分为白芝麻酱和黑芝麻酱;芝麻酱是群众非常喜爱的香味调味品之一。食用以白芝麻酱为佳,滋补益气的以黑芝麻酱…

动态内存管理(malloc calloc realloc free)--- C语言

文章目录 写在前面1. malloc 和 free函数1.1 malloc函数介绍1.2 free函数介绍 2. calloc函数3. realloc函数4. 常见的动态内存错误4.1 对NULL指针的解引用操作4.2 对动态开辟空间的越界访问4.3 对非动态开辟内存使用free释放4.4 使用free释放一块动态开辟内存的一部分4.5 对同一…

Windows 移动设备管理

Windows 设备管理是指一组流程和工具,可帮助 IT 管理员简化企业中使用的Windows 设备的管理。管理企业中使用的 Windows 设备最好通过实施Windows MDM 解决方案来完成,以从单个控制台保护、管理和监视这些设备。Windows移动设备管理 (MDM&…

CakePHP 3.x/4.x反序列化RCE链

最近网上公开了cakephp一些反序列化链的细节,但是没有公开poc,并且网上关于cakephp的反序列化链比较少,于是自己跟一下 ,构造pop链。 CakePHP简介 CakePHP是一个运用了诸如ActiveRecord、Association Data Mapping、Front Contr…

美团Leaf使用

简介 在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。如在美团点评的金融、支付、餐饮、酒店、猫眼电影等产品的系统中,数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不…

全面解析找不到msvcr100.dll的解决方法,快速修复系统msvcr100.dll丢失问题!

在计算机的使用过程中,我们可能会遇到各种问题,其中之一就是“msvcr100.dll丢失”的问题。这个问题通常出现在运行某些程序或游戏时,提示找不到msvcr100.dll文件。这个文件是Microsoft Visual C 2010 Redistributable Package的一部分&#x…

学习 MPP 与 SMP 的区别,终于有人讲明白了

文章目录 01 SMPSMP 的典型特征如下:SMP 的缺点如下。 02 分布式MPP计算架构MPP 架构核心原理如下。 导读:当今数据计算领域主要的应用程序和模型可大致分为在线事务处理(On-line Transaction Processing ,OLTP)、决策…

山西电力市场日前价格预测【2023-10-14】

日前价格预测 预测说明: 如上图所示,预测明日(2023-10-14)山西电力市场全天平均日前电价为221.03元/MWh。其中,最高日前电价为341.15元/MWh,预计出现在18: 45。最低日前电价为0.00元/MWh,预计出…

招投标系统软件源码,招投标全流程在线化管理

功能描述 1、门户管理:所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含:招标公告、非招标公告、系统通知、政策法规。 2、立项管理:企业用户可对需要采购的项目进行立项申请,并提交审批,查看所…

lv8 嵌入式开发-网络编程开发 17 套接字属性设置

1 基本概念 设置套接字的选项对套接字进行控制除了设置选项外,还可以获取选项选项的概念相当于属性,所以套接字选项也可说是套接字属性有些选项(属性)只可获取,不可设置;有些选项既可设置也可获取 2 选项…