数据库的UML类图

时间:2014-01-20 10:07:51

标签: database uml class-diagram

我有一个开发酒店预订系统的任务! 其中一项任务是开发UML类图!但是,在任务描述中写了它 “类图应代表您的数据库”

我对规则,符号等有点困惑...因为我找不到专门针对数据库的官方UML类图!

你能帮我吗?

3 个答案:

答案 0 :(得分:3)

是的,最新的UML标准抛弃了数据图。现在,实体关系图不是UML的一部分。但是类图仍然存在于UML中,它就足够了。

只需制作一个通常的类图。唯一的区别是你不应该使用n-to-m依赖,而是在两端之间创建一个新类,而你将拥有n-to-1和1-to-m依赖。这种类图可以在数据库中实现。为了更好地理解每个类,您可以设置稍后在DB中使用的属性ID。

这种类图的另一个原因是你不需要描述任何方法 - 它们不属于数据库表。但实际上你需要它们 - 所以,我创建了一个更简单的图 - 使用可实例化的类和没有方法,另一个更彻底 - 还包括抽象类,接口和方法。

此外,在第一个上,您不需要放置属于UI的类 - 显示数据并编辑它们的类。

答案 1 :(得分:1)

首先,我想向您简要介绍类图的不同类型,可以在静态视图中查看整个系统。

  1. 某些类是实体(模型)类,它们定义应用程序域的数据库模型,持续时间更长。在上述情况下,可以是客户,酒店员工,酒店菜单,座位信息。

  2. 某些类定义了GUI&向用户呈现视图类。

  3. 有些类定义控制程序逻辑,处理可以作为控制类调用的用户事件。

  4. 某些类可以被视为负责与外部数据资源通信的资源类。

  5. 对于符号上面提到的所有类,UML中遵循的规则将是相同的,但它们的用法,意图将是不同的。

    对于您的问题,您需要捕获上述系统的这些实体类,通过它们可以为系统建模数据库。 我希望它会对你有所帮助。

答案 2 :(得分:1)

UML类图的语言可用于许多不同的目的。例如,制作

  1. 概念信息模型
  2. 与平台无关的信息设计模型
  3. 处理数据结构(包括SQL和OO编程语言)的各种可执行语言的特定于平台的数据模型
  4. 这些不同类型的模型中的每一个仅使用某些UML类建模元素,而不使用其他元素。例如,在SQL数据模型中,我们不使用

    • visbility
    • 接口
    • 类型/范围是另一个类的属性
    • 多对多(非功能)关联
    • 概括

    实际上,由于SQL实际上没有任何显式的关联概念,只有外键关键字的概念,可以用来表示功能关联,我们最好不要在SQL数据模型中使用任何关联,但是而是与外键依赖关系相对应的依赖项箭头。

    定义两个用于SQL数据模型的构造型也是有意义的:

    1. «pkey»作为主键属性的属性构造型
    2. «fkey»作为外键依赖项的依赖构造型
    3. 有关详细信息,请参阅this tutorial