数据库 数据结构设计实验报告 包括er图转关系模式

年级

班号

组号

 学号

 

专业

日期

 姓名

 

实验名称

实验一   数据库设计

实验室

实验

目的

要求

1、通过了解具体的应用案例体验数据库的应用,以及数据库系统和应用程序之间的关联关系,从而进一步理解数据、数据库、DBMS基本概念知识。

2、明确数据库设计的基本步骤,以及每一阶段的主要任务

3、掌握概念结构E-R图的绘制方法,并能熟练完成具体数据库应用案例中E-R图的绘制

4、能够准确地将E-R图转换成关系数据模型

实验

环境

SQL Server 2014

实验内容或

实验题目

1、通过具体的数据库应用案例(自由选取),来具体描述数据库应用工作流程。

2、以“电子商务”为例,从消费者购买商品、商家处理订单并发货这两个关键业务角度出发,进行“电子商务系统”数据库需求分析,明确“电子商务系统”数据库涉及的实体、实体的属性以及实体和实体之间的联系。

3、绘制“电子商务系统”概念结构图,即E-R图

4、将“电子商务系统”概念模型转化成具体的关系数据模型

  步骤如下:

  1. 数据库应用工作流程(案例资料来源于网络 因为是要vip的就不在这上传具体案例部分了 )

  1. 需求分析:了解用户的数据需求、处理需求、安全和完整性需求。

2.概念设计:通过数据抽象,设计系统的概念模型,一般为e-r模型。

3.逻辑结构设计:设计系统的模式和外部模式,特别是关系模型的基本表和视图。

4.物理结构设计:设计数据的存储结构和访问方法,如索引的设计。 

5.系统实现:组织数据存储,编写应用程序,试运行。

6.运维:系统投入运行,进行长期维护。

2.

按消费者购买商品、商家处理订单并发货这两个关键业务角度出发

实体:

消费者,订单,商品,商家

实体的属性:

消费者(会员编号,会员姓名,联系电话,会员用户名,邮寄地址,会员登录码,)

商品(商品编号,是否下架,成本价,库存量,商品名称,供应商编号,品牌,售价,商品图片)

订单(订单编号,会员编号,订单数量,优惠金额,付款日期,提交日期,实付总金额)

商家(供应商编号,供应商姓名,联系人电话,联系人姓名,地址)

实体间的联系

产生(消费者和订单)

购买(消费者和商品)

处理(商家和定单)

构成(商品和定单)

3.

E-R图

4.

消费者(会员编号,会员姓名,联系电话,会员用户名,邮寄地址,会员登录码,订单编号)

商品(商品编号,是否下架,成本价,库存量,商品名称,供应商编号,品牌,售价,商品图片)

订单(订单编号,会员编号,订单数量,优惠金额,付款日期,提交日期,实付总金额,商品编号)

商家(供应商编号,供应商姓名,联系人电话,联系人姓名,地址)

处理(供应商编号,订单编号,发货)

 购买(会员编号,商品编号

实验运行结果或者是验证性的结果:

见操作步骤

分析结果以及在试验中应注意的问题:

通过查找资料 查找应用案例 进一步了解了数据库设计的流程与相关知识 包括 er图的建立 和其与关系模式的转换

转换的时候 发现 在表格里有外键的其实就已经把关系模式要写的写好了 是建立过程先后的问题 表的建立是在其之后的,一直概念不清楚。

  • 5
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库概念设计——ER图 第一题:参考 大学实行学分制,学生可根据自己的情况选课。每名学生可同时选修多门课程,每门 课程可由多位教师主讲;每位教师可讲授多门课程。 指出学生与课程的联系类型。 1. 指出课程与教师的联系类型。 2. 若每名学生有一位教师指导,每个教师指导多名学生,则学生与教师是何联系? 3. 在原E-R图上补画教师与学生的联系,并完善E-R图。 第二题:将ER图化为关系模式 单位 "单位号 "地址 "电话 " 职工 "职工号 "姓名 "性别 "年龄 "单位号 " 第三题:画ER图 1. 职工:职工号、姓名、地址和所在部门 2. 部门:部门所有职工、部门名、经理和销售的产品 3. 产品:产品名、制造商、价格、型号和产品内部编号 4. 制造商:制造商名称、地址、生产的产品名和价格 部门有很多职工,职工仅在一个部门工作; 部门销售多种产品,这些产品也在其它部门销售; 制造商生产多种产品,其它制造商也制造这些产品。 画ER图 第四题:画ER图 科室:科名、科地址、科电话、医生姓名 病房:病房号、床位号、所属科室名 医生:姓名、职称、所属科室名、年龄、工作证号 病人 病历号、姓名、性别、诊断、主臂医生、病房号 一个科室有多个病房、多个医生; 一个病房只能属于一个科室; 一个医生只属于一个科室,但可负责多个病人的诊治; 一个病人的主管医生只有一个。 完成如下设计: 1. 设计该计算机管理系统的E-R图。 2. 将该E-R图换为关系模式结构。 科室 "科名 "科地址 "科电话 " 病房 "病房号 "床位号 "科名 " 医生 "工作证号 "姓名 "职称 "年龄 "科室名 " 病人 "病历号 "姓名 "性别 "主管医生 "病房号 " 第五题:画ER图 某田径运动会组委会需要一运动会管理系统,现提出如下需求。该系统中存在运动队 和运动会两方面的实体。 1.运动队方面 运动队:队名、教练姓名 队员:编号、姓名、性别、项名 其中,一个运动队有多个队员,一个队员仅属于一个运动队,一个队一般有一个教练 ,一个队员可参加多个项目 2.运动会方面 运动队:队编号、队名、教练姓名 项目:项目名、参加运动队编号、场地 其中,一个项目可由多个队参加,一个运动队可参加多个项目,一个项目一个比赛场 地。 现要求: (1).分别设计运动队和运动会的局部ER图。 运动队: 运动会: (2).将它们合并为一个全局E-R图。 第六题:画ER图 上海可的商业连锁集团需要建立信息系统。该系统中存在3个实体集,一是"商店"实 体集,属性有商店编号、商店名、地址等;二是"商品"实体集,属性有商品号、商品名 、规格、单价等;三是"职工"实体集,属性有职工编号、姓名、性别、业绩等。 商店与商品间存在"销售"联系,每个商店可销售多种商品,每种商品也可以放在多个 商店销售,每个商店销售的一种商品有月销售量;商店与职工之间存在"聘用"联系,每 个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和工资。 (1).试画出E-R图。 (2).将该E-R图换成关系模式,并指出主码和外码。 商店 "商店编号 "商店名 "地址 " 职工 "职工编号 "姓名 "性别 "业绩 " 商品 "商品号 "商品名 "规格 "单价 " 聘用 "商店编号 "职工编号 "工资 "聘期 " 销售 "商店编号 "商品号 "月销售量 " 第七题:画ER图 海军某部要建立一个舰队信息系统,它包括如下两方面的信息: 1.舰队方面 舰队:舰队名称、基地地点 舰艇:编号、舰艇名称、所属舰队 2.舰艇方面 舰艇:舰艇编号、舰艇名、武器名称 武器:武器编号、武器名称、武器生产时间、舰艇编号 官兵:官兵证号、姓名、舰艇编号 其中,一个舰队拥有多艘舰艇,一艘舰艇属于一个舰队;一艘舰艇安装多种武器,一 种武器可安装于多艘舰艇之上;一艘舰艇有多名官兵,一名官兵只属于一艘舰艇。要求 完成如下设计: (1).分别设计舰队和舰艇两个局部ER图; 舰队 舰艇 (2).将上述两个局部ER图合并成一个全局ER图; (3).将该全局ER图换为关系模式; 舰队 "舰队名称 "基地地点 " 舰艇 "舰艇编号 "舰艇名称 " 武器 "武器编号 "武器名 "武器生产时间 " 官兵 "官兵证号 "姓名 " 拥有 "舰队名称 "舰艇编号 "所属舰队 " 属于 "官兵编号 "舰艇编号 " 安装 "舰艇编号 "武器编号 " 第八题:画ER图 某集团公司需要建立一个数据库存储以下信息: (1).该集团公司由多个工厂组成,每个工厂具有厂名和厂长名两个属性;一个厂内有 多个车间,每个车间有车间号、车间主任姓名、地址和电话。 (2).一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种。 (3).一个车间生产多种产品,产品有产品号和价格。
数据库设计的基本步骤 (1)需求分析阶段:需求收集和分析,得到数据字典和数据流图。 (2)概念结构设计阶段:对用户需求综合、归纳与抽象,形成概念模型,用 E-R 图示。 (3)逻辑结构设计阶段:将概念结构换为某个 DBMS 所支持的数据模型。 (4)数据库物理设计阶段:为逻辑数据模型选取一个最适合应用环境的物理结构。 (5)数据库实施阶段:建立数据库,编制与调试应用程序,组织数据入库,程序试运行。 (6)数据库运行和维护阶段:对数据库系统进行评价、调整与修改。 1 数据库设计概述 数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据。 数据库设计的基本步骤: 需求分析 概念结构设计 逻辑结构设计 物理结构设计 数据库的建立和测试 数据库运行和维护。 数据库各阶段设计描述 2 概念结构设计 在早期的数据库设计,在需求分析阶段后,就直接进行逻辑结构设计。由于此时既要考虑现实世界信息的联系与特征,又要满 足特定的数据库系统的约束要求,因而 对于客观世界的描述受到一定的限制。同时,由于设计时要同时考虑多方面的问题,也使设计 工作变得十分复杂。1976 年 P.P.S.Chen 提出在逻辑结构 设计之前先设计一个概念模型,并提出了数据库设计的实体--联系方法 (Entity--Relationship Approach)。这种方法不包括深的理论,但提供了一个简便、有效的方法,目前成为数据库设计中通用的工具。 有许多商业软件支持 E-R 模型,如 Sybase 公司的 PowerDesigner DataArchitect(最新版本 v9.5.1 for Windows)、微软公司 Microsoft InfoModeler (VisioModeler)等。 图 S-designer DataArchitect 5.1 设计的 E-R 模型 使用 E-R 模型来进行概念模型的设计通常分两步进行, 首先是建立局部概念模型, 然后综合局部概念模型, 成为全局概念模型。 2.1 E-R 模型基本符号 实体的示:用长方形 联系的示:用菱形,1:1、1:n (m:1)、(m:n) 属性的示:用椭圆形 E-R 图具有以下几个特性: 一个联系集合可以定义在两个或两个以上的实体集合上,例如老师--学生--课程的联系集合 S-T-C,就是定义在三个实体上。 一个联系集合也可以定义在一个实体集合上,例如零件下又分有子零件,每个零件又可由 m 个子零件组成,每个子零件又可组 合成 n 个零件。 对于给定的实体集合,可以定义一个以上的联系集合,例如工程项目--工人可以定义两个联系集合,其中一个示工程项目和 工人的联系,另一个示工程项目和工人中的工程项目负责人的联系。前者是 n:m 的联系,后者是 1:1 的联系。 实体联系图可以示一个实体类型对另一个实体类型的存在的依赖性,例如工人这一实体下反映其被抚养者的关系,就是依赖 关系,这种联系用箭头示,说明抚养者这个实体的存在取决于工人中的相应的那个实体。 2.2 初步 E-R 图设计 在数据分析的基础上,就可以着手设计概念结构。设计初步 E-R 图的步骤: 先设计局部 E-R 图,也称用户视图 综合各局部 E-R 图,形成总的 E-R 图,即用户视图的集成。 在设计初步 E-R 图时,要尽量能充分地把组织中各部门对信息的要求集中起来,而不需要考虑数据的冗余问题。 局部概念模型设计是从用户的观点出发, 设计符合用户需求的概念结构。 局部概念模型设计的就是组织、 分类收集到的数据项, 确定哪些数据项作为实体,哪些数据项作为属性,哪些数据项是同一实体的属性等。确定实体与属性的原则: 能作为属性的尽量作为属性而不要划为实体; 作为属性的数据元素与所描述的实体之间的联系只能是 1:n 的联系; 作为属性的数据项不能再用其他属性加以描述,也不能与其他实体或属性发生联系。 例 1:一个机械制造厂的简单管理系统。首先按工厂技术部门和工厂供应部门设计两个局部 E-R 图。工厂技术部门关心的是产品的性 能参数,及由哪些零件组成,零件的材料和耗用量等;工厂供应部门关心的是产品的价格,使用材料的价格及库存量等。 例 1 图 局部 E-R 图 综合这两个分 E-R 图,得到初步 E-R 图。 例 1 图 初步 E-R 图 初步 E-R 图是现实世界的纯粹示, 可能存在冗余的数据和实体间冗余的联系。 所谓冗余的数据是指可由基本数据导出的数据, 冗余的联系是指可由基本联系导出的联系。 2.3 基本 E-R 图设计 初步 E-R 图由于存在冗余的信息,会破坏数据库的完整性,给数据库的管理带来麻烦,以至引起数据不一致的错误。因此,必 须消除数据上的冗余和联系上的冗余,消除冗余后
本文档为数据库上机实验报告,是自己认认真真一步一步写的,报告包含试验中的具体步骤,过程以及代码和实验结果截图,和实验总结。 实验实验题目: 数据库管理系统的使用 实验目的: 掌握SQL SERVER2005的使用和数据库设计的一般方法。 实验内容: (1)SQL SERVER2005的使用 (2)数据库设计过程并利用SQL SERVER2005建立数据库实验实验题目: 数据库的定义 实验目的:掌握数据建立、修改、删除、索引的SQL语句。 实验内容: (1)数据的建立 (2)数据的修改 (3)数据的删除 (4)数据的索引建立 为S的DEPT建立唯一索引 (5)视图的建立与删除 建立一个计算机系学生基本信息视图CSV(SNO,SNAME,SEX,AGE) 查询1983年以后出生的计算机系学生基本信息。 建立一个计算机系学生成绩视图JSGV(SNO,CNO,GRADE)。 查询计算机系学生选课多于3门的学生学号。 查询计算机系学生2号课不及格的学生学号和成绩。 实验实验题目: 数据的操作 实验目的: 掌握数据数据操作的SQL语句。 实验内容: SQL语句插入数据操作 SQL语句修改数据操作 SQL语句删除数据操作 SQL语句查询数据操作 维护数据SQL语句: (1)在学生中插入一新生信息(‘200213808’,’HUJING’,’女’,22,’计算机’) (2)删除数据库中学号为’200213801’的退学学生有关信息。 (3)将计算机系学生2号课成绩全部提高5%。 查询数据SQL语句: (4)统计有学生选修的课程门数。 (5)统计HU老师所授每门课程的学生平均成绩。 (6)统计所有选修人数多于20的课程号和选课人数,并按人数降序排列,若人数相等,则按课程号升序排列。 (7)检索所有缓考即成绩为NULL的同学学号、姓名和缓考课程号。 (8)检索‘OS’课成绩高于该课平均成绩的同学学号。 (1) 检索计算机系女生的学号和姓名。 (2) 检索全体学生姓名、出生年份和所在系。 (3) 检索未选修任何课程的学生学号。 (4) 检索WANG老师所授课程号、课程名。 (5) 检索所有姓LI同学的基本信息。 (6) 检索选修‘DATABASE’课程的学生学号。 (7) 检索年龄介于LIPING同学年龄和28岁之间的学生基本信息。 (8) 检索选修TIAN老师所授全部课程的学生学号。 实验实验题目: T-SQL编程 实验目的: 掌握T-SQL语句的使用。 实验内容: 1.定义一个变量,用来存储两名学生的学号,姓名,所在系。 2.编写一个自定义的函数,该函数接受一个学生姓名,返回其学生中基本信息及选课情况。 3.试用CASE语句输出学生中各年龄段的学生人数。 4.编写存储过程,以系别作为参数,统计指定系别的人数,并作为存储过程的输出。 实验题目: 数据库的完整性 实验目的: 掌握数据库的完整性约束定义,完整性检查及违约处理方式。 掌握触发器的定义及使用。 实验内容: 1. 定义S, C的完整性约束 2. 定义SC的完整性约束,要求当其被参照发生删除操作时,违约处理的方式为级联,当其被参照发生修改操作时,违约处理的方式为拒绝。 3. 触发器 ☆ 建立一DML触发器,每当学生的成绩发生更新时,将更新的学号,成绩存入g-log内 ☆ 建立一个INSTEAD OF触发器,每当修改课程中记录时,利用触发器动作替代修改操作。 ☆ 建立一个DDL 触发器,不允许删除数据库,并作出响应。 实验实验题目: 数据库的安全性 实验目的: 掌握SQL SERVER 2005的安全控制机制 实验内容: 1. 创建登录 创建lg1,lg2,并设定口令 2. 定义用户 定义user1,user2,user1以lg1登录,user2以lg2登录,user1定义角色ddl_admin,datareader,datawriter 3. 掌握SQL SERVER 2005架构和用户分离的概念 为user1创建架构u1,并建立test,通过授权模式的方法,授权给user2访问test的权限 4. 数据库的授权、收权语句 ☆ 将查询SC和修改GRADE属性的权限授予用户user1。 ☆ 将对S的插入权限授予用户user2,并允许他将此权限授予其他用户。 ☆ 收回所有用户对S的插入权限。 实验实验题目: 数据库设计 实验目的: 掌握数据库的概念结构设计和逻辑结构与设计,掌握ER图示方法即如何将ER模型化为关系模型 1.学校有若干系,每个系有若干班级和教研室,每个教研室有若干教师,其中有教授和副教授每人各带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课有若干学生选修。 2.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料组成,不同零件所用的材料可以相同。有些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。
数据库ER图关系模型的方法如下: 1. 将ER图中的实体换为关系模式,实体名称作为关系模式名称,实体的属性就是关系的属性,实体的主码就是关系的主码。每个实体对应一个中的每一行代一个实体,每一列代一个属性。 2. 将ER图中的联系换为关系模式。通用规则是:将联系换为新的关系模式,新关系模式的属性包括参与联系的实体的主码,新关系模式的主码是这些属性的组合。例如,一个“学生选课”联系可以换为一个新的关系模式包括“学生编号”和“课程编号”两个属性,主码是这两个属性的组合。 3. 确定每个关系模式的码(键)。在关系中,由唯一可标识记录的属性或属性组构成的称为码或键。一个关系模式可能有多个码,其中一个码被选为主码。 4. 确定每个关系模式的主属性和非主属性。主属性是候选码中的各属性,非主属性是不包含在任意一个候选码中的属性。 5. 确定每个关系模式的外键。若在关系R中包含另一个关系S的主键对应的属性或属性组K,则称K为R的外键。 6. 确定每个关系模式的完整性约束。例如,一个学生只能选修已经开设的课程,这个约束可以示为一个外键约束。 下面是一个示例,将一个简单的ER图换为关系模型: ![ER图换为关系模型示例](https://i.imgur.com/5JZzvJL.png) 根据上图,可以得到以下关系模型: 1. 学生(学号,姓名,性别,出生日期,班级) 2. 课程(课程编号,课程名称,学分) 3. 选课(学号,课程编号,成绩)

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值