昆明理工大学 软件工具 上机报告三
- 格式:doc
- 大小:462.46 KB
- 文档页数:10
昆明理工大学信息工程与自动化学院学生实验报告( 2013 — 2014 学年第 1 学期)课程名称:软件工具与实践开课实验室:信自楼444 2014 年12月3日年级、专业、班计科122班学号201210405204 姓名邹华宇成绩实验项目名称数据库建模工具的使用指导教师王剑教师评语该同学是否了解实验内容与要求:A.了解□ B.基本了解□ C.不了解□该同学的实验能力: A.强□ B.中等□ C.差□该同学的实验是否达到要求: A.达到□ B.基本达到□ C.未达到□实验报告是否规范: A.规范□ B.基本规范□ C.不规范□是否有运行结果与分析: A.详细□ B.一般□ C.没有□是否有总结与体会: A.详细□ B.一般□ C.没有□教师签名:年月日一、上机目的及要求目的:1.理解数据库建模工具的用途和意义;2.了解现有数据库建模工具的主要特点和功能;3.熟悉数据库建模工具的使用,了解其基本操作。
要求:选择一种的数据库建模工具(case studio/power designer/visio),结合你实验的一个数据库系统(学生管理,图书管理,人事管理,餐饮管理等)完成数据库的:1.概念模型(ERD);2.正向工程:概念模型到物理模型(在access,SQL server中生成物理表格)的正向工程。
如果采用的是power designer工具,还可完成测试数据的自动生成。
二、实验背景Power Designer是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,他几乎包括了数据库模型设计的全过程。
利用Power Designer可以制作数据流程图、概念数据模型、物理数据模型,还可以为数据仓库制作结构模型,也能对团队设计模型进行控制。
他可以与许多流行的软件开发工具,例如PowerBuilder、Delphi、VB等相配合使开发时间缩短和使系统设计更优化。
power designer是能进行数据库设计的强大的软件,是一款开发人员常用的数据库建模工具。
使用它可以分别从概念数据模型(Conceptual Data Model)和物理数据模型(Physical Data Model)两个层次对数据库进行设计。
在这里,概念数据模型描述的是独立于数据库管理系统(DBMS)的实体定义和实体关系定义;物理数据模型是在概念数据模型的基础上针对目标数据库管理系统的具体化。
功能:Data Architect这是一个强大的数据库设计工具,使用Data Architect可利用实体-关系图为一个信息系统创建"概念数据模型"-CDM(Conceptual Data Model)。
并且可根据CDM产生基于某一特定数据库管理系统的"物理数据模型"-PDM(Physical Data Model)。
还可优化PDM,产生为特定DBMS创建数据库的SQL语句并可以文件形式存储以便在其他时刻运行这些SQL语句创建数据库。
另外,Data Architect还可根据已存在的数据库反向生成PDM、CDM及创建数据库的SQL脚本。
Process Analyst这部分用于创建功能模型和数据流图,创建“处理层次关系”。
App Modeler为客户/服务器应用程序创建应用模型。
ODBC Administrator此部分用来管理系统的各种数据源。
三、实验演示这次实验我们用了power designer、case studio这两个软件来对数据库进行建模。
通过对数据库的建模,我对这几个建模工具更加的熟悉了,我们在建模之前要先弄清楚系统里有哪些实体,以及实体之间的关系,然后在用这些建模工具来进行建模。
1.学生选课,课程可无学生选,但学生必须选择至少一门课程;老师教授课程,一位老师教授一门课程,也可不教授,一门课程可由多位老师教授;学生在宿舍居住,宿舍可以不住学生;需要记录学生家长基本信息(existence dependency存在依赖)。
使用case studio建模:生成代码:/*Created 2014/12/17Modified 2014/12/17ProjectModelCompanyAuthorVersionDatabase MS SQL 2005*/Create table [student]([s_] Integer NOT NULL, UNIQUE ([s_]),[s-name] Text NULL,[age] Integer NULL,[sex] Char(1) NULL,[p-id] Char(1) NOT NULL,[c_] Integer NOT NULL,[d-id] Integer NOT NULL,Primary Key ([s_],[p-id],[c_]))goCreate table [course]([c_] Integer NOT NULL, UNIQUE ([c_]),[c-name] Text NULL,Primary Key ([c_]))goCreate table [parent]([p-id] Char(1) NOT NULL, UNIQUE ([p-id]), [p-name] Text NULL,[p-address] Text NULL,Primary Key ([p-id]))goCreate table [teacher]([t-id] Integer NOT NULL, UNIQUE ([t-id]),[t-name] Text NULL,[c_] Integer NOT NULL,Primary Key ([t-id]))goCreate table [dormitory]([d-id] Integer NOT NULL, UNIQUE ([d-id]),[size] Integer NULL,Primary Key ([d-id]))goSet quoted_identifier ongoSet quoted_identifier offgo使用select语句查询所创建表截图:Generate HTML Report:2.员工掌握技能,员工必须掌握至少一种技能;员工隶属于一个部门;员工有假期(采用1:m的存在依赖),假期由开始日期和结束日期定义。
使用case studio建模:生成代码:/*Created 2014/12/17Modified 2014/12/17ProjectModelCompanyAuthorVersionDatabase MS SQL 2005*/Create table [employee]([ID] Integer NOT NULL, UNIQUE ([ID]),[name] Text NULL,[sex] Char(1) NULL,[age] Integer NULL,[d-id] Integer NOT NULL,Primary Key ([ID],[d-id]))goCreate table [skill]([s-id] Integer NOT NULL, UNIQUE ([s-id]), [s-name] Text NULL,[ID] Integer NOT NULL,[d-id] Integer NOT NULL,Primary Key ([s-id],[ID],[d-id]))goCreate table [holiday]([h-id] Integer NOT NULL, UNIQUE ([h-id]), [ID] Integer NOT NULL,[d-id] Integer NOT NULL,[start-time] Datetime NULL,[end-time] Datetime NULL,Primary Key ([h-id],[ID],[d-id]))goCreate table [department]([d-id] Integer NOT NULL, UNIQUE ([d-id]), [d-name] Char(1) NULL,Primary Key ([d-id]))goSet quoted_identifier ongoSet quoted_identifier offgo使用select语句查询所创建表截图:Generate HTML Report:3.对下述情景用power designer建模,画出CDM和LDM,分析实体间的参与性(mandatory,optional)、Dominant关系(若果有的话)、继承、存在依赖和标识联系(existence depandency&identifying relationship),并比较不同业务规则下的不同CDM 及LDM。
大学的学院由老师及其它人员组成;学院的老师中有一人担任学院的院长;每个学院由一些系组成,一个系只能属于一个学院;每个系都开设一些课程,也有的系只做研究,不授课;可以为一门课程开设出若干个教学班,也有尚未安排教学班的课程;系负责聘用老师,每个系有且只有一名老师主管该系;每个老师可以教若干个教学班,老师也可以不给任何一个班授课;一名学生可以注册多个教学班(1-6),每个班最多注册30个学生,教学班有时没有学生注册;学生隶属于某个系,也有这样的学生,由于专业未定,因而不属于任何一个系;每个学生在他(她)的系中都有一名指导老师,但并不是所有老师都必须指导学生;一个班需要在教室进行授课,教室分布在大楼内,有些大楼没有教室。
使用Power Designer 画出LDM:Logical Data Model:Generate Physical Data Model:Generate Conceptual Data Mode l:四、实验总结通过实验了解UML的建模的步骤和方法,了解用例图和类图等的画法,了解系统的分析和建模方法。
增加动手和思维能力,使自己更加的了解软件系统前期开发的软件定义和分析方法。