标签: database-design

SQLMaestro for PostgreSQL 的开源替代品

我正在寻找一个开源替代品 SQLMaestro for PostgreSQL 的因为它具有可视化数据库设计器,而 pgAdmin 中没有它,这使得数据库设计变得如此简单。

PS 我不确定这在这里是否违法,但我不得不问一下,因为谷歌没有帮助我找到替代方案。

postgresql database-design linux

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

主键会被添加为聚集索引吗?

我继承了一个数据库,其中没有在表上定义主键。也没有分配给表的聚集索引。

如果我执行一个更改表来分配主键,这会导致 SQL Server 也创建聚集索引吗?如果是这样,由于数据在硬盘上重新定位,我应该期望数据库速度变慢吗?

index sql-server-2008 database-design sql-server

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

SQL Server 中 sys.dm_db_missing_index_group_stats 的最佳实践

我有一个相当简单的查询,使用sys.dm_db_missing_index_group_stats来标识我的 SQL Server 数据库中缺少的索引。这是非常常用的。我的问题是如何确定这些索引中哪些是重要的并且应该创建,我应该全部创建它们还是有任何其他秘密?我特别应该在 avg_user_impact 或 avg_total_user_cost 列中寻找什么?

database-design sql-server index-tuning

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

我应该创建枚举还是单独的标志?

我正在创建一个新的数据库表,用于存储产品图片。我想确定图片中代表的产品“类型”。假设我们有所有产品的 3 个一般类别:

  • 桌子,
  • 椅子,
  • 和灯。

我最好创建 3 个布尔列is_tableis_chair、 和is_lamp

或者我最好创建一个枚举,然后为该枚举使用单个列:

CREATE TYPE product_type AS ENUM ('table', 'chair', 'lamp' );
Run Code Online (Sandbox Code Playgroud)

(请注意,对于我们存储的工程产品图片,可以保证产品/图片永远不会符合 2 种类型。它必须始终是 1 种非常具体的类型。)

database-design

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

不确定如何在此关系数据库模式中实现某些约束和关系

我正在为学校项目设计 dB- 机票数据库。(使用 MySQL 工作台)

到目前为止,我想出了以下设计: 数据库图

以下是我无法弄清楚的几件事:

  1. 将外键作为非整数值(例如Varchar)是个好主意吗??
  2. 数据库需要以某种方式跟踪预订的座位数量和特定航班上的乘客数量。不知道在哪里放置这些属性。
  3. 如何确保Flight特定航班的到达城市和出发城市(从表中)不同?

mysql database-design

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

将数据存储为行而不是列

这是我存储数据的典型方式(显然不是以纯文本形式存储密码)

    用户表

    | 用户名 | 用户名 | 全名 | 电子邮件 | 密码 |
    |--------|----------|----------|---------|-------- --|
    |1 |userAAA |用户 Aaa |aa@aa.com|aAaaA |
    |1 |userBBB |用户 Bbb |bb@bb.com|bBbbB |
    |1 |userCCC |用户抄送 |cc@cc.com|cCccC |
    |--------|----------|----------|---------|-------- --|

以以下方式存储它有什么问题吗?

    用户表属性表

    | 用户名 | 用户名 | |属性ID | 属性 |
    |--------|----------| |------------|-----------|
    |1 |用户AAA | |1 |全名 |
    |1 |用户BBB | |2 |电子邮件 |
    |1 |用户CCC | |3 |密码 |
    |--------|----------| |------------|-----------|

    属性值表

    |用户ID | 属性ID | 属性值 |
    |-------|-------------------------|----------------|
    |1 | 1 |用户 Aaa …

database-design

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

使用多个一对多关系还是多态关系更好?

我有以下表格:

  • 点击次数表
  • 网站表
  • 广告表

广告和网站都有很多点击次数(即两种模型都与点击次数是一对多的关系)。在这种情况下,使用多个一对多关系更好,还是 Clickable 多态设置更好?

database-design relational-theory

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

Oracle 数据库创建下一步是什么?创建架构还是创建表空间?

我是一名程序员,被我自己命名为 Wilson 的排球扔到了 DBA/系统管理员岛。我正在努力在这里生存。

我应该为应用程序创建一个数据库。之前运行它的服务器有一个非常相似的应用程序的数据库。我对 Oracle 了解不多,所以我重用了 ZFS 文件系统,并保留了它们的创建方式(因为老实说,我不知道它们为什么这样创建,但我很确定这是有充分理由的) .

app/oradata_smart_ora1    858M  12.2G   858M  /oradata/SMART/ora1
app/oradata_smart_ora2   7.18M  18.0G  7.18M  /oradata/SMART/ora2
app/oradata_smart_ora3   7.18M  36.0G  7.18M  /oradata/SMART/ora3
app/oradata_smart_ora4   60.6K   400G  60.6K  /oradata/SMART/ora4
app/oradata_smart_redo1   400M  2.61G   400M  /oradata/SMART/redo1
app/oradata_smart_redo2   200M  2.80G   200M  /oradata/SMART/redo2
app/oradata_smart_redo3   200M  2.80G   200M  /oradata/SMART/redo3
Run Code Online (Sandbox Code Playgroud)

因为我重用了文件系统,所以我创建了我的数据库并将控制文件放在旧数据库文件所在的相同位置(/oradata/SMART/ora1、/oradata/SMART/ora2、/oradata/SMART/ora3)。像 MySQL 一样思考我app/oradata_smart_ora4 60.6K 400G 60.6K /oradata/SMART/ora4专门创建的用于将数据库存储在那里的工作。

数据库启动和安装没有问题。现在是我被困的地方。我读过这个这个这个这个这个等等,但我仍然有疑问。

请注意,该服务器将在其整个生命周期内管理数百万/数十亿条记录。

  1. 现在我的数据库已创建,下一步是什么?创建模式或表空间?
  2. 表空间问题:表空间数据文件是存储表中实际数据的地方吗?需要多少?默认还是临时?我需要多少空间?自动扩展?

对于所有这些问题,我真的很抱歉,但我真的很想在遵循 Oracle 最佳实践的同时正确地做到这一点。如果您需要更多信息来回答您的问题,请告诉我。

schema oracle database-design tablespaces

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

此异常警告消息的含义是什么?

我已经使用 SchemaSpy 进行了分析。

该工具给了我两个表的警告消息。警告信息是:

列名递增的表,可能表示非规范化

上述错误是什么意思?

以供参考 :

http://schemaspy.sourceforge.net/sample/anomalies.html

schema database-design

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

让用户向您的数据库添加新的列和表是否可以?

我基本上是在制作一个数据库数据库。管理用户可以进入并点击“创建数据库”(基本上是一个表)并设置列类型和列数。然后其他用户可以进入并通过界面向数据库添加条目。关键是要为公司内部的信息创建一个管理系统。如在,管理员可以创建一个“雇佣”数据库来存储具有正确列等的工人。

我认为我永远不应该让用户创建新表(这就是“数据库”)甚至列。我创建了两个表来存储从用户角度定义数据库/表应该是什么的信息,以及另外两个表来存储这些条目的条目和数据。

我觉得有点像我在重新发明轮子。是否可以让用户添加新表。

mysql database-design

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