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

整理自博主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.hqwc.cn/news/527433.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

爬虫练习:获取某招聘网站Python岗位信息

一、相关网站 二、相关代码 import requests from lxml import etree import csv with open(拉钩Python岗位数据.csv, w, newline, encodingutf-8) as csvfile:fieldnames [公司, 规模,岗位,地区,薪资,经验要求]writer csv.DictWriter(csvfile, fieldnamesfieldnames)writer…

海外媒体宣发套餐如何利用3种方式洞察市场-华媒舍

在当今数字化时代,媒体宣发成为了企业推广产品和品牌的重要手段之一。其中,7FT媒体宣发套餐是一种常用而有效的宣传方式。本文将介绍这种媒体宣发套餐,以及如何利用它来洞察市场。 一、关键概念 在深入讨论7FT媒体宣发套餐之前,让…

day16_购物车(添加购物车,购物车列表查询,删除购物车商品,更新选中商品状态,完成购物车商品的全选,清空购物车)

文章目录 购物车模块1 需求说明2 环境搭建3 添加购物车3.1 需求说明3.2 远程调用接口开发3.2.1 ProductController3.2.2 ProductService 3.3 openFeign接口定义3.3.1 环境搭建3.3.2 接口定义3.3.3 降级类定义 3.4 业务后端接口开发3.4.1 添加依赖3.4.2 修改启动类3.4.3 CartInf…

vmware添加新磁盘

文章目录 前言一、新增磁盘二、初始化磁盘1.查看2.初始化3.挂载 总结 前言 虚拟机磁盘空间很散乱,大部分都在/root和/home下不好操作,故考虑新增磁盘、增加挂载点。 一、新增磁盘 右键打开虚拟机设置 二、初始化磁盘 1.查看 fdisk -l2.初始化 …

分布式执行引擎ray入门--(3)Ray Train

Ray Train中包含4个部分 Training function: 包含训练模型逻辑的函数 Worker: 用来跑训练的 Scaling configuration: 配置 Trainer: 协调以上三个部分 Ray TrainPyTorch 这一块比较建议直接去官网看diff,官网色块标注的比较清晰,非常直观。 impor…

CentOS 8启动流程

一、BIOS与UEFI BIOS Basic Input Output System的缩写,翻译过来就是“基本输入输出系统”,是一种业界标准的固件接口,第一次出现在1975年,是计算机启动时加载的第一个程序,主要功能是检测和设置计算机硬件&#xff…

验证码安全

目录 验证码识别&复用&调用&找回密码重定向&状态值 res 修改-找回密码修改返回状态值判定验证通过 验证码爆破-知道验证码规矩进行无次数限制爆破 短信轰炸原理 验证码识别&复用&调用&找回密码重定向&状态值 res 修改-找回密码修改返回状态…

【UE5】创建蓝图

创建GamePlay需要的相关蓝图 项目资源文末百度网盘自取 在 内容游览器 文件夹中创建文件夹,命名为 Blueprints ,用来放这个项目的所有蓝图(Blueprint) 在 Blueprints 文件夹下新建文件夹 GamePlay ,用存放GamePlay相关蓝图 在 Blueprints 文件夹下创建文…

算法详解——leetcode150(逆波兰表达式)

欢迎来看博主的算法讲解 博主ID:代码小豪 文章目录 逆波兰表达式逆波兰表达式的作用代码将中缀表达式转换成后缀表达式文末代码 逆波兰表达式 先来看看leetcode当中的原题 大多数人初见逆波兰表达式的时候大都一脸懵逼,因为与平时常见的表达式不同&am…

CentOS网络故障排查秘笈:实战指南

前言 作为一名热爱折腾 Linux 的技术达人,我深知网络故障会让人抓狂!在这篇文章里,我和你分享了我的心得体会,从如何分析问题、识别瓶颈,到利用各种神器解决网络难题。不管你是新手小白还是老鸟大神,这里都…

计算机网络-第4章 网络层(2)

主要内容:网络层提供的两种服务:虚电路和数据报(前者不用)、ip协议、网际控制报文协议ICMP、路由选择协议(内部网关和外部网关)、IPv6,IP多播,虚拟专用网、网络地址转换NAT,多协议标…

Oracle Essbase 多维库导入文件数据步骤操作

第一步: 先确定导入数据的维度数量(清楚自己需要导入什么数据和范围) 第二步: 设置加载的规则 1.创建规则 2.编辑规则-》打开数据文件 通过数据文件来确定加载规则的加载格式 先查看数据文件格式: 将数据文件导入&…