问题标签 [supertype]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1761 浏览

mysql - 超类型和子类型的含义

对数据库中的整个数据实现超类型和子类型是否不好?在转向这个方向之前,我需要一些建议......

例如,

我将这些表作为对象,它们是相关的,

entities表作为超类型

users桌子

pages桌子

images桌子

这是将表格与表格进行映射 的表格,因为某些图像属于某个页面(可能是将来的博客文章等),imagesentities

map_entity_image桌子

entities因此,当我要创建页面、图像、用户等时,我将在表中插入一行。

最终,这些表中的行数将大量增加。所以我担心它可以处理大量行吗?这个数据库会随着时间变得越来越慢吗?

毕竟,这些是一个糟糕的结构吗?

或者我做的超类型/子类型不正确?

编辑:

我认为entity应该只有这些数据,

除非我想将图像附加到用户等,否则应该是这样的,

也许我错了……

编辑:

所以这是我如何找出页面 id 1 附加了多少图像的查询,

返回2张图像。

0 投票
1 回答
272 浏览

entity-framework-4 - EntityFramework 4.3 Supertype Late Initialization

I'm using EF 4.3 with CodeFirst and I have a supertype/subtype model similar to this one:

This is a simplified version of the problem. The tables have several fields. A person can be a "promoted" to Costumer later in the application. So Person is created first and then transformed to Customer.

The question is: After I create Person how can I "promote" it to Vendor without creating (or recreating) a new Person record? If I do:

The model gives an error saying that Name is required. I should not be required to repeat all required info from Person in the new Vendor instance since it's already there in the original Person record.

Can anybody help?

P.S. The model is configured to create 2 separate tables, one for each class...

0 投票
2 回答
1174 浏览

c# - 在 C# 中编程超类型

我这里有一个OO问题。我有两个具有共同属性和特定属性的会话。我创建了一个基类并封装了所有常见的属性/方法。两个会话具有一个称为 Ranges 的通用类型,该类型又具有会话的通用属性和特定属性。因此,我认为在这种情况下我可以编程为超类型并在运行时构建实例。

当我创建一个会话对象时,它不包含 ASession 的特定 Ranges 属性。我只能访问基类的属性 aSession.Level.Range.CommonRangeProperty = 1; 但无法访问 aSession 的特定属性 aSession.Level.Range.ARangeProperty。

我在这里做错了吗?

0 投票
6 回答
67552 浏览

java - 在调用超类型构造函数之前无法引用“X”,其中 x 是最终变量

考虑以下 Java 类声明:

代码将无法编译,编译器会抱怨我在上面突出显示的行。为什么会发生此错误,最好的解决方法是什么?

0 投票
1 回答
2108 浏览

c# - 如何使用子类型鉴别器?

假设我有一个包含许多子类型表的超类型表。我有兴趣使它们成为不相交的子类型,因为超类型表仅指向每行可能的子类型表之一。在网上我遇到了对子类型鉴别器的描述,它是放入超类型表中的一个新列,它是一个小代码(通常是一个字符),用于标识该行属于哪个子类型。

在实践中我找不到任何实际的例子。如果我在 C# 中工作,我想查询表的子类型鉴别器列,然后针对一些键->值列表([子类型鉴别器]->subtype_table_name)进行测试以创建正确的 SQL 来加入正确的表?

或者,SQL Server 中是否已经为此目的提供了一些视图/SQL 查询语法?

基本上,我想知道我必须在哪个级别实际执行逻辑以使鉴别器有用。

0 投票
3 回答
450 浏览

c# - 编码为 SuperType 还是 Interface 更好?

什么被认为是一般的最佳实践:

通过超级类型引用?

或通过接口

就我个人而言,我更喜欢界面,但我不太清楚为什么,对我来说它们只是感觉“更干净”。我想更好地理解为什么我会选择一个而不是另一个。

谢谢

0 投票
1 回答
748 浏览

database - ERD 包括超类型、子类型数据库

我正在为数据库绘制 ERD,并想知道您是否需要在 ERD 中包含超类型和子类型。如果是,如何表示。谢谢。

0 投票
2 回答
2480 浏览

database-design - 超类型/子类型:数据建模

我有一个超类型/子类型关系,其中一个子类型没有任何属性,所以我不确定如何建模。我有一个名为 Tracks 的超类型,其中轨道可以是 3 种子类型之一,音频、视频、文本。音频和视频子类型都具有特定的属性,因此将它们放在单独的表中是有意义的。Text 子类型没有额外的元数据,所以我应该在单独的表中捕获它吗?

0 投票
2 回答
167 浏览

database - 查看多个表

我对来自 Object-Relational dtb 的 Lab 有点卡住了。我有这个层次结构:

我为employee_type3. 我需要做的是创建一个ALL_EMPLOYEES包含所有员工子类型的数据的视图。视图应包含每个子类型的所有列。很明显,在某些列中将是空值。

有谁知道如何做这样的看法?我认为联合在这里没用,因为我的列数不同。

非常感谢您的帮助!

0 投票
6 回答
23350 浏览

java - 什么是超类型方法?

我用谷歌搜索了几次,但仍然无法理解超类型方法。谁能解释一下这是什么?