标签: data-modeling

uniqueidentifier vs identity

我注意到asp_membership使用uniqueidentifier,对我来说,这似乎是浪费空间,因为我想不出一个特殊的理由不用身份替换它.

但是,SQL Server不允许我将其更改为int.它说"在连接的数据库服务器上不支持从uniqueidentifier转换为int".在谷歌搜索后,似乎我必须打破所有的关系等,然后手动删除列并重新添加为int.你们知道更好的方法吗?

我不认为我会处理多个数据库,因此我不需要uniqueidentifier.你同意吗?

请注意:我正在开始一个新的Web应用程序.你是否仍然认为解决这个问题会很困难?

另请注意,我的任何主键都不属于我的URL.

sql t-sql sql-server asp.net-membership data-modeling

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

如何规避错误的数据库架构?

我们的团队被要求为现有的SQL Server后端编写Web接口,该后端源于Access.

其中一个要求/约束​​是我们必须限制对SQL后端的更改.我们可以创建视图和存储过程,但是我们已经被要求按原样保留表/列.

SQL后端不太理想.由于缺少外键,大多数关系都是隐含的.有些表缺少主键.表和列名称不一致,包括空格,斜杠和井号等字符.

除了找到一份新工作或要求他们重新考虑这一要求之外,任何人都可以提供任何解决这一缺陷的良好模式吗?

注意:我们将使用SQL Server 2005和ASP.NET与.NET Framework 3.5.

sql asp.net database-design design-patterns data-modeling

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

调查数据模型

我正在为我正在开发的ASP应用程序开发一个简单的调查模块,我想得到一些关于数据模型的建议.

问题可以是三种类型之一 - 多种选择,多种答案; 多项选择,单一答案和免费回复.

我在想下面的表格:

  1. 问题 - 问题类型鉴别器ifeld
  2. PossibleAnswers-带有questionID和answer文本字段
  3. SurveyQuestionResponse-带有questionID,clientID和答案文本

我这样做太简单了吗?

database survey data-modeling

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

数据库设计 - NULL外键

并感谢您的阅读.

我正在为一家小狗店制作数据库.我有一张小狗桌子和一张桌子供业主使用.一只小狗可以有一个主人,主人可以拥有一只以上的小狗,但不是所有的小狗都拥有.处理这种情况的好方法是什么?

  • 如果小狗没有拥有者,我是否在小狗表中使用FK为NULL?
  • 我是否创建了一个关联表,该关联表是所有者与小狗的一对多映射,并且如果小狗是非拥有的,小狗上有一个标记?
  • 我创建两个表吗?一个表可以用于拥有的小狗,它对所有者表有一个NON-NULL FK,另一个表用来保存不拥有的小狗?

谢谢您的帮助.

这个问题的确是针对,如何将行标记为全局,并允许任何用户查看?

sql database-design foreign-keys data-modeling

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

在MySQL中存储多对多关系的最佳方式?

假设我有一个包含表'posts'和'tags'的简单数据库.帖子可以有很多标签,标签可以属于很多帖子.

构建数据库的最佳方法是什么?我想过使用list/serialize:

tags
idx tag_id, str tag_name

posts
idx post_id, str title, list tag_ids
Run Code Online (Sandbox Code Playgroud)

或者有另一个表与关联.问题是使用这个我甚至不知道如何构建查询以在我收到帖子时提取相关的标签名称.

posts
idx post_id, str title

post_tags
fk post_id, fk tag_id
Run Code Online (Sandbox Code Playgroud)

其实我不喜欢他们中的任何一个.有没有更好的办法?

mysql database database-design data-modeling

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

从ggplot2中获取向量

我试图表明我正在分析的一些数据中有一个奇怪的"颠簸"(它与市场份额有关.我的代码在这里: -

qplot(Share, Rate, data = Dataset3, geom=c("point", "smooth"))
Run Code Online (Sandbox Code Playgroud)

(我很欣赏没有数据集这不是非常有用的代码).

无论如何,我可以得到用于从R生成平滑线的数值向量?我只需要该层来尝试将模型拟合到平滑数据.

任何帮助感激不尽.

r data-modeling ggplot2

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

如何在数据仓库中建模流程和状态历史记录?

让我们说,我们有D_PROCESS,D_WORKER并且D_STATUS作为维度,以及将F_EVENT流程(什么)与工人(谁负责)和"当前"状态联系起来的事实.

过程状态随时间而变化.我们应该为F_EVENT每个进程/状态/工作者存储一行,或者每个进程/工作者存储一行,并且对于给定的进程/工作者,每个状态更改的"其他地方"一行存储一行?

我是Datawarehouse的新手,很难找到与数据模型化相关的最佳实践/教程.

ssas data-modeling data-warehouse dimension fact

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

实体组件系统框架,CPU缓存友好

我找不到一个CPU缓存友好的框架实现,这意味着每个游戏循环周期中系统遍历的数据存储在连续的内存中.

让我们看看,系统遍历满足其条件的特定实体,即实体应包含要由X系统处理的A,B,C组件.这意味着我需要一个包含所有实体和组件的连续内存(不是引用,只要引用不是缓存友好的,并且你将有很多缓存未命中),以便尽可能快地从RAM中获取它们在X系统的处理过程中.但是在处理X系统之后,Y系统开始在满足其条件的一组实体上运行,例如包含A和B的所有实体.这意味着我们处理与X系统相同的一组实体以及其他一些实体.有A和B.这意味着我们有两个连续的记忆,它们有重复的数据.首先,由于已知原因,数据复制非常糟糕.而且,这反过来意味着我们需要一个同步,只要你需要从一个向量中找到一些实体并使用另一个向量中包含的新数据进行更新,这同样不再是CPU缓存.

这只是我的一个想法.对于实体组件系统框架数据模型还有其他更现实的想法,但在每个模型中我都可以发现存在同样的问题:在每个游戏循环周期中,由于不连续的数据,您无法阻止大量缓存未命中.

任何人都可以建议一个实现,文章,这个主题的例子,这可以帮助我理解应该使用什么数据模型来获得缓存友好的设计,因为这是游戏性能中最关键的事情之一.

data-modeling entity-system artemis

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

在Aerospike中模拟数百万存在检查的最佳方法?

Redis发展成为一些数据结构后,我正在寻找具有良好磁盘/ SSD性能的其他解决方案.我最近发现Aerospike似乎在SSD环境中表现出色.

饥饿最多的结构之一是大约100.000个Redis集,每个集可以包含多达10,000个字符串.每个字符串介于10到30个字符之间.

这些集主要用于存在/唯一性检查.

对这些进行建模的最佳方法是什么?我通常会看到两个选项:*将redis设置为Aerospike lset *模型,将每个值分别设置为一组.

除了这个选择,100.000 Redis集用作键上的分区.出于本地化的原因,在Aerospike中进行类似的分区/命名空间可能是有意义的.但是,我很确定Aerospike中"命名空间"的概念并不用于这种关键分区.在Aerospike中执行此操作的正确方法(如果有的话),还是不需要?

data-modeling redis aerospike

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

维度模型中的事实表实际上是一个事件表吗?

我是维度数据建模的新手,想知道如何将它应用于看起来不像销售报告的东西.

假设我有一个网络信使.它跟踪用户的设备,浏览器类型和位置.

现在,我的业务部门的同事希望能够说出来:

  • 上个月在Chrome中发生了多少次信使聊天?
  • 去年在北美移动设备上发生了多少次信使聊天?
  • 上周聊天率(能够按浏览器,设备和位置过滤)

所以对我来说,看起来我想测量聊天率,那个事实表应该是什么样子?

此外,浏览器和设备应该是一个还是单独的维度?我无法想象将构建这样一个表的ETL过程.

在我目前的理解架构中应该如下所示: 模式

似乎每次创建聊天时我都应该将它添加到chat_facts表中,这对我来说就像保存一个包含事件的表,我们稍后会通过聚合来计算这些事件.这是事实表的正确方法吗?

database data-modeling data-warehouse dimensional-modeling

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