mysql - MySQL表结构推荐

标签 mysql database-design relational-database

您好,我正在处理一个小型内部项目。目前它只为我的公司服务,但我想扩展它,以便它可以为多家公司服务。我目前拥有的表是 USERSPROJECTS。我想开始存储公司特定信息并将其与 USERS 表相关联。对于每个用户,我都会有一个新列,即他们所属的公司。

现在我还需要将公司模板存储在数据库中。模板存储为字符串,如下所示:

"divider","events","freeform" etc.

最初,我认为每个单词都应该作为单独的行,但当我写这篇文章时,我想也许我应该将所有模板存储在一个条目中,并用逗号分隔(如上所述)。

底线,我是数据库设计的新手,我不知道如何最好地进行设置。有多少表,有哪些列等。目前,我的表结构如下所示:

PROJECTS
Project Number | Title | exacttarget_id | Author | Body | Date

USERS
Name | Email | Date Created | Password

预先感谢您提供的任何见解。

最佳答案

我要做的是创建 2 个表:

我会为不同的公司创建一张表,我们称之为COMPANY:

Company_id | Title | Logo | (Whatever other data you want)

我还将为上面列出的设置创建一个表,我们将其命名为COMPANY_SETTINGS:

Company_id | Key | Value

这使您将来可以灵活地添加其他设置,而不会影响现有代码。一个简单的查询即可获取所有设置,无论您当前的版本使用多少设置。

SELECT Key, Value FROM COMPANY_SETTINGS WHERE Company_id = :companyId

然后可以将结果放入关联数组中,以便在整个项目中轻松使用。

关于mysql - MySQL表结构推荐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39024761/

相关文章:

java - 数据库表中的多语言字段

javascript - 如何使用 sequelize-hierarchy 在 Node.js 中对同一级别的项目进行排序?

mysql - 无法在搜索过滤器查询中找到所需的结果

php - Laravel 5.3 创建模型返回 "Field doesn' t 有默认值”

mysql - 使用 Mysql 数据库的 Ruby on Rails 项目

database - 多对多关系和历史表

mysql - 实现图树的最佳数据库结构

mysql - 如何计算两个日期之间表中列的百分比

php - 在 PHP/MySQL 中更新关系数据库

php - 许多(许多)SQL JOIN 与多个查询