文档章节

数据库初探

f
 fang_faye
发布于 2017/08/07 18:57
字数 950
阅读 7
收藏 0
点赞 0
评论 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
粉丝 2
博文 24
码字总数 8275
作品 0
【HTML5初探之本地存储】如果没有数据库。。。

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

范大脚脚 ⋅ 2017/12/07 ⋅ 0

【HTML5初探之Web Workers】网页也能多线程

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

范大脚脚 ⋅ 2017/11/09 ⋅ 0

【HTML5初探之Geolocation API】让我们获取女神的地址

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

范大脚脚 ⋅ 2017/12/14 ⋅ 0

干货来了!2016年DevExpress资源汇总(更新、文档)

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

Miss_Hello_World ⋅ 2016/11/25 ⋅ 0

Node.js和Geddy初学者指南 - 第三部分:使用Mongdb持久化你的数据

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

gbin1 ⋅ 2012/04/13 ⋅ 0

【HTML5初探之离线应用】如何打造零请求、无流量的网站?

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

范大脚脚 ⋅ 2017/12/28 ⋅ 0

telegraf+influxdb+grafana环境初探

Telegraf+Influxdb+Grafana环境初探 简介 Part1:写在最前 Grafana,一个非常好用的开源监控(应该说是出图)软件。各类个性化定制非常易用,像常见的cpu,mem,mysql常用监控项都已经内置。gra...

dbapower ⋅ 2016/12/12 ⋅ 0

【HTML5初探之绘制图像(下)】看我canvas元素引领下一代web页面

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

范大脚脚 ⋅ 2017/12/13 ⋅ 0

初探Druid连接池之一——进入内置监控页面

之前只知道C3P0、DBCP等数据库连接池,公司里项目使用的是Druid连接池,最近也初探学习一下。 Druid连接池是阿里的开源项目,源码托管在github上,源代码仓库地址是https://github.com/alib...

札小白 ⋅ 2014/08/26 ⋅ 0

WinForms UI控件初探:Grid Control 、Data Grid、TreeList

Grid Control 、Data Grid、Spreadsheet、Data Editor、TreeList: 超乎你想象!WinForms Grid Control处理100万行数据到底有多快? WinForms界面控件初探:处理速度飞快的WinForms Data Gri...

百mumu ⋅ 2016/07/13 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JavaScript零基础入门——(八)JavaScript的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 今天 ⋅ 0

sbt网络问题解决方案

转自:http://dblab.xmu.edu.cn/blog/maven-network-problem/ cd ~/.sbt/launchers/0.13.9unzip -q ./sbt-launch.jar 修改 vi sbt/sbt.boot.properties 增加一个oschina库地址: [reposit......

狐狸老侠 ⋅ 今天 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 今天 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 今天 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

马氏距离与欧氏距离

马氏距离 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量之间的差异程度。 如果协方差矩阵为单位矩阵,那么马氏距离就简化为欧氏距离,如果协方差矩阵为对角阵,则其也...

漫步当下 ⋅ 昨天 ⋅ 0

聊聊spring cloud的RequestRateLimiterGatewayFilter

序 本文主要研究一下spring cloud的RequestRateLimiterGatewayFilter GatewayAutoConfiguration @Configuration@ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMi......

go4it ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部