面试——数据库常问问题

(1)数据库、数据库管理系统、数据库系统有什么区别和联系?

答: 数据库系统(DataABase System)简称DBS,包括数据库(DataBase)简称DB、数据库管理系统(DataBase Management System)简称DBMS、应用系统、数据库管理员(DataBase Administrator)简称DBA。

    DBS是个大的概念,DB是专门存放数据的集合或仓库;DBMS用来操纵和管理DB的软件,用于建立、使用和维护DB,比如Mysql、Oracle就是DBMS,DBA可以通过DBMS对DB进行查询、更新、删除、修改(增删改查)等操作。

(2)什么是数据模型?

答:数据模型是对现实世界数据特征进行抽象的工具,用来描述和处理现实世界中的数据和信息。

数据模型的三要素:数据结构、数据操作和数据完整性规则

    1、数据结构用于描述系统的静态特征,包括数据的类型、内容、性质及数据之间的联系等;

    2、数据操作用于描述系统的动态特征,包括数据的插入、修改、删除和查询等;

    3、数据完整性规则是指对数据及数据之间的联系的约束和存储规则。

(3)什么是关系数据模型?

答:关系数据模型的数据结构是二维表结构。二维表结构清晰、简单、易于理解,也易于计算机实现(存储、操纵和控制)。

(4)什么是记录和字段?

答:二维表中的每一行称为一个记录,描述了关系中一个具体的个体;二维表中的每一列称为一个字段,描述了关系的一个特征。

    记录是组成数据表的基本单位,数据表中的数据是按行存储的。数据表都是由一个或多个列组成的,这些列构成了一个关系的属性集,通过它可以区别不同的二维表。

(5)什么是数据完整性规则?

答:数据完整性是指数据库中存储的数据是有意义的正确的。关系数据模型中数据完整性规则是指对二维表的定义和操作过程遵循某些约束条件。

    数据完整性主要包括:1)实体完整性,指每张数据表都必须有主键,而且表中不允许存在无主键的记录和主键值相同的记录。2)参照完整性,指一张数据表中某列的取值受另一张数据表中某列取值范围的约束,表述了多张表之间的关联关系。3)用户定义完整性,指针对某一具体应用而定义的数据库约束条件,比如限制属性的取值类型及范围。

(6)什么是视图?

答:视图是从一个基本表或是多个基本表导出的表,是一个虚表。在存储时只存储视图的定义,而无需存储对应的数据。

    优点:1)简化数据查询操作,减少数据的冗余(多表查询时,每次编写查询语句会比较烦琐;根据多张表的关系创建新表,若存储起来的话,会造成了数据库中数据的大量冗余);2)提高数据的安全性和保密性(比如一个普通的员工只能看见这个员工表中的姓名和年龄这些信息,但是对于高层来说,他们要看见员工表中更多信息)。

    视图和查询有着本质的区别:1)首先,存储上有区别,视图存储为数据库设计的一部分,而查询不是;2)其次,排序结果不同,通过查询语句可以对一个基本表进行排序,而视图不行。

(7)索引的作用及其优缺点?

答:索引就像书的目录一样,通过目录,我们可以很快找到想要读取的内容。索引本质上是数据结构,是表中一个列或多个列的值进行排序的结构。索引的数据结构,常用B-Tree(Balance Tree 平衡树)。

    优点:加快查询速度

    缺点:一是增加了数据库的存储空间,二是在插入、删除和修改数据时要花费较多的时间(因为索引也要随之变动)。



你可能感兴趣的:(面试——数据库常问问题)