1.DBMS是什么?DBMS的功能有些什么?
数据库管理系统,(Database Management System),是一种操纵和管理数据库的大型软件。
数据定义功能(DDL)、数据操纵功能(DML)、数据查询功能DQL、数据控制功能DCL。
2.什么是主键、外键?
①主键:是能确定一条记录的唯一标识,不能重复且不能为空。
②外键:用于与另一张表的关联,是能确定另一张表记录的字段,用于保持数据的一致性。
3.索引是什么?它的优缺点是什么?索引越多越好?索引的类型有哪些?
①索引是一种特殊的查询表,它类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。
②优点:大大加快数据的检索速度。缺点:索引需要占物理空间,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度。
③不是的,索引建立太多会消耗空间,严重拖慢记录的更新以及行记录的新增速度。
④聚集索引、非聚集索引、唯一索引、视图索引、全文索引、XML索引。
4.什么是事务?事务的四大特性?
①事务是用户定义的一个数据库操作序列,这些操作要么做,要么不做,是一个不可分割的工作单位。
②原子性、一致性、隔离性、持久性
原子性:一个事务是一个不可分割的工作单位,事务中包括的诸多操作要么都做,要么都不做。
一致性:事务必须是使数据库从一个一致性状态变到另一个一致性状态,一致性与原子性是密切相关的。
隔离性:一个事务的执行不能被其他事务干扰。
持久性:持久性也称永久性,指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
5.什么是视图?
即虚拟的表,是一组数据的逻辑表示,其本质是对应于一条SELECT语句,结果集被赋予一个名字,即视图名字。
6.什么是范式?请说说数据库的三大范式?
①范式是我们在设计数据库结构过程中所要遵循的规则和指导方法。
②三大范式分别为:第一范式、第二范式、第三范式
第一范式(1NF):数据库表中的每一列不可以在继续细分,换句话说,就是数据库表中没有重复的列。
比如有一个用户信息表【姓名、性别、电话】,假设现实生活中一个人的电话可能有家庭电话、公司电话,那么这个表结构就不符合第一范式,因为电话还可以细分,所以我们可以将这个表改为【姓名、性别、家庭电话、公司电话】
第二范式(2NF):在满足1NF的基础上,要求表中的所有列,都必须依赖于主键,而不能有任何一列与主键没有关系,也就是说一个表只描述一件事情。
比如:订单表只描述订单相关的信息,所以所有字段都必须与订单ID相关 ;而产品表只描述产品相关的信息,所以所有字段都必须与产品ID相 关;因此不能在一张表中同时出现订单信息与产品信息。
第三范式(3NF):在满足第二范式(2NF)基础上,要求表中的每个非关键字不传递依赖于主关键字,(即:表中的每一列只能依赖于主键);
比如:学生关系表为Student(学号, 姓名, 年龄, 所在学院, 学院地点, 学院电话),关键字为单一关键字"学号",因为存在如下关系
(学号) → (姓名, 年龄, 所在学院, 学院地点, 学院电话)
这个数据库是符合2NF的,但是不符合3NF,因为存在如下决定关系:
(学号) → (所在学院) → (学院地点, 学院电话)
即存在非关键字段"学院地点"、"学院电话"对关键字段"学号"的传递函数依赖,所以不满足3NF,我们需要进行修改,如下所示
把学生关系表分为如下两个表:
学生:(学号, 姓名, 年龄, 所在学院);
学院:(学院, 地点, 电话)。
7.什么是等值联接(inner join)、左联接(left join)、右连接(right join)
① 等值联接只返回两个表中联接字段相等的行。
②左联接返回包括左表中的所有记录和右表中联接字段相等的记录。
③右联接返回包括右表中的所有记录和左表中联结字段相等的记录。
8.E-R图是什么?
实体联系图(Entity-Relationship,E-R),有三个组成部分:实体、属性、联系。用来进行关系型数据库系统的概念设计。
实体:用矩形表示,矩形框内写明实体名。
属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。
联系:用菱形表示,菱形框内写明联系名。
ER模型转换为关系模式的原则:
一对一:遇到一对一关系的话,在两个实体任选一个添加另一个实体的主键即可。
一对多:遇到一对多关系的话,在多端添加另一端的主键。
多对多:遇到多对多关系的话,我们需要将联系转换为实体,然后在该实体上加上另外两个实体的主键,作为联系实体的主键,然后再加上联系自身带的属性即可。
9.请问SQL优化方法有哪些?
通过建立索引对查询进行优化
对查询进行优化,应尽量避免全表扫描。
10.数据库的三级模式结构是什么?
数据库系统的三级模式结构是指数据库系统是由模式(逻辑模式或概念模式)、外模式(子模式或用户模式)、内模式(存储模式或物理模式)三级构成。
11.数据库系统的二级映像是什么?
外模式/模式映像(逻辑独立性)、模式/内模式映像(物理独立性)。
12.说下几种常见的数据模型?数据模型的组成要素是什么?
① 关系模型、层次模型、网状模型、面向对象模型
②数据结构、数据操作、数据的完整性约束
13.什么是数据库的约束?有几种?
①数据库约束是防止非法记录的规则。
②NULL/NOT NULL(非空)约束、UNIQUE(唯一)约束、PRIMARY KEY(主键)约束、FOREIGN KEY(外键)约束、CHECK(检查)约束。
14.常见的数据库有哪些?
MySQL、SQL Server、Oracle、Sybase、DB2等。