zoukankan      html  css  js  c++  java
  • 数据库设计与应用题 --数据库

    本文转载自:www.thanlon.cn为获取更好的体验,请浏览原文:原文地址

    1、假定我们要为社交平台建立数据库,存储信息如下:

    每个用户有:用户编号、姓名、手机号
    每个群有:编号、群名称
    每个帖子有:帖子编号、发帖时间、正文
    每个群有唯一的用户作为群主,一个用户可以担任多个群的群主
    每个帖子只属于一个群,每个帖子有唯一的发布者,每个群可以有多个帖子,每个用户可以发布多个多个帖子
    其中带下划线为实体的标识属性。(CSDN的Markdown中不支持下划线,暂且用加粗代替)

    (1)请根据以上描述,画出相应的ER图

    (2)将上面的ER图转换为满足3NF的关系模式

    答:(1)根据题意,作出ER图如下:
    在这里插入图片描述
    (2)题目要求满足3NF范式要求,ER图向关系模式转换采用的方法之一是,转换后的关系模式名称采用实体名或者联系名。本题中有三个一对多,一个多对多联系。对于一对多联系,都与多端实体的关系模式合并,即:将一端关系的码和和联系的属性加入到多端的实体的关系模式,码不变。对于多对多联系,只能单独转换成新的关系模式,转换后的关系模式的属性由联系本身的属性及两个实体的主码构成,转换后的关系模式的主码由两端实体的主码组合而成。转换后的关系模式如下:

    用户(用户编号,姓名,手机号)主码:用户编号

    群(群编号,名称,群主编号)主码:群编号,外码:群主编号

    帖子(帖子编号,发帖时间,正文,发帖用户编号,所属群编号)主码:帖子编号,外码:发帖用户编号、所属群编号

    用户所属群(用户编号,群编号)主码:用户编号、群编号,外码:用户编号、群编号

  • 相关阅读:
    关于《浪潮之巅》
    C++知识点
    #ifndef/#define/#endif以及#if defined/#else/#endif使用详解
    typedef void(*Fun)(void);
    C#-StructLayoutAttribute(结构体布局)
    Web Services
    C# DataGridView
    VS2017编译boost库
    位与字节
    c++ map
  • 原文地址:https://www.cnblogs.com/qikeyishu/p/10700072.html
Copyright © 2011-2022 走看看