数据库的基本概念

数据库面试

数据库模型

数据模型构成: 数据结构, 数据操作, 数据完整性条件约束

  1. 概念模型
    • 根据用户观点对数据进行建模, 用于数据库设计
  2. 逻辑模型和物理模型
    • 按计算机观点对数据建模, 用于数据库实现

关系的完整性

  1. 实体完整性(主属性非NULL)
  2. 用户自定义完整性(用户定义的 主键, null, )
  3. 参照完整性(外键)

数据库安全性控制

  1. 用户身份鉴别
    • 口令
    • 生物特征
    • 智能卡
  2. 存取控制
    • 强制存取控制
    标记和数据是不可分的
    
    对数据库定义密级, 对人定义密级, 高于密级的人
    不能修改数据库内容, 低于密级的人不能查看数据库
    内容
    
    • 自主存取控制
    gant all_priviliges on <table> to user;
    revoke all_priviliges on <table> from user;
    
  3. 视图
    通过视图可以隐藏保密数据, 可以定义权限
  4. 审计
    将用户进行的所有对数据库的操作写入审计日志
    • 数据库启动, 关闭
    • 数据库增删改查
    audit alter, update on <table>;
    
  5. 数据库加密
    • 存储加密
      只有授权用户读取存储数据才能正确解密
    • 传输加密
      数据传输过程中加密, 到达后解密

数据库完整性

为了维护数据库的完整性, 数据库系统必须提供一下功能:
    定义完整性约束条件的机制 (主码)
    提供完整性的检查方法  (外键)
    进行违约处理(级联, no action) (空, 唯一, check)

规范化

  1. 1NF
    = 字段不可拆分
  2. 2NF
    • 非主属性完全依赖于候选码
  3. 3NF
    • 非主属性不传递依赖于码 + 2NF

数据库设计

  1. 需求分析
    分析用户需求
  2. 概念设计
    对用户需求进行抽象 ER模型
  3. 逻辑设计
    将概念设计转化为数据模型
  4. 物理设计
    为逻辑结构选择存取方法和存储结构
  5. 数据库实施
    建立数据库
  6. 数据库运行和维护
    运行评估维护

查询优化

数据库恢复技术

  • 事务的特性: 原子性, 一致性, 隔离性, 持续性
    一致性是通过原子性和隔离性保证的
  • 事务故障
    1. 事务内部故障(数据库出错)
      • 强行回滚
    2. 系统故障 (操作系统出错)
      • 重做
    3. 介质故障 (硬件出错)
      • 重装数据库, 重做
    4. 计算机病毒
      • 冗余
  • 数据恢复
    静态转储: 当数据库中所有事物都运行完之后, 终止所有事物操作, 将数据备份
    
    动态转储: 实时将数据备份, 期间允许数据修改, 动态转储的数据不一定有效,    因为他不暂停正在运行的事务
    
    日志文件: 记录事务对数据库的更新操作文件
    
    先写日志, 后做操作. 记录并发事务的执行时间次序
    
    日志文件用于系统故障和事务故障, 动态存储的
    数据恢复
    
    检查点: 使用日志文件, 恢复到某个检查点
    

事务的隔离级别

事务的隔离级别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值