数据库知识包括哪些

上周,一位客户询问数据库时需要注意什么。
我给他做了一个总结,我发现你的总结很全面。
不过我补充几个我遇到过的案例,免得以后自己迷惑。

先谈谈数据操作。
你的定义就是结局。
本书以2 02 3 年的上海为背景,当时的数据表设计过于随意,同一个用户的地址存储了3 次,用户表、订单表、会员表都挤满了人。
结果当我月底查看报告时,发现注册地址数量是实际用户数量的两倍。
后来才知道更新系统中并没有同时删除重复的文件。
教训是:当你设计表的结构时,不要保留会下沉的冗余,即使第一次开发速度较慢。

您是对的 DBA。
去年我在北京一家电商公司实习时,我的导师老张给DBA端出了三个铁饭碗:第一是业绩本身。
他告诉我,他的系统CPU在双十一的时候猛增到了3 00%,他最终通过改变索引将查询速度提高了8 0%;第二个是备份和恢复,他总是说“备份是DBA的血液”;第三次是经过该机构的许可。
我记得说过“任何人都可以访问数据库,这意味着任何人都可以更改数据库”。

我会给你商业方面的热血。
2 02 2 年我在深圳金融系统工作的时候,由于业务逻辑复杂,我并没有理解隔离级别的原理。
结果,两笔交易同时更新了同一个账户,直接数据算下来就少了5 万元。
之后改为读取可迭代的单层。
虽然系统吞吐量下降了1 0%,但最终还是保持了数据的一致性。
记住,进一步读是最快的,但数据肯定是错的,可重复读是最可靠的,但会是鬼读。
这个要看业务场景。
数据自由的概念很重要。
2 02 1 年我在杭州一家物流策划公司工作时,发现他们的系统在物理上是独立的,我做得很好——办公桌搬到了云服务器上,但应用保持不变。
但逻辑自由却很悲惨。
库存表的结构改变后,上层的整个体系就崩溃了。
因此,逻辑独立性测试应该像考试一样,每一次表结构的改变都要重新测试一次。

内置系统和触发器有一个故事要讲。
2 02 3 年,我帮助广州的一个卖家实施了反现办公系统。
如果库存少于 1 个,订单将被阻止。
我写了一个菜谱,但是任务说不够,要求库存小于3 的时候自动给用户发送分数。
最后我把菜谱改成存储模式,加上提交优惠券的流程,效率就高了很多。
但我也建议您如果可以使用触发器就不要使用存储过程。
毕竟,它使用被动触发器并且信号更清晰。

最后,一些琐碎的新闻。
2 02 2 年,我在成都做医疗系统的时候,发现了一些数据库系统出现漏洞的触发器。
例如,Oracle DML触发器,如果​​在其中放置循环语句,执行时间将成倍增加。
因此,当我编写触发器时,请注意不要在其中纠缠繁重的逻辑。
请改用存储的系统。

否则,数据理论是可靠的。
实践中多进几个坑,你就会逐渐明白应该在哪里撒网捕鱼。
你的总结已经足够好了。
如果你继续申请项目,你一定会更加理解。

数据库面试题基础知识

数据库面试问题涵盖广泛的主题。
数据抽象分为三个层次:内部模式、模式和外部模式。
物理抽象存储细节。
概念抽象描述了数据结构。
视图级抽象为用户提供数据视图。
SQL分为三类:数据定义、数据操作和数据控制。
创建表就是数据定义。
修改表结构就是数据定义。
查询是数据操作。
插入是数据操作。
更新是数据操作。
删除是数据操作。
同意就是数据控制。
取消是数据控制。
视图是一个虚拟表。
视图简化了查询。
请参阅增强的安全性。
用户通过视图操作数据。
完整性约束分为三种类型:实体完整性、参照完整性和用户定义完整性。
唯一的非空主键是实体完整性。
外键引用对于引用完整性有效。
用户定义的规则是用户定义的完整性。
范式分为三个级别:1 NF、2 NF 和 3 NF。
1 NF要求属性是不可分割的。
2 NF 要求非键属性完全依赖于键。
3 NF 需要依赖于候选键的非传递非键属性。
ER模型描述了实体之间的关系。
ER 模型是用实体、属性和关系构建的。
索引提高查询效率。
索引存储订单数据。
极限查询效率log2 (N)。
事务有四个特性:原子性、一致性、隔离性和持久性。
原子性要求全部实现或全部不实现。
一致性需要数据库状态的正确转换。
隔离性要求在提交之前不能将更改提供给其他事务。
持久性要求结果在提交后永久存储。
有两种类型的密钥:共享密钥和共享排除密钥。
共享密钥允许多个事务读取数据。
共享密钥无法修改数据。
互斥锁锁定事务以修改数据。
互斥锁不能被其他事务读取或修改。
两阶段密钥协议分为锁定和解锁阶段。
死锁是等待数据锁的事务循环。
死锁处理具有预防协议和恢复机制。
存储过程是经过编译的 SQL 语句。
存储过程执行效率高。
存储过程确保数据的安全性和完整性。
存储过程语法不是通用的。
存储过程的业务逻辑很难重复。
索引优化有两种:B+树索引和哈希索引。
B+树索引是一种多平衡树。
同一层的B+树节点按顺序相连。
哈希索引使用哈希算法。
哈希索引等价查询有优势。
哈希索引不支持范围查询。
索引失败场景包括函数操作等。

关于文献数据库,这些基础知识你需要知道

这就是坑。
别相信。
不要这样做。