版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
备课纸适用班级:_______P.课题项目二设计网上商城系统数据库课时4+4课时教学目的理解网上商城的系统需求理解数据库设计的一般过程会根据系统需求抽象实体与实体间的关系会进行关系代数的选择、投影及连接运算了解数据库设计的规范化会使用PowerDesigner进行数据库建模重点数据库设计的一般过程抽象实体与实体间的关系使用PowerDesigner进行数据库建模难点网上商城的系统需求抽象实体与实体间的关系教具多媒体+机房课型新授作业课后习题课后项目实战教学过程课时分配教学方法教学内容课程引入关于数据库设计1.应用系统开发的一般流程?2.数据库设计的目的?定义数据库设计(DatabaseDesign)是指对于给定的应用环境,构造最优的数据模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各类用户的应用需求。数据库建模是指在数据库设计阶段,对现实世界进行分析和抽象,进而确定应用系统的数据库结构。备课纸适用班级:_P.任务1理解系统需求知识场景:B2C是电子商务的典型模式,是企业通过Internet为开展的在线销售活动,它直接面向消费者销售产品和服务。消费者通过网络在网上选购商品和服务、发表相关评论及电子支付等。网上商城系统介绍1.系统概述B2C(Business-to-Customer,商家对顾客)是电子商务的典型模式,是企业通过Internet开展的在线销售活动,它直接面向消费者销售产品和服务。学生讨论系统的一般业务流程是怎样?主要功能有哪些?讨论分析系2.系统面向的用户群体统面向的用系统面向商城管理员,会员,游客三类用户。户系统功能说明1.前台用户购物主要包括的功能模块浏览商品:游客或会员都可以通过商品展示页面了解商品基本信息;可以通过商品详细页面获知商品的详细情况;可以根据商品名称、商品类别、价格等条件进行商品的查询;可对商品价格或销售量排序,了解商品的销售情况购买商品:会员在浏览商品的过程中,可以将商品添加到自己的购物车,会员在提交订单前,可对购物车中的商品进行修改和删除,确认购买后,系统将生成订单,会员支付订单后,可以查看自己的订单的基本信息和订单详情。个人中心:在实际应用中,游客只能浏览商品信息,不能进行购买活动。游客可以通过注册成为系统会员。会员成功登录系统后,可以进行商品购买活动,也可以查看和维护个人信息,购物结束后可以注销账号。2.后台信息管理主要包括的功能模块个维护商品信息:管理员维护商品类别,根据需要添加、修改、删除商品信息。备课纸适用班级:_P.信息。维护会员信息:管理员维护会员信息、统计会员的购买情况,分析会员的购买力。维护订单:管理员可以查询、撤销订单或对订单数据进行统计,生成商品销售报表。维护管理员信息:系统管理员可以根据需要添加、修改和删除一般管理员。其他管理功能:包括系统设置、系统数据备份和恢复等。3.系统用例图图示展示用户的用例行为任务2建立系统数据模型任务描述要实现网上商城系统的数据库管理,必须在系统需求分析的基础上建立网上商城系统的数据模型。本任务主要完成如下内容:带着问题进什么是关系数据模型?行学习如何抽象实体、实体关系、实体属性?如何建立E-R模型?如果将E-R模型转换成逻辑模型及物理模型?如果规范关系模型?备课纸适用班级:_P.如果进行关系运算?关系数据模型数据模型是对现实世界的抽象关系型数据库的基础是数据模型(DateModel)关数据模型是一组向用户提供的规则,这些规则定义了数据如何组织及允许进行何种操作。数据模型包括数据结构、数据操作和数据约束3个要素。数据模型应满足三个方面要求能比较真实的模拟现实世界容易为人所理解便于在计算机上实现1.数据模型的组成要素数据结构:数据结构是数据模型的基础,不同的数据结构具有不同的操作和约束。描述数据库系统的静态特征,如数据库中表的结构定义、视图定义等。数据操作:描述系统的动态特征,主要是在数据库中对每个数据对象允许执行的操作集合主要包括数据的添加、更改、删除和查询等。数据约束:用来描述数据结构内数据间完整性规则的集合。完整性规则是数据及其关系所具有的制约和储存规则,用来限定符合数据库的语法、关系和它们间的制约与依存及数据动态的规则,以保证数据的正确性、有效性和兼容性。数据模型的分类备课纸适用班级:_P.(1)概念数据模型:是面向用户的数据模型,E-R模型。E-R模型的主实体(Entity)要对象属性(Attribute)标识符(Identifier)实体集(EntitySet)(2)逻辑数据模型:是用户在数据库中所看到的数据模型逻辑模型的字段(Field)主要对象记录(Record)关键字(Keyword)表(Table)(3)物理数据模型:描述数据在物理存储介质上的组织结构,与DBMS相关模型的演化过程实体和关系备课纸适用班级:_P.1.实体、实体集实体是一个数据对象,是客观存在且相互区分的事物。分析结论一个实体集中通常有多个实例。当描述实体的属性值越多时,所描述的实体越清晰。实体通过一组属性来表示,属性是实体集中每个成员所拥有的特性,不同的实体其属性值不同。举例说明实体与属性的表示方法2.关系定义关系是指多个实体间的相互关联。关系集(RelationshipSet)是同类联系的集合,是n(n≥2)个实体集上的数学关系。实体与关系的表示关系属性的表示方法3.关系事物内部及事物之间都存在一定的联系,这些联系在信息世界中反映为实体内备课纸适用班级:_P.部的联系和实体间的关系。举例说明三种关系一对一关系一对多关系多对多关系建立E-R模型数据库设计的第一步就是进行概念模型的设计,而概念模型最常用的表示方法为E-R模型。学习提示由于E-R模型接近人类的思维方式,容易理解并且与计算机无关,所以用户容易接受。PeterChen陈氏画法建立E-R模型的步骤备课纸适用班级:_P.1.标识实体实体通常由系统中的文档、报表或需求调研中的名词。如人物、地点、概念、事件或设备等表述。学生讨论根据网上商城的系统业务,分析该系统中的实体有哪些?抽象结果2.标识实体间的关系实体间的关系由动词或动词短语来表示。例:会员和订单实体间的关系学生讨论根据网上商城的系统业务,分析该系统中的实体关系怎样?关系分析结果实体实体关系类型关系类型会员商品添加购物车多对多(m:n)商品订单生成订单详情多对多(m:n)会员订单有一对多(1:n)商品商品类别属于多对一(1:n)3.标识实体的属性属性是实体实例的特性或性质。学生讨论根据网上商城的系统业务,分析该系统中的实体或关系的属性?归纳与标识实体类相似,标识实体属性时先要在用户需求说明中查找描述性的名备课纸适用班级:_P.词,当这个名词是特性、标志或确定实体的特性时即可被标识成为实体的属性。例:会员实体的属性4.确定主关键字关键字的确每一个实体必须要有一个属性用来唯一地标识该实体以区分其他实体的特性认规则这种属性称为关键字。关键字的值在实体集中必须是唯一的,且不能为空,它唯一地标识了实体集中的一个实例。在实体属性图中,在主关键字上加下划线。例:会员ID作为主键按照以上步骤将每一个实体及实体的关系抽象,完成概念数据模型的建立。(在B2C网上商城中,本课程仅考虑会员购买商品相关的业务)备课纸适用班级:_P.逻辑模型设计设问E-R模型是面向用户的模型,设计的E-R模型如何转换成计算机能识别的模型呢?逻辑数据模型是用户在数据库中所看到的数据模型,它由概念模型转换得到转换原则详讲(1)实体转换原则将E-R模型中的每一个实体转换成一个关系,即二维表;实体的属性转换为关系的字段实体的标识符转换成关系模式中的主关键字。(2)关系转换原则若实体间联系为1:1时,可以在两个实体类型转换成两个关系模式中任意一个关系模式中加入另一个关系模式的主关键字作为实体联系的属性。若实体间联系为1:n时,则在n端实体类型转换的关系模式中加入1端实体类型的关键字实体联系的属性。若实体间联系为n:m时,则要将实体间联系也转换成关系模式,其属性为两端实体类型的关键字。网上商城系统的逻辑模型转换如下。举例商品类别(类别id,类别名称)商品(商品id,商品编号,商品名称,价格,库存数量,……类别id)会员(会员id,登录名(电话号码),用户名,密码,性别,积分,……)订单(订单id,订单金额,下单时间,会员id)购物车(购物车id,会员id,商品id,购买数量)订单详情(详情Iid,订单id,商品id,购买数量)学习提示:E-R数据模型和逻辑数据模型的都独立于任何一种具体的DBMS,要最终实现用户数据库,需要将E-R数据模型或逻辑数据模型转换为DBMS所支持的物理数据模型。备课纸适用班级:_P.关系模式的规范化如何衡量数据库设计的优劣?在关系数据库中,规则范的理论称为范式。范式是符合某一级别的关系模式集合。关系数据库中的关系必须满足一定的要求,即满足不同的范式。详讲1.第一范式不满足第一范式的数据库就不是关系型数据库。第一范式是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。简而言之,第一范式就是无重复的列。例:不符合第一范式的会员信息表2.第二范式第二范式要求数据库表中的每个实例或行必须能被唯一地区分。在第二范式中,要求实体的属性完全依赖于主关键字。举例在网上商城系统中,会员和商品间存在“添加购物车”关系如下分析{会员id,商品id}→{用户名,商品名称,价格,购买数量}这种模式存数据冗余:如同一件商品被n个用户购买,则商品id,商品名称,价格在的问题就要重复n-1次;当一个会员购买m件商品时,其用户名就要重复m-1次。备课纸适用班级:_P.更新异常:若某件商品的价格要进行折扣销售,则整个表中该商品的价格都要进行修改,否则会出现同一件商品价格不同的情况。改进方案对上述选课关系进行拆分后可形成如下3个关系。会员:users(会员id,用户名)商品:goods(商品id,商品编号,价格)购物车:cart(会员id,商品id,购买数量)修改后的关系模式有效消除了数据冗余,更新、插入和删除异常。学习提示在实际开发中,通常会为购物车表加上“购物车id”字段作为主键,以此来区别每一条购买记录。3.第三范式第三范式要求关系表中不存在非关键字对任一候选关键字的传递函数依赖。提问什么是传递函数依赖?传递函数依赖是指如果存在“A→B→C”的决定关系,则C传递函数依赖于A。第三范式要求关系表不包含其他表中已包含的非主关键字段信息。讨论关系模式{商品id}→{商品名称,价格,类别id,类别名称}符合哪一级范式?符合第二范式的要求,但不符合第三范式。因为还存在{商品id}→{类别id}→{类别名称}的关系。存在的问题数据冗余:一个类别有多种商品,类别名称会重复n-1次。更新异常:若要更改某类别名称,则表中所有该类别的类别名称的值都需要更改,否则就会出一件商品对应多种类别。插入异常:若新增了一种商品类别,如果还没有指定到商品,则该类别名备课纸适用班级:_P.称无法插入到数据库中。删除异常:当要删除一种商品类别时,那就应该删除它在数据库中的记录,而此时与相关的商品信息也会被删除。改进方案要消除以上问题,就需要对关系进行拆分,去除非主关键字的传递依赖关系商品:goods(商品id,商品名称,价格,类别id)商品类别:category(类别id,类别名称)总结分析范式具有避免数据冗余、减少数据库占用的空间、减轻维护数据完整性的工作量等优点,但是随着范式的级别升高,其操作难度越来越大,同时性能也随之降低。因此,在数据库设计中,寻求数据可操作性和可维护性之间的平衡,对数据库设计者而言比较困难。关系代数定义关系代数是一种抽象的查询语言,是关系数据操纵语言的传统表达方式,它用关系运算来表达数据查询。1.关系运算符关系代数的运算对象是关系,运算结果也是关系。关系运算符如下。备课纸适用班级:_P.2.传统的集合运算(1)关系的并R∪S={t|t∈RVt∈S}(2)关系的差R-S={t|t∈R∧t∉S}(3)关系的交R∩S={t|t∈R∧t∈S}(4)笛卡尔积R×S={trts|tr∈R∧ts∈S}举例说明关【例2.1】设有3个关系R、S和T,如图所示。系运算法则分别求出R∪S、R-S、R∩S和R×T的运算结果。运算结果分析3.专门的关系运算专门的关系运算包括选择、投影、连接和除等运算。备课纸适用班级:_P.(1)选择运算σF(R)={t|t∈R∧F(t)=TRUE}举例说明【例2.2】查询会员(Users)关系中,性别为“男”的会员信息。σ性别=’男’(Users)或σ3=’男’(Users)结果分析(2)投影运算πx(R)={t[x]|t∈R}举例说明【例2.3】查询会员(Users)的用户名、性别和积分。π用户名,性别,积分(Users)或π2,3,5(Users)结果分析(3)连接运算θ连接R⋈R⋈S={trts|tr∈R∧ts∈S∧tr[A]θts[B]}AθB自然连接R⋈S={trts|tr∈R∧ts∈S∧tr[A]=ts[A]}举例说明【例2.5】查询类别为服饰的商品信息。备课纸适用班级:_P.设Goods关系为R,GoodsType关系为S,由于两个关系中有共同的属性类别ID,则进行的连接运算为自然连接,其关系运算表达式可以描述如下。σ类别名称=’服饰’(R⋈S)(4)除运算笛卡尔积的逆运算。设被除关系R有m元关系,除关系S有n元关系,那么它们的商为m-n元关系,记为R÷S。其中在关系R中每个元组i与关系S中每个元组j组成的新元组必在关系中R中。商的构成原则是将被除关系R中的m-n列,按其值分成若干组,检查每一组的n列值的集合是否包含除关系S,若包含则取m-n列的值作为商的一个元组,否则不取。举例说明【例2.7】设有关系R和关系S,如图所示。求R÷S的运算结果。第1步:找出关系R和关系S中相同的属性,设为关系Y,并从关系S中投影出关系Y。第2步:从关系R中,投影出与关系S不相同的属性,记为关系X。第3步:找出关系X中每个元组对应于关系Y的象集,即元组(2,1)、(2,2)、(3,2)对应的Y值。第4步:判断包含关系,若某个元组在关系Y上的象集完全包含关系Y的所有元组,则该元组在关系X上的投影即为所求。任务3使用PowerDesigner建立系统模型备课纸适用班级:_P.任务场景在网上商城系统概念数据和逻辑模型设计完成后,需要将模型转换成相应的物理数据模型,并生成数据库。PowerDesigner是现今数据库建模市场中最为流行的工具之一,它能够方便地实现概念模型、物理模型和数据库之间的转换。PowerDesigner简介略讲工欲善其事,必先利其器当前流利的设计工具:PD,RationalRose,VisioPowerDesigner支持的模型建立概念数据模型建立概念数据模型的实质就是在PowerDesigner工具中绘制实体关系图举例+演示备课纸适用班级:_P.建立物理数据模型物理数据模型与数据库的正逆向工程略课后实战对于网上商城系统进行系统升级,新增两个功能。对其进行数据库需求分析和设计。(1)新增商品打折功能,管理员可以对每件商品进行折扣设定,会员购买该商品时就可以享受相应的折扣。(2)在商品分类上支持多层级分类,例如生鲜类可细分蔬菜水果、肉类、乳制品,肉类又可进一步细分成猪肉、牛羊肉、禽类等。管理员可以修改商品分类,调整目录层级,用户可以通过层级分类一步一步找到自己所需的商品。实践内容完成系统升级后的数据库设计。(1)分析系统升级后,针对系统中的实体,标识实体间的关系,绘制E-R模型。(2)根据数据库管理系统的要求,求E-R模型转换成为物理数据模型。(3)撰写数据库设计说明书。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年江苏省常熟市高二历史上册期末考试试卷及完整答案【名师系列】
- 2026年苏州婚纱摄影行业深度攻略:选型标准、合规要求与标杆实践
- 2026澳洲社工面试题目及答案
- 2026安踏安全员面试题及答案
- 水电站水工建构筑物维护检修工岗前岗位责任制考核试卷含答案
- 煤制烯烃生产工安全知识宣贯水平考核试卷含答案
- 黄酒压滤工安全理论竞赛考核试卷含答案
- 催化汽油吸附脱硫装置操作工岗前岗位适应能力考核试卷含答案
- 选矿过滤脱水工安全宣传模拟考核试卷含答案
- 塑料制品烧结工诚信品质考核试卷含答案
- 数学-安徽省天一大联考2024-2025学年高二下学期6月摸底考试
- 2025年中国邮政集团有限公司广东省分公司人员招聘笔试备考试题及参考答案详解1套
- 河道生态修复工程施工图设计总说明
- 水库安全运行管理防汛知识培训
- 【MOOC期末】《中国文化传承与科技创新》(北京邮电大学)中国慕课期末网课答案
- DL∕T 5210.4-2018 电力建设施工质量验收规程 第4部分:热工仪表及控制装置
- MOOC 人工智能导论-西安电子科技大学 中国大学慕课答案
- 家具维保服务投标方案
- 朋友乘车免责协议书
- 柔力球-华中师范大学中国大学mooc课后章节答案期末考试题库2023年
- 穿PRADA的恶魔 The Devil Wears Prada 中英文剧本
评论
0/150
提交评论