数据库导论

news2024/11/28 21:36:17

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.coloradmin.cn/o/2249323.html

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

相关文章

数据结构 ——— 归并排序算法的实现

目录 归并排序的思想 归并排序算法的实现 归并排序的思想 将已经有序的子序列合并,得到完全有序的序列,即先使每个子序列有序后,再使子序列段间有序 若将两个有序表合并成一个有序表,称为二路归并 归并排序步骤示意图&#x…

【数据结构】【线性表】一文讲完队列(附C语言源码)

队列 队列的基本概念基本术语基本操作 队列的顺序实现顺序队列结构体的创建顺序队列的初始化顺序队列入队顺序队列出队顺序队列存在的问题分析循环队列代码汇总 队列的链式实现链式队列的创建链式队列初始化-不带头结点链式队列入队-不带头节点链式队列出队-不带头结点带头结点…

chrome允许http网站打开摄像头和麦克风

第一步 chrome://flags/#unsafely-treat-insecure-origin-as-secure 第二步 填入网址,点击启用 第三步 重启 Chrome:设置完成后,点击页面底部的 “Relaunch” 按钮,重新启动 Chrome 浏览器,使更改生效。

Spring Boot教程之十: 使用 Spring Boot 实现从数据库动态下拉列表

使用 Spring Boot 实现从数据库动态下拉列表 动态下拉列表(或依赖下拉列表)的概念令人兴奋,但编写起来却颇具挑战性。动态下拉列表意味着一个下拉列表中的值依赖于前一个下拉列表中选择的值。一个简单的例子是三个下拉框,分别显示…

DRM(数字权限管理技术)防截屏录屏----视频转hls流加密、web解密播放

提示:视频转hls流加密、web解密播放 需求:研究视频截屏时,播放器变黑,所以先研究的视频转hls流加密 文章目录 [TOC](文章目录) 前言一、工具ffmpeg、openssl二、后端nodeexpress三、web播放四、文档总结 前言 ‌HLS流媒体协议‌&a…

视觉经典神经网络与复现:深入解析与实践指南

目录 引言 经典视觉神经网络模型详解 1. LeNet-5:卷积神经网络的先驱 LeNet-5的关键特点: 2. AlexNet:深度学习的突破 AlexNet的关键特点: 3. VGGNet:深度与简洁的平衡 VGGNet的关键特点: 4. ResNe…

【算法day1】数组:双指针算法

题目引用 这里以 1、LeetCode704.二分查找 2、LeetCode27.移除元素 3、LeetCode977.有序数组的平方 这三道题举例来说明数组中双指针的妙用。 1、二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜…

华为云云连接+squid进行正向代理上网冲浪

1 概述 ‌Squid‌是一个高性能的代理缓存服务器,主要用于缓冲Internet数据。它支持多种协议,包括FTP、gopher、HTTPS和HTTP。Squid通过一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求,这使得它在处理请求时具有较高的效率‌。…

2024年11月24日Github流行趋势

项目名称:FreeCAD 项目维护者:wwmayer, yorikvanhavre, berndhahnebach, chennes, WandererFan等项目介绍:FreeCAD是一个免费且开源的多平台3D参数化建模工具。项目star数:20,875项目fork数:4,117 项目名称&#xff1…

二叉树:堆的建立和应用

在建立堆之前,我们要知道什么是树和二叉树 树 树是一种非线性的数据结构,它是由n(n>0)个结点组成的一个具有层次关系的集合,之所以把它叫做树,是因为它长得像一棵倒挂的树,也就是根在上面&…

使用 pycharm 新建不使用 python 虚拟环境( venv、conda )的工程

有时候我们发现一个好玩的 demo,想赶快在电脑上 pip install 一下跑起来,发现因为 python 的 venv、conda 环境还挺费劲的,因为随着时间的发展,之前记得很清楚的 venv、conda 的用法,不经常使用,半天跑不起…

(详细文档!)java swing学生信息管理系统 +mysql

第一章:系统功能分析 1.1、系统简介与开发背景 学生信息管理系统是在信息化时代,特别是在教育领域中产生的。随着学校规模的不断扩大和信息化技术的不断发展,传统的纸质档案管理方式已经无法满足学校对学生信息管理的需求,因此需…

租辆酷车小程序开发(二)—— 接入微服务GRPC

vscode中golang的配置 设置依赖管理 go env -w GO111MODULEon go env -w GOPROXYhttps://goproxy.cn,direct GO111MODULEauto 在$GOPATH/src 外面且根目录有go.mod 文件时,开启模块支持 GO111MODULEoff 无模块支持,go会从GOPATH 和 vendor 文件夹寻找包…

集合卡尔曼滤波(EnKF)的三维滤波(模拟平面定位)例程,带逐行注释

这段 MATLAB 代码实现了一个三维动态系统的集合卡尔曼滤波(Ensemble Kalman Filter, EnKF)示例。代码的主要目的是通过模拟真实状态和测量值,使用 EnKF 方法对动态系统状态进行估计。 文章目录 参数设置初始化真实状态定义状态转移和测量矩阵…

鸿蒙千帆启新程,共绘数字生态蓝图

华为的鸿蒙千帆起计划:共筑数字未来,学习华为创新之路 在当今全球科技竞争日益激烈的背景下,华为作为中国科技企业的代表,正通过其自主创新的鸿蒙系统,引领一场移动应用生态的变革。鸿蒙千帆起计划,作为华…

python控制鼠标,键盘,adb

python控制鼠标,键盘,adb 听说某系因为奖学金互相举报,好像拿不到要命一样。不禁想到几天前老墨偷走丁胖子的狗,被丁胖子逮到。他面对警察的问询面不改色坚持自我,反而是怒气冲冲的丁胖子被警察认为是偷狗贼。我觉得这…

yum安装升级指定版本软件

与apt相同,yum也可以指定升级软件版本。 这里以升级gitlab-ce为例。 获得当前可用版本命令如下: yum list gitlab-ce --showduplicates 查看当前gitlab版本。在/var/opt/gitlab/gitlab-rails/查看VERSION文件内容: cat VERSION 当前版本…

el-table根据接口返回某一个字段合并行

根据名称相同合并行 <template><div><el-table :data"responseSearchIntegralAddData" :span-method"objectSpanMethod1" border style"width: 100%"><el-table-column prop"integralTypeName" label"名称…

Jmeter中的前置处理器

5&#xff09;前置处理器 1--JSR223 PreProcessor 功能特点 自定义数据处理&#xff1a;使用脚本语言处理请求数据&#xff0c;实现高度定制化的数据处理和生成。动态数据生成&#xff1a;在请求发送前生成动态数据&#xff0c;如随机数、时间戳等。变量设置&#xff1a;设置…

ABAP OOALV模板

自用模板&#xff0c;可能存在问题 一、主程序 *&---------------------------------------------------------------------* *& Report ZVIA_OO_ALV *&---------------------------------------------------------------------* REPORT ZVIA_OO_ALV.INCLUDE ZVI…