文档章节

数据库初探

f
 fang_faye
发布于 2017/08/07 18:57
字数 1041
阅读 7
收藏 0

今天翻了下本科用的数据库教材,猛然发现教材这么牛逼!!现在用的比较多的数据库查询优化技术、并发控制、数据库恢复技术、存储过程等都被这本书涵盖了,只是当初这是老师就提了一下的东西,大四的时候我还以为数据库主要的就是会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、模块化程序设计。只需要创建一次存储过程,在使用时便能够独立于程序对存储过程进行修改。

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

 

© 著作权归作者所有

共有 人打赏支持
f
粉丝 5
博文 119
码字总数 35351
作品 0
崇明
其他
私信 提问
【HTML5初探之本地存储】如果没有数据库。。。

导航 【初探HTML5之使用新标签布局】用html5布局我的博客页! 【HTML5初探之form标签】解放表单验证、增加文件上传、集成拖放 【HTML5初探之绘制图像(上)】看我canvas元素引领下一代web页面...

范大脚脚
2017/12/07
0
0
【HTML5初探之Web Workers】网页也能多线程

导航 【初探HTML5之使用新标签布局】用html5布局我的博客页! 【HTML5初探之form标签】解放表单验证、增加文件上传、集成拖放 【HTML5初探之绘制图像(上)】看我canvas元素引领下一代web页面...

范大脚脚
2017/11/09
0
0
【HTML5初探之Geolocation API】让我们获取女神的地址

导航 【初探HTML5之使用新标签布局】用html5布局我的博客页! 【HTML5初探之form标签】解放表单验证、增加文件上传、集成拖放 【HTML5初探之绘制图像(上)】看我canvas元素引领下一代web页面...

范大脚脚
2017/12/14
0
0
干货来了!2016年DevExpress资源汇总(更新、文档)

在2016年,著名软件界面解决方案专家DevExpress进行了重大升级,EVGET围绕版本升级推出了一系列干货资源,现将2016年所有Dev资源使用教程汇总于此,欢迎收藏转发点赞哦~ DevExpress WPF入门指...

Miss_Hello_World
2016/11/25
36
0
Node.js和Geddy初学者指南 - 第三部分:使用Mongdb持久化你的数据

日期:2012-4-12 来源:GBin1.com 在这个三个部分的教程中,我们教大家使用Node.js和Geddy来创建了一个todo的管理应用,上一篇我们将数据保存在内存中,在这个系列最后一篇文章中,我们将介绍...

gbin1
2012/04/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

斗图咖(www.doutuka.com)上线纪念

网站名称:斗图咖 网站描述:是一款年轻人都在玩的斗图网站,来斗图咖一起斗图装逼交朋友吧。站长每天上传收集的最新最火斗图,供大家娱乐聊天发表情;后期也会开发表情自主设计,自己设计表...

focusone
19分钟前
2
0
Spring AOP 切面编程记录日志和接口执行时间

最近客户现在提出系统访问非常慢,需要优化提升访问速度,在排查了nginx、tomcat内存和服务器负载之后,判断是数据库查询速度慢,进一步排查发现是因为部分视图和表查询特别慢导致了整个系统...

编程SHA
30分钟前
5
0
年度大盘点:机器学习开源项目及框架

摘要: 2018年马上就要结束了,我们来回顾一下过去的这一年中,机器学习领域有哪些有趣的事情吧! 我们先来看看Mybridge AI 中排名靠前的顶级开源项目,再聊聊机器学习今年都有哪些发展,最后...

阿里云官方博客
34分钟前
6
0
15个Spring的核心注释示例

众所周知,Spring DI和Spring IOC是Spring Framework的核心概念。让我们从org.springframework.beans.factory.annotation和org.springframework.context.annotation包中探索一些Spring核心注......

java菜分享
36分钟前
2
0
[LintCode] Binary Tree Level Order Traversal(二叉树的层次遍历)

描述 给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问) 样例 给一棵二叉树 {3,9,20,#,#,15,7} : 3 / \9 20 / \ 15 7 返回他的分层遍历结果: [ [3], [...

honeymose
44分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部