关系型数据库(八),数据库其他面试题

目录

1.SQL语句的功能有那些

2.内连接和外连接的区别

3.什么是存储过程,它与函数有什么区别?

4.各种范式级别

5.什么是触发器

八、数据库其他面试题

1.SQL语句的功能有那些

1)数据查询

  Select-选择符合条件的记录

2)数据操纵

  Insert-插入一条记录

  Update-更新记录

  Delete-删除记录

3)数据定义

  Create-数据表的建立

  Drop-数据表的删除

4)数据控制

  Grant-为用户授予系统权限

  Revoke-收回系统权限

 

2.内连接和外连接的区别

(1)内连接,内连接即自然连接

(2)左外连接

(3)右连接

(4)全外连接

MYSQL不支持全外连接

推荐:https://blog.csdn.net/plg17/article/details/78758593

 

3.什么是存储过程,它与函数有什么区别?

  SQL语句在执行时要先编译,然后再被执行。在大型数据库系统中,为了提高效率,将为了完成指定功能的SQL语句进行编译优化后,存储在数据库服务器中,用户通过指定存储过程的名字来调用执行。

  使用存储过程可以增强SQL语句的功能和灵活性,由于可以用流程控制语句编写存储过程,有很强的灵活性,因此可以完成复杂的判断和运算,并且可以保证数据的安全性和完整性。同时,存储过程可以使没有权限的用户在控制之下间接地存取数据库,也保证了数据的安全。

 

4.各种范式级别

11NF:每个元素不可再分

22NF:消除非主属性部分依赖

33NF:消除非主属性转递依赖

4BCNF:消除主属性传递依赖

 

5.什么是触发器

1)触发器简介

  触发器是一种特殊的存储过程,它由事件触发,而不是程序调用或手工启动,当数据库有特殊的操作时,这些操作由数据库中的事件来触发,自动完成这些SQL语句。使用触发器可以用来保证数据的有效性和完整性,完成比约束更复杂的数据约束。

2)触发器和存储过程的区别

触发器

存储过程

当某类数据操纵DML语句发生时隐式的调用

从一个应用或者过程中显示的调用

在触发器体内禁止使用commitrollback

在过程体内可以使用所有PL/SQL块中都能使用的SQL语句,包括commitrollback语句

不接受参数输入

可以接受参数输入

3)触发器的主要作用

  • 增加安全性。
  • 利用触发器记录所进行的修改以及相关信息跟踪用户对数据库的操作,完成审计。
  • 维护那些通过创建表时的声明约束不可能实现的复杂的完整性约束以及对数据库中特定时间进行监控与相应。
  • 实现复杂的非标准的数据库相关完整性规则、同步实时的负责表中的数据。
  • 触发器是自动的,它们对表的数据做了任何的修改之后就会被激活

 

posted @ 2019-02-08 11:54  寻找梦想的大熊  阅读(247)  评论(0编辑  收藏  举报