软件设计师(软考学习)

news/2024/12/22 20:29:01/

数据库技术

数据库基础知识

1. 数据库中的简单属性、多值属性、复合属性、派生属性
简单属性:指不能够再分解成更小部分的属性,通常是数据表中的一个列。例如学生表中的“学号”、“姓名”等均为简单属性。

多值属性:指一个属性可以有多个值。例如一个学生可能会有多个电话号码,这种情况下“电话号码”就可以被视为是多值属性。

复合属性:是由两个或多个简单属性组合而成的属性。例如:“家庭住址”记录了邮编、省、市、街道信息,则“家庭住址”这个属性就为复合属性。

派生属性:是指其值可以通过其他属性的值计算得出的属性。例如:一个“年龄”属性可以通过当前日期减去“出生日期”属性的值来计算得出。

2. 并发控制中事务的特性(ACID)
原子性(Atomicity):事务是原子的,要么做,要么都不做。

一致性(Consistency):事务执行的结果必须保证数据库从一个一致性状态变到另一个一致性状态。

隔离性(lsolation):事务相互隔离。当多个事务并发执行时,任一事务的更新操作直到其成功提交的整个过程,对其它事物都是不可见的。

持久性(Durability):一旦事务成功提交,即使数据库崩溃,其对数据库的更新操作也永久有效。

事务:由一组数据库操作语句组成的逻辑单位,这些操作要么全部执行成功,要么全部执行不成功。

共享锁:多个事务可以同时持有该锁,用于读取共享资源。在共享锁的情况下,其他事务也可以获取共享锁,但是无法获取排他锁。

排他锁:只有一个事务可以持有该锁,用于更新和修改资源。在数据被施加事务T施加排他锁的情况下,其他事务无法对该数据施加排他锁或共享锁,必须等待事务T释放排他锁。

数据库系统具有三层结构:模式外模式内模式数据库中的视图对应外模式基本表对应模式存储文件对应内模式

分布式数据库的基本概念

共享性:允许用户共享数据资源。

自治性数据库拥有自主管理的能力。

分布性:数据可以分布在不同的物理节点上。

可用性:即使某些节点或网络发生故障,系统依旧可用。

分片透明是指用户或应用程序无需关注数据的分片(分块或分割)存储细节,可以像访问单一数据源一样访问和操作分布在不同节点上的数据。系统会自动处理这些存储细节。

复制透明是指用户和应用程序无需关注数据的副本,系统会自动将数据的副本在不同节点之间进行同步和管理。

位置透明是指用户或应用程序无需关注数据存储在哪个节点,可以像访问本地数据一样访问和操作数据。系统自动会将数据存储在最近或最适合的节点上,以提供低延迟和高性能。

逻辑透明是指用户或应用程序无需关注局部数据模型的物理布局和结构,可以像访问逻辑数据模型一样访问和操作数据。系统会自动将数据映射到物理存储上,并提供逻辑和物理数据模型之间的转换,以提供更高级别的抽象和灵活性。

Data Extraction(数据提取)工具是指从一个或多个数据源中抽取数据的过程。

OLAP(Online Analytical Processing,在线分析处理)是一种在多维数据集上进行非结构化、多维分析的技术和方法。

OLTP(Online Transaction Processing,在线事务处理)是一种用于处理和管理实时事务的技术

ETL(Extraction & Transformation & Loading,抽取&转换&载入)常用于将数据从多个源系统中抽取、转换和加载到目标系统中。

COM全称为Component Object Model(组件对象模型)。COM是一种基于二进制接口的软件组件技术,用于实现在不同软件之间进行交互和通信。

CGI全称为Common Gateway Interface(通用网关接口)。CGI是一种标准的网络协议,用于在Web服务器和应用程序之间进行通信和数据交换。

DBA(Database Administrator,数据库管理员)

DBMS(Database Management System,数据库管理系统)

数据库设计主要分为用户需求分析、概念结构、逻辑结构和物理结构设计四个阶段。

需求分析阶段:整理出需求说明文档、数据字典和数据流程图。

概念结构阶段:整理出实体-联系模型(ER图)

逻辑结构设计(逻辑模型设计)阶段:概念模型在这一阶段被转换为符合特定数据库管理系统(如MySQL、Oracle、SQL Server等)的逻辑模型,通常为关系模型。

物理结构设计(物理模型设计)阶段:在这一阶段,设计数据库物理存储结构,即如何将数据有效地存储到物理磁盘中,包括表空间、索引设计、分区方案等。

日志文件:记录系统、应用程序或事件的操作、错误、状态等信息的文件。系统在进行事务处理时,对数据的插入、删除或修改的全部有关内容先写入日志文件

数据文件:用来存储和组织数据的文件。在数据库中,数据文件通常用来存储表、索引、视图和其他数据库对象的实际数据。

索引文件数据库中用于提高数据检索速度的一种数据结构。

语义冲突指的是在系统中存在两个或多个不一致的事物、规则或约束条件之间的冲突或矛盾。

结构冲突是指在系统中存在不一致的数据结构或数据模型之间的冲突或矛盾。

属性冲突是指在系统中存在不同实体或对象之间的属性定义或使用上的冲突或矛盾。它通常发生在软件开发、系统集成或数据集成等过程中。

E-R模型

选取候选关键字

例:关系模式R(U,F),其中U={A,B,C,D,E},F={A→B,DE→B,CB→E,E→A,B→D},现在假设{CE}是候选关键字,计算CE的闭包,即(CE)+。

解:

第一步:令X={CE},X(0)=CE。

第二步:求X(1)。逐一扫描F集合中各个函数依赖,在F中找出左边是CE子集的函数依赖,其结果是:E→A。这时,F中这两个函数依赖要打上标记(我通常是打上√,表示已经用过,后面不能用了)。于是X(1)=CE∪A=ACE;

第三步:判断X(1)是否等于 X(0)以及 X(1)是否等于 U。

在这里,X(1)≠ X(0),且X(1)≠ U,所以在F中继续找出左边是ACE子集的函数依赖,其结果是:A→B。同样打上标记。于是X(2)=ACE∪B=ABCE。(这里有一个注意点,∪右边的元素只写左边没有的)

继续判断,虽然X(2)≠ X(1),且X(2)≠ U,所以在F中继续找出左边是ABCE子集的函数依赖,其结果是:B→D。同样打上标记。于是X(3)=ABCE∪D=ABCDE。此时,X(3)=U,因此,结束闭包运算。然后,也因为X(3)=U,所以,{CE}是候选关键字。

还有一个解法就是会发现题目中的函数依赖没有可以推出某个属性(例如上题中的C)的依赖,所以候选关键字中必定会含有该属性C。

无损连接

例题:

解:


http://www.ppmy.cn/news/1536138.html

相关文章

前端的全栈混合之路Meteor篇(二):RPC方法注册及调用

在Meteor 3.0中,RPC(远程过程调用)机制是实现前后端数据交互的重要特性。通过RPC,前端可以轻松调用后端方法(Methods)并获取数据,而后端的逻辑也可以同步或异步执行并返回结果。本文将详细介绍M…

Ubuntu 中 Redis ,MySQL 基本使用

1、Redis (1)启动Redis 服务端客户端命令 服务端 ps aux | grep redis 查看redis服务器进程 sudo kill -9 pid 杀死redis服务器 sudo redis-server /etc/redis/redis.conf 指定加载的配置文件客户端 连接redis: redis-cli运⾏测试命令&am…

数据结构--堆的深度解析

目录 引言 一、基本概念 1.1堆的概念 1.2堆的存储结构 1.3堆的特点 二、 堆的基本操作 2.1初始化 2.2创建堆 2.3插入元素 2.4删除元素 2.5堆化操作 2.6堆的判空 2.7获取堆顶元素 三、堆的常见应用 1. 优先队列 2. 堆排序 3. Top-k 问题 4. 图论中的应用 四…

【实战教程】SpringBoot全面指南:快速上手到项目实战(SpringBoot)

文章目录 【实战教程】SpringBoot全面指南:快速上手到项目实战(SpringBoot)1. SpringBoot介绍1.1 SpringBoot简介1.2系统要求1.3 SpringBoot和SpringMVC区别1.4 SpringBoot和SpringCloud区别 2.快速入门3. Web开发3.1 静态资源访问3.2 渲染Web页面3.3 YML与Properti…

【包教包会】速通LLM《从头开始构建大型语言模型》免费pdf分享

介绍 在当今人工智能技术飞速发展的时代,大型语言模型(LLM)作为聊天机器人、文本生成和理解等应用的核心,已经成为研究和商业领域的关注焦点。尽管这些模型的应用无处不在,但对于大多数开发者来说,它们的工…

微信小程序:一个小程序跳转至另一个小程序

一、微信小程序支持一个小程序跳转至另一个小程序吗? 支持。 1.1、目标小程序需开放被跳转:目标小程序需要在其 app.json 文件中配置 navigateToMiniProgramAppIdList,将源小程序的 AppID 加入其中。 1.2、用户授权:用户需要授…

使用 Spring Boot 在电商平台中动态调整促销信息

业务背景 在电商平台上,促销活动是吸引用户的重要手段之一。然而,促销活动的状态(如开始、结束)可能会频繁变化,而这些变化需要实时反映在商品详情页上。如果每次促销状态改变都需要重新部署应用或者手动更改代码&…

20241004给荣品RD-RK3588-AHD开发板刷Rockchip原厂的Android12【HDMI0显示】

20241004给荣品RD-RK3588-AHD开发板刷Rockchip原厂的Android12【HDMI0显示】 2024/10/4 19:40 1、配置RK3588S的默认DTS为:rk3588s-evb4-lp4x-v10.dts D:\Android\rk3588s4_3588a12\device\rockchip\rk3588\rk3588s_s\BoardConfig.mk Z:\rk3588s4_3588a12\device\ro…