标签: database-design

使用GUID作为主键的最佳做法是什么,特别是在性能方面?

我有一个应用程序在几乎所有表中使用GUID作为主键,我已经读过使用GUID作为主键时存在性能问题.老实说,我没有看到任何问题,但我即将开始一个新的应用程序,我仍然想使用GUID作为主键,但我想使用复合主键(GUID和可能是另一个字段) .)

我正在使用GUID,因为当您拥有不同的环境(如"生产","测试"和"开发"数据库)以及数据库之间的迁移数据时,它们很好并且易于管理.

我将使用Entity Framework 4.3,我想在将其插入数据库之前在应用程序代码中分配Guid.(即我不想让SQL生成Guid).

创建基于GUID的主键的最佳做法是什么,以避免与此方法相关的假设性能命中?

sql-server database-design entity-framework guid primary-key

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

字符集和整理意味着什么?

我可以阅读MySQL文档,它非常清楚.但是,如何决定使用哪个字符集?整理有哪些数据会产生影响?

我要求解释这两个以及如何选择它们.

mysql database database-design character-set

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

日历重复/重复事件 - 最佳存储方法

我正在构建一个自定义事件系统,如果你有一个如下所示的重复事件:

活动A从2011年3月3日起每4天重复一次

要么

活动B于2011年3月1日星期二每2周重复一次

如何以一种易于查找的方式将其存储在数据库中.如果有大量事件,我不希望出现性能问题,在渲染日历时我必须经历每一个事件.

database-design calendar

291
推荐指数
9
解决办法
13万
查看次数

纬度和经度的最大长度是多少?

纬度和经度可以多长时间?

我正在通过Windows Phone设备发送非常长的长度:

Latitude=-63572375290155
Longitude=106744840359415
Run Code Online (Sandbox Code Playgroud)

这超出了我的表列大小,我收到错误.

database-design latitude-longitude

286
推荐指数
6
解决办法
23万
查看次数

推荐用于标记或标记的SQL数据库设计

我听说过几种实现标记的方法; 使用TagID和ItemID之间的映射表(对我有意义,但它是否可以缩放?),向ItemID添加固定数量的可能TagID列(似乎是一个坏主意),将标记保留在逗号分隔的文本列中(声音疯了,但可以工作).我甚至听过有人推荐稀疏矩阵,但那么标签名称如何优雅地增长?

我错过了标签的最佳做法吗?

sql tags tagging database-design data-modeling

274
推荐指数
5
解决办法
8万
查看次数

关系数据库设计模式?

设计模式通常与面向对象的设计有关.
是否有用于创建和编程关系数据库的设计模式
许多问题肯定必须有可重复使用的解决方案.

示例包括表格设计,存储过程,触发器等模式......

是否有类似于martinfowler.com的此类模式的在线存储库?


模式可以解决的问题示例:

  • 存储分层数据(例如,具有类型的单个表与具有1:1密钥和差异的多个表...)
  • 存储具有可变结构的数据(例如,通用列vs xml vs分隔列...)
  • 非规范化数据(如何以最小的影响做到这一点......等等)

rdbms database-design design-patterns

273
推荐指数
6
解决办法
10万
查看次数

什么是数据库常规表单,您能举例说明吗?

在关系数据库设计中,存在数据库规范化或简单规范化的概念,其是组织列(属性)和表(关系)以减少数据冗余和改善数据完整性的过程.(如维基百科上所写).

由于大多数文章都是技术性的,因此难以理解,我要求有人根据1NF,2NF,3NF甚至3.5NF(Boyce-Codd)的含义的例子写出一个更容易理解的解释.

database database-design database-normalization

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

关联的主要结尾在实体框架中以1:1的关系表示什么

public class Foo
{
    public string FooId{get;set;}
    public Boo Boo{get;set;}
}


public class Boo
{
    public string BooId{get;set;}
    public Foo Foo{get;set;}
}
Run Code Online (Sandbox Code Playgroud)

当我收到错误时,我试图在Entity Framework中执行此操作:

无法确定类型"ConsoleApplication5.Boo"和"ConsoleApplication5.Foo"之间关联的主要结束.必须使用关系流畅API或数据注释显式配置此关联的主要结尾.

我已经在StackOverflow上看到了有关此错误的解决方案的问题,但我想了解术语"主要结束"的含义.

c# database-design entity-framework foreign-key-relationship

266
推荐指数
3
解决办法
12万
查看次数

什么是OLTP和OLAP.他们之间有什么区别?

其实他们的意思是什么?我找到的关于他们的所有文章都没有给我一个想法,或者我的知识太不足以理解它.

有人会给我一些资源,我可以从头学到这些资源.

database olap database-design oltp database-schema

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

客户端IP地址的最大长度

可能重复:
IPv6地址的文本表示的最大长度?

作为存储客户端IP地址的数据库列的最大大小,您会建议什么?我现在把它设置为16,但是我可以获得比IPv6更长的IP地址吗?

sql database database-design

262
推荐指数
5
解决办法
14万
查看次数