当前位置: 首页 > news >正文

高淳城乡建设局网站企业所得税多少钱起征

高淳城乡建设局网站,企业所得税多少钱起征,网站建设推广费怎么做账,贵阳平面设计公司文章目录 前言一、ORM框架二、ACID原则三、事务Transaction四、N1问题五、Normalization三范式六、FMEA方法论(Failure Mode and Effects Analysis)七、Profiling和PerformanceSchema查询分析 前言 基础理论 ORM框架、ACID原则、事务Transaction、N1问…

文章目录

  • 前言
  • 一、ORM框架
  • 二、ACID原则
  • 三、事务Transaction
  • 四、N+1问题
  • 五、Normalization三范式
  • 六、FMEA方法论(Failure Mode and Effects Analysis)
  • 七、Profiling和PerformanceSchema查询分析


前言

基础理论

ORM框架、ACID原则、事务Transaction、N+1问题、Normalization三范式、FMEA方法论(Failure Mode and Effects Analysis)、Profiling和PerformanceSchema查询分析等


一、ORM框架

ORM全称为对象关系映射(Object-Relational Mapping),是一种将对象模型和关系数据库之间进行映射的技术。
它的主要目的是为了简化开发人员在应用程序中访问数据库的过程,通过将面向对象的语言中的对象和类转化为关系型数据库中的表和行,使得开发人员可以使用面向对象的思维来操作数据库。

  1. 分类有三种:
  • 基于数据查询的ORM:通过将数据库查询结果映射为对象,以实现数据的读取、过滤和转换。
  • 基于对象操作的ORM:通过将对象转化为对应的SQL语句,以实现数据的增删改查操作。
  • 基于事务的ORM:通过将对象操作组合为一个事务,以确保数据的一致性和完整性。
  1. 优势:
  • 简化数据库操作:ORM工具隐藏了底层数据库的细节,使开发人员可以更加专注于业务逻辑的实现,而不必关心数据库操作的细节。
  • 提高开发效率:ORM工具自动生成数据库操作的代码,减少了手动编写SQL语句的工作量,同时还提供了很多常用的操作方法和功能,加快了开发速度。
  • 提高代码的可维护性:ORM工具将数据库操作和业务逻辑代码分离,使得代码更加清晰和易于维护。
  • 跨数据库的支持:ORM工具可以屏蔽不同数据库之间的差异,开发人员可以在不同的数据库之间切换而无需修改代码。
  • 提供缓存和性能优化:ORM工具通常具有缓存机制和性能优化功能,可以提高数据库查询的效率和性能。
  1. 应用场景:
  • Web应用开发:ORM工具可以方便地与前端开发技术(如HTML、CSS、JavaScript)结合,用于开发各种类型的Web应用。
  • 移动应用开发:ORM工具可以用于移动应用的后端开发,实现与数据库的交互。
  • 数据分析与报表生成:ORM工具可以用于从数据库中提取数据,并进行统计分析和报表生成。
  • 企业级应用开发:ORM工具可以与其他企业级框架(如Spring、Hibernate等)结合使用,实现大规模企业应用的开发和管理。

二、ACID原则

ACID 是用来描述数据库事务的属性。反过来说,满足 ACID 属性的一系列数据库操作被称为事务。

  • 原子性((Atomicity)事务是一个不可分割的最小操作单元,其对数据的修改,要么全都执行,要么全都不执行。意味着 “全有或全无”(All or Nothing)。
  • 一致性(Consistency):在事务开始和完成时,数据都必须保持一致状态。意味着数据库总是从一个一致性的状态转换到另外一个一致性的状态。。
  • 隔离性(Isolation)事务通常来说是不可见的,保证事务在不受外部并发操作影响的独立环境下运行。意味着一个事务所做的修改在最终提交以前,对其他事务是不可见的。
  • 持久性((Durability):事务完成之后,它对于数据的修改是永久性的,即使出现系统故障也能够保持。

下图解释了 ACID 在数据库事务中的含义。
ACID
对于单个节点的事务,数据库都是通过并发控制和恢复机制(日志技术)保证事务的ACID特性。
对于跨多个节点的分布式事务,通过两阶段提交协议(two phase commiting)来保证事务的ACID。

神书 DDIA (Designing Data Intensive Applications) 中关于 ACID 有几点很好的见地,值得我们思考:

  • 一致性其实是应用程序的责任,而不是数据库的职责范围。应用程序可以使用原子性和隔离来保证数据的一致性。而数据库系统只能保证各种数据库规则被执行了。
  • ACID 四个属性中只有隔离是用来描述并发情况的,原子性并不描述并发情况。
  • 各个弱隔离级别都会带来一些限制,我们需要清楚其底层机制。

三、事务Transaction

什么是事务?
事务是一组操作的集合,事务会把所有操作,作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败

事务的特性:
数据库事务特性:原子性(Atomic)、一致性(Consistency)、隔离性(Isolation)、持久性(Durabiliy)。简称ACID

基本操作:

-- 查看事务提交方式
SELECT @@AUTOCOMMIT;
-- 设置事务提交方式,1为自动提交,0为手动提交,该设置只对当前会话有效
SET @@AUTOCOMMIT = 0;
-- 提交事务
COMMIT;
-- 回滚事务
ROLLBACK;

未开启事务:
模拟sql语句错误,此语句出错后张三钱减少但是李四钱没有增加

-- 1. 查询张三账户余额
select * from account where name = '张三';
-- 2. 将张三账户余额-1000
update account set money = money - 1000 where name = '张三';
-- 3. 将李四账户余额+1000
update account set money = money + 1000 where name = '李四';

开启事务:

START TRANSACTIONBEGIN TRANSACTION;
-- 设置手动提交后上面代码改为:
start transaction; 
select * from account where name = '张三';
update account set money = money - 1000 where name = '张三';
update account set money = money + 1000 where name = '李四';
commit;

开启事务后,只有手动提交才会改变数据库中的数据。

并发事务:

问题描述
脏读一个事务读到另一个事务还没提交的数据
不可重复读一个事务先后读取同一条记录,但两次读取的数据不同(两次读取之间,有其他事务提交了导致)
幻读一个事务按照条件查询数据时,没有对应的数据行,但是再插入数据时,又发现这行数据已经存在

并发事务隔离级别:

隔离级别脏读不可重复读幻读
Read uncommitted 读未提交
Read committed 读已提交×
Repeatable Read(默认) 可重复读××
Serializable 串行化×××

√表示在当前隔离级别下该问题会出现
Serializable 性能最低;Read uncommitted 性能最高,数据安全性最差

查看事务隔离级别:

SELECT @@TRANSACTION_ISOLATION;

设置事务隔离级别:

SET [ SESSION | GLOBAL ] TRANSACTION ISOLATION LEVEL {READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE };

SESSION 是会话级别,表示只针对当前会话有效,GLOBAL 表示对所有会话有效

拓展:

  • 在SQL语句之后加上\G会将结果的表格形式转换成行文本形式
  • 查看Mysql数据库占用空间:
SELECT table_schema "Database Name", SUM(data_length + index_length) / (1024 * 1024) "Database Size in MB"
FROM information_schema.TABLES
GROUP BY table_schema;

四、N+1问题

五、Normalization三范式

三范式是具有最小冗余的表结构。具体如下:

  1. 第一范式(1st NF -列不可再分,原子性

第一范式的目标是确保每列的原子性,每列都是不可再分的最小数据单元(也称为最小的原子单元)。
1st NF
2. 第二范式(2nd NF-记录的唯一性约束,主键约束 )

第二范式要求每个表只描述一件事情。满足第一范式,并且表中非主键列不存在对主键的部分依赖
2nd NF
3. 第三范式(3rd NF- 字段冗余性的约束,外键约束

第三范式定义是,要求字段无冗余。满足第二范式,并且表中的列不存在对非主键列的传递依赖
除了主键订单编号外,顾客姓名依赖于非主键顾客编号。
3rd NF

六、FMEA方法论(Failure Mode and Effects Analysis)

七、Profiling和PerformanceSchema查询分析

http://www.yayakq.cn/news/208674/

相关文章:

  • 金融网站 改版方案wordpress采集 知乎
  • 必须网站的访问量梓潼移动网站建设
  • 厚街网站建设专业的微网站公司
  • 如何用电子邮箱做网站国内大事件最新新闻
  • 广西住房和城乡建设厅培训中心网站首页wordpress支付宝
  • 可做易企秀的网站企业网站建设ppt模板
  • 微信怎么有wordpressseo手机关键词排行推广
  • 网站建设公司做前端加强社区网站建设
  • 网站开发书百度云网站建设与管理专业
  • 做邀请函好的网站wordpress外汇主题
  • 社区微网站建设方案佛山市网站建设系统
  • 账号注册网站云梦建站
  • 做ppt图片用的网站有哪些在线刷seo
  • 做兼职网站的主要参考文献整合营销英文
  • e时代速递搜索引擎网站建设百度运营怎么做
  • 阿里巴巴网站谁做的3d游戏制作软件
  • 建房城乡建设部网站怎么浏览英文网站
  • wordpress 后台栏目山东网站seo公司
  • 连云港网站建设案例去掉wordpress版权
  • 中学建设校园网站方案做平面的公司网站
  • 还能电子商务网站建设网站分析内容
  • 合肥网站建设卫来科技阿里云 网站根目录
  • 额尔古纳网站建设价格做个网页大概多少钱
  • wordpress站点迁移网站建设整体情况介绍
  • wordpress图片怎么居中玉林做网站优化推广
  • 网上购物的网站开发背景软件开发文档免费
  • 会用wordpress建站c2c有哪些网站
  • 网站建设方案合同使用django建设一个网站
  • 一般公司做网站多少钱php开源建站系统
  • 网站开发 先做前端吗凡科互动h5