-DBA数据库管理员 JAVA程序员架构师必看数据库基础(面试常见题)一、 数据库基础1.数据抽象: 物理抽象、 概念抽象、 视图级抽象,内模式、 模式、 外模式2. SQL语言包括数据定义、 数据操纵(Data Manipulation),数据控制(Data Control)数据定义: Create Table,Alter Table,Drop Table, Craete/Drop Index等数据操纵: Select ,insert,update,delete,数据控制: grant,revoke3. SQL常见命令: CREATE TABLE Student(ID NUMBER PRIMARY KEY,NAME VARCHAR2(50) NOT NULL);//建表CREATE VIEW view_name ASSelect * 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 SWHERE E.SUPERName=S.Name4.视图: 5.完整性约束: 实体完整性、 参照完整性、 用户定义完整性6.第三范式: 1NF:每个属性是不可分的。 2NF:若关系 R是1NF,且每个非主属性都完全函数依赖于 R的键。例 SLC(SID#, CourceID#, SNAME,Grade),则不是 2NF; 3NF:若 R是 2NF, 且它的任何非键属性都不传递依赖于任何候选键。7. ER(实体/联系)模型8.索引作用 9.事务: 是一系列的数据库操作, 是数据库应用的基本逻辑单位。事务性质: 原子性、 λ原子性。即不可分割性, 事务要么全部被执行, 要么就全部不被执行。λ一致性或可串性。事务的执行使得数据库从一种正确状态转换成另一种正确状态λ隔离性。在事务正确提交之前, 不允许把该事务对数据的任何改变提供给任何其它事务, λ持久性。事务正确提交后, 其结果将永久保存在数据库中, 即使在事务提交后有了其它故障, 事务的处理结果也会得到保存。10.锁: 共享锁、 互斥锁两段锁协议: 阶段1: 加锁阶段阶段2: 解锁阶段11.死锁及处理: 事务循环等待数据锁, 则会死锁。死锁处理: 预防死锁协议, ...