标签: database-schema

数据库设计:将电子邮件作为表的ID

我正在研究Java Web应用程序.对于身份验证,我要求用户输入他的电子邮件和密码.现在,我正在使用JPA 2,这可能不是那么重要.
如果电子邮件是Users表的关键,那么它将简化我的生活.我可以做一个简单的事情:

User selected = em.find(User.class, userEmail);
Run Code Online (Sandbox Code Playgroud)

请参阅?,此外,每个电子邮件地址都是唯一的,它没有空格等.现在,没有人这样做,我猜这是有原因的.我也怀疑,我的意思是,它是varchar等.但你认为这是一个好主意吗?如果没有,为什么?这必须是一个很好的理由,因此权衡不值得.数字键总是最好的,但在这里我发现自己一遍又一遍地处理用户的电子邮件,并且一直通过电子邮件搜索它们,除了连接列等之外从未真正使用过id.

java sql database jpa database-schema

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

代理键与复合键

对数据库模式相当陌生(计划使用 SQLite)。话虽如此,我正在考虑使用代理键,因为数据库当前包含一个复合键(3 列),它出现在我的大多数表中。我有几个表,其中包含 3 列唯一键和一列包含一些信息;我还有一张表包含 3 列用于唯一键,以及相同的 3 列作为外键(许多父项)。将所有这些表组合成一个表似乎没有意义,因为会有很多空字段。

如果我选择其中之一,会不会掉坑?一般认为哪一种编程更方便?

先感谢您。

sql database sqlite database-schema

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

使用"代码优先迁移"更新模式时,为现有数据库记录设置默认值

我想将[Required]属性添加到包含NULL值的现有数据库记录中,以及使用Code First Migrations自动生成数据库本身的位置.模型架构更新可能如下所示:

public class Product // BEFORE UPDATE
{
    [Key]
    public int ID { get; set; }

    [Required]
    public string Name { get; set; }

    public string Color { get; set; }
}

public class Product // AFTER UPDATE
{
    [Key]
    public int ID { get; set; }

    [Required]
    public string Name { get; set; }

    [Required]   // <---- Added
    public string Color { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后我运行命令

add-migration MakeColorRequired // Runs successfully
update-database                 // Crashes …
Run Code Online (Sandbox Code Playgroud)

c# sql asp.net-mvc database-schema ef-migrations

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

持续集成,使用Propel ORM将实际测试数据输入数据库的最佳实践

我使用Propel ORM复制表模式,以便进行持续集成,但Propel只让我得到一个完全充实的模式,它不会让我获得测试数据(或者根本不需要基本的必要数据).

如何从具有版本控制的propel-genPropel ORM生态系统的实时/测试数据库中获取数据?

continuous-integration phpunit propel database-schema

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

如何比较SQL Server中属于两个不同模式的对象模式?

我在dbo下有一个表,在一个名为tmp的模式下有一个几乎相同的表.Visual Studio Schema Compare似乎不允许我选择一组基于dbo的对象,并将它们与一组类似的基于tmp的对象进行比较.

数据库服务器已锁定,无法创建第二个数据库.此外,由于资源限制,SQL服务器在本地开发计算机上不可用.tmp模式允许我对tmp进行更改,然后比较并将这些更改推送到"dbo"的dev模式.

比较这两组物体的最佳方法是什么?

sql-server database-schema visual-studio-2013

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

我可以同时使用 DFD 和 ERD

我刚刚在阅读论文时遇到了 DFD,我知道如何使用 ERD 并且我已经阅读了有关 DFD 的内容。但是,我可以同时使用 DFD 和 ERD 来表示我的数据库设计吗?我可以同时使用 ERD 和 DFD 来表示项目中的数据库吗?

database database-design erd database-schema

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

什么是跨不同数据库服务器比较SQL Server数据库模式的最佳工具

我必须比较两个SQL服务器数据库:

  1. 数据库位于不同的数据库服务器上(我看到一些工具,但他们假设两个数据库都在同一个数据库服务器上,但不符合我的要求)
  2. 我想在模式级别进行比较,因为一个数据库中有许多不同的模式,我只想比较一个模式.

有什么好的工具可以做到这一点吗?

sql-server comparison database-schema

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