数据库系统原理实验报告1 | E-R图设计

news2024/10/2 17:17:14

整理自博主2021级专业课《数据库系统原理》自己完成的实验报告。

目录

一、实验目的

二、实验内容

1、某个学校有若干个系

2、某工厂生产若干产品

3、某学校的田径运动会中设置了各类比赛

4、自己调查一个需要提供开发数据库应用系统的单位

三、实验结果总结

四、实验结果的运用

自己举一个应用实例,并绘制E-R图。


一、实验目的

1.熟悉数据库模型的概念,熟悉概念模型的表示方法:E-R图。将实体,属性和联系转化为E-R图。

2.根据数据库基本概念、关系模型基本要领、数据库设计概念,再根据需求确定实体、属性和联系。


二、实验内容

用E-R图画出概念模型,要求在图上注明属性及联系的类型。

1、某个学校有若干个系

某学校有若干个,系的属性有系编号和系名;每个系有若干班级教研室,班级的属性有班级号和班级名,教研室的属性有教研室号和教研室名;每个教研室有若干教师,每个班级有若干学生,学生的属性有学号,姓名,性别,出生年月,学历每个教师指导若干学生,每个学生只能被一个教师指导;教师的属性有:教师编号,教师姓名,教师职称。每个学生可以选修多门课程,每门课程可以被多个学生选修,学生选课会有成绩。课程的属性有课程编号,课程名,学分。

2、某工厂生产若干产品

某工厂生产若干产品,每种产品由不同的零件组成,有的零件可以在不同的产品上使用产品的属性有产品号和产品名称,零件的属性有零件号和零件名称;这些零件由不同的原材料制成,不同的零件所使用的原材料可以相同材料的属性有材料号、材料名和类别。这些零件按照所属的不同产品分别放在不同的仓库中,原材料按照类别放在若干仓库中,即一个编号的原材料只能放在一个仓库中,一个仓库可以放多种编号的原材料。仓库的属性有仓库号,仓库名,仓库容量。

补充:答案图(省略了实体的属性)

 

3、某学校的田径运动会中设置了各类比赛

某学校的田径运动会中设置了各类比赛,每一比赛类别有类别编号、类别名称和主管等属性,每一比赛类别包含很多比赛项目;每一比赛项目有项目编号、项目名称、比赛时间和级别等属性;各个院团队有团编号、团名称、领队等属性,每一代表团有多名运动员组成,运动员有编号,姓名,年龄,性别等属性;每一名运动员可以参加多个比赛项目,每一比赛项目也有多名运动员参加,运动员参加比赛会有成绩。

4、自己调查一个需要提供开发数据库应用系统的单位

自己调查一个需要提供开发数据库应用系统的单位,例如:超市、公司、酒店、社团、影院、机场、银行、饭店、图书馆、教务处、某个大学、小学或者中学、仓库、浴室、健身房、旅游团、书店等,你所能想到或者调查到的,写出他们的需求,找出数据库中将来要存储的数据中对应的实体、属性和联系,要求画出的E-R图中至少包含一个一对多的联系和一个多对多的联系,至少有一个联系上要包含属性。


三、实验结果总结

  1. 我能够正确从材料中提取出实体、实体的属性以及联系的属性。也基本能够画出E-R图的大致框架。
  2. 在判断联系类型这方面没有自己原先想的那么简单。对于简单、阐述十分明确的联系关系,我能够正确地判断出属于哪一类联系,但是对于一些没有那么明确的阐述,我往往就会比较纠结。比如本次实验二中的“不同的零件所使用的原材料可以相同”“零件按照所属的不同产品分别放在不同的仓库中”这样的表述,我就思考了很久。
  3. 在我多次遇到理不清联系类型的情况时,我想出了以下办法来帮助理解:在草稿纸上举例子、画草图。比如对于“不同的零件所使用的原材料可以相同”这个联系,我的思路是,先假设零件有A、B两种,原材料有a、b、c三种,套入对该联系表述的理解即是对于A和B两种不同的零件,它们可以都使用原材料a,这样一来一个原材料对应了不止一个零件,此时零件-原材料就是n←1;结合零件由不同的原材料构成,零件-原材料同时又是1→n。因此二者的联系是多对多的联系。

  4. 另外,在梳理一对多的联系时我遇到了一个小问题:在E-R图上标注多对多联系时,哪边写“1”,哪边写“n”?在重新翻书看例理解后,我明白了。若“一个实体A对应多个实体B,一个实体B对应一个实体A”时,实体A--- 1 ---联系--- n ---实体B,正着看是1→n;反着看把n取作1时,左边只能是1,这也就达到了1←1。通过这样的理解,我相信我不会再在这样的小问题上出错了。
  5. 在画E-R图之前,最好先在题干材料中标注,将实体、属性、联系用不同的记号标出来。读完题干且做好圈点勾画之后再画,要比直接上手更加不容易错,也更快。

四、实验结果的运用

自己举一个应用实例,并绘制E-R图。

医院管理系统:

实体:医生,科室,病人,病房,医疗费用

联系:

      ①一个医生主治多个病人,一个病人可以被多个医生主治(多对多)

      ②一个医生属于一个科室,一个科室里可以有多个医生(一对多)

      ③一个病人在一间病房里面,一间病房里有多个病人(一对多)

      ④一个病人支付一项医疗费用,一项医疗费用由一个病人支付(一对一)

      ⑤医生内部有领导和被领导的关系(实体间的一对多)

属性:

      ①医生:编号,年龄,专业

      ②病人:编号,性别,职业

      ③病房:病房号,规格,地址

            ④医疗费用:挂号费,取药费,手术费,住院费

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1505112.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分布式之SpringCloud

一、SpringCloud 1、SpringCloud是什么 Spring Cloud是一系列框架的有序集合,这些框架为我们提供了分布式系统构建工具。 2、SpringCloud包含那些项目 项目项目名称服务注册于发现Alibaba Nacos、Netflix Eureka、Apache Zookper分布式配置中心Alibaba Nacos、S…

架构面试题汇总:网络协议34问(七)

码到三十五 : 个人主页 心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得 ! 网络协议是实现各种设备和应用程序之间顺畅通信的基石。无论是构建分布式系统、开发Web应用,还是进行网络通信&#x…

前端vite+vue3——可视化页面性能耗时指标(fmp、fp)

文章目录 ⭐前言💖vue3系列文章 ⭐可视化fmp、fp指标💖 MutationObserver 计算 dom的变化💖 使用条形图展示 fmp、fp时间 ⭐项目代码⭐结束 ⭐前言 大家好,我是yma16,本文分享关于 前端vitevue3——可视化页面性能耗时…

微信小程序开发系列(二十五)·wxml语法·条件渲染wx:if, wx:elif, wx:else 属性组以及hidden 属性的使用

目录 1. 使用 wx:if、wx:elif、wx:else 属性组 2. 使用 hidden 属性 条件渲染主要用来控制页面结构的展示和隐藏,在微信小程序中实现条件渲染有两种方式: 1. 使用 wx:if, wx:elif, wx:else 属性组 2. 使用 hidden 属性 wx:if 和 hidden 二者的区别: 1. wx…

VMware 安装 MS-DOS 6.22

VMware 安装 MS-DOS 6.22 0. 准备工作创建虚拟机下载安装包装入安装软盘 1. 安装界面2. 创建分区3. 格式化分区4. 安装参考资料 提醒:如果你是为了 int 13 来的,我试了没用 0. 准备工作 创建虚拟机 先创建一个 DOS 虚拟机右健我们创建的DOS 虚拟机 >…

15.Webpack进阶使用

一.Webpack 自动生成 html 文件 1. 插件 html-webpack-plugin 作用: 在 Webpack 打包时生成 html 文件,并引入其他打包后的资源 2. 步骤: 下载 html-webpack-plugin 本地软件包到项目中 npm i html-webpack-plugin --save-dev配置 webpack…

DataGrip 2023:让数据库开发变得更简单、更高效 mac/win

JetBrains DataGrip 2023是一款功能强大的数据库IDE,专为数据库开发和管理而设计。通过DataGrip,您可以连接到各种关系型数据库管理系统(RDBMS),并使用其提供的一组工具来查询、管理、编辑和开发数据库。 DataGrip 2023软件获取 DataGrip 2…

TimescaleDB 集群安装部署

文章目录 1.安装环境2.安装TimescaleDB2.1. 安装PostgreSQL2.2.安装Timescaledb插件2.3.配置TimescaleDB 3.集群配置4.创建数据库5.测试 开源中间件 # TimescaleDBhttps://iothub.org.cn/docs/middleware/ https://iothub.org.cn/docs/middleware/timescale/timescale-deploy-…

SPI读取TLE5012B编码器角度数据_ACM32G103

买到一个带编码器的电机,卖家留出来读取编码器数据的接口有SPI 具体的原理图如下: P2标注的是SPI的接口,其中MISO和MOSI是硬件连接到一起的 使用ACM32G103的硬件SPI2去读取其角度数据 原理大概如下: 1、先发送读取数据的指令&…

在colab上训练YOLOv5

在colab上训练YOLOv5 参考链接:知乎 牛头检测 1.首先在自己的本地电脑上下载YOLO 新建一个文件夹YOLO,输入以下命令下载压缩包: cmd git clone https://github.com/ultralytics/yolov5.git2.将YOLO压缩包上传到colab 首先在colab上新建一…

CSS中有哪些方式可以隐藏页面元素(区别详解)

文章目录 一、前言二、实现方式display:nonevisibility:hiddenopacity:0设置height、width属性为0position:absoluteclip-path小结 三、区别参考文献 一、前言 在平常的样式排版中,我们经常遇到将某个模块隐藏的场景 通过css隐藏元素的方法有很多种,它…

STM32驱动W5500作为客户端进行通讯

STM32驱动W5500作为客户端进行通讯 模块简介引脚说明接线代码部分代码测试是否通讯成功 模块简介 SR-ES1内嵌Wiznet的W5500芯片,使用硬件逻辑门电路实现TCP/IP协议栈的传输层及网络层(如:TCP,UDP,ICMP,IPv…

Linux:非常实用的Linux命令

非常实用的Linux命令 系统服务管理 systemctl systemctl命令是Systemd系统和服务管理器的一部分,用于控制systemd系统和服务管理器。Systemd是大多数最新的Linux发行版使用的初始化系统和服务管理器,它用于启动守护进程并管理它们的运行。systemctl提…

element-ui plus v2.60 终于修复了 radio checkbox 取值不明确的问题,label value 值

element-ui plus v2.60 终于修复了 radio checkbox 取值不明确的问题,label value 值 昨天想反馈这个关于 label 和 value 的问题的时候,发现新版本已经修正这个问题了。 一、ElementUI 旧版关于 label 和 value 的问题 从之前 element-ui 用过来的&a…

第十一篇 - 应用于市场营销视频场景中的人工智能和机器学习技术 – Video --- 我为什么要翻译介绍美国人工智能科技巨头IAB公司(1)

IAB平台,使命和功能 IAB成立于1996年,总部位于纽约市。 作为美国的人工智能科技巨头社会媒体和营销专业平台公司,互动广告局(IAB- the Interactive Advertising Bureau)自1996年成立以来,先后为700多家媒体…

论文阅读《FENET: FOCUSING ENHANCED NETWORK FOR LANE DETECTION》

ABSTRACT 受人类驾驶专注力的启发,这项研究开创性地利用聚焦采样(Focusing Sampling)、部分视野评估(Partial Field of View Evaluation)、增强型 FPN 架构和定向 IoU 损失(Directional IoU Loss&#xff…

【Pytorch】新手入门:基于sklearn实现鸢尾花数据集的加载

【Pytorch】新手入门:基于sklearn实现鸢尾花数据集的加载 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望…

递归、搜索与回溯算法简介

何为递归:递归就是递去归来,函数自己调用自己的情况。 不在意递归的细节展开图 把递归的函数当成黑盒(给黑盒一个东西,它就能完成想要的事) 相信黑盒一定能完成这个任务 深度优先遍历和深度优先搜索都是指一个东西dfs…

STM32---通用定时器(一)理论基础

写在前面:在STM32F103中有众多的定时器,其中包括两个基本定时器,基本定时器的内容已经在上节进行了介绍,基本定时器的功能、结构、使用都较为简单。而STM32F1中还含有4个通用定时器(TIM2\3\4\5),这些定时器…

So you think you understand IP fragmentation?

文章目录 前言一、Why care?二、Prevention三、Well-understood?四、Introducing fragquiz五、A novel (?) algorithm六、Reader challenge七、traceroute八、ICMP参考资料 前言 本文来自:https://lwn.net/Articles/960913/ February 7, 2024This article was …