数据库笔记4——数据库安全(完整性约束),数据库设计(数据依赖,范式,具体方法和流程)

本文详细探讨了数据库安全,包括数据库安全概述、统计数据库的安全及完整性约束,强调了视图、访问控制和数据加密的重要性。同时,深入讲解了数据库设计的概念,如数据依赖、关系模式的规范化(1NF到5NF)及其解决方法,以及数据库设计的ER图、面向数据的方法和设计流程。

数据库安全

数据库安全概述

数据库可能面临的问题:

  1. 系统崩溃(恢复机制)
  2. 并发控制
  3. 人为操作
  4. 输入数据不正确,破坏ACID特性,一致性不满足

保护机制:

  • 视图和查询重写(系统自动根据其身份改写其查询)
  • 访问控制(普通用户,拥有某些特权的用户,数据库管理员DBA)
  • 标识和确认用户(密码,生物学特征)
  • 授权和权限检查可授予用户某项权限甚至允许其授予其他人权限
  • 角色
  • 数据加密
  • 审计追踪对某些表发生某些操作时设置审计追踪,记录关键log,相当于监控。

统计数据库的安全

这个主要的问题是,比如会有一个合法用户通过合法权限获取一些数据,但其通过数学方法可能会得到一些非法信息。
比如公司里薪水在数据库中属于隐私,但是如果我们允许其对这张表做统计,如统计25岁往上且职位为工程师的男性的平均工资(或者统计一些信息进行数学运算),很有可能就已经定位到了这个人的薪水。

理论上来说,对于数据库中的某一个特定个体,我们总能找到一个“个体追踪器”来定位到他。
进一步说,我们甚至一定能找到一个通用追踪器来定位到他。

完整性约束

通过完整性约束,我们要保证所有进入数据库的A.I都是正确的。
1.静态约束:约束数据库状态
包括:
固有约束:数据模型:1NF(1范式即每个数据必须是原子的,不允许表中套表)
隐含约束:数据模式定义中,如域完整性约束(数值得符合域的约束),**主键约束(主键不能重复,不能为空) **,外键约束(引用完整性约束:如果指定某张表中,某属性为另一张表

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值