相关疑难解决方法(0)

模拟每个音乐艺术家都是一个团体或独奏者的场景

我必须为涉及音乐艺术家描述的业务环境设计实体关系图 (ERD) ,我将在下面详细说明。

场景描述

  • 一个艺术家有一个名称,且必须要么 一个独奏演员(但不能同时)。

  • 一个小组由一名或多名独舞者组成,并有若干成员(应根据组成该独奏者人数计算)。

  • 一个独奏演员可能是一个会员众多的群体或无的集团,并可以播放一个或多个仪器

如何构建一个 ERD 来表示这种场景?我对它的“或”部分感到困惑。

erd database-design database-diagrams subtypes many-to-many

13
推荐指数
1
解决办法
6809
查看次数

设计友谊数据库结构:我应该使用多值列吗?

假设我有一个名为 的表User_FriendList,它具有以下特征:

CREATE TABLE User_FriendList (
    ID ...,
    User_ID...,
    FriendList_IDs...,
    CONSTRAINT User_Friendlist_PK PRIMARY KEY (ID)
);
Run Code Online (Sandbox Code Playgroud)

让我们假设该表包含以下数据:

 +----+---------+---------------------------+
 | 身份证| 用户 ID | 好友            列表_ID |
 +----+---------+---------------------------+
 | 1 | 102 | 2:15:66:35:26:17: |
 +----+---------+---------------------------+
 | 2 | 114 | 1:12:63:33:24:16:102 |
 +----+---------+---------------------------+
 | 3 | 117 | 6:24:52:61:23:90:97:118 |
 +----+---------+---------------------------+

注:该“:”当(冒号)是分隔符爆炸在PHP成array

问题

所以:

  • 这是一个方便的方式来“存储”的IDsFriendList

  • 或者,相反,我是否应该让FriendId每一行只有一个值,并且当我需要检索给定列表的所有行时,只需执行如下查询SELECT * FROM UserFriendList WHERE UserId = …

normalization foreign-key database-design relational-theory

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

为资金转移业务开发数据库,​​其中 (a) 个人和组织可以 (b) 发送和接收资金

在相关的业务背景,既成员组织需要有一个帐户资金资金可以转移

  • 会员会员
  • 会员组织
  • 组织组织,以及
  • 组织成员

注意事项

为了为这种场景构建数据库,我创建了以下三个表:

CREATE TABLE Members ( 
  memberid serial primary key, 
  name varchar(50) unique, 
  passwd varchar(32), 
  account integer 
);

CREATE TABLE Organizations (  
  organizationid serial primary key, 
  name varchar(150) unique, 
  administrator integer references Members(memberid), 
  account integer 
);

CREATE TABLE TransferHistory  
  "from" integer, -- foreign key?
  "to" integer, -- foreign …
Run Code Online (Sandbox Code Playgroud)

postgresql database-design subtypes

8
推荐指数
1
解决办法
3045
查看次数

数据库设计 - 人员和组织

我们正在构建的软件有“客户”。客户可以是个人或组织。

我真的很想为此创建一个最佳模式。

我有这些考虑。

  1. 一个人可以有一个或多个联系人(例如电话、电子邮件)
  2. 一个人可以有一个或多个地址
  3. 一个组织可以有一个或多个联系人(例如电话、电子邮件)
  4. 一个组织可以有一个或多个地址
  5. 一个组织可以有一个或多个与之相关的人员。

我希望应用程序能够适当地扩展,因此架构应该适合此选择。

我正在尝试实现以下目标。

SELECT * FROM Customers + a few joins.

1. Person | NULL | John Doe | Primary Organisation Contact | Primary Address

2. Organisation | Acme Ltd | Jane Doe | Primary Organisation Contact | Primary Address
Run Code Online (Sandbox Code Playgroud)

我应该如何创建一个最佳模式来关联上述内容?

我附上了一个粗略的 Visual Schema 层次结构 - 我知道我离得很远!!我确定我犯了错误。

http://snag.gy/yshxE.jpg

是否有可能根据是个人还是组织来获得一组已婚结果?

将个人和联系人/地址加入客户很简单,但您如何加入组织的主要联系人/地址?

有没有更简单的方法来实现我的蜘蛛图外观架构。??

mysql postgresql database-design

6
推荐指数
3
解决办法
1万
查看次数

大量索引 - MySQL 与 MongoDB - 迁移

所以,我从未使用过 MongoDB,我只是阅读了很多关于它的内容,我认为它对我的项目有好处。另外,我对MySQL没有很多经验,说实话,我不知道我要问什么。

设想:

MySQL表profile

  • id = [pk, auto_increment, smallint]
  • user_id = [pk, fk, varchar]
  • category_id = [pk, fk, smallint]
  • role_id = [pk, fk, ti​​nyint]
  • country_id = [pk, fk, smallint]
  • state_id = [pk, fk, smallint]
  • legal_document = [pk, varchar, ?unique]
  • 名称 = [pk, varchar, ?unique]
  • 类型 = [pk,布尔值]
  • last_activity = [pk,日期]

当然,所有fk你看到的都是 MySQL 表。然后我想使用 MongoDB 来存储配置文件信息,profile_info集合应包含如下文档:

{
  '_id' : 1 (profile_id),
  'address': 'Some street in some state of some country :P',
  'phone': [5555555, …
Run Code Online (Sandbox Code Playgroud)

mysql index mongodb

5
推荐指数
2
解决办法
1417
查看次数

最佳实践,具有 150 多个列的 MySQL 表,许多为空

我有一个表存储了数千个属性的属性数据,所有属性都来自一个提要。(每天至少更新一次)。

我当然不是数据库专家,希望得到一些有关构建属性表的最佳方法的指导。挑战在于每个属性都有很多可能包含也可能不包含的属性。每个属性值都可能是唯一的,因此关系表似乎不会提供任何好处。

目前,我对该表的计划很简单,即创建一个包含许多可能为 NULL 的列的宽表。例如:

id - int(not null)
date - datetime(not null)
attribute1 - varchar(null)
attribute2 - varchar(null)
attribute3 - int(null)
attribute4 - bool(null)
ect..
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来设置它?每个属性都与该属性唯一关联,因此将它们全部保存在一个表中对我来说很有意义。

当该表中存在数千条记录时,即使大多数列都是 NULL,有那么多列会导致我出现问题吗?每天,我都需要在这个表上选择几个选择查询,每次返回数百到数千条记录。

非常感谢有关研究内容的任何建议或方向!

mysql performance database-design query-performance

5
推荐指数
1
解决办法
1088
查看次数

为公司和股东设计数据库结构

我正在做一个个人项目,我想在其中创建一个数据库,其中包含每个上市公司的每个所有者的信息。例如,说“Sears INC”,程序将获取“Sears INC”中每个所有者的信息。这就是想法。但是我很难构建这个数据库。我对这个主题只有有限的经验和知识,所以任何指导将不胜感激。

现在我首先考虑制作一个名为公司的表格,并为它们提供所有唯一的 ID,并为每个公司制作一张表格。然后在这些表中将是所有所有者及其唯一 ID。这将链接到他们的信息。我试图在这里形象化:

这里

现在我知道为每个公司创建一个表会很乏味,但我想不出任何其他方法来做到这一点。众所周知,每个公司可能有相同的所有者,因此使用 Owner_ID 来识别每个所有者是有意义的。

我在一个 CVS 文件中有所有其他数据,在我构建了数据库之后,我可以很容易地将这些数据导入到 PostgreSQL 中。

任何帮助将不胜感激。

TL:博士;创建一个可按公司名称搜索的股票所有者数据库,并且需要帮助来构建数据库以实现最大效率。

一个人只能有一个电话和一个地址。公司也是如此,因为我制作了一个脚本,可以根据这些信息查找电话。我区分知道一个实体是公司还是个人的方法是使用名为 F_Org 的列,该列对于公司来说将大于 4 位数字。这一切都由脚本处理。

postgresql foreign-key database-design primary-key

5
推荐指数
1
解决办法
3934
查看次数