问题列表 - 第35069页

如何存储双向关系

我正在编写一些代码来查找数据库中重复的客户详细信息.我将使用Levenshtein距离.

但是,我不确定如何存储关系.我一直在使用数据库,但从未遇到过这种情况,并想知道是否有人可以指出我正确的方向.

令我困惑的是如何存储关系的双向性质.

我已经开始在下面提供一些示例,但想知道是否存在存储此类数据的最佳实践,

示例数据

id,地址

001,5 Main Street
002,5 Main St.
003,5 Main Str
004,6 High Street
005,7 Low Street
006,7 Low St

建议1

customer_id1,customer_id2,relationship_strength
001,002 0.74
001,003,0.77
002,003,0.76
005,006,0.77

对这种方法不满意,因为它推断出customer_id1与customer_id2之间的单向关系.当然,除非我双向包含所有关系,但这会使处理时间和表的大小加倍.

例如,需要包括:002,001,0.74

建议2

CUSTOMER_ID,GROUPING_ID
001,1
002,1
003,1
005,2
006,2

database database-design deduplication data-structures

6
推荐指数
2
解决办法
1669
查看次数

如何从存储过程返回COUNT?

我在SQL中有一个存储过程,我无法更改.它需要很少的输入参数,并返回一个包含100多行和多列的表.

exec dbo.Select_Data 0, 0, 18, 50
Run Code Online (Sandbox Code Playgroud)

我需要一些东西来计算返回的行:

select count(*) from (exec dbo.Select_Data 0, 0, 18, 50)
Run Code Online (Sandbox Code Playgroud)

以及从名称列中获取值的方法:

select Id, Name from (exec dbo.Select_Data 0, 0, 18, 50) where Id=10
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

sql-server stored-procedures return count sql-server-2008

4
推荐指数
1
解决办法
1万
查看次数

检测何时加载Applet

如何在不轮询浏览器/使用setTimout的情况下检测java-applet是否已成功加载?

有什么事情可以绑定吗?

问题是:有一个弹出,询问他是否信任该applet或没有用户,直到用户点击"是",同时我的代码不能执行,因为小程序尚未加载的是需要几秒钟.

javascript applet load

6
推荐指数
1
解决办法
2693
查看次数

VS 2008 - 类型代码时没有提示

出于某种原因,我今天早上开始了VS 2008,并且在输入时我不会显示任何提示.例如,如果我有一个对象并写了myObject.我希望显示一个属性列表.这应该是其他事情的情况,如打字方法,但它们也不起作用.

我想知道是否有一个我偶然改变的设置.

我正在使用WinXP和VS 2008 Pro.

先感谢您.

编辑
搜索智能感知后,我看着在选项>商业智能设计和得到这个消息,同时加载该属性页时发生错误.

有任何想法吗.


重新编辑我以为我会尝试重新安装VS但是Window Add/Remove或DVD磁盘都不会卸载它.弹出错误,说程序遇到错误,取消设置.

intellisense visual-studio-2008

4
推荐指数
1
解决办法
407
查看次数

这是检查Python类型的一个很好的理由吗?

我知道在Python中检查类型很糟糕,你应该永远不会这样做.但我似乎无法找到这个的缺点.

class O(object):         
    def __init__(self, name):
        '''Can only be called in derived classes.'''
        if type(self) is O:
            message = "%(class)s cannot be instantiated, it must be derived."
            raise TypeError, message % { "class" : O }
        self.name = name

    def fn(self):
        '''Must be populated in derived classes.'''
        raise NotImplementedError
Run Code Online (Sandbox Code Playgroud)

现在,如果有人试图实例化O,我从未打算实例化一个类,他们立即知道.

这还是不好的形式吗?

python typechecking

2
推荐指数
2
解决办法
260
查看次数

非标识列上的聚簇索引可加快批量插入?

我的两个问题是:

  • 我可以使用聚簇索引来加速大表中的批量插入吗?
  • 如果我的IDENTITY列不再是聚集索引,我还能有效地使用外键关系吗?

详细说来,我有一个包含公司数据的几个非常大(在100-1000万行之间)的数据库.通常,在这样的表中存在大约20-40个公司的数据,每个公司都是由"CompanyIdentifier"(INT)标记的他们自己的"块".此外,每家公司都有大约20个部门,每个部门都有自己的"子块",标有"DepartmentIdentifier"(INT).

经常会发生从表中添加或删除整个"块"或"子块".我的第一个想法是在这些块上使用表分区,但由于我使用的是SQL Server 2008标准版,因此我无权使用它.尽管如此,我所拥有的大多数查询都是在"块"或"子块"上执行而不是在整个表格上执行.

我一直在努力为以下功能优化这些表:

  1. 在子块上运行的查询
  2. 作为整体在桌面上运行的"基准测试"查询
  3. 插入/删除大块数据.

对于1)和2)我没有遇到很多问题.我在关键字段上创建了几个索引(也包含有用的CompanyIdentifier和DepartmentIdentifier),查询运行正常.

但对于3)我一直在努力寻找一个好的解决方案.我的第一个策略是始终禁用索引,批量插入大块并重建索引.这在开始时非常快,但现在数据库中有很多公司,每次重建索引需要很长时间.

目前我的策略已经改为只是在插入时保持索引,因为现在这似乎更快.但我想进一步优化插入速度.

我似乎注意到通过添加在CompanyIdentifier + DepartmentIdentifier上定义的聚簇索引,将新的"块"加载到表中的速度更快.在我放弃这个策略以支持在IDENTITY列上添加聚簇索引之前,有几篇文章向我指出聚簇索引包含在所有其他索引中,因此聚簇索引应该尽可能小.但现在我正在考虑恢复这个旧策略来加速插入.我的问题,这是明智的,还是会在其他领域遇到性能打击?这真的会加速我的插入还是仅仅是我的想象力?

我也不确定在我的情况下是否确实需要IDENTITY列.我希望能够与其他表建立外键关系,但我是否也可以使用类似于CompanyIdentifier + DepartmentIdentifier + [uniquifier]方案的东西?或者它必须是一个表格,分散的IDENTITY数字?

非常感谢任何建议或解释.

database sql-server identity-column clustered-index sql-server-2008

8
推荐指数
1
解决办法
4774
查看次数

System.Drawing.Point和System.Drawing.PointF有什么区别

System.Drawing.Point和之间有什么区别System.Drawing.PointF.你能举两个这样的例子吗?

提前致谢.

c# system.drawing winforms

20
推荐指数
2
解决办法
2万
查看次数

无法在WPF中设置动画后设置属性

我用这段代码动画我的窗口:

winLogin login = new winLogin();
login.Owner = this;
login.Show();

DoubleAnimation da = new DoubleAnimation();
da.From = 0;
da.To = this.Left + ((this.Width - login.Width) / 2);
da.AutoReverse = false;
da.Duration = new Duration(TimeSpan.FromSeconds(0.1));
login.BeginAnimation(Window.LeftProperty, da);
Run Code Online (Sandbox Code Playgroud)

问题是,无论何时我设置Left此窗口的属性(在动画之后),它都会变得疯狂.

我使用此代码将子窗口始终放在中心,但Left我使用动画的窗口的属性无法正确更改.

private void Window_LocationChanged(object sender, EventArgs e)
{
        foreach (Window win in this.OwnedWindows)
        {
            win.Top = this.Top + ((this.Height - win.Height) / 2);
            win.Left = this.Left + ((this.Width - win.Width) / 2); 
        }
}
Run Code Online (Sandbox Code Playgroud)

wpf animation

3
推荐指数
1
解决办法
1468
查看次数

Go语言中的观察者模式

此问题非常常见:对象应在发生某些事件时通知其所有订户.在C++中我们可以使用boost::signals或其他东西.但是如何用Go语言做到这一点?很高兴看到一些工作代码示例,其中有几个对象订阅了发布者并处理了通知.

谢谢

go observer-pattern

15
推荐指数
1
解决办法
4831
查看次数

如何在linux的内核模式下编程并编译"Hello World"代码?

是的,作为标题,我不知道如何在linux的内核模式下编程和编译"Hello World"代码,请以最简单易懂的方式帮助我.谢谢 !(也欢迎任何相关文件,我只是新手)

c++ linux-kernel

4
推荐指数
1
解决办法
3700
查看次数