软件设计师(软考学习)

数据库技术

数据库基础知识

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

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

相关文章

sql-labs:42~65

less42(单引号闭合、报错回显) login_useradmin login_password123 and if(11,sleep(2),1) # # 单引号闭合 ​ login_useradmin login_password123and updatexml(1,concat(0x7e,database(),0x7e),1)# # 报错回显…

mysql UDF提权(实战案例)

作者:程序那点事儿 日期:2024/09/29 16:10 什么是UDF? 全称 User Define Function (用户自定义函数)UDF提权,就是通过自定义函数,实现执行系统的命令。 dll(windows,dll文件是c语…

5.人员管理模块(以及解决运行Bug)——帝可得管理系统

目录 前言一、页面修改表单展示修改 二、新增对话框修改三、修改对话框修改修改时展示创建时间 四、解决页面展示错误五 、 解决【java.lang.NullPointerException: null】 Bug 前言 提示:本篇完成人员管理模块的开发,具体需求、修改代码的路径和最终效…

车辆种类分类识别数据集,可以识别7种汽车类型,已经按照7:2:1比 例划分数据集,训练集1488张、验证集507张,测试集31张, 共计2026张。

车 车辆种类分类识别数据集,可以识别7种汽车类型,已经按照7:2:1比 例划分数据集,训练集1488张、验证集507张,测试集31张, 共计2026张。 数据集分为一类客车(tinycar) ,类客车(midcar) ,三类 客车(bigcar) ,…

重学SpringBoot3-集成Redis(六)之消息队列

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-集成Redis(六)之消息队列 1. 什么是发布/订阅(Pub/Sub)?2. 场景应用3. Spring Boot 3 整合 R…

感知机学习算法

感知机 一、感知机简介二、感知机模型2.1 感知机的基本组成2.2 求和函数2.2.1 时间总合2.2.2 空间总合 2.3 激活函数2.4 学习算法2.4.1 赫布学习规则2.4.2 Delta学习规则 三、 结论参考文献 一、感知机简介 M-P神经元模型因其对生物神经元激发过程的极大简化而成为神经网络研究…

微信小程序学习实录10:轻松获取用户昵称、头像与登录openid实战攻略

在微信小程序开发中,获取用户的个人信息(如昵称和头像)以及用户的唯一标识OpenID是非常常见的需求。本文将详细介绍如何通过微信提供的API来实现这些功能,并提供一个完整的实战案例。 用户选择头像 微信提供了chooseAvatar组件&…

ROS基础入门——实操教程

ROS基础入门——实操教程 前言 本教程实操为主,少说书。可供参考的文档中详细的记录了ROS的实操和理论,只是过于详细繁杂了,看得脑壳疼,于是做了这个笔记。 Ruby Rose,放在这里相当合理 本文初编辑于2024年10月4日 C…

使用vscode调试wails项目(golang桌面GUI)

文章目录 安装 Golang 环境安装 NPM安装 VSCode安装 Go 插件安装 Go 插件依赖工具安装 Wails系统检查 准备项目Visual Studio Code 配置安装和构建步骤参考资料 安装 Golang 环境 访问 golang 官网下载环境安装包:https://go.dev/dl/ 安装 NPM 从 Node 下载页面 …

时序必读论文16|ICLR24 CARD:通道对齐鲁棒混合时序预测Transformer

论文标题:CARD: Channel Aligned Robust Blend Transformer for Time Series Forecasting 论文链接:https://arxiv.org/abs/2305.12095 代码链接:https://github.com/wxie9/CARD 前言 Transformer取得成功的一个关键因素是通道独立&#…

鸿蒙开发之ArkUI 界面篇 十九 Flex组件的特点

其语法格式是: Flex(参数对象){ 字组件1, 字组件2, 字组件3, 字组件4 } 这里你会发现,其实和Row容器,Colum容器的语法格式差不多,核心的关键是Colum、Row是不支持换行,实现FlexInterface接口,对外提供的属性是F…

数据库(MySQL):使用命令从零开始在Navicat创建一个数据库及其数据表(二).设置主键自增等特点

前言 在上一节中,主要介绍了 Navicat Premium 17 的使用以及创建一个基础的表格。当时只设置了给数据表补充字段,没有设置给数据表删除字段。现在补充一下。 ALTER TABLE student ADD test int(4); 给名为 student 的数据表添加 test 列&#xf…

Android OTA升级

针对Android系统OTA升级,MTK平台有相关介绍文档:https://online.mediatek.com/apps/faq/detail?faqidFAQ27117&listSW 概念一:OTA包的构建 AOSP full build:Android原生提供的全量包的构建,意思就是可以从任何一…

数据结构:AVL树

前言 学习了普通二叉树,发现普通二叉树作用不大,于是我们学习了搜索二叉树,给二叉树新增了搜索、排序、去重等特性, 但是,在极端情况下搜索二叉树会退化成单边树,搜索的时间复杂度达到了O(N),这…

【EXCEL数据处理】000020 案例 保姆级教程,附多个操作案例。EXCEL使用表格。

前言:哈喽,大家好,今天给大家分享一篇文章!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 【EXCEL数据处理】000020 案例 保姆级教程,附多个操作案例。…

vulnhub-digitalworld.local DEVELOPMENT靶机

vulnhub:digitalworld.local: DEVELOPMENT ~ VulnHub 导入靶机,放在kali同网段,扫描 靶机在192.168.114.129,扫描端口 开了几个端口,8080端口有网页,访问 说是让访问html_pages 似乎把页面都写出来了&…

2-115 基于matlab的瞬态提取变换(TET)时频分析

基于matlab的瞬态提取变换(TET)时频分析,瞬态提取变换是一种比较新的TFA方法。该方法的分辨率较高,能够较好地提取出故障的瞬态特征,用于故障诊断领域。通过对原始振动信号设置不同信噪比噪声,对该方法的抗…

面向对象特性中 继承详解

目录 概念: 定义: 定义格式 继承关系和访问限定符 基类和派生类对象赋值转换: 继承中的作用域: 派生类的默认成员函数 继承与友元: 继承与静态成员: 复杂的菱形继承及菱形虚拟继承: 虚…

学MybatisPlus

1.设置MySql的数据库 spring:datasource:url: jdbc:mysql://127.0.0.1:3306/mp?useUnicodetrue&characterEncodingUTF-8&autoReconnecttrue&serverTimezoneAsia/Shanghaidriver-class-name: com.mysql.cj.jdbc.Driverusername: rootpassword: MySQL123 logging:l…

IDEA搭建JDK1.8源码调试环境

大家好 下载源码 安装好 JDK 后,源码目录下面有 src.zip 文件,这个文件就是 JDK 的源码 搭建调试环境 新建 Maven 工程,包含以下文件 source:源码文件夹(手动新建)test:单元测试文件夹&…