标签: relational-database

当我们对两个表应用自然连接时,新的主键是什么?

如果有两个表:

table1具有属性a1, a2, a3table2具有属性b1, b2, b3。和a1b1它们各自的主键。当对两个表应用自然联接时,新的主键是什么。合并 a1, b1形成复合主键,否则它们将成为两个单独的候选键

database natural-join relational-database

0
推荐指数
1
解决办法
1135
查看次数

Docker 入口点 initdb 权限被拒绝

当我运行 docker-compose up 时,出现以下错误:

在此输入图像描述

非常感谢你的帮助

sql postgresql relational-database docker docker-compose

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

根据变体和价格进行产品的数据库架构设计

我们正在为电子商务应用程序和网站设计数据库。我们遇到了一个障碍,使我们在搜索和实验中陷入困境,但没有一个解决方案有效,因为数据中存在冗余。

我们做了一些被拒绝的设计。我不会展示所有的设计,但我会在这里展示其中的一些设计以及我们即将实现的最后设计之一。

  1. 这是我们拒绝的第一个设计,因为它过于标准化并且过于复杂。

ERD

  1. 第二个设计是同样的事情。

ERD

  1. 这是我们最后尝试的设计,但过于简化,冗余会很多。

ERD

之后,我们尝试搜索并寻找一种能够工作并适合我们之前的设计到其他桌子的设计。我们在这里发现了一个,我们对设计做了一些修改,但它也不适合我们,因为 color_id 和 size_id 会发生冗余,而且它不是外键。

ERD

我们想要设计接受这些情况的表:

  1. 我有一种具有不同颜色和不同尺寸的产品,而且尺寸不取决于颜色,反之亦然,而且它们的价格都相同。

  2. 我有一个产品,它有不同的颜色和尺寸,但尺寸取决于颜色,例如(颜色:红色)有(尺寸:S、M、L),(颜色:黑色)有(尺寸:M、L)和他们有不同的价格。

  3. 我有一个产品,它有不同的尺寸,价格变化取决于尺寸,例如产品表(尺寸:S)和(价格:50 美元),但(尺寸:L)有(价格:100 美元)。但它没有颜色变体。

这些产品不会由我们插入,而是由一些卖家插入。颜色和尺寸将是下拉菜单中的所有选择。并且尺寸将仅根据类别显示。例如,类别上衣只有 (S、M、L...),没有其他尺寸

mysql database-design relational-database entity-attribute-value

0
推荐指数
1
解决办法
6340
查看次数

如何连接两个在rails中没有关系的表

我有一个名为“foods”和“categories”的表,但该表没有关系,我想通过另一个名为“food_category”的表连接它们。我想在食物和类别之间建立一对一的关系,也许图表看起来像这样

在此输入图像描述

class Food < ApplicationRecord 
  has_one :category
end

class Category < ApplicationRecord
  has_one :food
end

class FoodCategory < ApplicationRecord
  belongs_to :category
  belongs_to :food
end
Run Code Online (Sandbox Code Playgroud)

是否有可能做到这一点?

ruby postgresql activerecord ruby-on-rails relational-database

0
推荐指数
1
解决办法
55
查看次数

规范化数据库中表的空值

我有两个表,“警察和违规”(警察拥有警察的数据,而“违规”则包含所有违规停车的数据),其基本思想是警察可以取消任何数量的违规行为,但只有一个违规行为可以被一次取消因此,从本质上讲,它可以看作是(警察PK(用户名))1:M(违规PK(违规#))现在,违规表会将警察的用户名作为外键。现在,如果其中一位警察取消了特定的违规行为,那么还将添加该警察的用户名(取消日期和时间),而不是此名称,在违规表中它将具有空值。

问题是,当在数据库中插入一个违反项时,违反表中属于该策略的字段为NULL,而我希望避免使用此NULL值。[我的意思是,(用户名,日期,时间)只有在警察取消违规行为时才有价值,这意味着将违规状态更新为要取消。]

database null database-design relational-database database-normalization

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

CHAR_INT和INT主键之间的查询速度差异是否很大?

我知道通常最好的方法是对主键使用INTEGER字段,但是不幸的是,由于使用的API,我只能使用格式为CHAR_INT的主键(例如:ABC_12345)。

我将拥有大量数据(10亿条记录),并且优先考虑查询和插入速度,使用CHAR_INT主键是否会对速度产生较大影响?还是相对可以忽略不计?

另外,为字符串的CHAR部分创建数字ID会更有效吗?因此,使用前面的示例:ABC_12345将变成类似于1_12345。我知道它们都是字符串,只是想知道仅使用数字是否有效率。

我正在使用SQLite。

谢谢!

sql database sqlite relational-database

-1
推荐指数
1
解决办法
65
查看次数

mysql有什么用?

我在互联网上的一些地方看到MySQL的未来是黯淡的.主要是人们谈论它很糟糕.MySQL真的"死了"吗?如果是这种情况..什么是数据库解决方案的好选择?我在一家小公司工作,我们使用了很多MySQL.postgre是一个很好的解决方案吗?在我去大公司的过程中学习如何使用有用的东西是什么?什么是标准的企业数据库(请不要说oracle)?

mysql database programming-languages relational-database

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