| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 数据库知识总结-面试篇 -> 正文阅读 |
|
[大数据]数据库知识总结-面试篇 |
一、 关系数据库语言的种类关系数据库的语言分为三类,它们是: (2)数据操纵语言DML(Data Manufacturing Language),例如SELECT,INSERT,UPDATE,DELETE; (3)以及数据控制语言DCL(Data Control language),例如GRANT,RMOVE,COMMIT,ROLLBACK。 而SQL是集DDL、DML、DCL为一体的标准关系数据库语言。其中DDL数据定义语言用于定义和管理SQL数据库中的所有对象的语言;DML数据操纵语言,SQL中处理数据等操作统称为数据操纵语言。
二、 SQL和T-SQL的联系与区别参考链接一 总结: 三、数据库的种类早期较为时兴的数据库种类有三种,分别是层次式数据库、网络式数据库和关系型数据库。 3.1 关系型数据库1概念: 2优点 (2)使用方便,通用的sql语句使得操作关系型数据库非常方便。 (3)易于维护,数据库的ACID属性,大大降低了数据冗余和数据不一致的概率。 3.瓶颈 (1 )海量数据的读写效率。 (2) 高扩展性和可用性。 SQL, Mysql, SQL Server, Oracle 之间的区别与联系SQL:结构化查询语言,本质是编程语言。Mysql, SQL Server, Oracle (1)Oracle:商用关系型数据库。由于其诞生早、结构严谨、高可用、高性能等特点,使其在传统数据库应用中大杀四方,金融、通信、能源、运输、零售、制造等各个行业的大型公司基本都是用了Oracle,早些年的时候,世界500强几乎100%都是Oracle的用户。 (2)SQL Server:商用关系型数据库。MS SQL Serve(mssql)是一整套数据解决方案,主要面向中小企业。Sybase则专注于Linux/Unix方向的数据库开发。MS SQL Server主要面向中小企业。其最大的优势就是在于集成了MS公司的各类产品及资源,提供了强大的可视化界面、高度集成的管理开发工具。 (3)Mysql:开源数据库,简便易用。mysql是单纯的数据库存储。09年,Oracle收购了Sun和MySQL。 2.2非关系型数据库NoSQL非关系型数据库,主要指那些非关系型的、分布式的,且一般不保证ACID的数据存储系统,主要代表MongoDB,Redis、CouchDB。
数据库应用范畴事实上,数据库的应用不仅仅局限于数据存储,而是致力于提供一套完整的数据存储、管理以及应用方案。其一个典型的应用场景如:ERP。
四、什么是事务事务(Transaction)是并发控制的基本单位,只有关系型数据库中有事务的概念,非关系型数据库中没有。所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。 事务具有四个特性:ACID 原子性(Atomic):事务中包含的操作看做一个逻辑单元,这个逻辑单元要么全做,要么全不做。 一致性(consistency):数据库从一个一致性状态变为另一个一致性状态。(针对的是数据存储的数据除以一致性状态) 隔离性(isolation):隔离性是指可能有许多事务同时处理相同的数据,因此,每个事务都应该与其他事务隔离开来,防止数据被破坏。 持久性(durability):持续性是指一旦事务完成,无论发生什么系统错误,它的结果都不应该受到影响,这样就能从任何系统崩溃中恢复过来。 五、什么是存储过程?有哪些优缺点?存储过程是一些预编译的SQL语句。
六、什么是索引?有什么作用以及优缺点?索引是对数据库表中一或多个列的值进行排序的结构,是帮助MySQL高效获取数据的数据结构。 MySQL数据库几个基本的索引类型:普通索引、唯一索引、主键索引、全文索引 索引加快数据库的检索速度 数据库中索引类型 七、数据库的范式第一范式(1NF):数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。 第二范式(2NF):满足第一范式的前提,数据库的所有非主属性都完全依赖于任何一个候选码(不存在部分函数依赖)。 第三范式(3NF):在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。如果关系模式满足第三范式,那么它的所有非主属性既不传递函数依赖于码,也不部分函数依赖于码。 BC范式 多值依赖 第四范式 八、视图什么是视图?以及视图的使用场景有哪些? 视图是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,试图通常是有一个表或者多个表的行或列的子集。对视图的修改不影响基本表。它使得我们获取数据更容易,相比多表查询。
九、数据库中的锁锁存在的意义-应对mysql并发情况下引起的事务的安全问题脏读:一个事务读取另一个事务未提交的问题 不可重复读: 在同一事务中,两次读取同一数据,得到内容不同 幻读:同一事务中,用同样的操作读取两次,得到的记录数不相同 MVCC是指多版本并发控制。MVCC是在并发访问数据库时,通过对数据进行多版本控制,避免因写锁而导致读操作的堵塞,从而很好的优化并发堵塞问题。 解决脏读 修改时加排他锁(写锁),直到事务提交后才释放,读取时加共享锁(读锁),其他事务只能读取,不能再有更新操作 。防止脏读。 解决不可重复读 解决幻读 按锁粒度分类行级锁,表级锁,页级锁 (1)行级锁 特点:开销大,加锁慢,会出现死锁。发生锁冲突的概率最低,并发度也最高。 (2)表级锁 特点:开销小,加锁快,不会出现死锁。发生锁冲突的概率最高,并发度也最低。 (页级锁) 特点: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 0:38:12- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |