zoukankan      html  css  js  c++  java
  • 常见的数据库基础面试题大全

    1. 数据抽象:物理抽象、概念抽象、视图级抽象,内模式、模式、外模式
    2. SQL语言包括数据定义、数据操纵(Data Manipulation),数据控制(Data Control)
    数据定义:Create Table,Alter Table,Drop Table, Craete/Drop Index等
    数据操纵:Select ,insert,update,delete,
    数据控制:grant,revoke
    3. SQL常用命令:
    CREATE TABLE Student(
    ID NUMBER PRIMARY KEY,
    NAME VARCHAR2(50) NOT NULL);//建表
    CREATE VIEW view_name AS
    Select * FROM Table_name;//建视图
    Create UNIQUE INDEX index_name ON TableName(col_name);//建索引
    INSERT INTO tablename {column1,column2,…} values(exp1,exp2,…);//插入
    INSERT INTO Viewname {column1,column2,…} values(exp1,exp2,…);//插入视图实际影响表
    UPDATE tablename SET name=’zang 3’ condition;//更新数据
    DELETE FROM Tablename WHERE condition;//删除
    GRANT (Select,delete,…) ON (对象) TO USER_NAME [WITH GRANT OPTION];//授权
    REVOKE (权限表) ON(对象) FROM USER_NAME [WITH REVOKE OPTION] //撤权
    列出工作人员及其领导的名字:
    Select E.NAME, S.NAME FROM EMPLOYEE E S
    WHERE E.SUPERName=S.Name
    4. 视图:
    5. 完整性约束:实体完整性、参照完整性、用户定义完整性
    6. 第三范式:
    1NF:每个属性是不可分的。 2NF:若关系R是1NF,且每个非主属性都完全函数依赖于R的键。例SLC(SID#, CourceID#, SNAME,Grade),则不是2NF; 3NF:若R是2NF,且它的任何非键属性都不传递依赖于任何候选键。
    7. ER(实体/联系)模型
    8. 索引作用
    9. 事务:是一系列的数据库操作,是数据库应用的基本逻辑单位。事务性质:原子性、
    ? 原子性。即不可分割性,事务要么全部被执行,要么就全部不被执行。
    ? 一致性或可串性。事务的执行使得数据库从一种正确状态转换成另一种正确状态
    ? 隔离性。在事务正确提交之前,不允许把该事务对数据的任何改变提供给任何其他事务,
    ? 持久性。事务正确提交后,其结果将永久保存在数据库中,即使在事务提交后有了其他故障,事务的处理结果也会得到保存。
    10. 锁:共享锁、互斥锁
    两段锁协议:阶段1:加锁阶段 阶段2:解锁阶段
    11. 死锁及处理:事务循环等待数据锁,则会死锁。
    死锁处理:预防死锁协议,死锁恢复机制
    12. 存储过程:存储过程就是编译好了的一些sql语句。
    1.存储过程因为SQL语句已经预编绎过了,因此运行的速度比较快。
    2. 可保证数据的安全性和完整性。通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性。
    3.可以降低网络的通信量。存储过程主要是在服务器上运行,减少对客户机的压力。
    4:存储过程可以接受参数、输出参数、返回单个或多个结果集以及返回值。可以向程序返回错误原因
    5:存储过程可以包含程序流、逻辑以及对数据库的查询。同时可以实体封装和隐藏了数据逻辑。  
    13. 触发器: 当满足触发器条件,则系统自动执行触发器的触发体。
    触发时间:有before,after.触发事件:有insert,update,delete三种。触发类型:有行触发、语句触发
    14.内联接,外联接区别?
    内连接是保证两个表中所有的行都要满足连接条件,而外连接则不然。
    在外连接中,某些不满条件的列也会显示出来,也就是说,只限制其中一个表的行,而不限制另一个表的行。分左连接、右连接、全连接三种
  • 相关阅读:
    Reddit 转载 Drunk Post: Things I've learned as a Sr Engineer
    算法28 30 二叉树非递归遍历(前中后)
    C++ 子类构造函数初始化列表与基类关系
    算法31 leetcode102 二叉树的层序遍历
    C++由数组构建二叉树指针
    windows下编译源代码安装软件
    算法27 leetcode101 对称二叉树
    算法31 88. 合并两个有序数组
    c++:const修饰指针
    c++ 正则实现 千分位分割
  • 原文地址:https://www.cnblogs.com/wuxiang/p/3995335.html
Copyright © 2011-2022 走看看