数据库设计概念结构设计_数据库设计典型实例

数据库设计概念结构设计_数据库设计典型实例文章目录数据库设计概念设计结构概念结构设计ER模型的基本元素实体/实体集属性区别实体和属性联系二元联系的关系1:11:nm:n一元联系1:11:nm:n三元联系采用ER模型的概念设计设计局部ER模型例题设计全局ER模型全局ER模型的优化数据库设计数据库设计:构造最优的数据模型,建立数据库及其应用系统的过程数据库设计的好坏非常重要概念设计结构概念设计的目标是产生反映用户需求的数据库概念结构,即概念模型概念模型具有硬件独立、软件独立的特点处于一个桥梁作用概念设计的主要步骤

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

数据设计

数据库设计:构造最优的数据模型,建立数据库及其应用系统的过程

数据库设计的好坏非常重要

数据库设计概念结构设计_数据库设计典型实例

概念设计结构

  • 概念设计的目标是产生反映用户需求的数据库概念结构,即概念模型

  • 概念模型具有硬件独立、软件独立的特点

  • 处于一个桥梁作用

  • 概念设计的主要步骤

数据库设计概念结构设计_数据库设计典型实例

  • 概念设计的方法
    • 实体练习方法(ER方法)

概念结构设计

ER模型的基本元素

实体/实体集

  • 实体

    • 实体是指数据对象,指应用中可以区别的客观存在的事物。
  • 实体集

    • 同一类实体组成的集合
    • 数据库设计概念结构设计_数据库设计典型实例
  • 举例

  • 数据库设计概念结构设计_数据库设计典型实例

属性

  • 实体的某一特征称为属性
  • 在一个实体中,能够唯一标识实体的属性或属性集称为“实体标识符
  • 一个实体只有一个标识符,没有候选标识符的概念。实体标识符有时也称为实体的主键

数据库设计概念结构设计_数据库设计典型实例

区别实体和属性

  • 实体和属性都是名词,所以要区分

  • 以例子讲解

  • 数据库设计概念结构设计_数据库设计典型实例

  • 找出名词

  • 数据库设计概念结构设计_数据库设计典型实例

  • 我们可以先看出规律,属性从属于实体,而且属性不能再分

  • 具体这题后面会讲

联系

  • 联系表示一个或多个实体之间的关联关系

  • 联系集是指同一类联系构成的集合

  • 将联系、联系集等统称为联系

  • 举例

  • 数据库设计概念结构设计_数据库设计典型实例

  • 数据库设计概念结构设计_数据库设计典型实例

  • 联系的元数

数据库设计概念结构设计_数据库设计典型实例

  • 二元联系

数据库设计概念结构设计_数据库设计典型实例

  • 三元联系

数据库设计概念结构设计_数据库设计典型实例

  • 一元联系(自己跟自己的联系)

数据库设计概念结构设计_数据库设计典型实例

二元联系的关系

1:1

数据库设计概念结构设计_数据库设计典型实例

1:n

数据库设计概念结构设计_数据库设计典型实例

  • 联系也会有属性:用于描述联系的特征

m:n

数据库设计概念结构设计_数据库设计典型实例

一元联系

1:1

数据库设计概念结构设计_数据库设计典型实例

1:n

数据库设计概念结构设计_数据库设计典型实例

m:n

数据库设计概念结构设计_数据库设计典型实例

三元联系

数据库设计概念结构设计_数据库设计典型实例

采用ER模型的概念设计

采用ER模型进行数据库的概念设计的步骤

  1. 首先设计局部ER模型
  2. 然后把各局部ER模型综合成一个全局ER模型
  3. 最后对全局ER模型进行优化,得到最终的ER模型,即概念模式

设计局部ER模型

数据库设计概念结构设计_数据库设计典型实例

  • 要点是区分实体和属性

  • 两条准则

    • 属性不能再具有需要描述的性质
    • 属性不能与其他实体具有联系
  • 举例

    • 因为职称跟其他东西挂钩,所以要作为实体

数据库设计概念结构设计_数据库设计典型实例

例题

  • 例题1

  • 画出ER图

  • 数据库设计概念结构设计_数据库设计典型实例

  • 数据库设计概念结构设计_数据库设计典型实例

  • 把借阅作为实体有问题吗

  • 数据库设计概念结构设计_数据库设计典型实例

  • 有,借阅信息没有实体标识符(类似主键,唯一区分),在ER图中每个实体都要有实体标识符,而联系没有。所以这里要给借阅信息加上一个实体标识符。

  • 数据库设计概念结构设计_数据库设计典型实例

  • 例题2

  • 数据库设计概念结构设计_数据库设计典型实例

  • 先看上面带序号的,区分出实体和属性

  • 数据库设计概念结构设计_数据库设计典型实例

  • 再根据关系,将各个实体相连

  • 数据库设计概念结构设计_数据库设计典型实例

设计全局ER模型

将局部ER模型综合成单一的全局概念结构的步骤:

  • 确定公共实体类型
    • 根据实体类型名和键来认定公共实体类型
  • 合并局部ER模型
    • 首先进行两两合并,先合并那些现实世界有联系的局部结构
    • 合并从公共类型开始,最后再加入独立的局部结构
  • 消除冲突
    • 属性合并(属性域冲突)
    • 结构冲突
    • 命名冲突

全局ER模型的优化

  • 优化原则

    • 合并实体类型

    • 消除冗余属性

    • 消除冗余联系

  • 例题

  • 学籍管理数据库设计概念结构设计_数据库设计典型实例

  • 课程管理数据库设计概念结构设计_数据库设计典型实例

  • 教师管理数据库设计概念结构设计_数据库设计典型实例

  • 全局ER

  • 数据库设计概念结构设计_数据库设计典型实例

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182787.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • lambda List去重

    lambda List去重publicstaticvoidmain(String[]args){List<Integer>list=Lists.newArrayList();list.add(1);list.add(2);list.add(3);list.add(3);list.add(1);list.add(1);list=list.stream().d..

    2022年5月9日
    44
  • 算法—时间复杂度[通俗易懂]

    算法—时间复杂度[通俗易懂]附录log对数:等差数列什么是等差数列?一般地,如果一个数列从第2项起,后一项与它的前一项的差等于同一个常数,那麽这个数列就叫做等差数列。这个常数叫做等差数列的公差,公差通常用字母d表示。例1:初识。-{1,3,5,7,9}公差为2-{5,15,25,35,45}公差为10-{2,68,134,200,266}公差为66-{5…

    2022年5月14日
    52
  • JAVA遍历数组的三种方法_如何遍历一个数组

    JAVA遍历数组的三种方法_如何遍历一个数组我们也了解Java也已经很久了,那今天小编想问大家是否知道java遍历数组的方式有哪些?是不是内心已经已经有答案了?让就跟着小编的步伐一起看看吧。1.for循环遍历这是最基本的遍历方式通常遍历数组都是使用for循环来实现。遍历一维数组很简单,遍历二维数组需要使用双层for循环,通过数组的length属性可获得数组的长度。2.Arrays的toString方法debug快速查看方法利用Array…

    2022年9月19日
    1
  • java接口详解

    java接口详解Java基础——接口一、接口的概述:官方解释:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。我的解释:接口可以理解为一种特殊的类,里面全部是由全局常量和公共的抽象方法所组成。接口是解决Java无法使用多继承的一种手段,但是接口在实际中更多的作用是制定标准的。或者我们可以直接把接口理解为100%的抽象类,既接口中的方法必须全部是抽象方法。(JDK1.8之前可以这样理解)二、接

    2022年7月7日
    29
  • 程序员的最炫民族风[通俗易懂]

    程序员的最炫民族风[通俗易懂]最近公司其它项目组加班比较多,自然bug也是海海的,同事有感而发,写下了这首程序员的最炫民族风苍茫的Bug是我的爱绵绵的Bug票起出来什么样的Bug是最呀最难改什么样的变更才是最开怀长长的代码写出来前台的Check到底改不改火辣辣的RedMine是我们的期待改成解决状态才是最自在我们要改就要改得最痛快你是我心中最难的Bug让我用心把你改出来(

    2022年9月22日
    2
  • manjaro 安装分区以及配置方案

    manjaro 安装分区以及配置方案制作启动盘windows下制作启动盘推荐在windows下使用Rufus工具来制作启动盘,做成启动盘后还能用来存储文件linux下制作启动盘使用dd命令,使用该命令做成启动盘后U盘就不能用来存储文件了,具体命令格式可以看wikihttps://wiki.manjaro.org/index.php?title=Burn_an_ISO_File#Using_t…

    2022年6月7日
    70

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号