数据库概念性基础知识

【数据库】MySQL概念性基础知识期末复习 选择题 第一章 3 二维表结构……数据模型——关系数据模型 5 描述全部数据整体逻辑结构——模式 6 逻辑数据独立性——模式变,外模式和应用程序不变 7 物理数据独立性——内模式变,外模式和应用程序不变 9 R-(R-S)——R∩S 10 从两个关系笛卡尔积中选取他们属性间满足一定条件的元组——θ连接 11 关系数据模型三要素——关系数据结构、关系操作集合、关系完整性约束 12 连接操作需要取... 阅读详情

1. 各种基本概念

数据:数据库中存储的基本对象

数据库 DB:长期存储在计算机内、可分享的大量数据的集合

数据库管理系统 DBMS:用来管理数据库的软件,如 Oracle、SQL Server、MySQL

数据库系统:由 DB、DBMS、应用程序和数据库管理员组成的存储、管理、处理、维护数据的系统

关系型数据库 RDB:应用最广泛的数据库

结构化查询语言 SQL:专门用于操作 RDB

DBMS 负责执行 SQL 语句,通过执行 SQL 语句来操作 DB 当中的数据

2. 数据模型

两类数据模型:概念模型(信息模型);物理模型和逻辑模型

数据模型通常由数据结构、数据操作、数据的完整性约束三部分组成

  • 数据结构:所研究的对象类型的集合
  • 数据操作:对数据库中的对象允许执行的操作的集合
  • 数据的完整性约束:实现数据库完整性规则的集合

常见的数据模型有:层次型、网状型、关系型….

3. 关系模型

关系完整性约束分为:实体完整性、参照完整性、用户定义的完整性约束

  • 实体完整性:每个关系有且仅有一个主键,每个主键值必须唯一,不允许为 null(主键)
  • 参照完整性:不允许引用不存在的实体(外键)
  • 用户定义的完整性:用户可以针对具体数据约束,设置完整性规则

4. 数据库的设计

第一范式:数据库表的每一列都是不可分割的原子数据项,即列不可拆分

第二范式:建立在第一范式的基础上,要求数据库表中的每个实例或记录必须是可以被唯一区分的,即唯一标识

第三范式:建立在第二范式的基础上,任何非主属性不依赖于其他非主属性,即引用主键

5. 数据库索引

数据库索引是 DBMS 中一个排序的数据结构,来协助快速查询、更新数据库表中数据

索引的实现通常使用 B 树或 B+ 树,B 树索引加快了数据访问,因为存储引擎不会再去扫描整张表去得到需要的数据;相反,它是从根节点开始,根节点保存了子节点的指针,引擎根据指针就能快速寻找到数据

6. 数据库结构

表:由行和列组成的二维表

字段:表的列(垂直方向)

记录:表的行(水平方向)

  • 关系数据库必须以行为单位进行数据读写

单元格:行列交汇处,一个单元格只能输入一个数据
在这里插入图片描述

7. SQL 语句种类

DDL 数据定义语言:create drop alter,对表结构的增删改

DQL 数据查询语言:凡是有 select 语句都是 DQL

DML 数据操作语言:insert delete update,对表当中的记录进行增删改

DCL 数据控制语言:commit 提交事务、rollback 回滚事务、grant 授权、revoke 撤销权限

8. 基础操作

关键字功能
create创建
delete、drop删除
alter、update更改
where加筛选条件
distinct去重
as更名
like模糊查询
order byasc 升序(默认)、desc 降序
between…and…属性值介于某个范围内
group by分组聚焦 聚集函数:avg、min、max、sum、count
having出现 group by 时使用
in、not in用于枚举集合

insert into 关系名 values(每个属性对应的值)

update 关系名 set 语句 where 条件

alter table 关系名 add 新属性 数据类型 / alter table 关系名 drop 属性

9. SQL 的 select 语句完整的执行顺序

完整的执行顺序:

1.from:组装来自不同数据源的数据

2.where:基于指定的条件对记录行进行筛选

3.group by:将数据分为多个分组

4.使用聚集函数计算

5.having:再筛选分组

6.select

7.order by:对结果进行排序

在大多数数据库语言中,代码按编码顺序被处理,但是在 SQL 语句中,第一个被处理的子句式是 from,不是第一个出现的 select

10. Mysql 数据库中的事务

事务具有以下特性:

1.原子性:要么全部完成,要么都不执行

2.一致性:几个并行执行的事务,执行结果必须和按照某一顺序串行执行的结果一致

3.隔离性:事务的执行不受其他事务的干扰

4.持久性:对于提交了的事务,系统必须保证事务对数据库的改变不被丢失

11. sql 注入是如何产生的 如何防止?

开发过程中不注意规范书写 sql 语句和对特殊字符进行过滤,导致客户端可以通过全局变量 POST 和 GET 提交一些 sql 语句正常执行,产生 sql 注入

防止方法如下:

1.对用户的输入进行校验,可以通过正则表达式,或限制长度,对单引号和双-进行转换等

2.不要使用动态拼装 SQL,可以使用参数化的 SQL 或者直接使用存储过程进行数据查询存取

3.加密或者 hash 掉密码和敏感的信息

4.不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接

浅谈数据库,数据仓库,数据中台 数据库,数据仓库,数据中台这些关于数据的概念性的东西,对于初学者来讲,非常容易混淆。 在使用计算机的过程中,我们经常会遇见需要进行数据存储的场景,比如,通讯录数据,进销存数据。在数据量不是特别大的时候,我们通常采用excel文件形式、txt文件、word文档等形式来存储数据。当数据量越来越大时,这种个人常用的数据存储方式会变得不太方便更新,不方便查询等,因此,需要一种数据管理工具,对这些零散的数据进行管理。 一、数据库 数据库以一定的方式将数据存储在一起的、能提供给多个用户共享的数据集合。它给用户提供 阅读详情

相关推荐

《数据仓库工具箱:维度建模的完全指南》笔记总结

此篇是关于本书的读书笔记总结,因为在这方面的理解还是比较初级的状态,有误之处还望指教。   个人认为这本书对于数据仓库的建模思路有一个很明确的描述:围绕事实表建立维度表。对数据仓库的建设有关键步骤上的指点:      四步流程:      1. 确定业务流程      2. 确定粒度      3. 确定维度      4. 确定事实表 另外一方面,由于这本书的出版时间大约在200

linpingta的专栏 6120

先上java笔试题,面试题咯4

题库 共有1000万套 当前位置:首页 >>IT >> Java java程序员Spring概念性面试题 69 类别:Java 发布时间:2011-02-20来源:知道 年份:2011进入 最新java高级工程师面试题 203 类别:Java 发布时间:2011-02-15来源:sptrs 年份:2011

situ7886的专栏 559

Windows 11任务管理器隐藏技能:一眼揪出内存泄漏的“元凶”(分页/非分页缓冲池详解)

本文详细介绍了Windows 11任务管理器中隐藏的分页缓冲池和非分页缓冲池功能,帮助用户精准定位内存泄漏问题。通过启用隐藏列、解读数据异常信号,并结合实战案例和高级工具推荐,为开发者和IT运维人员提供了高效的内存问题诊断与解决方案。

weixin_29284885的博客 630

Entity Framework 学习初级篇1--EF基本概况

原文:http://www.cnblogs.com/xray2005/archive/2009/05/07/1452033.htmlEntity Framework 学习初级篇1--EF基本概况 最近在学习研究微软的EF,通过这时间的学习研究,感觉这个EF目前来说还不是很完善,半成品。不过,据说在.Net4.0中,微软将推荐使用此框架,并会有所改善。而且,现在基本上所有数据库均...

weixin_30878361的博客 63

携程酒店数据爬取进阶:动态接口破解与反反爬策略实战

本文详细解析了携程酒店数据爬取的进阶技巧,包括动态接口参数破解、反爬虫策略对抗及企业级采集方案实现。重点介绍了eleven参数的生成逻辑、动态Cookie维护方法,以及如何应对携程的请求指纹检测和行为模式识别。通过实战案例,帮助开发者高效获取酒店价格数据,同时遵守行业规范。

eee77的博客 1081

【项目分享】RailTracker: 火车票务数据采集与分析

从12306使用爬虫爬取火车站及车次信息、火车票价 通过本项目,我们将带领访问者手把手完成火车票数据采集、数据清洗、数据集成、可视化的一整个流程!

zhushatong的博客 3345

java实现操作系统算法_美团Java三面面经:算法+网络+操作系统+数据库+源码

在上个礼拜面试了美团,时间线间隔2天,可能由于本人不是科班出身,面试的时候概念题比较多,一面的时候还出现了很多智力题,有想要去美团的小伙伴可以按照我这个逻辑进行复习,文末也有复习资料分享!美团一面:跳表优点进城线程区别统计pvcasmysql索引(为什么使用b+树 innodb的hash)限流算法 guava的ratelimiter采用哪种3升杯子和5升杯子求4升的水 多方案一副扑克牌放在手上 顺...

weixin_39581719的博客 156

Mathtype公式下标深度调整技巧:解决固定行距下的显示不全问题

本文针对在Word等文档中设置固定行距时,Mathtype公式下标显示不全的问题,提供了专业解决方案。核心在于调整Mathtype软件内部的“下标深度”参数,通过修改单个公式或批量格式化全文,使公式完美适配固定行距,确保下标清晰完整,且不影响文档整体排版。

pepsi的博客 1503

数据库 & 数据仓库 & 数据集市的区别

一、数据库(OLTP) 包括常见的关系型数据库(行式存储):Mysql、SqlServer、Oracle 常见的非关系型数据库(列式存储):HBase、ES、Redis、Druid等 常见的关系型数据库和非关系型数据及其区别 OLTP:on-line transaction processing,联机事务处理,指关系型数据库,偏向于存储,侧重事务处理;使用行式存储数据库。 ps:数据库的...

攻城狮Kevin 4817

CANoe数据回放实战:如何用Replay Block精准复现实车故障(附ECU数据处理技巧)

本文深入探讨了利用CANoe的Replay Block功能进行数据回放,以精准复现实车偶发性故障的实战方法。文章重点解析了从原始OBD日志中移除目标ECU数据、转换报文方向等核心数据处理技巧,旨在帮助工程师重构真实的网络测试环境,从而高效定位并解决复杂的ECU问题。

nnn11的博客 496

Zemax实战:20×超高清变焦镜头设计全流程解析(从架构到制造)

本文详细解析了使用Zemax软件设计一款20倍变焦比、恒定F2.8光圈8K超高清镜头的全流程。从应对恒定光圈、宽光谱与8K解析力三大挑战的初始架构规划,到构建多重组态模型、分七阶段进行像差优化与公差分析,最终跨越制造鸿沟,为广播级影视与高精度工业检测应用提供了实战指南。

sun99的博客 552

概念性——数据库简介

这篇概念性文章介绍了许多数据库主题。它简要概述了云计算背景下的数据库,并重点介绍了数据库设计和功能的一些核心概念。它还包含整个相关概念和程序教程的链接。

一起学习一起进步~ 1215

安全与加密常识(10)linux系统证书管理

1. 将自定义CA证书(如my-ca.crt)放到源目录# 2. 编辑配置文件,启用该证书(末尾添加一行 my-ca.crt)# 3. 执行命令同步(核心工作环节)# 4. 验证结果:检查是否生成哈希链接和合并到证书束ls /etc/ssl/certs/my-ca.pem # 证书文件ls /etc/ssl/certs/$(openssl x509 -hash -noout -in /usr/share/ca-certificates/my-ca.crt).0 # 哈希链接。

二进制君 287

MyBatis概念性面试题整理汇总

MyBatis常见的概念性面试题 一、概念性填空题 1、#{}和$ {}的区别是什么?#{}是_____,${}是_____。 正确答案: 预编译处理 字符串替换 2、四个核心接口是()用于执行CRUD操作、()处理SQL的参数、()处理返回结果集、()用于执行SQL语句。 正确答案:1.Executor 2.ParameterHandler 3.ResultSetHandler 4.Statem...

wst20000701的博客 1394

手把手教你玩转服务器芯片架构​专栏--​​3.5 实战案例:用SystemC搭建一个多核服务器芯片的NoC模型(含流量分配与延迟仿真)​

通过SystemC搭建多核NoC模型,可深入验证流量分配策略与延迟特性。实际工程中需结合FPGA原型验证(如Xilinx Alveo)进行时序收敛分析,并通过参数化设计适配不同服务器芯片需求。

MHD0815的博客 3047

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

[DB]有关数据仓库

由于工作需要,最近在弄数据库相关的项目,对于很多地方不甚了解,特别是一些概念性的东西,知其然而不知其所以然,这里列出一些基本知识,做个印记,也和读者共享。数据仓库:    数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于

CUbuntu 734

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

MyBatis概念性面试题汇总

MyBatis概念性面试题整理汇总MyBatis常见的概念性面试题一、概念性填空题1、#{}和$ {}的区别是什么?#{}是_____,${}是_____。2、四个核心接口是()用于执行CRUD操作、()处理SQL的参数、()处理返回结果集、()用于执行SQL语句。3、MyBatis中提供了一级缓存和二级缓存,其中()默认存在,不可控制,同一SqlSession范围内的操作共享该缓存,增、删、改后...

Dokilililiya的博客 995

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

数据仓库基础1-维度模型

数仓避坑指南-搞懂维度模型

数据产品小lee 2729

【转Oracle补丁】老托的Oracle 数据库Patch概念性小常识

【转Oracle补丁】老托的Oracle 数据库Patch概念性小常识 老托的Oracle 数据库Patch概念性小常识,初学者可以参考该图 来了解Oracle中 补丁的分类知识, 感谢Oracle ALLSTARS群中的老托同学的分享。 也可以点击这里下载老托的Oracle 数据库Patch概念性小常识   名称 说明

haiross的专栏 1309

什么是Database Schema

翻译自:https://database.guide/what-is-a-database-schema/ 用数据库术语来说,schema(读作“ skee-muh”或“ skee-mah”)是数据库的组织和结构。schemas和schemata都可以用作其复数形式 schema包含的对象可以是表,列,数据类型,视图,存储过程,关系,主键,外键等。 A database schema可以用可视化的图表表示,下面的图表显示了数据库对象及其相互之间的关系。 一个小型的包含三个表的数据库的基本架构图 上面是一个

码行天下 6652

数据仓库基础知识~

数据仓库的一些基本知识 由于工作需要,最近在弄数据库相关的项目,对于很多地方不甚了解,特别是一些概念性的东西,知其然而不知其所以然,这里列出一些基本知识,做个印记,也和读者共享。 数据仓库:     数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time

Jige的菜鸟进化史~ 799

MyBatis常见的概念性面试题汇总

@MyBatis概念性面试题整理 MyBatis常见的概念性面试题 一、概念性填空题 1、#{}和$ {}的区别是什么?#{}是_____,${}是_____。 2、四个核心接口是()用于执行CRUD操作、()处理SQL的参数、()处理返回结果集、()用于执行SQL语句。 3、MyBatis中提供了一级缓存和二级缓存,其中()默认存在,不可控制,同一SqlSession范围内的操作共享该缓存,增、...

Dokikilililiya 4384

Oracle 数据库Patch概念性小常识

Release¤ 标准产品发布。如Oracle Database 10g Release 2的第一个发行版本为10.2.0.1,可以在OTN、edelivery等站点上公开下载PatchSetRelease¤ 就是早期大家常说的PSR。这是在主版本号上发布的补丁集,修复了较多的Bug,可能会包含一些增强功能(Enhancement)。比如11.2.0.1是一个主版本,那么...

weixin_34153893的博客 479

漫谈数据仓库之维度建模

0x00 前言 下面的内容,是笔者在学习和工作中的一些总结,其中概念性的内容大多来自书中,实践性的内容大多来自自己的工作和个人理解。由于资历尚浅,难免会有很多错误,望批评指正! 概述数据仓库包含的内容很多,它可以包括架构、建模和方法论。对应到具体工作中的话,它可以包含下面的这些内容: 以Hadoop、Spark、Hive等组建为中心的数据架构体系。 各种数据建模方法,如维度建模。 调度系统、元数

木东居士 2万+

由于生成一个完整的购物商城代码涉及到多个模块、数据库交互和前端展示,这里我将为你提供一个简化的概念性示例

由于生成一个完整的购物商城代码涉及到多个模块、数据库交互和前端展示,这里我将为你提供一个简化的概念性示例,分别用 Python(后端,如使用 Flask 框架)、JavaScript(前端,如使用 React)、和 SQL(数据库)来描述。由于生成一个完整的购物商城代码涉及到多个模块、数据库交互和前端展示,这里我将为你提供一个简化的概念性示例,分别用 Python(后端,如使用 Flask 框架)、JavaScript(前端,如使用 React)、和 SQL(数据库)来描述。# 假设数据库操作(这里省略)

PhoebeDutt的博客 1111
上一篇: Javascript进阶内容
下一篇: 简述事件循环机制
ZoeLandia
博客等级 码龄6年 734粉丝 183原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值