1. 超键、候选键、主键、外键、主属性、最小函数依赖集、无损分解
超键:在关系中能唯一标识元祖的属性集称为关系模式的超键
候选键:不含冗余属性的超键
主键: 用户选作元祖标识的一个候选键
外键:一个表的外键用来指向另一个表的主键
主属性:候选键中的属性
最小函数依赖集:
1)右部单属性
2)消去左边冗余属性
3)消除冗余函数依赖
无损分解:对关系模式分解是,原关系模型下任一合法的关系值在分解之后应能通过自然联接恢复
2. SQL3的触发器
与约束相比,当检测出操作违反约束后,约束机制只能拒绝操作,
而触发器能自动根据条件去执行各种操作,甚至执行与原操作无关的一些操作。
3. 什么叫视图?有什么作用?
定义:
也即虚表,是一组数据的逻辑表示,其本质是对应于一条SELECT语句,结果集即为视图。
视图本身并不包含任何数据,它只包含映射到基表的一个查询语句,
当基表数据发生变化,视图数据也随之变化。
作用:
隐藏了底层的表结构,简化了数据的访问操作;
提供了一个统一访问数据的接口;
加强安全性,使用户只能看到视图所显示的数据;
视图可以被嵌套,一个视图中可以嵌套另一个视图。
4. 什么是游标?有什么作用?
游标:是一个存储在mysql服务器上的数据库查询的结果集;
作用:可以把游标当做一个指针,它可以指定结果中的任何位置,
然后允许用户对指定位置的数据进行处理。
5.数据库的1NF,2NF,3NF,BCNF的定义?
1NF:关系模式R的任一关系r的属性值都是不可分的。
“分量不可再分”
2NF:1NF,每个非主属性对候选键都是完全函数依赖。
“消除非主属性对候选键的部分依赖”
3NF:1NF,且F中的每个非平凡的函数依赖X->Y,都有X是R的超键,
或者Y中的属性都是主属性。
即每个非主属性不传递依赖于主属性。
“消除非主属性对候选键的部分和传递依赖”
BCNF:1NF,且F中的每个非平凡的函数依赖X->Y,都有X是R的超键。
“消除主属性和非主属性对候选键的部分和传递依赖。”
6.什么是inner join(内连接)、left join、right join、笛卡尔积?
inner join:只连接匹配的行;
left join:左边表的全部行,以及右边表中全部匹配的行。
right join:右边表的全部行,以及左边表中全部匹配的行。
笛卡尔积:不使用任何匹配或者选取条件,
而是直接将一个数据源中的每一行与另一个数据源的每个行都一一匹配。
7.什么是索引?它的优缺点是什么?
索引:为了提高表的搜索效率而对某些字段中的值建立的目录。
优点:加快检索速度,加速表和表之间的连接,
显著减少查询中分组和排序的时间。
缺点:增加了数据库的存储空间,在插入和修改数据时要花费较多的时间。
8.B树和B+树的区别?
B树:每个节点都存储key和data,所有节点组成这棵树,
并且叶子节点指针为nul,叶子结点不包含任何关键字信息。
B+树:所有的叶子结点中包含了全部关键字的信息,
及指向含有这些关键字记录的指针,
且叶子结点本身依关键字的大小自小而大的顺序链接,
所有的非终端结点可以看成是索引部分,
结点中仅含有其子树根结点中最大(或最小)的关键字。
9.聚集索引和非聚集索引的区别?
聚集索引:
聚集索引表记录的排序顺序和索引的排列顺序一致,所以查询效率快。
就像依照拼音查同音字一样。
非聚集索引:
非聚集索引指定了表中记录的逻辑顺序,但是记录的物理和索引不一定一致。
就像通过偏旁部首来查询汉字。
10.悲观锁和乐观锁的区别?
悲观锁
先获取锁,再进行业务操作。即“悲观”的认为获取锁是非常有可能失败的,
因此要先确保获取锁成功再进行业务操作。
乐观锁
也叫乐观并发控制,先进行业务操作,不到万不得已不去拿锁。
即“乐观”的认为拿锁多半是会成功的,
因此在进行业务操作需要实际更新数据的最后一步再去拿一下锁就好。
需要响应速度高时采用乐观锁,冲突频率高、重试代价大时使用悲观锁。
11.ER图是什么?
实体联系图(Entity-Relationship),有三个组成部分:实体、属性、联系。
用来进行关系型数据库系统的概念设计。
12.数据库的三级模式结构是什么?
数据库系统的三级模式结构是指数据库系统是由模式(逻辑模式或概念模式)、
外模式(子模式或用户模式)、内模式(存储或物理模式)三级构成。
13.数据库系统的二级映象是什么?
外模式/模式映象(逻辑独立性)、模式/内模式映象(物理独立性)
14.什么是数据库的约束?有几种?
1)数据库约束是防治非法记录的规则
2)NULL/NOT NULL(非空)约束、UNIQUE(唯一)约束、PRIMARY KEY(主键)约束、
FOREIGN KEY(外键)约束、CHECK(检查)约束
15. 什么是数据库的外模式、概念模式、内模式?
1)外模式
外模式用来描述用户看到或者使用那部分的数据的逻辑结构,用户根据外模式用户数据操作语句或者程序去操作数据库中的数据。外模式的主要特点用来描述组成用户视图各个记录的组成、相互联系、数据的完整性和安全性、数据项的特征等。
2)概念模式
概念模式(概念、逻辑模式)用以描述整个数据库中的逻辑结构、用来描述现实生活中的实体,以及它们之间的关系、从而定义记录数据项的完整性约束条件以及记录之间的联系是数据项的框架。
3)内模式
内模式对应物理级数据库,内模式是所有模式中的最底层的表示,不同于物理层,假设外存是一个无限性的地址空间,内模式是存储记录的类型,存储域以及存储记录的物理顺序,指示元索引,和存储路径的等数据的存储组织从而形成一个完整的系统。
16. 数据库优化的方法
1)建表
选取最合适的字段属性(将表的字段宽度设置小一点)
适当的的建立数据库索引
2)语句查询
使用join连接替代子查询
尽量使用 union all 而非 union
where子句尽量避免使用!=或<>操作符
where子句中使用BETWEEN AND,EXISTS,LEFT JOIN替换IN
where子句中=左边尽量不进行函数、算数运算
使用0代替NULL,一般不使用LIKE,避免使用SELECT*
17. 事务的性质
原子性、一致性、隔离性、持久性
18. SQL中的安全机制
1)视图机制,可以用来对无权用户屏蔽数据
2)授权机制,容许有特定存取权的用户有选择地和动态地把这些权限授予其他用户