如何在一个属性中存储多个值.例如:列名:电话我想将5,7和16这三个不同的值存储在一行中的一列(电话)中.
如果我有一个用户可以标记另一个用户帖子并且无法撤消或更改的网站,我是否需要拥有主键?我的所有选择都在post_id上,并带有where子句以查看用户是否已标记它.
我有一个像这样结构的用户表:
如果我将其更改为此,技术上会更快:
我很困惑,因为即使字符和数字的总行长度会更短,我假设使用的字节数也是相同的.
我想在mysql表中建模一个层次结构/目录,如下所示.您可以在下面看到我正在考虑的表模式.但是,Im谈论的目录将由100.000个元素组成,深度为~5-10个级别.此外,我们将有一个标签池,目录的每个元素可以链接到一个或多个标签.所以我想知道是否有更好的方法.我正在读一些人决定设计一些表格,这些表格对于高性能的震动并非规范,我也在评估这个案例.
ps:有些人使用Multi-way Trees在编程语言级别对此进行建模,因此问题如何在数据库中结束仍然存在.
hierarchy:
A
| -> 1
|->1
|->2
| -> 2
| -> 3
B
| -> 1
| -> 2
table:
___________________________
| id |element | father |
|---------------------------|
| 000 | A | null |
| 001 | 1 | 000 |
| 002 | 1 | 001 |
| 003 | 2 | 001 |
| 004 | 2 | 000 |
| 005 | 3 | 000 |
| 006 | B | null …Run Code Online (Sandbox Code Playgroud) 我正在构建一个处理非常大数据(超过 300 万)的应用程序。我是 cassandra 的新手,我正在使用 5 节点 cassandra 集群来存储数据。我有两个列族
Table 1 : CREATE TABLE keyspace.table1 (
partkey1 text,
partkey2 text,
clusterKey text,
attributes text,
PRIMARY KEY ((partkey1, partkey2), clusterKey1)
) WITH bloom_filter_fp_chance = 0.01
AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
AND comment = ''
AND compaction = {'min_threshold': '4', 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32'}
AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'}
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = …Run Code Online (Sandbox Code Playgroud) 我正在通过Kimball 的“数据仓库 takelit”进行探索,在那里我遇到了事实表充当维度的场景,但我主要对解释不太满意,因为我是维度建模的新手。
我的问题是
我通读了这个 tek-tips论坛,但它并没有很好地帮助我。
原始来源:Kimball 的文章
编辑:
除了上面的链接,Kimball 的汇总事实还使我能够询问将汇总事实用作维度的场景。
我有一个关于创建维度模型和处理不同粒度级别的问题。
我想知道这两种方法中哪一种最好,为什么。或者如果有另一种方法会更好。
我使用的场景很简单:我有 2 个维度,Region 和 Customer,1 个事实,Sales。
这变成了两个维度表,一个用于区域,另一个用于客户,其中包含一个包含销售额的事实表,如下所示:
现在我想按地区汇总销售额。但我不确定哪种方法是最好的。
我是否应该按地区汇总销售额,然后将数据加入事实表,使模型如下所示:
或者我应该创建一个新表来保存聚合值,并使用一个键连接回事实和区域维度表,如下所示:
还是有另一种方法可以击败这两种方法?
感谢您的智慧和投入。
谢谢
aggregate data-modeling data-warehouse dimensional-modeling snowflake-schema
我在 Prisma 中理解关系和数据建模时遇到问题。我有一个关于可以参加网球比赛的两个用户的“简单”示例。所以我有:
Model User {
id Int @id
name String
}
Model Game {
id Int @id
player1 PlayerInGame
player2 PlayerInGame
}
Model PlayerInGame {
id Int @id
player User
game Game
}
Run Code Online (Sandbox Code Playgroud)
它给了我这个错误:
Error validating model "Game": Ambiguous relation detected. The fields `player1` and `player2` in model `Game` both refer to `PlayerInGame`. Please provide different relation names for them by adding `@relation(<name>).
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?提前致谢。
我也尝试在 @relation 字段中进行操作,但这给了我以下错误:
model Game {
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
player1 PlayerInGame …Run Code Online (Sandbox Code Playgroud) data-modeling ×10
mysql ×3
sql ×3
aggregate ×1
bigdata ×1
cassandra ×1
database ×1
datastax ×1
hierarchical ×1
javascript ×1
prisma ×1
star-schema ×1
tree ×1
types ×1