标签: relationship

如何使用mysql确定外键的基数

我陷入了一个问题,我必须找到使用mysql的表之间关系的基数.关注这篇文章
MySQL:如何以编程方式确定外键关系?
我找到了与我的表和外键相关的所有表.现在我也想找到关系的基数,即一对一,一对多或多对多.任何想法或片段都将受到高度赞赏

mysql foreign-keys cardinality relationship

-1
推荐指数
1
解决办法
2452
查看次数

将关系“类型”添加到 SQL 中的多对多表是不好的做法吗?

我正在构建一个具有以下两个表的 Postgres 数据库:

项目(id、startDate 等...)和员工(id、name 等...)

我想跟踪员工为项目添加的贡献类型。例如,员工#1 可能是项目 1 的“工程师”和项目 2 的“经理”。我也不希望限制员工可以对某个项目做出的贡献数量。因此,员工#1 可以是单个项目的“工程师”和“经理”。

我的第一直觉只是在两个标题为 ProjectEmployees 或其他东西之间建立多对多关系,并将 projectId、employeeId 和tributionType 存储为一个字符串,该字符串只会从枚举中获取值,而不必处理拼写错误或任何相关问题。

我的主要问题是这是否是一种不好的做法。我的另一个想法是将每种贡献类型拆分到自己的表中。因此,不是 EmployeeProjects 表,而是诸如 ProjectEngineers、ProjectManagers 等的表……并且不是将贡献类型存储为列,而是隐式在我正在使用的表中,并且该表只需要存储项目 ID 和员工 ID。该数据库中有更多的表具有类似的关系,其中不同表之间存在多对多关系,但每个关系可能是许多“类型”关系中的一种。对于每种类型的关系,将所有这些都拆分为单独的表是否更明智?或者像我的第一个想法一样在更通用的表中跟踪关系类型更好吗?

我想要的结果是能够有效地查看员工参与的所有项目贡献(和类型),以及查看项目的所有贡献者 + 贡献者类型。

postgresql database-design relationship

-1
推荐指数
1
解决办法
108
查看次数

为什么 Python 不提供 __le__ 和 __ge__ 的默认实现?

比较关系(=、?、<、>、? 和 ?)之间的以下数学关系始终有效,因此在 Python 中默认实现(除了 2 个联合关系,这似乎是任意的,这也是本文的原因):

  • 2互补关系:“=和?互为互补”;
  • 6个关系*:“=是自身的逆”,“?是自身的逆”,“<和>是彼此的逆”,“?和?是彼此的逆”;
  • 2联合关系:“? 是联合 < 和 =",而“? 是 > 和 =" 的联合。

以下比较关系之间的关系仅对总订单有效,因此在Python中默认不实现(但用户可以functools.total_ordering通过Python标准库提供的类装饰器方便地实现它们):

  • 4种互补关系:“<和?互为补”,">和?互为补”。

为什么 Python 只缺少上面的 2 个联合关系(“?是联合 < 和 =" 和“?是 > 和 =" 的联合)?

它应该提供的默认实现__le__来讲__lt____eq__,和的默认实现__ge__来讲__gt____eq__(性能,但可能是在C,像,像这些__ne__):

def __le__(self, other):
    result_1 = self.__lt__(other)
    result_2 = self.__eq__(other)
    if result_1 is not NotImplemented and …
Run Code Online (Sandbox Code Playgroud)

python relationship partial-ordering comparison-operators

-3
推荐指数
3
解决办法
566
查看次数

估计R中X和Y之间的关系

我想估计X和Y之间的关系(来自数据m)使用P(见下文)在(0,10)处的100个相等点处.我怎么能用R做到这一点?

> m
      X        Y
1     0.5      6.0
2     1.5      5.0
3     2.5      6.7
4     3.5      7.1
5     4.5      6.1
6     5.5      8.1
7     6.5      8.0
8     7.5      7.9
9     8.5      8.0
10    9.5      6.0
Run Code Online (Sandbox Code Playgroud)

(1)

 P=function(x,X,Y,sigma){
  # x = point to evaluate our estimate.
  # X = vector of observation X values
  # Y = vector of observation Y values
  # sigma = standard deviation.

  weights = rep(0,length(X)) 
  sumweights = 0              
  smooth = 0                  

  for(i in 1:length(X)){

    weights[i] = …
Run Code Online (Sandbox Code Playgroud)

r function relationship

-5
推荐指数
1
解决办法
305
查看次数