UML和数据库建模-智原博晟.doc
文本预览下载声明
UML建模以及数据库建模
UML统一建模语言(Unified Modeling Language )或标准建模语言,是始于1997年一个OMG标准,泛化(Generalization)”描述继承关系;
例如:
实现(Realization)” 描述该关系;
例如:
关联(Association)”表示;
程序中体现在全局属性(全局变量)和类或接口关系;
例如:
老师-学生 1对多 即1..N;
丈夫和妻子 1对1 即1..1 ;
父亲和孩子 1对多 即1..N;
课程-学生 多对多, 即N..N;
如果员工信息中也包含经理信息,此时描述经理和员工关系那么:
聚合(Aggregation)聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系”空心菱形以及实心箭头表示;
例如:汽车和引擎、学生和老师、班级和学生
程序中体现在类和全局属性(全局变量)之间关系;
组合(Composition)是整体与部分的关系,但部分不能离开整体而单独存在。如公司和部门是整体和部分的关系,没有公司就不存在部门。组合关系是关联关系的一种,是比聚合关系还要强的关系
使用表示组合关系;
程序中体现为:
依赖(Dependency””符号表示依赖关系;
UML图形的分类:
可选建模工具有:PowerDesigner、StartUML、Visio、Rational Rose等;
(1)类图(ClassDiagram)。展现了一组对象、接口和它们之间的关系。 (重点描述程序类、包、接口等关系)
(2)用例图(UseCaseDiagram)。展现了一组用例、参与者(actor)以及它们之间的关系。用例图从用户角度描述系统的静态使用情况,用于建立需求模型。(重点描述项目或者功能点有哪些)
(3)时序图(Sequence Diagram):也叫做序列图,它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。与序列图(Sequence Diagram)不同,协作图显示了对象之间的关系。序列图(Sequence Diagram)和协作图表述的是相似的信息,但表述的方式却不同。协作图显示对象之间的关系状态图(Statechart Diagram)是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应的。活动图(activity diagram,动态图)是阐明了业务用例实现的工作流程。组件图(component diagram)是用来反映代码的物理结构。从组件图中,您可以了解各软件组件(如源代码文件或动态链接库)之间的编译器和运行时依赖关系。
部署图(deployment diagram,配置图)是用来显示系统中软件和硬件的物理架构
类图:(类和接口的描述)
用例图:
时序图:
协作图例如:
状态图:
表示选择
表示子元素状态
表示状态
表示开始
表示结束
组件图:
活动图:
组件图:
数据库建模
关系型数据库表关系有:一对一,多对多,一对多,多对一等关联关系。
表设计原则:范式,一共有六种范式,但是设计表示一般只遵循第三范式;
第一范式简述为:数据库表中列,拆到不能拆为止。
例如: 下面表格设计过程中,电话,该列中存放固定电话号码也存移动电话,此时这一列使整体数据有冗余。
不满足第一范式:
编号 姓名 电话
1001 zyg
1001 zyg 010
修改后,满足第一范式:
编号 姓名 固定电话 移动电话
1001 zyg 010 第二范式简述为:(满足第一范式前提下) 较少非主键列之间的依赖关系,适当的使用外键(拆成多个表);
例如:学生信息表以及成绩,课程都设计在一个表中。(有冗余数据)
满足第一范式,但不满足第二范式:
学生信息表
学号 姓名 课程 课程名称 成绩
1001 zyg 1 java 78
1001 zyg
显示全部