database-design相关内容

将房间数据库中的唯一约束添加到多列

我房间里有一个实体 @Entity(foreignKeys ={@ForeignKey(entity = Label.class, parentColumns = "_id", childColumns = "labelId", onDelete = CASCADE),@ForeignKey(entity = Task.class, parentColumns = "_id", childCol ..
发布时间:2021-11-27 13:51:35 数据库

在 Alfresco 内容模型中创建一个方面

我目前开始使用 Alfresco CMS.我需要在我的内容模型中创建一个“方面",它必须包含许多属性: 方面:属性 1:字符串属性 2:整数属性 3:整数属性4:长 此外,它必须包含另外两个属性,这些属性由以下任一属性组成: 格式:格式属性1:intFormatProperty2:intFormatProperty3:int元数据:list1:列表list2:列表元数据属性 3:布尔值 我 ..
发布时间:2021-11-26 23:33:18 其他开发

PHP访问控制系统

我是使用 PHP 和 MySQL 创建 Web 应用程序的团队的一员.该应用程序将有多个具有不同角色的用户.该应用程序还将以地理分布的方式使用.因此,我们需要创建一个在以下两个级别运行的访问控制系统: 控制特定 php 页面的用户权限,即根据用户的角色提供或拒绝对特定页面(或用户界面元素)的访问.例如:可能允许用户访问“学生"页面,但不能访问“教师"页面. 控制特定数据库记录的用户权限,即 ..
发布时间:2021-11-26 18:43:25 PHP

Firestore - 如何构建提要和关注系统

我在我的测试社交网络应用中使用 Firebase 实时数据库,您可以在其中关注和接收您关注的人的帖子.一个传统的社交网络.我像这样构建了我的数据库 - 用户--USER_ID_1- - 姓名- - 电子邮件--USER_ID_2- - 姓名- - 电子邮件帖子--POST_ID_1- - 图片- - 用户身份- - 日期--POST_ID_2- - 图片- - 用户身份- - ..
发布时间:2021-11-25 17:12:04 Java Web开发

如何创建具有共享表结构的多租户数据库?

我们的软件目前在 MySQL 上运行.所有租户的数据都存储在同一个模式中.由于我们使用的是 Ruby on Rails,因此我们可以轻松确定哪些数据属于哪个租户.但是,当然有些公司担心他们的数据可能会受到损害,因此我们正在评估其他解决方案. 到目前为止,我看到了三个选项: 多数据库(每个租户都有自己的 - 几乎相当于每个客户 1 个服务器) 多架构(在 MySQL 中不可用,每个租户 ..
发布时间:2021-11-20 22:32:20 MySQL

MySQL 触发器不能更新触发器分配到的同一个表中的行.建议的解决方法?

MySQL 当前不支持更新触发器分配到的同一个表中的行,因为调用可能会递归.有没有人对一个好的解决方法/替代方法有建议?现在我的计划是调用一个存储过程,在触发器中执行我真正想要的逻辑,但我很想听听其他人是如何解决这个限制的. 编辑:应要求提供更多背景信息.我有一个存储产品属性分配的表.当插入新的父产品记录时,我希望触发器为每个子记录在同一个表中执行相应的插入.这种非规范化对于性能来说是必要的 ..
发布时间:2021-11-20 22:31:00 MySQL

索引的 DO 和 DONT

使用索引提高数据库性能的 DO 和 DONT 有哪些? 一个 DO 是应该创建一个索引的情况,或者是另一个可以提高性能的与索引相关的技巧. DONT 是不应该创建索引的情况,或者其他可能损害性能的索引相关操作. 解决方案 一般来说: 1.除非您确实需要,否则不要添加索引. 每个索引都会使写入速度变慢... 2.将在 where 子句上使用索引: -- foo ..
发布时间:2021-11-20 22:26:50 MySQL

Facebook 点赞通知跟踪(DB 设计)

我只是想弄清楚 Facebook 的数据库是如何构建用于跟踪通知的. 我不会像 Facebook 那样深入研究复杂性.如果我们想象一个简单的通知表结构: 通知(id、userid、update、time); 我们可以通过以下方式获取朋友的通知: SELECT `userid`、`update`、`time`从`通知`在哪里`用户名`(...查询获得好友...) 但是,检查哪些 ..
发布时间:2021-11-20 22:23:48 MySQL

建模产品变体

我一直在尝试对产品变体进行建模,并认为我可能需要使用 EAV.如果没有 EAV,我可能也能做到,但我担心我可能错过了一些东西.这是我的设计: 这就是我想表达的: 一个产品可以有0个或多个产品变体(例如T恤产品可能有尺寸和颜色变体). 一个产品变体可以有1个或多个产品变体选项(例如,尺寸变体可以是小、中、大). 一个 SKU 由 1 个或多个 product variant opti ..
发布时间:2021-11-20 22:22:10 MySQL

MySQL ENUM 类型与连接表

我的要求 一个表需要维护一个状态列. 此列代表 5 个州之一. 初步设计 我想我可以将其设为整数列并使用数值表示状态. 0 = 开始 1 = 运行 2 = 崩溃 3 = 暂停 4 = 停止 由于我不希望我的应用维护从整数到它们的字符串描述的映射,我计划将它们放在一个单独的状态描述表中(依赖于 FK 关系). 然后我发现 MySQL 有一个 ENUM ..
发布时间:2021-11-20 22:14:59 MySQL

关系型数据库设计多用户类型

我有 4 种类型的用户,每一种都有特定的数据,但他们也共享公共数据,例如 username、password .. 我的第一个想法是创建一个带有 user_type 列的主 users 表.然后在查询用户数据时,我可以先选择他们的 user_type,然后根据 output 运行不同的查询来获取“用户类型"特定数据.我不喜欢这个,因为我希望我可以通过一个查询获取所有与用户相关的数据,最好使用 ..
发布时间:2021-11-20 22:10:48 MySQL

如何设计一个多租户的mysql数据库

假设我需要设计一个数据库,该数据库将托管多个公司的数据.现在出于安全和管理目的,我需要确保不同公司的数据被正确隔离,但我也不想启动 10 个 mysql 进程来在 10 台不同的服务器上托管 10 家公司的数据.使用 mysql 数据库执行此操作的最佳方法是什么. 解决方案 多租户数据库有多种方法.为了便于讨论,它们通常分为三类. 每个租户一个数据库. 共享数据库,每个架构一个租户 ..
发布时间:2021-11-20 22:09:00 MySQL

删除 MySQL 中的主键

我有以下表架构,它将 user_customers 映射到实时 MySQL 数据库的权限: mysql>描述 user_customer_permission;+-----------------+---------+------+-------+---------+--+|领域 |类型 |空 |钥匙 |默认 |额外 |+-----------------+---------+------+-- ..
发布时间:2021-11-20 22:07:16 MySQL

MySQL - 如何用“0"填充邮政编码?

在我的 MySQL InnoDB 数据库中,我有要清理的脏邮政编码数据. 干净的邮政编码数据是当我拥有邮政编码的所有 5 位数字时(例如“90210"). 但出于某种原因,我在我的数据库中注意到,对于以“0"开头的邮政编码,0 已被删除. 因此,邮政编码为“00544"的“Holtsville, New York"在我的数据库中存储为“544" 和 "Dedham, ..
发布时间:2021-11-20 22:02:32 MySQL

在 MySQL 中存储 SHA1 哈希值

当我想将 SHA1 散列的结果存储在 MySQL 数据库中时,我遇到了一个简单的问题: VARCHAR 字段应该在多长时间内存储散列结果? 解决方案 我会使用 VARCHAR 来处理可变长度的数据,但不会使用固定长度的数据.因为 SHA-1 值总是 160 位长,VARCHAR 只会浪费 固定长度字段长度的附加字节. 而且我也不会存储 SHA1 正在返回.因为它每个字符只使用 ..
发布时间:2021-11-20 22:00:56 MySQL

实体-属性-值表设计

我目前正在为电子商务平台的产品部分设计数据库结构.它需要以这样一种方式设计,使得可以销售具有无限数量不同属性的无限数量的不同类型的产品. 例如笔记本电脑的属性可以是 RAM、屏幕尺寸、重量等.一本书的属性可以是作者、ISBN、出版商等. 似乎 EAV 结构最合适. 选择产品 产品属于属性集 属性集包含属性 x 和 y 属性 x 是数据类型日期时间(值存储在 attribut ..
发布时间:2021-11-20 21:53:21 MySQL

在 MySQL 中允许空值的唯一约束

我有一个存储产品代码的字段.代码是唯一的,但有些产品根本没有代码.我无法发明代码,因为那些是提供者代码. 这种约束在 MySQL 中可行吗? 我是存储过程和触发器的菜鸟,所以如果解决方案涉及其中之一,请耐心等待. 更新:该列不是 Null.这就是我无法做到这一点的原因. 解决方案 是的,您可以这样做.请参阅MySQL 参考(5.5 版).> UNIQUE 索引创建了一个 ..
发布时间:2021-11-20 21:52:32 MySQL

SQL中,两个表可以相互引用吗?

在这个系统中,我们存储产品、产品图像(一个产品可以有多个图像)和一个产品的默认图像.数据库: 创建表`产品`(`ID` int(10) 无符号 NOT NULL AUTO_INCREMENT,`NAME` varchar(255) 非空,`DESCRIPTION` 文本不为空,`已启用`tinyint(1) NOT NULL 默认值 '1',`DATEADDED` 日期时间非空,`DEFAULT ..
发布时间:2021-11-20 21:52:18 MySQL

MySQL 存储过程使用或不使用它们

我们正处于一个新项目的开始阶段,我们真的很想知道是否应该在 MySQL 中使用存储过程. 我们只会使用存储过程来插入和更新业务模型实体.有几个表代表一个模型实体,我们会在那些存储过程插入/更新中抽象它. 另一方面,我们可以从模型层调用插入和更新,但不能在 MySQL 中调用,而是在 PHP 中调用. 根据您的经验,哪个是最佳选择?两种方法的优缺点.就高性能而言,哪个是最快的? ..
发布时间:2021-11-20 21:51:17 MySQL

自动生成数据库图表 MySQL

我厌倦了在每个项目开始时打开 Dia 并创建数据库图表.有没有一种工具可以让我选择特定的表,然后基于 MySQL 数据库为我创建一个数据库图表?最好是允许我在之后编辑图表,因为没有设置任何外键... 这是我在图表方面所描绘的(请原谅糟糕的数据设计,我没有设计它.让我们关注图表概念,而不是它在此示例中代表的实际数据;)): 查看全尺寸图 解决方案 试用 MySQL Workbench ..
发布时间:2021-11-20 21:50:10 MySQL