数据库实验五 数据库设计

数据库实验五 数据库设计

    • 一、实验目的
    • 二、实验内容
    • 三、实验内容
    • 四、验证性实验
    • 五、设计性实验

一、实验目的

1.了解E-R图构成要素以及各要素图元。
2.掌握概念模型E-R图的绘制方法。
3.掌握概念模型向逻辑模型的转换原则和步骤。
4.运用sql编程实现

二、实验内容

1.选取一个应用背景,分析应用和数据需求
2.完成数据库设计的需求分析报告
3.完成数据库的概念结构设计,画出E-R图(要求,实体不少于3个)
4.完成数据库的逻辑结构设计,做出表结构和完整性约束设计

三、实验内容

1.体会数据库设计的各个阶段的任务和工作
2.评价自己设计的数据库的范式级别

四、验证性实验

(1) 某同学需要设计开发班级信息管理系统,希望能够管理班级与学生信息的数据库,其中学生信息包括学号,姓名,年龄,性别,班号;班级信息包括班号、年级号、班级人数。
①确定班级实体和学生实体的属性。
学生:学号,姓名,年龄,性别,班号
班级:班号、班主任、班级人数
②确定班级和学生之间的联系,给联系命名并指出联系的类型。
一个学生只能属于一个班级,一个班级可以有很多学生,所以和学生间是1对多关系,即1:n
③确定联系本身的属性。
属于
④画出班级与学生关系的E-R图。

在这里插入图片描述
⑤将E-R图转化为关系模式,写出各关系模式并标明各自的码。
学生(学号,姓名,年龄,性别,班号),主码为:学号
班级(班号、班主任、班级人数),主码为:班号

(2)请为电冰箱经销商设计一套存储生产厂商和产品信息的数据库,要求生产厂商的信息包括厂商名称、地址、电话;产品的信息包括品牌、型号、价格;生产厂商生产某产品的数量和日期。
要求:
① 确定产品实体和生产厂商实体的属性。
生产厂商:厂商名称,地址,电话
产品:品牌,型号,价格
②确定产品和生产厂商之间的联系,给联系命名并指出联系的类型。
一个生产厂商可以生产多个产品,一个产品也可以有很多生产厂商生产,所以产品和生产厂商间是m对多关系,即m:n
③确定联系本身的属性。
生产
④画出产品与生产厂商关系的E-R图。
在这里插入图片描述
⑤将E-R图转化为关系模式,写出表的关系模式并标明各自的码。
生产厂商(厂商名称,地址,电话),主码为:厂商名称
产品(品牌,型号,价格),主码为:品牌,型号
生产(厂商名称,品牌,型号,数量,日期),主码为:厂商名称,品牌,型号

(3) 设某汽车运输公司想开发车辆管理系统,其中,车队信息:车队号、车队名等;车辆信息有牌照号、厂家、出厂日期等;司机信息有司机编号、姓名、电话等。 车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有“聘用开始时间”和“聘期”两个属性; 车队与车辆之间存在“拥有”联系,每个车队可拥有若干车辆,但每辆车只能属于一个车队; 司机与车辆之间存在着“使用”联系,司机使用车辆有“使用日期”和“公里数”两个属性,每个司机可使用多辆汽车,每辆汽车可被多个司机使用。
①确定实体和实体的属性。
车队:车队号,车队名
车辆:车牌照号,厂家,生产日期
司机:司机编号,姓名,电话,车队号
②确定实体之间的联系,给联系命名并指出联系的类型。
车队与车辆联系类型是1:n,联系名称:拥有,车队与司机联系类型是1:n,联系名称为聘用;车辆和司机联系类型为m:n,联系名称为:使用。
③确定联系本身的属性。
联系“聘用”的属性有“聘用开始时间”和“聘期”两个属性,联系“使用“有“使用日期”和“公里数”两个属性。
④画出E-R图。
在这里插入图片描述
⑤将E-R图转化为关系模式,写出表的关系模式并标明各自的码。
车队(车队号,车队名) ,主码为:车队号;
车辆(车牌照号,厂家,生产日期,车队号) ,主码为:车牌照号;
司机(司机编号,姓名,电话,车队号,聘用开始时间,聘期),主码为:司机编号 ;
使用(司机编号,车辆号,使用日期,公里数),主码为:司机编号,车辆号。

五、设计性实验

1、为在线图书销售系统中的订单管理模块设计数据库。
该模块的功能设计中有4个实体,具体信息如下表所示。
在这里插入图片描述

(1)需求分析,用文字描述图书销售系统的数据。
①确定用户实体、书籍实体、订单实体、订单明细实体的属性。
用户:用户编号,用户名,用户性别
书籍:书籍编号,书籍名称,书籍价格
订单:订单编号,下单时间,订单总价格

②确定用户、书籍、订单、订单明细之间的联系,给联系命名并指出联系的类型。
用户与书籍之间的联系是1:n,联系名称:选够=;
书籍与订单之间的联系是n:m,联系名称:订单明细。

③确定联系本身的属性。
联系“订单明细“有“订单明细编号”和“书籍数量”两个属性。

(2)设计概念模型,画出E-R图。
① 创建实体
② 添加属性
③ 设置每个实体的主码
④ 添加实体之间的联系
在这里插入图片描述
(2)将E-R图转化为关系模式,写出表的关系模式并标明各自的主码和外码。
用户(用户编号,用户名,用户性别),主码为:用户编号;
书籍(书籍编号,书籍名称,书籍价格),主码为:书籍编号;
订单(订单编号,下单时间,订单总价格),主码为:订单编号,外码为:用户编号
订单明细(订单编号,书籍编号,订单明细编号,书籍数量),主码为:订单明细编号,外码为:订单编号,书籍编号

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

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

相关文章

医院手术麻醉信息系统全套源码,自主版权,支持二次开发

医院手术麻醉信息系统全套商业源码,自主版权,支持二次开发 手术麻醉信息系统是HIS产品的中的一个组成部分,主要应用于医院的麻醉科,属于电子病历类产品。医院麻醉监护的功能覆盖整个手术与麻醉的全过程,包括手术申请与…

人工智能中的文本分类:技术突破与实战指导

在本文中,我们全面探讨了文本分类技术的发展历程、基本原理、关键技术、深度学习的应用,以及从RNN到Transformer的技术演进。文章详细介绍了各种模型的原理和实战应用,旨在提供对文本分类技术深入理解的全面视角。 关注TechLead,分…

回归预测 | MATLAB实现SCN随机配置网络多输入单输出回归预测

回归预测 | MATLAB实现SCN随机配置网络多输入单输出回归预测 目录 回归预测 | MATLAB实现SCN随机配置网络多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现SCN随机配置网络多变量回归预测 1.data为数据集,7个输入特征&#xff0…

基于Python实现汽车销售数据可视化+预测【500010086.1】

导入模块 import numpy as np import pandas as pd from pylab import mpl import plotly.express as px import matplotlib.pyplot as plt import seaborn as sns设置全局字体 plt.rcParams[font.sans-serif][kaiti]获取数据 total_sales_df pd.read_excel(r"./data/中…

机器学习第13天:模型性能评估指标

☁️主页 Nowl 🔥专栏《机器学习实战》 《机器学习》 📑君子坐而论道,少年起而行之 文章目录 交叉验证 保留交叉验证 k-折交叉验证 留一交叉验证 混淆矩阵 精度与召回率 介绍 精度 召回率 区别 使用代码 偏差与方差 介绍 区…

zerotier 搭建 moon中转服务器 及 自建planet

搭建moon 服务器 环境准备 # 安装依赖 yum install wget gcc gcc-c git -y yum install json-devel -y# 下载及安装 curl -s https://install.zerotier.com/ | sudo bash节点ID 配置 配置moon.json文件 cd /var/lib/zerotier-one/# 导出依赖 zerotier-idtool initmoon ide…

SpringBoot项目连接,有Kerberos认证的Kafka

在连接Kerberos认证kafka之前,需要了解Kerberos协议 二、什么是Kerberos协议 Kerberos是一种计算机网络认证协议 ,其设计目标是通过密钥系统为网络中通信的客户机(Client)/服务器(Server)应用程序提供严格的身份验证服务,确保通信双方身份的真…

历时三个月,我发布了一款外卖返钱小程序

近几年,推广外卖红包爆火,各种推广外卖红包的公众号层出不穷。于是,我就在想外卖红包究竟是怎么一回事。就这样,我带着问题开始了关于外卖红包的研究。 在研究的过程中,我开始了解商品联盟、推广分成、cps等一系列相关…

Springboot3+vue3从0到1开发实战项目(一)

一. 可以在本项目里面自由发挥拓展 二. 知识整合项目使用到的技术 后端开发 : Validation, Mybatis,Redis, Junit,SpringBoot3 ,mysql,Swagger, JDK17 ,项目部署 前端开发: Vue3,Vite,Router…

DNS的各种进阶新玩法

你们好,我的网工朋友,今天和你聊聊DNS。 01 什么是DNS? mac地址诞生,可是太不容易记忆了,出现了简化了IP形式,它被直接暴露给外网不说,还让人类还是觉得比较麻烦,干脆用几个字母算了…

【Git】一文教你学会 submodule 的增、删、改、查

添加子模块 $ git submodule add <url> <path>url 为想要添加的子模块路径path 为子模块存放的本地路径 示例&#xff0c;添加 r-tinymaix 为子模块到主仓库 ./sdk/packages/online-packages/r-tinymaix 路径下&#xff0c;命令如下所示&#xff1a; $ git subm…

用自己热爱的事赚钱,是多么的幸福

挖掘天赋可能有些困难&#xff0c;但挖掘爱好就简单多啦&#xff01;最幸福的事情就是能用自己喜欢的事情赚钱。 我们要说的是一个博主&#xff0c;他非常喜欢骑自行车&#xff0c;虽然他的工作是在外贸公司做销售&#xff0c;但每当有空时&#xff0c;他都会骑自行车。而且他…

Go iota简介

当声明枚举类型或定义一组相关常量时&#xff0c;Go语言中的iota关键字可以帮助我们简化代码并自动生成递增的值。本文档将详细介绍iota的用法和行为。 iota关键字 iota是Go语言中的一个预定义标识符&#xff0c;它用于创建自增的无类型整数常量。iota的行为类似于一个计数器…

3款免费次数多且功能又强大的国产AI绘画工具

hi&#xff0c;同学们&#xff0c;本期是我们第55 期 AI工具教程 最近两个月&#xff0c;国内很多AI绘画软件被关停&#xff0c;国外绝大部分AI绘画工具费用不低&#xff0c;因此 这两天我 重新整理 国产 AI绘画 工具 &#xff0c; 最终 筛选了 3款功能强大&#xf…

LeeCode前端算法基础100题(3)- N皇后

一、问题详情&#xff1a; 按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff0c;返回所有不同的 n 皇后…

虚拟机系列:vmware和Oracle VM VirtualBox虚拟机的区别,简述哪一个更适合我?以及相互转换

一. VMware和Oracle VM VirtualBox虚拟机的区别主要体现在以下几个方面: 首先两种软件的安装使用教程如下: VMware ESXI 安装使用教程 Oracle VM VirtualBox安装使用教程 商业模式:VMware是一家商业公司,而Oracle VM VirtualBox是开源软件; 功能:VMware拥有更多的功能和…

Leetcode200. 岛屿数量

Every day a Leetcode 题目来源&#xff1a;200. 岛屿数量 解法1&#xff1a;深度优先搜索 设目前指针指向一个岛屿中的某一点 (i, j)&#xff0c;寻找包括此点的岛屿边界。 从 (i, j) 向此点的上下左右 (i1,j)&#xff0c;(i-1,j)&#xff0c;(i,j1)&#xff0c;(i,j-1) …

“圆柱-计算公式“技术支持网址

该软件可以计算圆柱的底面圆周长、底面积、侧面积和体积。 您在使用中有遇到任何问题都可以和我们联系。我们会在第一时间回复您。 邮箱地址&#xff1a;elmo30zeongmail.com 谢谢&#xff01;

如何将本地websocket发布至公网并实现远程访问?

本地websocket服务端暴露至公网访问【cpolar内网穿透】 文章目录 本地websocket服务端暴露至公网访问【cpolar内网穿透】1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功…

VR云游:让旅游产业插上数字化翅膀,打造地方名片

自多地入冬降温以来&#xff0c;泡温泉成了许多人周末度假的选择&#xff0c;在气温持续走低的趋势下&#xff0c;温泉游也迎来了旺季&#xff1b;但是依旧有些地区温度依旧温暖&#xff0c;例如南京的梧桐美景也吸引了不少游客前去打卡&#xff0c;大家穿着汉服与金黄的树叶合…