数据库的UML类图



我有一个用于开发酒店预订系统的任务!任务之一是开发UML类图!但是,在任务说明中,它是编写的"班级图应表示您的数据库"

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

你能帮我吗?

是的,最新的UML标准放弃了数据图。如今,实体关系图不是UML的一部分。但是班级图仍在UML中,足够了。

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

此类班级图的另一件事是您不需要描述任何方法 - 它们不属于DB表。但是实际上,您需要它们 - 因此,我会创建一个更轻松的图表 - 使用即时的类,没有方法,而另一种则更详细 - 其中一个还包括抽象类,接口和方法。

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

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

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

  2. 一些类定义了GUI&向用户(例如查看类)演示。

  3. 某些类定义控制程序逻辑,可以称为控制类的过程用户事件。

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

对于上述符号上述所有类别的所有类别,UML中遵循的规则将是相同的,但其用法,意图将有所不同。

为了解决您的问题,您需要为上述系统捕获这些实体类,可以通过该类别对系统进行建模。我希望这会有所帮助。

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

  1. 概念信息模型
  2. 独立于平台的信息设计模型
  3. 针对数据结构(包括SQL和OO编程语言)的各种可执行语言的平台特定数据模型

这些不同类型的模型中的每一个仅使用某些UML类建模元素,而不是其他类型的模型。例如,在SQL数据模型中,我们不使用

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

实际上,由于SQL实际上没有任何明确的关联概念,而只有外国密钥依赖性的概念(可用于表示功能关联),因此我们最好不应该在SQL数据模型中使用任何关联,而是使用任何关联而不是依赖性箭头,对应于外键依赖性。

定义两个用于SQL数据模型的刻板印象也很有意义:

  1. &laque; pekey»作为主要密钥属性的属性刻板印象
  2. « fkey»作为外国密钥依赖关系的依赖性刻板印象

有关更多信息,请参见本教程。

最新更新