zoukankan      html  css  js  c++  java
  • 高级数据库设计与应用 05

    一、实验目的

    1. 本实验关键之处在于,要求训练并掌握书写数据库设计文档的能力, 并且能利用学过的XML数据库进行模式的创建,实现学而致用的习惯。
    2. 同时,也要求梳理实验中所涉及到的实验重点和难点知识,即:XML数据库模式的设计和XML结构体系,要求在把数据存储形式转变为XML形式后,形成自己的关于XML数据库模式设计和创建的相关知识体系。

    二、实验内容

    实验背景导入:

    某公司接到一个网购系统的项目,任命你做该任务的数据库设计师,对网购系统进行数据库整体的设计。Webshop就是一个B2C模式的电子商城,该电子商务系统能够实现包括前台用户和后台管理两大部分。

    其中,前台购物系统包括会员注册、会员登录、商品展示、商品搜索、购物车、产生订单和会员资料修改等等功能。后台管理系统包括管理用户、维护商品库、处理订单、维护会员信息和其他管理功能。

    根据系统功能描述和实际业务分析,进行电子商城的数据库相关设计,完成如下实验需求:

    1. 需求分析说明书。

    在数据库设计初期,首先进行系统功能需求说明书编写。这一环节上需完成系统初步的功能需求说明文档。

    1. XSM模型设计。

    进入XML逻辑设计阶段,需要进行实体关系模型的设计,将现实的系统经过抽象后运用学过的XML内容进行XSM建模。在这一环节中,需完成上述的四个实验内容才进行。

    三、实验平台

    软件:POWER DESIGNER,WORD

       

    四、实验步骤

    由于在实验一时,已经完成了相关的需求分析说明书,此处便不再反复。在数据库设计初期,进行系统功能需求说明书编写。此部分详见实验一。

    1. XSM模型设计。

    下面列举的是整个实验过程中,涉及到的一些操作步骤,和关于POWER DESIGNER在本实验中的某些需求的实现方法:

    ①   打开powerdesigner,点击“文件”菜单,再选择“新建模型”;

    ②   在“新建模型”界面,在“类型”中选择“信息”,在“类型项”中选择“XML”,然后点击“OK”;

    ③   在右侧的工具栏中,在“XML模型图”下点击“元素”图标,然后在主窗口上点击一次,就生成一个元素;

    ④   双击某个元素,在弹出窗口中选择“属性”标签,可以增加属性,然后“预览”标签,可以查看元素定义的XML文本;

    ⑤   在右侧的工具栏中,在“XML模型图”下点击“元素”图标,然后在某个元素上点击一次,即可以在该元素下增加一个子元素;

    ⑥   在右侧的工具栏中,在“XML模型图”下点击“复杂类型”图标,然后在主窗口上点击一次,就生成一个复杂类型;

    ⑦   双击某个复杂类型,在弹出窗口中选择“属性”标签,可以增加属性,然后“预览”标签,可以查看复杂类型定义的XML文本。

    五、运行结果

    1. 需求分析说明书。关于此部分,详见实验1的设计部分,略。
    2. XSM模型设计

    如图5-1所示,是本实验的整体XSM模型。本实验关于XSM模型设计,所采用的是复杂数据类型中组的定义方法,也就是组的参照来源可以是整个元素的对象,也可以是单个复杂类型。但和单个复杂类型不同的是,使用组的方法的时候,既可以将一个目标实例化成一个对象,也能实例化为一个复杂的类型。

     

    图5-1 整体XSM模型

            在上面这个整体XSM模型中,出于设计稿面的需求,而没有列举末梢元素的详细数据类型。以下,是将整个XSM模型进行拆分为七个模块,也将这七个模块分别实例化成xml形式的文档。

    这七个模块分别是:商品类型、员工用户、商品信息、会员用户、订单详情、订单信息,以及支付类型,具体详见以下内容:

    1)      RD_COMMODITY_TYPES商品类型模型,如下:

     

    <?xml version="1.0"?>
    
    <RD_COMMODITY_TYPES>
    
     <ROW>
    
      <COMMODITY_TYPE_ID>0001</COMMODITY_TYPE_ID>
    
      <STATUS>推荐</STATUS>
    
      <COMMODITY_TYPE>01</COMMODITY_TYPE>
    
     </ROW>
    
     <ROW>
    
      <COMMODITY_TYPE_ID>0002</COMMODITY_TYPE_ID>
    
      <STATUS>热点</STATUS>
    
      <COMMODITY_TYPE>02</COMMODITY_TYPE>
    
     </ROW>
    
    </RD_COMMODITY_TYPES>

    2)      RD_EMPLOYEES员工用户模型,如下:

     

    <?xml version="1.0"?>
    
    <RD_EMPLOYEES>
    
     <ROW>
    
      <EMPLOYEE_ID>0001</EMPLOYEE_ID>
    
      <EMPLOYEE_PASSWORD>123456</EMPLOYEE_PASSWORD>
    
      <EMPLOYEE_NAME>张三</EMPLOYEE_NAME>
    
      <BIRTH>03-3月 -19</BIRTH>
    
      <ADDRESS>北京八达岭</ADDRESS>
    
      <MOBILE>1109635</MOBILE>
    
      <WECHAT>53425223</WECHAT>
    
      <REPUTATION>98</REPUTATION>
    
      <DEPARTMENT>销售部门</DEPARTMENT>
    
      <SEX>男</SEX>
    
      <COMPANY>北京岭科技有限公司</COMPANY>
    
     </ROW>
    
     <ROW>
    
      <EMPLOYEE_ID>0002</EMPLOYEE_ID>
    
      <EMPLOYEE_PASSWORD>123456</EMPLOYEE_PASSWORD>
    
      <EMPLOYEE_NAME>李四</EMPLOYEE_NAME>
    
      <BIRTH>03-3月 -19</BIRTH>
    
      <ADDRESS>杭州西湖边</ADDRESS>
    
      <MOBILE>1109635</MOBILE>
    
      <WECHAT>53425223</WECHAT>
    
      <REPUTATION>98</REPUTATION>
    
      <DEPARTMENT>作坊</DEPARTMENT>
    
      <SEX>男</SEX>
    
      <COMPANY>西湖臭豆腐西施作坊</COMPANY>
    
     </ROW>
    
    </RD_EMPLOYEES>


      

    3)      RD_GOODS商品信息模型,如下:

     

      

    <?xml version="1.0"?>
    
    <RD_GOODS>
    
     <ROW>
    
      <GOOD_ID>0001</GOOD_ID>
    
      <DISCOUNT>0.8</DISCOUNT>
    
      <GOODS>豆浆</GOODS>
    
      <UNIT_PRICE>23.5</UNIT_PRICE>
    
      <PURCHASE_DATE>2017-32-23</PURCHASE_DATE>
    
    <GOOD_TYPE>0000220208257F4C4F5E8846809E167003A33DE7567903A3E017164E92B6AEB24EFC68ACB0</GOOD_TYPE>
    
     </ROW>
    
     <ROW>
    
      <GOOD_ID>0002</GOOD_ID>
    
      <DISCOUNT>0.8</DISCOUNT>
    
      <GOODS>无人机</GOODS>
    
      <UNIT_PRICE>23.5</UNIT_PRICE>
    
      <PURCHASE_DATE>2017-32-23</PURCHASE_DATE>
    
    <GOOD_TYPE>0000220208257F4C4F5E8846809E167003A33DE7567903A3E017164E92B6AEB24EFC68ACB0</GOOD_TYPE>
    
     </ROW>
    
    </RD_GOODS>

    4)      RD_MEMBERS会员用户信息模型,如下:

     

      

    <?xml version="1.0"?>
    
    <RD_MEMBERS>
    
     <ROW>
    
      <MEMBER_ID>0001</MEMBER_ID>
    
      <MEMBER_PASSWORD>123456</MEMBER_PASSWORD>
    
      <MEMBER_NAME>昊哥</MEMBER_NAME>
    
      <BIRTH>18-11月-19</BIRTH>
    
      <ADDRESS>广西南宁</ADDRESS>
    
      <MOBILE>1008611</MOBILE>
    
      <WECHAT>10010</WECHAT>
    
      <REPUTATION>100</REPUTATION>
    
      <HOBBY>喜欢电子产品</HOBBY>
    
      <SEX>男</SEX>
    
      <JOBE>教师</JOBE>
    
     </ROW>
    
     <ROW>
    
      <MEMBER_ID>0002</MEMBER_ID>
    
      <MEMBER_PASSWORD>123456</MEMBER_PASSWORD>
    
      <MEMBER_NAME>小弟</MEMBER_NAME>
    
      <BIRTH>18-11月-19</BIRTH>
    
      <ADDRESS>广西藤县</ADDRESS>
    
      <MOBILE>10010</MOBILE>
    
      <WECHAT>1008611</WECHAT>
    
      <REPUTATION>100</REPUTATION>
    
      <HOBBY>喜欢麻婆豆腐</HOBBY>
    
      <SEX>男</SEX>
    
      <JOBE>学生</JOBE>
    
     </ROW>
    
    </RD_MEMBERS>

    5)      RD_ORDER_DETAILSS订单详情信息模型,如下:

     

    <?xml version="1.0"?>
    
    <RD_ORDER_DETAILSS>
    
     <ROW>
    
      <ORDER_DETAILS_ID>0001</ORDER_DETAILS_ID>
    
      <ORDER_DETAILS>OK</ORDER_DETAILS>
    
    <GOOD_INFO>0000220208A9FA6DA5A45442C389A2FE43D4FEC10A4592F3AFBA0847778C2C3007B8E9CC54</GOOD_INFO>
    
    <PAYMENT_TYPE_INFO>000022020805638F9B0CAE4903AB0741146B880F2A9C2E9B64584D420E92F38A5D0ABC39DA</PAYMENT_TYPE_INFO>
    
    <EMPLOYEE_INFO>0000220208764E2860152D4F70B3A869DD82361E5379225ACE0AC44544B0230F4854E6C588</EMPLOYEE_INFO>
    
    <MEMBER_INFO>0000220208CEDFD42D87E34731BA8D5CA01813BD16C3C3FD52C4354F53825B30F61E7C3015</MEMBER_INFO>
    
     </ROW>
    
     <ROW>
    
      <ORDER_DETAILS_ID>0002</ORDER_DETAILS_ID>
    
      <ORDER_DETAILS>OK</ORDER_DETAILS>
    
    <GOOD_INFO>000022020838B293D236AE443AA95C6B45B00D22954592F3AFBA0847778C2C3007B8E9CC54</GOOD_INFO>
    
    <PAYMENT_TYPE_INFO>000022020806D23EC66465455182841041FA8756779C2E9B64584D420E92F38A5D0ABC39DA</PAYMENT_TYPE_INFO>
    
    <EMPLOYEE_INFO>00002202084786E2C886A0498E844CFF540F88CC9879225ACE0AC44544B0230F4854E6C588</EMPLOYEE_INFO>
    
    <MEMBER_INFO>000022020830F85A99C86E4F41AC84767197DE1B6AC3C3FD52C4354F53825B30F61E7C3015</MEMBER_INFO>
    
     </ROW>
    
    </RD_ORDER_DETAILSS>


      

    6)      RD_ORDERS订单信息模型,如下:

     

    <?xml version="1.0"?>
    
    <RD_ORDERS>
    
     <ROW>
    
      <ORDER_ID>0001</ORDER_ID>
    
      <GOODS_NUMBER>4</GOODS_NUMBER>
    
      <TOTAL_PRICE>23</TOTAL_PRICE>
    
      <SETUP_TIME>2017-23-07</SETUP_TIME>
    
    <ORDER_DETAILS>0000220208E611B44D00F44C299E8E37AE78D4CC04DED32AE083314F0DA4AF683A627A2E58</ORDER_DETAILS>
    
     </ROW>
    
     <ROW>
    
      <ORDER_ID>0002</ORDER_ID>
    
      <GOODS_NUMBER>4</GOODS_NUMBER>
    
      <TOTAL_PRICE>23</TOTAL_PRICE>
    
      <SETUP_TIME>2017-23-07</SETUP_TIME>
    
    <ORDER_DETAILS>00002202084ED2795A47C8479B8C9D1010A2641A2CDED32AE083314F0DA4AF683A627A2E58</ORDER_DETAILS>
    
     </ROW>
    
    </RD_ORDERS>


      

    7)      RD_PAYMENT_TYPES支付类型信息模型,如下:

     

    <?xml version="1.0"?>
    
    <RD_PAYMENT_TYPES>
    
     <ROW>
    
      <PAYMENT_TYPE_ID>0001</PAYMENT_TYPE_ID>
    
      <PAYMENT_TYPE>支付宝</PAYMENT_TYPE>
    
     </ROW>
    
     <ROW>
    
      <PAYMENT_TYPE_ID>0002</PAYMENT_TYPE_ID>
    
      <PAYMENT_TYPE>微信</PAYMENT_TYPE>
    
     </ROW>
    
    </RD_PAYMENT_TYPES>

      

    六、实验总结

    通过本实验,相关总结和经验收获,可分点总结如下:

    1. 本实验在XML逻辑设计阶段中,主要是利用PowerDesigner进行实体关系模型的设计,将实现的系统经过抽象后得到XSM模型;
    2. 在正式开始实验前,由于自身对XSM模型的绘制有所短缺,需得经过学习https://wenku.baidu.com/view/e104602652d380eb62946da7.html,即:XML模型及PowerDesigner实现的知识点后,形成了一定的认识,以及关于XSM模型如何绘制的相关知识体系;
    3. powerdesigner 绘制物理模型 关系箭头方向是子类指向父类;绘制概念模型的箭头方向与物理模型相反;
    4. 数据库德逻辑结构设计的结果不是唯一的,为了提高数据库应用系统的性能,还应该根据应用需要适当的修改,调整关系模式,这就是数据模型的优化。
  • 相关阅读:
    Jzoj4822 完美标号
    Jzoj4822 完美标号
    Jzoj4792 整除
    Jzoj4792 整除
    Educational Codeforces Round 79 A. New Year Garland
    Good Bye 2019 C. Make Good
    ?Good Bye 2019 B. Interesting Subarray
    Good Bye 2019 A. Card Game
    力扣算法题—088扰乱字符串【二叉树】
    力扣算法题—086分隔链表
  • 原文地址:https://www.cnblogs.com/Raodi/p/12155659.html
Copyright © 2011-2022 走看看