数据库导论

data

数据是数据库中存储的基本数据,描述事物的符号称为数据。

DB

数据库是长期存储在计算机内,有组织,可共享的大量数据的集合。数据库中的数据按照一定的数据模型组织,描述和存储,具有较小的冗余度,较小的数据独立性和易扩展性,并可为各种用户共享。

DBMS

数据库管理系统是位于用户与操作系统之间的一层数据管理软件

DBS

数据库系统是由数据库,数据库管理系统,应用程序和数据库管理员组成的存储,管理,处理和维护数据的系统

关系

数据是数据库系统中的基本单位;数据库是用来存储这些数据的容器;数据库管理系 统是用于管理和操作数据库的软件;而数据库系统则是将所有这些组件整合在一起的完整体系。

常用的数据模型

层次模型

网状模型

关系模型

面向对象数据模型

关系数据库

dd28dbd6edcf43d5ab16dea54ca7a9ce.png

e76588b171ba49a98783046559ed59d7.jpg 1e108e8f0df8499d9da770074e40948e.jpg

 数据结构   数据操作    数据完整性

关系模型的三类完整性

实体完整性

参照完整性

用户定义的完整性

索引的作用

加快查询速度

聚合函数   having  delete  create

sql语句等操作

单表查询  多表查询  全部查询

视图

定义:从一个或几个基本表(或视图)导出的表,与基本表不同,是一个虚表。

作用:

  1. 简化用户的操作
  2. 使用户能以多种角度看待同一数据
  3. 对重构数据库提供了一定程度的逻辑独立性
  4. 能够对机密数据提供安全保护
  5. 适当利用视图可以更清晰的表达查询

数据库安全性定义

保护数据库以防止不合法使用所造成的数据泄露,更改或破坏

实现数据库安全常用技术

用户身份鉴别

多层存储控制

审计

视图

数据加密

授权与收回

grant   revoke    sql语句

范式

第一范式:每一个分量必须是不可分割的数据项

第二范式:每一个非主属性完全函数依赖于任何一                    个候选码

第三范式:每一个非主属性既不传递依赖码,也不                      部分依赖于码

不好的关系模型存在的问题

  1. 数据冗余
  2. 更新异常
  3. 插入异常
  4. 删除异常

规范化的定义

一个低一级范式的关系模式通过模式分解可以转换为若干个高一级范式的关系模式的集合

DB设计步骤,每一步干啥的及简要描述

1.需求分析阶段

需求分析是整个设计过程中最困难,最耗时的一步,进行数据库设计首先必须准确了解与分析用户需求

2.概念结构设计阶段

通过对用户需求进行综合,归纳与抽象形成一个独立于具体数据库管理系统的概念模型

3.逻辑结构设计阶段

将概念结构转换为某个数据库管理系统所支持的数据模型,并对其进行优化

4.物理结构设计阶段

为逻辑数据模型选取一个最合适应用环境的物理结构

5.数据库实施阶段

在数据库实施阶段,设计人员运用数据库管理系统提供的数据库语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编写与调试应用程序

6.数据库运行和维护阶段

数据库应用系统经过试运行即可投入正式运行,在运行的过程中必须不断的进行评估,调整与修改

概念结构设计

二维表  ER图  指出其主,外键

ER图图例表现形状

实体型用矩形表示

属性用椭圆形表示

联系用菱形表示

事务的定义

用户定义的一个数据库操作序列,这些操作要么全做,要么全部不做,是一个不可分割的工作单位

事务的ACID特性

原子性   atomicity

一致性   consistency

隔离性   isolation

持续性   durability

并发操作带来的数据不一致性

  1. 丢失修改        ww
  2. 不可重复读     rw 并发进来一个写操作
  3. 读脏数据        wr 写/读并发中间状态的脏数据

P311的图11.2  掌握这三种示例的区分

3151c3677f51408092fd09cd439c8b15.jpg

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/62124.shtml

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

相关文章

HTML实现 扫雷游戏

前言: 游戏起源与发展 扫雷游戏的雏形可追溯到 1973 年的 “方块(cube)” 游戏,后经改编出现了 “rlogic” 游戏,玩家需为指挥中心探出安全路线避开地雷。在此基础上,开发者汤姆・安德森编写出了扫雷游戏的…

浏览器漫谈HTML--2.2从表单标签看vue的响应式系统 理论+实战

表单标签的双向绑定是一个很有亮点的功能。在不同框架中他实现这个功能大同小异,这里我们介绍几个常见的框架中他是如何实现双向绑定的。 原生的input输入框是没有双向绑定的功能的。取而代之的,它的input上有一个event对象,这个对象中有一个…

Python 爬虫 (1)基础 | 目标网站

一、目标网站 1、加密网站 1.1、关键字比较明确 企名片:https://wx.qmpsee.com/articleDetail?idfeef62bfdac45a94b9cd89aed5c235be 1.2、关键字比较泛 烯牛数据:https://www.xiniudata.com/project/event/lib/invest

Spring Boot英语知识网站:开发策略

5系统详细实现 5.1 管理员模块的实现 5.1.1 用户信息管理 英语知识应用网站的系统管理员可以对用户信息添加修改删除以及查询操作。具体界面的展示如图5.1所示。 图5.1 用户信息管理界面 5.1.2 在线学习管理 系统管理员可以对在线学习信息进行添加,修改&#xff0…

堆优化版本的Prim

prim和dijkstra每轮找最小边的松弛操作其实是同源的&#xff0c;因而受dijkstra堆优化的启发&#xff0c;那么prim也可以采用小根堆进行优化。时间复杂度也由 O ( n 2 ) O(n^2) O(n2)降为 O ( n l o g n ) O(nlogn) O(nlogn)。 测试一下吧&#xff1a;原题链接 #include <i…

研0找实习【学nlp】15---我的后续,总结(暂时性完结)

当下进展成果&#xff1a; nlptransformerpytorchhuggingfacebert简历环境配置表情识别文本分类 断更了快1个月&#xff0c;2个礼拜找实习&#xff0c;1个礼拜伤心&#xff0c;1个礼拜想我要干什么…… 承认自己的才疏学浅&#xff0c;了解了leetcode&#xff0c;和老师商量了…

HTML5和CSS3新增特性

HTML5的新特性 HTML5新增的语义化标签 HTML5 的新增特性主要是针对于以前的不足&#xff0c;增加了一些新的标签、新的表单和新的表单属性等。 这些新特性都有兼容性问题&#xff0c;基本是 IE9 以上版本的浏览器才支持&#xff0c;如果不考虑兼容性问题&#xff0c;可以大量…

width设置100vh但出现横向滚动条的问题

在去做flex左右固定,中间自适应宽度的布局时, 发现这样一个问题: 就是我明明是宽度占据整个视口, 但是却多出了横向的滚动条 效果是这样的 把width改成100%,就没有滚动条了 原因: body是有默认样式的, 会有一定的默认边距, 把默认边距清除就是正常的了 同时, 如果把高度设…

EasyExcel: 结合springboot实现表格导出入(单/多sheet), 全字段校验,批次等操作(全)

全文目录,一步到位 1.前言简介1.1 链接传送门1.1.1 easyExcel传送门 2. Excel表格导入过程2.1 easyExcel的使用准备工作2.1.1 导入maven依赖2.1.2 建立一个util包2.1.3 ExcelUtils统一功能封装(单/多sheet导入)2.1.4 ExcelDataListener数据监听器2.1.5 ResponseHelper响应值处理…

数字ic设计bug:寄存器翻转错误

数字ic设计bug&#xff1a;寄存器翻转错误 bug场景&#xff1a; 寄存器未按指定条件翻转&#xff0c;满足翻转条件&#xff0c;但未翻转 问题描述 always&#xff08;posedge clk or negedge rst_n&#xff09; if(!rst_n)a < 1‘d0; else if(a_condition)a < 1’b1;a…

Linux/Windows/OSX 上面应用程序重新启动运行。

1、Linux/OSX 上面重新运行程序&#xff0c;直接使用 execvp 函数就可以了&#xff0c;把main 函数传递来的 argv 二维数组&#xff08;命令行参数&#xff09;传进去就可以&#xff0c;注意不要在 fork 出来的子进程搞。 2、Windows 平台可以通过 CreateProcess 函数来创建新的…

css:转换

转换 移动 /* transform: translate(100px, 200px); */transform: translateX(100px);transform: translateY(100px); /*一个意思*/ 如果后面跟百分数的意思是移动盒子自身x/y方向长度的百分比&#xff0c;可以用作子绝父相控制盒子水平居中垂直居中 translate里的xy值是相对…

java大视频分片上传

实现原理&#xff0c;前端控制每次上传1mb&#xff0c;后端接受1mb&#xff0c;并记录该分片下标&#xff0c;返回给前端还未上传的下标&#xff0c;直到所有的都上传完成 controller ApiOperation(value "上传视频", notes "上传视频", httpMethod &…

量化交易系统开发-实时行情自动化交易-4.4.1.做市策略实现

19年创业做过一年的量化交易但没有成功&#xff0c;作为交易系统的开发人员积累了一些经验&#xff0c;最近想重新研究交易系统&#xff0c;一边整理一边写出来一些思考供大家参考&#xff0c;也希望跟做量化的朋友有更多的交流和合作。 接下来继续说说做市策略实现。 做市策…

webp 网页如何录屏?

工作中正好研究到了一点&#xff1a;记录下这里&#xff1a; 先看下效果&#xff1a; 具体实现代码&#xff1a; &#xfeff; <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…

C#中面试的常见问题005

1、重载和重写 重载&#xff08;Overloading&#xff09; 重载是指在同一个类中定义多个同名方法&#xff0c;但参数列表不同&#xff08;参数的数量、类型或顺序不同&#xff09;。返回类型可以相同也可以不同。重载方法允许你根据传入的参数类型和数量来调用不同的方法。 …

CTF之密码学(BF与Ook)

BrainFuck&#xff08;通常也被称为Brainfuck或BF&#xff09;和Ook是两种非常特殊且有趣的编程语言。以下是对这两种语言的详细介绍&#xff1a; 一、BrainFuck 简介&#xff1a; BrainFuck是一种极小化的计算机语言&#xff0c;由Urban Mller在1993年创建。由于“fuck”在英…

SpringCloud Gateway转发请求到同一个服务的不同端口

SpringCloud Gateway默认不支持将请求路由到一个服务的多个端口 本文将结合Gateway的处理流程&#xff0c;提供一些解决思路 需求背景 公司有一个IM项目&#xff0c;对外暴露了两个端口8081和8082&#xff0c;8081是springboot启动使用的端口&#xff0c;对外提供一些http接口…

MySQL 数据库连接池爆满问题排查与解决

目录 MySQL 数据库连接池爆满问题排查与解决 一、问题影响 二、问题确认 三、收集信息 四、SQL 语句分析 五、应用层代码分析 六、连接池配置检查 七、监控工具使用 八、案例分析 在实际的应用开发中&#xff0c;我们可能会遇到 MySQL 数据库连接池爆满的情况。这种情…

解决发布web接口时数据无法JSON化的问题

解决HTTP接口传输中的JSON序列化问题 引言 当涉及到复杂的数据类型时&#xff0c;如浮点数、Numpy数组、pandas等&#xff0c;直接使用Python的json模块进行序列化可能会遇到问题。本文将解决这些问题&#xff0c;并提供一个通用的方案&#xff0c;确保数据能够顺利地通过HTT…