"这篇资料主要涵盖了数据库面试中常见的SQL和Oracle相关问题,旨在帮助求职者准备面试。内容涉及数据抽象、SQL语言的基本组成部分、常用SQL命令、视图、完整性约束、范式理论以及ER模型等核心概念。"
一、数据库基础
在数据库系统中,数据抽象是将复杂的数据存储结构简化为用户易于理解和操作的形式。这包括三个层次:物理抽象(底层存储细节)、概念抽象(逻辑结构)和视图级抽象(用户看到的定制视图)。内模式、模式和外模式分别对应这些抽象层次,是数据库设计中的关键概念。
二、SQL语言
SQL(Structured Query Language)是用于管理关系数据库的标准语言,它包含数据定义、数据操纵和数据控制三大功能。数据定义用于创建、修改和删除数据库对象,如表、索引;数据操纵用于查询、插入、更新和删除数据;数据控制则涉及到权限的授予和撤销。
三、SQL常用命令示例
1. 建表:`CREATE TABLE Student (ID NUMBER PRIMARY KEY, NAME VARCHAR2(50) NOT NULL);`
2. 建视图:`CREATE VIEW view_name AS SELECT * FROM Table_name;`
3. 建索引:`CREATE UNIQUE INDEX index_name ON TableName(col_name);`
4. 插入数据:`INSERT INTO tablename{column1,column2,…} values(exp1,exp2,…);`
5. 更新数据:`UPDATE tablename SET name='zang3' WHERE condition;`
6. 删除数据:`DELETE FROM Tablename WHERE condition;`
7. 授权:`GRANT (Select, delete,…) ON (对象) TO USER_NAME [WITH GRANT OPTION];`
8. 撤权:`REVOKE (权限表) ON (对象) FROM USER_NAME [WITH REVOKE OPTION];`
四、视图
视图是基于一个或多个表的虚拟表,它可以提供数据的不同视图,简化复杂的查询,并可以隐藏部分敏感信息。
五、完整性约束
数据库完整性包括实体完整性(主键不为空)、参照完整性(外键约束确保引用的合法性)和用户定义完整性(自定义的业务规则)。
六、范式理论
1. 第一范式(1NF)要求每个属性不可再分。
2. 第二范式(2NF)在1NF基础上,要求非主属性完全依赖于整个主键。
3. 第三范式(3NF)在2NF基础上,任何非键属性都不传递依赖于任何候选键。
七、ER(实体/联系)模型
ER模型是数据库设计的图形表示,用以描述实体、实体间的联系以及属性,有助于理解数据间的关系。
八、索引的作用
索引能显著提高查询速度,通过创建索引,可以加快数据的查找、排序和连接操作,但也会占用额外的存储空间,并可能影响数据插入、更新和删除的性能。
九、其他未详尽内容
这部分可能包含更多关于数据库的面试题目,如事务处理、并发控制、备份恢复策略、性能优化、Oracle特定特性等,这些也是数据库面试中常考的点。
这份资料为面试者提供了全面的SQL和Oracle基础知识,有助于他们对数据库的理解和应用,从而在面试中表现出色。