上一年写过一篇数据库如何设计,当时也只是停留在概念的理解方面,今天有一次加深了对数据库设计的理解

关于如何设计数据库,

可以戳这个链接数据库设计的六个步骤

接下来从实例来理解数据库的设计

一,首先了解三个元素

二,实例分析

下面对

  • 1:1
  • 1:n
  • m:n

三者做出具体分析

A、一个1:1关系可以与任意一端所对应的关系模式合并也可以转换为一个独立的关系模式。

因为自身作为班长,那么我就从班长 管理班级的角度去分析1:1的关系


原实体对应关系模式分别为:
班级(班号,专业,人数)
班长(学号,姓名,专长)

  1. 将关系“管理”合并到实体“班级”对应的模式后为:
    班级(班号,专业,人数,班长学号)
    班长(学号,姓名,专长)
  2. 关系“管理”也可以合并到实体“班长”对应的模式,将关系“管理”合并到实体“班级”对应的模式后为:
    班级(班号,专业,人数)
    班长(学号,姓名,专长,班号)

B、一个1:n关系可以与n端所对应的关系模式合并也可以转换为一个独立的关系模式。

因为在我们是学校是按照学院,系别的层次,而我在这儿解释的时候就不加系别了,因为我们平时也很少区分,所以就按照院长管理教师的角度去分析1:n的关系。


实体对应的关系模式
系(院号,院主任,电话,院名)
教师(教师号,姓名,专业,职称,性别,年龄)
关系对应的关系模式
管理(教师号,系号)
合并到实体“教师”后(只能合并到“多”的一端的关系模型):
教师(教师号,姓名,专业,职称,性别,年龄,院号)

C、一个m:n关系转换为一个关系模式。转换的方法为:与该关系相连的各实体的码以及关系本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合。

学生选修课程一直一来是一个m:n 的经典问题,所以我们也拿来分析一下。 在这里,关系只能转换为独立模式

课程(课程号,课程名,学时,类别) 实体表
学生(学号,姓名,性别,专业,出生日期,照片) 实体表
选修(学号,课程号,分数) 关系表

D、三个或三个以上实体间的多元关系转换为一个关系模式

“讲授”关系是一个三元关系,可以转换为如下关系模式,其中课程号、职工号和书号为关系的组合码:
 讲授(课程号,职工号,书号)
到这儿,相信大家应该对如何设计数据库的逻辑结构已经有了一个简单理解。
下面是一个简单的复习。以供大家参考。

数据库设计之从0到1 教你如何设计E-R图相关推荐

  1. 名片设计宝 v2.0.1

    类型:网络通讯 版本:v2.0.1 大小:18.3M 更新:2019/2/27 语言:简体 等级: 平台:安卓, 4.0以上 下载地址: 名片设计宝 v2.0.1(1) 名片设计宝 v2.0.1(2) ...

  2. 从0到1教你设计业务系统

    导读 本文将以一个案例,向读者逐步揭示一套业务系统从0到1的设计过程.重点讲述架构.模型等业务系统最本质的设计精要. 一.业务系统设计概述 1.什么是业务系统 互联网公司常常将产品方向分为两类,C端和 ...

  3. java平台设计zhe_基于java平台的网上评教系统的设计与实现

    基于java平台的网上评教系统的设计与实现 作者: 郭文占 摘要: 教师评价是高校教育管理的重要方面,也是促进教育发展和教师发展的重要手段.网上评教极大地减少了教务管理人员的工作量,正在被越来越多的高 ...

  4. java-php-python-ssm-基于的幼儿早教系统软件的设计与实现-计算机毕业设计

    java-php-python-ssm-基于的幼儿早教系统软件的设计与实现-计算机毕业设计 java-php-python-ssm-基于的幼儿早教系统软件的设计与实现-计算机毕业设计 本源码技术栈: ...

  5. 产品设计的从0到1全流程:以优惠券为例

    本文由作者 B端周玥 发布于社区如何将产品从需求调研到落地的全流程拆解?本文是自己当产品1年时候写的,适合于初阶功能点的产品设计 我们刚开始做产品时,可能都会有这样的困惑:老板说要做某个新功能或模块, ...

  6. 企业级权限系统架构设计 (v 2.0)

    企业级权限系统架构设计 (v 2.0) Ⅰ. 系统概况 1. 层级关系(权限视角) 1.1 [一级权限]访问权限 功能说明 登录系统的下游,通过身份认证控制访问目标. 建立生态系统:开放平台级的授权访 ...

  7. 数据库表设计:基于业务场景的用户表的设计

    本站系统的用户登录设计 通常作为本站系统的登录,有三种设计方式: 用户名+密码 邮箱+密码 手机号+密码 那么该如何设计登录方式呢? 1.三种登录方式,功能是否重复?是否可以只实现其中一种? 功能并不 ...

  8. HTML 4.0 语 法 教 学 --转载http://chinese.allproducts.com.tw/GB/html/#t1

    HTML 4.0 语 法 教 学   ■ 认识HTML语法(标签快速导览) ◆ 网页架构 ◆ 分隔标签 ◆ 排版标签 ◆ 字体标签 ◆ 文字标签 ◆ 影像标签 ◆ 背景标签 ◆ 连结标签 ◆ 表格标签 ...

  9. HTML 4.0 语 法 教 学 1

    HTML 4.0 语 法 教 学   ■ 认识HTML语法 (标签快速导览) ◆ 网页架构 ◆ 分隔标签 ◆ 排版标签 ◆ 字体标签 ◆ 文字标签 ◆ 影像标签 ◆ 背景标签 ◆ 连结标签 ◆ 表格标 ...

最新文章

  1. CSS列表和一些变化情况
  2. php excel文件导出之二 图像导出
  3. 2016c语言模拟试卷一,2016年9月计算机二级C语言考试预测试题及答案(4)
  4. Codeforces Round #401 (Div. 1) C(set+树状数组)
  5. 如何使用 MySQL 安装后自带的帮助文档
  6. 解决:Unknown custom element: <myData> - did you register the component correctly? For recursive compon
  7. 如何在服务器上使用matlab
  8. binlog2sql闪回恢复数据
  9. 云服务器部署项目:vue-cli 部署服务配置
  10. DCMTK相关资料汇总
  11. mac Python安装pybloomfilter 出现找不到libcrypto的问题
  12. 台风怎么看内存颗粒_使用300多元的D4 16G内存是种什么体验
  13. 无法连接 树莓派 网线连接电脑_无显示器通过网线连接笔记本电脑玩转树莓派...
  14. android killer 连接模拟器,AndroidKiller怎么连接夜游神手机模拟器的方法教程
  15. ES文件浏览器 v4.1.8.1 破解高级版
  16. 商标主要特征是什么?商标注册申请流程是什么?
  17. 唯品会还“品“的动吗?
  18. Google log 日志文件
  19. 批处理与管道-过滤器
  20. java设计模式——浅显易懂之七大原则

热门文章

  1. python语言具有使用变量需要先定义后使用的特点_3、Python语法入门之变量
  2. spring api 中文_Spring高级技术梳理
  3. androidstuido 查看logs_使用 Logcat 写入和查看日志
  4. msp430发送pwm信号_如何采用MSP430单片机实现PWM信号
  5. 勤哲cad服务器支持ug,勤哲CAD服务器
  6. 查询已安装rpm包信息
  7. java图片16帧动画_Java实现帧动画的实例代码
  8. mysql 关联更新_MySQL 规范
  9. tensorflow随机性设置
  10. c++重载自增与自减运算符(前置与后置)