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

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.rhkb.cn/news/159228.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++进阶】:C++类型转换

C类型转换 一.C语言里的类型转换二.C语音类型转换的一些弊端三.C的四种类型转换1.static_cast2.reinterpret_cast3.const_cast4.dynamic_cast 一.C语言里的类型转换 在C语言中,如果赋值运算符左右两侧类型不同,或者形参与实参类型不匹配,或者…

ST‐LINK V2 使用说明(安装,调试,烧录)

目录 1. 初识 ST-LINK V2 1.1 ST-LINK V2 简介 2. ST-LINK V2 驱动的安装与固件升级 2.1 驱动的安装 2.2 固件的升级 3. 使用 STM32 ST-LINK Utility 烧写目标板 hex 3.1 ST-LINK 烧写 hex 文件 4.使用 ST-LINK V2 调试 STM8 4.1 ST‐LINK 调试 STM8 5.…

String方法:分割、梦回C语言,格式化输出format

String poem "锄禾日当午&#xff0c;汗滴禾下土&#xff0c;谁知盘中餐&#xff0c;粒粒皆辛苦";String[] split poem.split("&#xff0c;");System.out.println("悯农");for (int i 0; i < split.length; i) {System.out.println(split…

53 打家劫舍

打家劫舍 题解1 DP1题解2 DP2 &#xff01;经典DP&#xff01; 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金&#xff0c;影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统&#xff0c;如果 两间相邻的房屋在同一晚上被小偷闯入…

【C++】继承 -- 详解

一、继承的概念及定义 1、继承的概念 继承 (inheritance) 机制是面向对象程序设计使代码可以复用的最重要的手段&#xff0c;它允许程序员在保 持原有类特性的基础上进行扩展&#xff0c;增加功能&#xff0c;这样产生新的类&#xff0c;称派生类。 继承呈现了面向对象 程序设…

【Vue】vue2与netcore webapi跨越问题解决

系列文章 C#底层库–记录日志帮助类 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/124187709 文章目录 系列文章前言一、技术介绍二、问题描述三、问题解决3.1 方法一&#xff1a;前端Vue修改3.2 方法二&#xff1a;后端允许Cors跨越访问 四、资源…

前端TypeScript学习day04-交叉类型与泛型

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 交叉类型 泛型 创建泛型函数 调用泛型函数&#xff1a; 简化调用泛型函数&#xff1a; 泛型约束 指定…

浅谈MDK, IAR,CLANG和GCC的局部变量字节对齐处理差异(2023-10-13)

视频&#xff1a; https://www.bilibili.com/video/BV1CB4y1Z7kA 浅谈MDK, IAR, CLANG和GCC的局部变量字节对齐处理差异 问题由来&#xff1a; 早期这个帖子里面的局部变量对齐仅测试了MDK AC5&#xff0c;但项目中使用AC6发现了新问题&#xff0c;看来AAPCS规约研究的还是不…

centos 里面的service自启动app.jar,出现两个java进程,app是同一个端口

当使用jps -lv查看java虚拟机进程 app.jar启动后&#xff0c;居然出现两个启动进程&#xff0c;而且他们的端口都一样&#xff0c;同一端口&#xff0c;是不允许启动两个相同app的。 使用进程ps查看进程工具 #ps -aux 参数说明&#xff1a; a: 显示跟当前终端关联的所有进…

《Deep Residual Learning for Image Recognition》阅读笔记

论文标题 《Deep Residual Learning for Image Recognition》 撑起CV界半边天的论文Residual &#xff1a;主要思想&#xff0c;残差。 作者 何恺明&#xff0c;超级大佬。微软亚研院属实是人才辈出的地方。 初读 摘要 提问题&#xff1a; 更深层次的神经网络更难训练。 …

PHP基础语法(上)

目录 前言 一、基础语法 1.1 标记 1.2 输出语句 1.2.1 echo 1.2.2 print 1.3 注释 1.3.1 单行注释 1.3.2 多行注释 1.4 标识符 1.5 关键字 二、数据与运算 2.1 常量 2.1.1 常量的定义和使用 2.1.2 预定义常量 2.2 变量 2.2.1 变量的赋值 2.2.2 超全局变量 2.3 数据类型 2.3.1 …

Nginx:反向代理(示意图+配置)

示意图&#xff1a; 反向代理 反向代理&#xff08;Reverse Proxy&#xff09;是代理服务器的一种&#xff0c;它代表服务器接收客户端的请求&#xff0c;并将这些请求转发到适当的服务器。当请求在后端服务器完成之后&#xff0c;反向代理搜集请求的响应并将其传输给客户端。…

Tableau:商业智能(BI)工具

Tableau入门 1、Tableau概述2、Tableau Desktop2.1、初识Tableau Desktop2.2、Tableau工作区2.3、数据窗格与分析窗格2.4、功能区和标记卡2.4.1、列和行功能区2.4.2、标记卡2.4.3、筛选器功能区2.4.4、页面功能区2.4.5、附加功能区、图例、控件 3、Tableau视图4、Tableau工作簿…

LeetCode讲解篇之198. 打家劫舍

LeetCode讲解篇之198. 打家劫舍 文章目录 LeetCode讲解篇之198. 打家劫舍题目描述题解思路题解代码 题目描述 题解思路 该问题可以通过递推来完成 递推公式&#xff1a; 前n间房的最大金额 max&#xff08;前n-1间房的最大金额&#xff0c; 前n-2间房的最大金额第n-1间房的最…

Hadoop2.0探讨

文章目录 8. Hadoop 再探讨8.1 Hadoop的优化与发展8.2 HDFS 的FA和Federation(Hadoop2.0新特性)8.2.1 HDFS HA8.2.2 HDFS Federation 8.3 YARN8.3.1 MapReduce1.0的缺陷8.3.2 Yarn设计思路8.3.3 Yarn体系结构8.3.4 Yarn工作流程8.3.5 Yarn框架和MapReduce1.0框架对比分析8.3.6 …

asp.net酒店餐饮管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net酒店餐饮管理系统是一套完善的web设计管理系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为sqlserver2008&#xff0c;使用c#语言 开发 ASP.NE 酒店餐饮管理系统 二、功能…

AMD AFMF不但能用在游戏,也适用于视频

近期AMD发布了AMD Software Adrenalin Edition预览版驱动程序&#xff0c;增加了对平滑移动帧&#xff08;AMD Fluid Motion Frames&#xff0c;AFMF&#xff09;功能的支持&#xff0c;也就是AMD的“帧生成”技术&#xff0c;与DLSS 3类似&#xff0c;作为FidelityFX Super Re…

毅速丨模具3D打印材料有哪些选择

当前1.2709和CX是市面上最常用的3D打印模具钢材料&#xff0c;模具3D打印有没有更多的材料选择呢&#xff1f; 据了解&#xff0c;上海毅速推出的几款3D打印新材料正在被越来越多的行业所采用。如毅速的EM191S高性能高抛光不锈钢粉末&#xff0c;这款材料的抗开裂和耐腐蚀性能是…

LeetCode【240】搜索二维矩阵

题目&#xff1a; 思路&#xff1a; 1、单靠对角线元素无法判定位置 2、主要逐行进行二分 代码&#xff1a; public boolean searchMatrix(int[][] matrix, int target) {int rows matrix.length;int columns matrix[0].length;// 按行进行二分for (int i 0; i < rows…

与HTTP相关的各种概念

网络世界 网络世界中最重要的一个名词就是互联网&#xff08;Internet&#xff09;,它以TCP/IP协议族为基础&#xff0c;构建成了一望无际的信息传输网络。而我们通常所说的“上网”&#xff0c;主要就是访问互联网的一个子集——万维网&#xff08;World Wide Web&#xff09…