zoukankan      html  css  js  c++  java
  • 数据库系统概论-第七章

    数据库设计过程

    概念设计 conceptual-design
    功能需求说明 specification of functional requirement
    逻辑设计阶段 logical design
    物理设计阶段 physical design

    设计数据库模式

    数据库模式应避免的两个缺陷:
    冗余 例如,每一次开课我们都存储课程编号和课程名称,那么每一次开课都冗余了课程编号和名称。理想的情况下,信息应该只出现在一个地方。
    不完整 如果只在课程表存储所有的课程信息,那么每次开课都要存储一份课程的所有信息,新课程的信息无法独立展示。

    实体联系模型 entity-relationshio E-R

    实体集 entity set 具有相同类型(相同属性)的实体的集合,实体集一般指实体之间的关系
    实体集的外延 extension 实体集的实体的实际集合
    实体集通过一组属性(attribute)来表示,每个属性(attribute)都有一个值(value)
    实体 entity 代表所有可明确识别的个体,每个实体都有一组属性,其中一些属性的可以唯一的标识一个实体

    联系集 relationship set 相同类型的联系的集合
    联系 relationship 多个实体间的相互关联

    实体集的关联称为参与(pariticipate),可以说E1,E2.。。En参与了联系集R

    实体在联系中扮演的功能称为实体的角色,如果同样的实体集以不同的角色参与同一联系集,这种联系集合称为自环recursive。

    属性

    属性可以分为简单和复合属性 比如name可以由first_name,middle_name,last_name组成

    属性的值可分为单值和多值,即一个值和多个值,比如一个人可能有多个手机号

    派生属性 比如教师对象有一个值学生集合,学生集合的数量统计就是一个派生的属性

    约束

    映射 mapping。映射基数 mapping cardinality 一个实体通过联系可以关联的实体数量

    一对一 one-to-one 关系A有且仅有一个实体与关系B中的实体关联,反之,关系B有且只有仅有一个实体与关系A关联

    一对多 one-to-many 关系A中实体可以与关系B中任意数量的实体关联,反之,关系B中实体只能与关系A中一个实体关联

    多对多 many-to-many 关系A中实体可以与关系B中任意数量实体关联,反之,关系B中实体可以与关系A中任意数量实体关联

    实体集删除冗余

    实体集 instructor包含属性 ID,name,dept_name以及salary
    实体集 department包含属性dept_name,building以及budget

    属性dept_name在实体集instructor和department中都存在,所以说它是冗余的

    设计时避免由于关联联系集而造成属性的冗余

    实体-联系图 E-R

    同一建模语言 UML. TODO

    类图 class diagram 类图类似于E-R图
    用况图 use case diagram 用户和系统之间的交互,用户所执行的任务重的每一步操作
    活动图 activity diagram 系统不同部分之间的任务流
    实现图 implementation diagram 在软件和硬件层面说明系统的各组成部分

  • 相关阅读:
    leetcode-剑指19-OK
    leetcode-剑指38-?
    leetcode-剑指36-OK
    leetcode-剑指41-OK
    leetcode-剑指20-OK
    leetcode-剑指16-OK
    nginx重写路由隐藏入口文件报错引发的思考
    Go之并发
    Go之接口
    Go实现学生管理系统
  • 原文地址:https://www.cnblogs.com/Simon-cat/p/10917533.html
Copyright © 2011-2022 走看看