数据库原理及应用(二)

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

1.3 数据库系统结构

从数据库最终用户角度看(数据库系统外部的体系结构) ,数据库系统的结构分为:


单用户结构


主从式结构


客户/服务器


浏览器/应用服务器/数据库服务器多层结构等


从数据库管理系统角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构


1.3.1 数据库系统模式的概念


1 型和值的概念


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


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


举例:


学生记录型:(学号,姓名,性别,系别,年龄,籍贯)


一个记录值:(900201,李明,男,计算机,22,江苏


2 模式(Schema)


数据库逻辑结构和特征的描述


是型的描述


反映的是数据的结构及其联系


模式是相对稳定的


3 实例(Instance)


模式的一个具体值


反映数据库某一时刻的状态


同一个模式可以有很多实例


实例随数据库中的数据的更新而变动


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

6d7d1fa7c6470bc6c7841bedd3b78850.png

① 模式(Schema)


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


注:一个数据库只有一个模式,模式的地位是数据库系统模式结构的中间层,与数据的物理存储细节和硬件环境无关,与具体的应用程序、开发工具及高级程序设计语言无关


② 外模式(External Schema)


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


注:外模式的地位:介于模式与应用之间


模式与外模式的关系:一对多


外模式通常是模式的子集


一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求


对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同


外模式与应用的关系:一对多


同一外模式也可以为某一用户的多个应用系统所使用


但一个应用程序只能使用一个外模式


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


③ 内模式(Internal Schema)


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


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


!> 数据在数据库内部的表示方式:


记录的存储方式(顺序存储,按照B树结构存储, 按hash方法存储)


索引的组织方式


数据是否压缩存储


数据是否加密


数据存储记录结构的规定


最后再来回顾一下数据库系统的三级模式结构:

8726fe689cd1c5b6f46fe96cc89a3b9f.png

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


三级模式是对数据的三个抽象级别


二级映象在 DBMS 内部实现这三个抽象层次的联系和转换


外模式/模式映像


模式/内模式映像


第二章 关系数据库

2.1 关系模型的基本术语及形式化定义

数据结构 —— 静态特性


数据操作 —— 动态特性


数据的约束条件


数据结构


1 数据结构:描述数据库的组成对象,以及对象之间的联系


2 两类对象:


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


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


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


数据操作


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


2 数据操作的类型


检索


更新(包括插入、删除、修改)


3 数据模型对操作的定义


操作的确切含义


操作符号


操作规则(如优先级)


实现操作的语言


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


数据的完整性约束条件


1 数据的完整性约束条件


一组完整性规则的集合。


完整性规则:是给定的数据模型中数据及其联系所具有的制约和储存规则


用以限定符合数据模型的数据库状态以及状态的变化,来保证数据的正确、有效、相容。


2 数据模型对约束条件的定义


反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。例如在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。


提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。


2.1.1 基本术语


1 域 Domain


一组具有相同数据类型的值的集合。


比如整数、字符串等。


2 笛卡尔积 Cartesian Product


笛卡尔积是域上的一种集合运算

a6ec3508b6c0301f2cd3fd495406f477.png

定义有点晦涩,看下面一个例子就懂了

04b90771523b9fd61aa0add74ce40ac7.png

3 关系 Relation


笛卡尔积 D1×D2×…×Dn 的一个子集叫作域 D1, D2, …, Dn 上的一个关系。


学生(学号,姓名,年级)就是一个关系


如果只有 1 个属性,则称为单元关系/一元关系


如果有 2 个属性,则称为二元关系


4 主码 Primary Key


有一个或一组这样的属性,它的值能确定该关系中其他所有属性的值。


5 候选码 Candidate Key


能唯一标识元组的属性(组),其中选择其一作为主码。


6 主属性 Prime Attribute


候选码中的诸属性。


7 非主属性 Non-Key Attribute


不出现在任何候选码中的属性。


8 关系的型与值


关系(表)的型:关系的结构(字段名、字段个数、域等)


关系(表)的值:关系中具体的元组,也称关系的实例(Instance)。


2.1.2 关系的概念及性质


关系 Relation:笛卡尔积 D1×D2×…×Dn 的一个子集叫作域 D1, D2, …, Dn 上的一个关系。


学生(学号,姓名,年级)就是一个关系


如果只有 1 个属性,则称为单元关系/一元关系


如果有 2 个属性,则称为二元关系


2.1.3 关系模式


!> 关系数据库中,关系模式是型,关系是值 。


1 什么是关系模式


关系模式(Relation Schema)是型


关系是值


关系模式是对关系的描述


元组集合的结构


属性构成


属性来自的域


属性与域之间的映象关系


元组语义以及完整性约束条件


属性间的数据依赖关系集合


2 定义关系模式


关系的描述称为关系模式。


关系模式可以形式化地表示为:R(U,D,dom,F)


说明:

R 关系名

U 组成该关系的属性名集合

D 属性组 U 中属性所来自的域

dom 属性向域的映象集合

F 属性间的数据依赖关系集合

关系模式通常可以简记为:R (U) 或 R (A1,A2,…,An)


R ——关系名


A1,A2,…,An ——属性名


!> 注:域名及属性向域的映象常常直接说明为属性的类型、长度


3 关系模式与关系


关系模式


对关系的描述


静态的、稳定的


关系


关系模式在某一时刻的状态或内容


动态的、随时间不断变化的


关系模式和关系往往统称为关系,通过上下文加以区别


2.1.4 关系数据库


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


(1)单一的数据结构—关系


关系模型的数据结构非常单一。在关系模型中,现实世界的实体以及实体间的各种联系均用关系来表示。在用户看来,关系模型中数据的逻辑结构是一张二维表。


(2)关系操作


关系模型中常用的关系操作包括:选择(Select)、投影(Project)、连接(Join)、除(Divide)、并(Union)、交(Intersection)、差(Difference)等和查询(Query)操作和增加(Insert)、删除(Delete)、修改(Update)操作两大部分。


(3)关系的三类完整牲约束


关系模型允许定义三类完整性约束:实体完整性、参照完整性和用户定义的完整性。


2.2 关系的完整性

关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义完整性。


其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。


关系模型的完整性规则是对关系的某种约束条件。任何关系在任何时刻都要满足这些语义约束


实体完整性


参照完整性


用户定义完整性


2.2.1 实体完整性


Entity Integrity


关系数据库中的每个元组应该是可区分的、唯一的。这样的约束条件用实体完整性来保证


实体完整性规则:每个关系都应有至少一个主属性,且主属性不能为空值


例如:选修(学号,课程号,成绩)关系中,学号和课程号不能为空值


!> 实体完整性规则规定基本关系的所有主属性都不能取空值,而不仅是主码整体不能取空值。


2.2.2 参照完整性


Referential Integrity


参照完整性规则:若属性 F 是基本关系R的外码,它与基本关系 S 的主码 Ks 相对应,则对于 R 中每个元组在 F 上的值必须为:


或者取空值


或者等于 S 中某个元组的主码值

b012c9752c5067a462f86069a2fd9b72.png

6876bc55f56e15cfa91b659e1c692466.png

2.2.3 用户定义完整性


User-defined Integrity


任何关系数据库系统都应支持实体完整性和参照完整性。除此之外,用户还可以自定义完整性约束。


用户定义的完整性是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。


例:选修(学号,课程号,成绩)成绩的取值范围在 0~100 之间


关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。


目录
相关文章
|
6天前
|
SQL Java 关系型数据库
应用DriverManager类创建sqlserver数据库连接实例 JSP中使用数据库
该博客文章介绍了在JSP中使用JDBC连接SQL Server数据库的方法,包括加载数据库驱动、建立数据库连接的过程,并提供了一个使用DriverManager类创建数据库连接的Java示例代码。
|
18天前
|
存储 监控 安全
【计算机三级数据库技术】第1章 数据库应用系统生命周期下知识体系--附思维导图
本文提供了数据库应用系统生命周期下的知识体系概述,并附有思维导图,帮助读者更好地理解数据库技术及应用的第一章内容,涵盖了数据库系统的规划、分析、设计、实现、测试、运行和维护等各个阶段。
34 12
|
20天前
|
SQL canal Serverless
Serverless 应用引擎使用问题之每次记录的数据很少,如何不使用外链数据库储存数据
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
18天前
|
数据可视化 架构师 测试技术
【计算机三级数据库技术】第5章 UML与数据库应用系统--附思维导图
本文提供了UML在数据库应用系统设计中的应用概览,包括UML建模框架、视图、四大图的介绍,以及如何使用活动图、用例图、类图、顺序图等UML图来表达业务流程、系统需求和内部结构,最后还涉及了系统微观和宏观设计的UML表达方式。
25 4
|
16天前
|
人工智能 NoSQL 关系型数据库
现代数据库技术发展趋势与应用前景探析
在当今数字化时代,数据库技术正日益成为信息管理与应用开发的核心。本文从现代数据库技术的发展趋势出发,探讨了关系型数据库、NoSQL数据库以及新兴的分布式数据库技术,分析它们在各自领域的优势与挑战。结合实际应用场景,探索现代数据库技术的应用前景,为技术从业者提供思路与参考。
|
19天前
|
存储 SQL 关系型数据库
(六)MySQL索引原理篇:深入数据库底层揭开索引机制的神秘面纱!
《索引原理篇》它现在终于来了!但对于索引原理及底层实现,相信大家多多少少都有了解过,毕竟这也是面试过程中出现次数较为频繁的一个技术点。在本文中就来一窥`MySQL`索引底层的神秘面纱!
|
18天前
|
存储 安全 测试技术
【计算机三级数据库技术】第4章 数据库应用系统功能设计与实现--附思维导图
重点介绍了数据库应用系统(DBAS)的功能设计和实现。
11 1
|
3天前
|
存储 NoSQL 关系型数据库
Web中的数据库:原理、应用与代码实现
Web中的数据库:原理、应用与代码实现
|
6天前
|
存储 安全 数据库
数据库系统原理课程设计
这篇文章是关于数据库系统原理课程设计的,主题为图书借阅管理系统,涵盖了系统需求分析、数据库设计(包括概念结构、逻辑结构、规范化、物理设计以及安全性和维护设计)、系统详细设计(视图、存储过程和触发器设计),以及安全性设计,并强调了设计仅供参考,鼓励自主学习。
|
16天前
|
存储 NoSQL 关系型数据库
现代数据库技术的演进与应用
本文探讨了现代数据库技术在面对日益复杂和庞大的数据需求时的演进路径及其应用实例。从传统关系型数据库到NoSQL和NewSQL,再到分布式数据库系统,我们分析了每种技术的特点、优势和适用场景,并讨论了它们在大数据处理、实时分析和云计算环境中的应用案例。通过本文的阐述,读者将能够深入理解不同数据库技术的选择依据及其在现代技术架构中的关键作用。