我也是刚接触数据库,希望和大家一起学习。

我将通过下面这个简单的例题和大家讨论概念模型和关系模型。

需求完成数据库的设计

假设要根据某大学计算机学院成绩管理的业务规则设计一个数据库的概念模型,这个学院的业务规则如下:

  1. 该学院聘用多名教师,但每一位教师只属于该学院。教师包括教工号、姓名、学历、

职称、工资、电话号码信息。

2、一位教师可能讲多门课,每一门课可由多位教师讲授。课程包括课程号、课程名称、学时数和学分信息,每门课程可存在一门先行课程。

3、该学院有多名学生,且每一名学生只能属于该学院。学生包括学号、姓名、性别、出生年月、专业、籍贯、电话号码信息。

4、每一名学生可选修多门课,且一门课有多名学生选;学生所修课程的成绩包括平时成绩与期末成绩。

首先先了解几个概念

概念世界是现实世界在人们头脑中的反映,是对客观事物及其联系的一种抽象描述,从而产生概念模型。概念模型是现实世界到机器世界必然经过的中间层次。涉及到下面几个术语:
实体:我们把客观存在并且可以相互区别的事物称为实体。实体可以是实际事物,也可以是抽象事件。如一个职工、一场比赛等。
实体集:同一类实体的集合称为实体集。如全体职工。注意区分"型"与"值"的概念。如每个职工是职工实体"型"的一个具体"值。
属性:描述实体的特性称为属性。如职工的职工号,姓名,性别,出生日期,职称等。
联系:实体集之间的对应关系称为联系,它反映现实世界事物之间的相互关联。联系分为两种,一种是实体内部各属性之间的联系。另一种是实体之间的联系。

首先来分析一下上述题目有哪些实体,主要是学院,学生,教师,课程。但是我们考虑到这个题目已经提到是针对这个计算机学院所考虑,而且所有老师都来自这个学院,那么我便可以不把学院考虑进去。

再来看学生,老师,课程的属性。

教师:教工号,姓名,学历,职称,工资,电话号码

学生:学号,姓名,性别,出生年月,专业,籍贯,身份证号码,电话号码

课程:课程号,课程名称,学时,学时,学分

有下划线的代表他的唯一的id,不会和其他的实体重复,比如说学生的名字是有可能是一样的,但是学号是不可能的,当然身份证号码也是肯定不一样的,但是我们是针对学校里面的系统,所以用学号作为唯一id会比较好一点。

联系就是实体之间的关系,比如说课程是由学生选修的,课程是老师讲授的

在知道这些之后我们就可以用E-R图来画概念模型了

实体用矩形表示,属性用椭圆表示,如下。

联系也有自己的属性的,比如说老师讲授课程,讲授也有时间为他的属性。

整体的E-R图如下:

讲授和选修两个联系的n,m的意思其实就是多对多的关系,比如说老师可以讲授多门课,比如说我们数据库的老师也教算法,而且一门课也可以与多名老师,比如说我们课程设计的实验一般都会有两名老师。

这样一个简单的E-R图概念模型就设计完成了。

关系模型

接下来我们来讨论关系模型,有了E-R图之后我们便有了非常直观的感受。

关系模式(Relation Schema)是对关系的描述,它可以形式化地表示为: R(U,D,dom,F)

其中R关系名U为组成该关系的属性名集合D为属性组U中属性所来自的dom为属性向域的映象集合F为属性间数据的依赖关系集合

通常简记为:R(U)R(A1,A2,…,An)其中R为关系名,U为属性名集合,A1,A2,…,An为各属性名。

教师(教工号,姓名,学历,职称,工资,电话号码)

课程(课程号,课程名称,学时,学分)

讲授(教工号课程号讲授时间

注意这里划横线的意思是和在E-R图例里面的意思是一样的。

因为这里是多对多,所以不能合并,如果是一门课只能由一名老师讲授,那么课程和讲授时间就能合并到课程时间里面。

这是这个题目的关系模式。

教师(教工号,姓名,学历,职称,工资,电话号码)

学生(学号,姓名,性别,出生年月,专业,籍贯,电话号码)

课程(课程号,课程名称,学时,学分)

选修(学号课程号,平时成绩,期末成绩)

讲授(教工号课程号讲授时间

有不足的地方希望大家能指出,也希望能对大家有一定帮助!

数据库的概念模型与关系模型的设计与实现相关推荐

  1. 数据库理论——概念模型、逻辑模型、物理模型

    概念模型.逻辑模型.物理模型 1.概念模型 在了解了用户的需求,用户的业务领域工作情况以后,经过分析和总结,提炼出来的用以描述用户业务需求的一些概念的东西. 如销售业务中的"客户" ...

  2. 数据库基本知识与关系模型

    第一讲 初步认识数据库系统 1.什么是数据库DB? Database:相互之间有关联关系的Table的集合. 2.什么是数据库管理系统DBMS? DBMS:管理数据库的一种系统软件.如SQLServe ...

  3. 数据库(二)—— 关系模型概述

    目录 前言 一.关系数据库的结构(Structure of Relation Database) 1.基本结构 2.属性的值说明 3.Keys 键/码 (1)超级码(superkey) (2)候选码( ...

  4. 数据库设计(ER模型和UML模型及转换为关系模型的公式)

    本文根据b站鲁老师的教学视频整理而来,可能会偏理论化,有点枯燥,但是如果认真看完,还是会有所收获哒. 从本文可以学习到: 对于一个即将展开的项目,我们应该怎么设计及实现数据库. 掌握概念模型(ER模型 ...

  5. 数据库之概述模型: 对象模型 + 关系模型

    文章目录 概念模型在Java中成为实体类(javaBean) 一对多双向关联 案例如下: 多方关联一方 一方关联多方 一对一双向关联 案例如下: 多对多双向关联 案例如下: 外键的特性 一对多(多对一 ...

  6. Database:数据库的关系模型

    数据库学习笔记:关系模型 Copyright: Jingmin Wei, Pattern Recognition and Intelligent System, School of Artificia ...

  7. 东北大学软件学院数据库系统概述第二章(关系模型)

    数据库第二章(关系模型) 目录 数据库第二章(关系模型) 1.关系数据库的结构: 2.基本关系代数运算 3.其他关系代数运算 4.扩展关系代数运算 5.空值 6.修改数据库 1.关系数据库的结构: 定 ...

  8. mysql学生选课系统的关系模型_数据库系统原理ER模型与关系模型

    数据库系统是软件的一种,数据库系统自然而然也有他自己的生命周期生存期.它的生存期从规划开始,一直到将它卸载不用了.它的中间过程很复杂,为了实现用户的想法,数据库有关人员将现实生活中的数据进行抽象,然后 ...

  9. er模型转关系模式_ER模型到关系模型

    er模型转关系模式 As we all know that ER Model can be represented using ER Diagrams which is a great way of ...

最新文章

  1. 【GStreamer】基本概念及安装
  2. 什么是星型模型和雪花型模型【转载】
  3. Android开发实战三之导入现有Android工程项目
  4. Oculus Go 开发者版本开放索取,下个月设备开始配送
  5. 搭建rabbitmq的docker集群
  6. 各大银行对应的字段(仅做参考)
  7. Idea Maven报错找不到程序包
  8. mysql基准性能测试标准_mysql性能测试与优化——(一),基准测试套件
  9. Ubuntu系统下载地址(Ubuntu、ISO、Ubuntu下载)
  10. Java 获取项目文件路径
  11. Windows 拥抱 Android,微软在下怎样的一步棋?
  12. 刚刚,2021 ACM Fellow放榜!李飞飞、谢涛、刘铁岩等13名华人学者当选
  13. BAT脚本每隔30秒创建一个512兆文件(测试磁盘监控用)
  14. CPython中多线程的限制
  15. ROS教程之ROS问题集
  16. C++多线程1——pthread
  17. bim管线插件:教你平面显示家用冷热水和卫生设备管道
  18. 三种方法求最大子列和
  19. 静态时序分析笔记-第二章:STA概念(下)
  20. 旷视研究院获得 ECCV SSLAD 双赛道冠军

热门文章

  1. Charles4.6.3解决乱码问题
  2. mysql counta_MySQL的COUNT函数
  3. Multisim 14.0安装教程---图文讲解
  4. 滴滴和中国优步合并:滴滴才是唯一赢家?
  5. 聚焦边缘创新,Rancher推出全新开源力作Octopus
  6. MySQL入门之目录
  7. 华为鸿蒙编译器下载,华为方舟编译器
  8. CSDN-迪米特法则
  9. 全国计算机二级c++上机试题.cpp,计算机二级考试C++上机考试试题
  10. ubuntu容器下时区修改方法