数据库原理及应用(一)

简介: 数据库原理及应用(一)

第一章 引言

1.1 数据库系统概述

1.1.1 数据库的四个基本概念

fb0da21e38b2c87c327bad034b02fb5e.png


1 数据(Data)


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


数据的定义:描述事物的符号记录


数据的种类:文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等


数据的特点:数据与其语义是不可分的(说明:数据的含义称为数据的语义,数据与其语义是不可分的。)


数据举例 1:


例如 93 是一个数据


语义1:学生某门课的成绩


语义2:某人的体重


语义3:某个年级的学生人数


语义n:...


数据举例 2:


学生档案中的学生记录(李明,男,197205,江苏南京市,计算机系,1990)


语义:学生姓名、性别、出生年月、籍贯、所在院系、入学时间


解释:李明是个大学生,1972年5月出生,江苏南京市人,1990年考入计算机系


2 数据库(DataBase,简称 DB)


数据库的定义:数据库(Database,简称 DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。(一个大规模集成的数据集合。)


数据库的基本特征:


数据按一定的数据模型组织、描述和储存


可为各种用户共享


冗余度较小


数据独立性较高


易扩展


数据库作用:


一个数据库是对现实生活中一个企业或一个单位在计算机中的建模结果


实体


联系(实体间的关系)


3 数据库管理系统(DataBase Management System,简称 DBMS)


DBMS 的定义:是位于用户与操作系统之间的一层数据管理软件。数据库管理系统和操作系统一样是计算机的基础软件,也是一个大型复杂的软件系统。


DBMS 的用途:数据库管理系统的主要任务就是科学地组织和存储数据、高效地获取和维护数据


DBMS 的主要功能


数据定义功能


提供数据定义语言(DDL)


定义数据库中的数据对象


数据组织、存储和管理


分类组织、存储和管理各种数据


确定组织数据的文件结构和存取方式


实现数据之间的联系


提供多种存取方法提高存取效率


数据操纵功能


提供数据操纵语言(DML)


实现对数据库的基本操作 CRUD (查询、插入、删除和修改)


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


数据库在建立、运行和维护时由 DBMS 统一管理和控制,保证事务的正确性


保证数据的安全性、完整性、多用户对数据的并发使用


发生故障后的系统恢复


数据库的建立和维护功能(实用程序)


数据库初始数据装载转换


数据库转储


介质故障恢复


数据库的重组织


性能监视分析等


其它功能


DBMS 与网络中其它软件系统的通信


两个 DBMS 系统的数据转换


异构数据库之间的互访和互操作


4 数据库系统(Database System,简称 DBS)


数据库系统的定义:在计算机系统中引入数据库后的系统构成数据库系统。


数据库系统的构成


数据库


数据库管理系统(及其开发工具)


应用系统


数据库管理员 (DBA):是负责数据库的设计、规划、协调的专职人员。是全面负责建立、维护和管理数据库系统的人员。

aafb65c1bd5419f6fdec7b03d589d7ac.png


下面附一张各种人员的数据视图,知道即可:


57536b458f952ce566fa66061eccc6f5.png

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


1 什么是数据管理


数据管理是对数据进行分类、组织、编码、存储、检索和维护,也是数据处理的中心问题。


2 数据管理技术的发展过程


人工管理阶段(20 世纪 40 年代中 —— 50 年代中)


文件系统阶段(20 世纪 50 年代末 —— 60 年代中)


数据库系统阶段(20 世纪 60 年代末 —— 现在)


1.1.3 数据库系统的特点


数据结构化


数据库的主要特征之一,也是数据库系统与文件系统的本质区别


数据的共享性高,冗余度低,易扩充


数据共享的好处:


减少数据冗余,节约存储空间


避免数据之间的不相容性与不一致性


使系统易于扩充


数据独立性高


物理独立性:指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。


逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。


数据独立性是由 DBMS 的二级映像功能来保证的


数据由 DBMS 统一管理和控制


DBMS 提供以下几方面的数据控制功能


数据的安全性(Security)保护:保护数据,以防止不合法的使用造成的数据的泄密和破坏。


数据的完整性(Integrity)检查:将数据控制在有效的范围内,或保证数据之间满足一定的关系。


并发(Concurrency)控制:对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。


数据库恢复(Recovery):DBMS 必须具有将数据库从错误状态恢复到某一正确状态的功能


数据库系统阶段应用程序与数据的对应关系(数据库系统)

46c6934f2e3d3e3cabb62b79d8eb1b6d.png

1.2 数据模型

在数据库中使用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息,通俗地来讲,数据模型就是现实世界的模拟。


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


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


容易为人所理解


便于在计算机上实现


1.2.1 两类数据模型


数据模型分为两类(分属两个不同的层次)


① 概念模型


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

0d0154ca179e1ba817ca436a4fa59f7b.png

涉及的概念:


实体(Entity):客观存在并可相互区别的事物,比如一个学生,一门课,学生的一次选课


属性(Attribute):实体所具有的某一特性,比如学生的身高,一个实体可以由若干个属性来刻画。


码(Key) :唯一标识实体的属性集,比如学生的学号


域(Domain):属性的取值范围称为该属性的域。


实体型(Entity Type): 实体名 + 属性名,比如 学生(学号,姓名,性别)就是一个实体型


实体集(Entity Set):同一类型的实体的集合,比如全体学生


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


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


实体之间的联系通常是指不同实体集之间的联系,(有一对一,一对多,多对多等多种类型),实体之间的联系可用 E - R 图 表示


一个实例:


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


实体:


仓库: 仓库号、面积、电话号码


零件 :零件号、名称、规格、单价、描述


供应商:供应商号、姓名、地址、电话号码、帐号


项目:项目号、预算、开工日期


职工:职工号、姓名、年龄、职称


完整的 E - R 图

9743df7f6dc0c6b70abde731cbf338a5.png

② 逻辑模型和物理模型


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


物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。


层次模型:层次模型用树形结构来表示各类实体以及实体间的联系。


满足下面两个条件的基本层次联系的集合为层次模型:


有且只有一个结点没有双亲结点,这个结点称为根结点


根以外的其它结点有且只有一个双亲结点


网状模型


满足下面两个条件的基本层次联系的集合为网状模型:


允许一个以上的结点无双亲


一个结点可以有多于一个的双亲


关系模型:关系数据库系统采用关系模型作为数据的组织方式


面向对象数据模型


对象关系数据模型


半结构化数据模型


由于计算机厂商新推出的数据库管理系统几乎都支持关系模型,所以下面重点来说说关系模型!


1.2.2 关系模型


关系模型是最重要的一种数据模型。


在用户观点下,关系模型由一组关系组成,每个关系的数据结构是一张规范化的二维表,它由行(元组)和列(属性)组成。

816a2254ac3e33eb64011b616df80a24.png

关系模型相关的术语:


关系(Relation):一个关系对应一张表


元组(Tuple):表中的一行即一个元组


属性(Attribute):表中的一列即一个属性,给每一个属性起一个名称即属性名


主码(Key) :表中的某个属性组,可以唯一确定一个元组,该属性组就称为主码。比如上表中的学号就就是该关系的主码


域(Domain):域是一组具有相同数据类型的值的集合。比如人的年龄是1-120岁,属性的取值范围来自该属性对应的域


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


关系模式:对关系的描述,一般表示为 关系名(属性名1,属性名2....)。比如学生(学号,姓名,年龄,性别,系,年级)。关系模式必须是规范化的,不允许表中还有表,每个属性都应该是不可分的(即关系的每一个分量必须是一个不可分的数据项)


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
目录
相关文章
|
3月前
|
存储 人工智能 NoSQL
AI大模型应用实践 八:如何通过RAG数据库实现大模型的私有化定制与优化
RAG技术通过融合外部知识库与大模型,实现知识动态更新与私有化定制,解决大模型知识固化、幻觉及数据安全难题。本文详解RAG原理、数据库选型(向量库、图库、知识图谱、混合架构)及应用场景,助力企业高效构建安全、可解释的智能系统。
|
6月前
|
存储 关系型数据库 数据库
附部署代码|云数据库RDS 全托管 Supabase服务:小白轻松搞定开发AI应用
本文通过一个 Agentic RAG 应用的完整构建流程,展示了如何借助 RDS Supabase 快速搭建具备知识处理与智能决策能力的 AI 应用,展示从数据准备到应用部署的全流程,相较于传统开发模式效率大幅提升。
附部署代码|云数据库RDS 全托管 Supabase服务:小白轻松搞定开发AI应用
|
7月前
|
安全 druid Nacos
0 代码改造实现应用运行时数据库密码无损轮转
本文探讨了敏感数据的安全风险及降低账密泄漏风险的策略。国家颁布的《网络安全二级等保2.0标准》强调了企业数据安全的重要性。文章介绍了Nacos作为配置中心在提升数据库访问安全性方面的应用,并结合阿里云KMS、Druid连接池和Spring Cloud Alibaba社区推出的数据源动态轮转方案。该方案实现了加密配置统一托管、帐密全托管、双层权限管控等功能,将帐密切换时间从数小时优化到一秒,显著提升了安全性和效率。未来,MSE Nacos和KMS将扩展至更多组件如NoSQL、MQ等,提供一站式安全服务,助力AI时代的应用安全。
434 14
|
4月前
|
存储 弹性计算 Cloud Native
云原生数据库的演进与应用实践
随着企业业务扩展,传统数据库难以应对高并发与弹性需求。云原生数据库应运而生,具备计算存储分离、弹性伸缩、高可用等核心特性,广泛应用于电商、金融、物联网等场景。阿里云PolarDB、Lindorm等产品已形成完善生态,助力企业高效处理数据。未来,AI驱动、Serverless与多云兼容将推动其进一步发展。
242 8
|
4月前
|
存储 弹性计算 安全
现有数据库系统中应用加密技术的不同之处
本文介绍了数据库加密技术的种类及其在不同应用场景下的安全防护能力,包括云盘加密、透明数据加密(TDE)和选择列加密。分析了数据库面临的安全威胁,如管理员攻击、网络监听、绕过数据库访问等,并通过能力矩阵对比了各类加密技术的安全防护范围、加密粒度、业务影响及性能损耗。帮助用户根据安全需求、业务改造成本和性能要求,选择合适的加密方案,保障数据存储与传输安全。
|
6月前
|
安全 Java Nacos
0代码改动实现Spring应用数据库帐密自动轮转
Nacos作为国内被广泛使用的配置中心,已经成为应用侧的基础设施产品,近年来安全问题被更多关注,这是中国国内软件行业逐渐迈向成熟的标志,也是必经之路,Nacos提供配置加密存储-运行时轮转的核心安全能力,将在应用安全领域承担更多职责。
|
5月前
|
存储 人工智能 数据库
视图是什么?为什么要用视图呢?数据库视图:定义、特点与应用
本文三桥君深入探讨数据库视图的概念与应用,从定义特点到实际价值全面解析。视图作为虚拟表具备动态更新、简化查询、数据安全等优势,能实现多角度数据展示并保持数据库重构的灵活性。产品专家三桥君还分析了视图与基表关系、创建维护要点及性能影响,强调视图是提升数据库管理效率的重要工具。三桥君通过系统讲解,帮助读者掌握这一常被忽视却功能强大的数据库特性。
1484 0
|
7月前
|
SQL 数据库
软考软件评测师——数据库系统应用
本文介绍了关系数据库的基础知识与应用,涵盖候选码定义、自然连接特点、实体间关系(如1:n和m:n)、属性分类(复合、多值与派生属性)以及数据库设计规范。同时详细解析了E-R图转换原则、范式应用(如4NF)及Armstrong公理体系。通过历年真题分析,结合具体场景(如银行信用卡额度、教学管理等),深入探讨了候选键求解、视图操作规范及SQL语句编写技巧。内容旨在帮助读者全面掌握关系数据库理论与实践技能。
|
11月前
|
中间件 关系型数据库 数据库
docker快速部署OS web中间件 数据库 编程应用
通过Docker,可以轻松地部署操作系统、Web中间件、数据库和编程应用。本文详细介绍了使用Docker部署这些组件的基本步骤和命令,展示了如何通过Docker Compose编排多容器应用。希望本文能帮助开发者更高效地使用Docker进行应用部署和管理。
344 19

热门文章

最新文章