数据库初探

原创
2017/08/07 18:57
阅读数 29

今天翻了下本科用的数据库教材,猛然发现教材这么牛逼!!现在用的比较多的数据库查询优化技术、并发控制、数据库恢复技术、存储过程等都被这本书涵盖了,只是当初这是老师就提了一下的东西,大四的时候我还以为数据库主要的就是会sql语句就够了。。。。没文化太可怕。。。

不过数据库技术这么几年过去了,并没有很大的变化。。并不像开发语言似的,时不时出来个框架,不懂就落伍了~但数据库的基础,深层的东西很重要!很重要!很重要!!

从今天开始,重新啃教材。。(附小笔记)

1、数据库安全性

数据库安全性主要关注的是DBMS的存取控制机制,最重要的一点就是确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法接近数据。这就涉及到权限的授予和回收了。

授权语句:

GRANT SELECT ON TABLE Student TO U1;(把查询Student表的权限授给用户U1)

回收语句:

REVOKE SELECT ON TABLE Student FROM U1;(从用户U1那里收回查询Student表的权限)

2、数据库完整性

实体完整性:在创建表时用PRIMARY KEY定义

参照完整性:在创建表时用FOREIGN KEY定义

任何关系型数据库都应该支持实体完整性和参照完整性,这是关系模型所要求的。

用户定义的完整性:针对某一具体应用的数据必须满足的语义要求(在创建表定义属性的同时根据要求,定义约束条件包括:NOT NULL、UNIQUE、CHECK)。

触发器:触发器是一种用来保障参照完整性的特殊的存储过程,它维护不同表中数据间关系的有关规则。当对指定的表进行某种特定操作(如:Insert,Delete或Update)时,触发器产生作用。触发器可以调用存储过程。(类似于约束,但比约束灵活)

3、数据库编程

游标:游标是系统为用户开设的数据缓存区,每个游标都有自己名字,存放SQL执行结果。能够便利所有的执行结果,但是一次只能访问一行。游标的常见作用是存放查询结果,如果需要经常查询一个记录集,就可以创建一个游标,比每次都去查询数据库快得多。

存储过程:存储过程是由PL/SQL语句书写的过程,这个过程经编译和优化后存储数据库服务器中。存储过程有以下优点:

1、运行效率高。因为不像SQL语句那样在请求的时候才进行语法分析等操作,存储过程在创建时就完成了这些操作,然后在第一次被调用时就驻留在内存中,所以以后每次执行效率都相当快。

2、降低了客户机和服务器的通信量。通信时只需要发出存储过程名称就能够得到结果,而不需要发送大量sql语句。

3、保证数据库安全性,方便管理。可以设置用户可以通过存储过程来访问数据,不能通过普通的sql语句访问,这样有利于企业的集中管理控制,及运维。

4、模块化程序设计。只需要创建一次存储过程,在使用时便能够独立于程序对存储过程进行修改。

(附:查询当前数据库的用户名语句:)

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部