数据库实验五 数据库设计

一、实验目的

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图转化为关系模式,写出表的关系模式并标明各自的主码和外码。
用户(用户编号,用户名,用户性别),主码为:用户编号;
书籍(书籍编号,书籍名称,书籍价格),主码为:书籍编号;
订单(订单编号,下单时间,订单总价格),主码为:订单编号,外码为:用户编号
订单明细(订单编号,书籍编号,订单明细编号,书籍数量),主码为:订单明细编号,外码为:订单编号,书籍编号

  • 24
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
资源非常丰富,包含了学生信息管理系统需求分析文档,软件详细设计文档,安装部署手册及源程序。开发工具:软件架构:web应用程序,采用struts2加hibernate加spring框架。开发平台:J2EE 功能实现: 前台主页描述:顶部和底部均为各版块的公共部分,提供了一些导航链接,很方便用户操作。 左侧栏为用户信息及其班级信息展板,左侧底部展板用户显示一些班级公告信息, 右侧包括班级相册,可以自动播放,也可手动播放,还有一些班级的最新留言。 主页面只显示了最新的三条,用户可以通过头部导航条中的留言或“查看更多”导航 进入全部留言区,这里将为用户按时间先后顺序陈列出了所有的班级留言。您也可以 点击主页留言处的“我要留言”而进行留言。 班级模块描述:通过班级,用户可以查询本班的其他同学的信息,并且可以对信息的显示顺序进行排序, 排序可以按学号,姓名,年龄条件,再选择排序方式,点击查询即可。 留言模块描述:留言主要是方便大家讨论用的,用户可以发表留言信息,但如果内容不文明不科学,管理员可以删除。 这里也需说明一下,这里的留言没有设置留言评论的,感觉对于班级信息系统来说,也没这个必要,用户 有什么话要说,尽管留言即可,不过如果硬要针对某个人进行留言的话,用户也可以在留言中说明一下 即行,也没什么不方便的。 公告模块描述:特别说明一下,原本想将公告和活动分开处理的,但目前由于时间问题,暂且放在一起了,也就是 公告与活动是同一内容,然而这样做感觉也还可以,说得过去,这里的公告是一些班级的公告信息, 主要是由后台管理员(可以说是班长或班主任等)来发布的,只有管理员才能够直接操作公告信息, 前台用户这里只能够查看,其实这样没什么不妥,反而便于管理,也更符合常情。 其他模块描述:收藏和注销只是两个小功能,收藏是为了方便用户将本网页保存起来,这样以后就不必输入网址了。 而注销是必不可少的,用户登录后,当想退出时,就可以安全注销了,如果你现在还不想退出的话, 就别点击它哦,否而得重新登录的喔,仅作提示。 后台主页包括顶部公共模块,底部公告模块,左侧导航栏,中间显示区。其中顶部公共模块中的“主菜单”能够便捷的打开左侧的导航栏,“前台主页”是后台管理员查看前台主页信息,“后台主页”打开后台相关介绍信息的页面(登录成功后的主页面),“发布公告”方便管理员打开班级公告页面,便于发布新的公告,“数据维护”包括数据库备份与恢复,“系统设置”主要涉及到一些本系统的设置信息,由于时间及精力有限,这两块先预留着,以后再好好完善扩展。那个蓝色小按钮是控制中间页面是否隐藏左侧导航栏用的,而那两个黑色小按钮用于移动显示框的。 左侧导航栏主要包括了管理员信息的增删改查,学生信息的增删改查,班级公告信息的增删改查,班级留言信息的查询与删除。管理员单击各导航链接进入到相应页面,进行操作即可。 前后台页面美观,操作方便,尤其配有平台搭建介绍文档,很容易搭建系统平台。
数据库设计是指在规划和设计关系型数据库时,需要考虑数据库的结构、数据类型和数据关系,以满足用户需求、提高数据访问效率和保证数据完整性。以下是一个数据库设计的步骤: 1. 需求分析:收集用户的需求,确定数据库的功能、数据存储方式和数据访问方式。 2. 数据建模:使用数据建模工具,设计数据库的实体、属性和关系,生成ER图。 3. 数据库规范化:将ER图转换为关系模型,消除冗余数据,提高数据存储效率。 4. 数据库设计:根据关系模型设计数据库表结构、数据类型、约束和索引。 5. 数据库实现:使用SQL语言创建数据库、表、视图、索引、存储过程和触发器等对象,并插入数据。 6. 数据库测试:对数据库进行功能测试、性能测试和安全测试,验证数据访问的正确性和有效性。 7. 数据库维护:定期备份和恢复数据库,优化数据库性能,修复数据库错误和漏洞,保证数据安全和可靠性。 在数据库设计过程中,需要考虑以下几个方面: 1. 数据库范式:数据库范式是一种规范化的设计方法,用于消除冗余数据和提高数据存储效率。常用的数据库范式有第一范式、第二范式、第三范式等。 2. 数据库性能:数据库性能是指数据库的响应速度、并发处理能力和数据访问效率等。优化数据库性能可以通过合理设计表结构、建立索引、使用存储过程和触发器等方式实现。 3. 数据库安全:数据库安全是指保护数据库免受非法访问、恶意攻击和数据泄露等威胁。应该采取有效的授权、认证、加密和审计等措施,保证数据库的安全性和可靠性。 4. 数据库扩展性:数据库扩展性是指数据库支持的容量、并发用户数和应用场景的可扩展性。应该采用可扩展的数据库架构、分布式数据库和云数据库等技术,保证数据库的扩展性和灵活性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西又X

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值