标签: normalization

SQL Server规范化策略:varchar vs int Identity

我只是想知道这里的最佳解决方案是什么.

假设我有一个规范化的数据库.整个系统的主键是varchar.我想知道的是我应该将这个varchar与一个int相关联以进行规范化还是留下它?离开作为varchar更简单,但它可能更优

比如我可以

People
======================
name      varchar(10)   
DoB       DateTime    
Height    int  

Phone_Number
======================
name      varchar(10)   
number    varchar(15)
Run Code Online (Sandbox Code Playgroud)

或者我可以

People
======================
id        int Identity   
name      varchar(10)   
DoB       DateTime  
Height    int  

Phone_Number
======================
id        int   
number    varchar(15)  
Run Code Online (Sandbox Code Playgroud)

当然,添加其他几个一对多关系.

你们都觉得怎么样?哪个更好?为什么?

sql sql-server optimization database-design normalization

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

根据另一个表上的条件在一个MySQL表中查找条目

我有一张硬件表和事件表.每个硬件都有一个唯一标记,事件与标记相关联.

如何选择至少有一个事件列为未解决的所有硬件?

我不能只是做一个连接,因为如果一个硬件有多个未解决的问题,它会出现多次.

mysql conditional normalization

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

我该如何优化这个数据库设计?

我正在创建一个应用程序,为学生在学校生涯中的表现生成统计信息.为了实现这一目标,我需要存储学生所达到的每个等级.

但我不知道如何以最佳方式存储这些信息.这是一个初步的设计,但不知道它将如何在实践中保持. 数据库设计

因此,在完成16年教育后,每个学生将有288个年级数据,每年18个.除此之外还有他们的个人信息,其中包含他们的名字,DOB等.

那么,我怎样才能最佳地保存这些数据呢?

database database-design normalization

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

如何对一个重音字符的SQL进行比较?

我有两个SQLite表,我很乐意在名称列上加入它们.此列包含重音字符,所以我想知道如何比较它们的连接.我希望减少重音以便进行比较.

sql sqlite android normalization

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

Mysql跟踪用户喜欢和不喜欢的内容

我正在创建一个公告板应用程序.每个公告都可以被网站的用户所喜欢或不喜欢.为了跟踪喜欢和不喜欢,我创建了以下数据库表

id  user_id   bulletin_id   like_dislike
1   1         1             1
2   1         2             0
3   3         1             1
4   2         1             0
Run Code Online (Sandbox Code Playgroud)

在like_dislike列中,1表示"喜欢它",0表示"不喜欢它"我知道如何提问. - 公告1喜欢的次数(2) - 公告1不喜欢的次数(1)

但是,我如何进行查询以同时提出这两个问题呢?也就是说,公告1喜欢和不喜欢多少次

liked  disliked
2      1
Run Code Online (Sandbox Code Playgroud)

我试过了这个问题

  SELECT count(like_dislike) AS likes, count(like_dislike) AS dislikes FROM bulletins_ld
where bulletins_id = 1 AND likes = 1 AND dislikes = 0
Run Code Online (Sandbox Code Playgroud)

但我得到的只有两次,这并不奇怪.
我能想到的唯一解决方案就是拥有一个单独的喜欢和不喜欢的专栏

php mysql normalization

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

具有超过10000列的表的最佳结构

我将一组数据挖掘算法应用于由一组客户组成的数据集,以及总结其过去行为的各个方面的大量描述性属性.有超过10,000个属性,每个属性存储为表中的一列,其中客户ID为主键.由于多种原因,有必要预先计算这些属性,而不是动态计算它们.我通常会尝试选择具有指定属性集的客户.算法可以在单个SELECT语句中将任意数量的这些属性组合在一起,并加入所需的表.所有表都具有相同的行数(每个客户一个).

我想知道构造这些属性表的最佳方法是什么.将属性分组为20-30列的表是否更好,平均需要更多连接但每个SELECT需要更少的列,或者具有最大列数的表以最小化连接数,但可能所有10K列都连接在一起一旦?

我还想过使用一个巨大的3列customerID-attribute-value表并在那里存储所有信息,但是构建"选择具有我需要的这些属性类型查询的所有客户"将更加困难.

我正在使用MySQL 5.0+,但我认为这是一个普遍的SQL问题.

mysql sql database normalization

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

SQL数据库中的非规范化或规范化(继承数据)

我继承了数据对象(例如,User,Employee,Manager等).我们使用自编的ORM来管理MySql数据库中的数据.如何存储数据更好:

  • 标准化格式划分为以1对1关系链接的不同MySql表(并使用多个连接来管理数据);

  • 或者在一个phisycal表中使用非规范化方法,在每个特定情况下都有大量未使用的字段.

先感谢您

mysql orm inheritance normalization denormalization

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

将数据帧从非原子转换为原子

我有一个包含的数据框

df 
Date        name             score
12/09/2012  Mahesh\nRahul    120
13/09/2012  abc\nxyz\nrep         110
...........................
Run Code Online (Sandbox Code Playgroud)

我试过这个以获得原子

name1=str_split(df[,2],"\n")
Run Code Online (Sandbox Code Playgroud)

但不知道如何再次关联,使数据帧规范化的最佳方法是什么,这样我才能得到

 df 
Date        name     score
12/09/2012  Mahesh   120
12/09/2012  Rahul    120
13/09/2012  abc      110
13/09/2012  xyz      110
13/09/2012  rep      110
...........................
Run Code Online (Sandbox Code Playgroud)

任何有助于在R中规范化长数据帧的帮助

编辑

请注意,它只是一个可重现的示例,我的名称列中有多个名称,名称数量从一行到另一行不等.谢谢.

r normalization dataframe

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

神经网络具有正态分布的数据重要吗?

因此,与数据相关的标准操作之一是对其进行归一化并将其标准化,以使其具有均值0且标准偏差为1的正态分布数据,对吗?但是,如果数据不是正态分布的怎么办?

另外,所需的输出是否也必须正态分布?如果我希望前馈网络在两个类别(-1和1)之间进行分类,那将不可能标准化为均值0和std为1的正态分布吗?

前馈网是非参数的吧?因此,如果确实如此,对数据进行标准化处理是否仍然很重要?为何人们对此予以认同呢?

statistics normal-distribution machine-learning normalization neural-network

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

如何规范化不同范围的数据框列中的值

我有这样的数据帧:

    T  data
0   0    10
1   1    20
2   2    30
3   3    40
4   4    50
5   0     5
6   1    13
7   2    21
8   0     3
9   1     7
10  2    11
11  3    15
12  4    19
Run Code Online (Sandbox Code Playgroud)

值T是从0到特定值的序列,其中最大数量可以在序列之间不同.通常,值data不是等间距,现在仅用于演示目的.

我想要实现的是添加第三列 dataDiv,其中data某个序列的每个值除以T = 0属于相应序列的值.在我的情况下,我有3个序列,对于第一个序列,我想将每个值除以10,在第二个序列中,每个值应除以5,第三个除以3.因此预期结果如下所示:

    T  data   dataDiv
0   0    10  1.000000
1   1    20  2.000000
2   2    30  3.000000
3   3    40  4.000000
4   4    50  5.000000
5 …
Run Code Online (Sandbox Code Playgroud)

python performance normalization dataframe pandas

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