首页 > 数据库 >数据库系统概论—安全、完整性

数据库系统概论—安全、完整性

时间:2023-05-07 18:23:30浏览次数:44  
标签:... 存取控制 数据库 用户 视图 完整性 数据库系统 概论

数据库系统概论—基础篇(3)

三.数据库安全性

1.数据库安全性概述

数据库的安全性指保护数据库以防不合法使用所造成的数据泄露、更改或破坏

2.数据库安全性控制

2.1用户身份鉴别

  • 静态口令鉴别
  • 动态口令鉴别
  • 生物鉴别特征
  • 智能卡鉴别

2.2存取控制

  • 自主存取控制:给用户限权(DAC,C1级)
  • 强制存取控制:给数据库对象一定的密级(MAC,B1级)

2.3自主存取控制方法(授权:授予与收回)

  • 授权
Grant 权限
on (类型,表/视图...) 对象名1,(类型,表/视图...) 对象名2...
to 用户1,用户2...
with grant option;(是否可以传播该权限)
  • 收回
Revoke 权限
on (类型,表/视图...) 对象名1,(类型,表/视图...) 对象名2...
from 用户1,用户2...
CASADE/RESTRICT;(是否级联)
  • 创建用户
CREATE USER 用户名 
with DBA/RESOURCE/CONNECT;

DBA:超级用户,有所有数据库对象的限权

RESOURCE:能创建表和视图

CONNECT:只能在限权内操作

2.4数据库角色

数据库角色是一组数据库操作相关的权限的集合(权限的集合)

#授予
Grant 权限
on (类型,表/视图...) 对象名
to 角色1,角色2...;
#收回
Grant 权限
on (类型,表/视图...) 对象名
to 用户1,用户2...;

2.5强制存取控制方法(数据加密)

主体:用户;客体:数据

  • 主体的许可证 >= 客体的密级时,该主体才能读取相应的客体
  • 主体的许可证 <= 客体的密级时,该主体才能相应的客体

3.视图机制

视图可以隐藏部分数据,控制要查询的数据是否对用户是可见的

4.审计

审计功能把用户对数据库的所有操作记录下来放入审计日志

四.数据库完整性

数据库完整性是数据库的正确性和相容性,是为例防止数据库中存在不符合语义的数据。

1.实体、参照完整性

  • 实体:非空唯一,在CREATE TABLE中使用PRIMART KEY定义。(主码)
  • 参照:外码,参照表的主码是被参照表的主码

2用户自定义完整性

针对某一具体应用的数据必须满足的语义要求。

  • 属性上的约束(列级)

NOT BULL:列值非空

UNIQUE:列值唯一

CHECK:是否满足条件(类型 属性 CHECK(Ssex in('男','女'))性别在男女中选)

  • 元组上的约束(表级)

eg:当性别是男,名字不以”Ms.“开头

建表...
CHECK(Sex = '女' or Sname not like'Ms.%');

3.完整性约束字句

给约束起名字,CONSTRAINT 约束名一起使用

CONSTRAINT 约束名 约束条件;

4.断言

更一般的约束

#创建
CREATE ASSERTION 断言名
CHECK字句;

#删除
DROP ASSERTION 断言名;

5.触发器

由事件触发的特殊过程(事件条件功能)

#创建
CREATE TRIGGER 触发器名
BEFORE/ALTER 触发事件 on 表名
REFRTENCING NEW/OLD ROW AS 变量#NEW/OLD ROW是两个表(新/旧)
FOR EACH ROW/STATEMENT#行级/列级
WHEN 触发事件 触发动作;

#删除
DROP TRIGGER 触发器名 on 表名;

标签:...,存取控制,数据库,用户,视图,完整性,数据库系统,概论
From: https://www.cnblogs.com/wht-de-bk/p/17379724.html

相关文章

  • 【愚公系列】用友系列之YonBuilder低代码平台概论和基本使用
    (文章目录)一、引言1.代码平台的概念和发展历程低代码平台是一种通过可视化界面和模板化组件快速创建应用程序的平台,其发展历程主要经历了三个阶段:第一个阶段是第一代低代码平台:其主要关注业务流程管理及应用程序的速度开发,但其可扩展性和可定制性较低。第二个阶段是第二代......
  • Problem I: 实现一种电厂小型实时数据库系统
    ProblemDescription电厂控制系统的设备有很多监测点,监测点的传感器将监测到的实时数据传送到厂级监控中心,使工程师能方便的分析电厂设备的运行状态。厂级监控中心需要将这些数据存入数据库(INSERT),并且能查询(QUERY),修改(MODIFY),删除(DELETE)这些数据。这些数据只有两种类型:模拟量(AI,浮......
  • DP 概论
    对于一个题目,我们有暴力搜索算法。而dp就是尽可能将同一类的东西合并到一个状态上。如何检查dp的正确性?检查集合内部转移是否一致。检查方案数是否正确。状压dp有好几种状态压缩的方式:记录“选了哪些东西”这样的信息,可以用一个长度为\(n\)的01串,对应一个十进制......
  • 数据库系统概论—标准语言SQL
    数据库系统概论—基础篇(2)三、关系数据库标准语言SQL1、数据定义1.1基本表的定义、删除与修改定义基本表#建立学生表CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,SnameCHAR(20)UNIQUE,SsexCHAR(2),SageSMALLINT,SdeptCHAR(20));修......
  • mysql索引--普通索引,唯一索引,主键索引,参照完整性约束,数据完整性约束
    --方法1:createindex--对employee表的员工部门号列创建普通索引depart_ind--createindexdepart_indonemployees(员工部门号);--对employee表的姓名和地址列创建复合索引ad_ind;--createindexad_indonemployees(姓名,地址);--对departments表的部门名称列......
  • 01计算机网络概论
    导图总结1.计算机网络的发展主要经历了4个阶段第一阶段为面向终端的计算机网络,第二阶段为多计算机互联的计算机网络,第三阶段为面向标准化的计算机网络,第四阶段为全球互联的计算机网络。2.计算机网络可定义为把分布在不同地点且具有独立功能的多台计算机,通过通信设备和线路......
  • 数据库系统原理之数据管理技术的发展
    数据管理技术的发展第一节数据库技术发展概述数据模型是数据库系统的核心和基础以数据模型的发展为主线,数据库技术可以相应地分为三个发展阶段:第一代的网状、层次数据库系统第二代的关系数据库系统新一代的数据库系统一、第一代数据库系统层次数据库系统层次模......
  • Websocket保证接收消息完整性
    用springboot起了个websocket服务端,有时候客户端发来的消息过长,无法接收完整,需要进行额外的处理 下面是处理的例子:@ServerEndpoint("/websocket")publicclassWebSocket{@OnMessagepublicvoidonMessage(Sessionsession,byte[]message,booleanlast){......
  • INFS3200 先进数据库系统
    INFS3200AdvancedDatabaseSystemsPrac2:DataWarehousing(5%)Semester1,2023Duetime:4:00pm,Friday,21April2023(Week8)Submission:Submityourworkonline(INFS3200CourseWebsite)1.Introduction1.1LearningobjectivesLearnhowtocreateacubean......
  • 数据库系统原理之数据库应用设计与开发实例
    数据库应用设计与开发实例第一节需求描述与分析在此,结合某高校个性化课程在线选课的实际需求,给出一个简化的需求分析一、功能性需求1管理员后台模块学生信息管理教师信息管理课程信息管理班级信息管理2学生使用模块查询课程浏览所选课程查询成绩3教师使用模......