我陷入了一个问题,我必须找到使用mysql的表之间关系的基数.关注这篇文章
MySQL:如何以编程方式确定外键关系?
我找到了与我的表和外键相关的所有表.现在我也想找到关系的基数,即一对一,一对多或多对多.任何想法或片段都将受到高度赞赏
我正在构建一个具有以下两个表的 Postgres 数据库:
项目(id、startDate 等...)和员工(id、name 等...)
我想跟踪员工为项目添加的贡献类型。例如,员工#1 可能是项目 1 的“工程师”和项目 2 的“经理”。我也不希望限制员工可以对某个项目做出的贡献数量。因此,员工#1 可以是单个项目的“工程师”和“经理”。
我的第一直觉只是在两个标题为 ProjectEmployees 或其他东西之间建立多对多关系,并将 projectId、employeeId 和tributionType 存储为一个字符串,该字符串只会从枚举中获取值,而不必处理拼写错误或任何相关问题。
我的主要问题是这是否是一种不好的做法。我的另一个想法是将每种贡献类型拆分到自己的表中。因此,不是 EmployeeProjects 表,而是诸如 ProjectEngineers、ProjectManagers 等的表……并且不是将贡献类型存储为列,而是隐式在我正在使用的表中,并且该表只需要存储项目 ID 和员工 ID。该数据库中有更多的表具有类似的关系,其中不同表之间存在多对多关系,但每个关系可能是许多“类型”关系中的一种。对于每种类型的关系,将所有这些都拆分为单独的表是否更明智?或者像我的第一个想法一样在更通用的表中跟踪关系类型更好吗?
我想要的结果是能够有效地查看员工参与的所有项目贡献(和类型),以及查看项目的所有贡献者 + 贡献者类型。
比较关系(=、?、<、>、? 和 ?)之间的以下数学关系始终有效,因此在 Python 中默认实现(除了 2 个联合关系,这似乎是任意的,这也是本文的原因):
以下比较关系之间的关系仅对总订单有效,因此在Python中默认不实现(但用户可以functools.total_ordering通过Python标准库提供的类装饰器方便地实现它们):
为什么 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) 我想估计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) relationship ×4
cardinality ×1
foreign-keys ×1
function ×1
mysql ×1
postgresql ×1
python ×1
r ×1