问题标签 [database-schema]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 这个数据库表应该被规范化吗?
我已经接管了一个存储健身信息的数据库,我们正在就某个表进行辩论,以及它应该保留为一个表还是分成三个表。
今天,有一张名为:锻炼的表格,其中包含以下字段
id、exercise_id、reps、体重、日期、person_id
因此,如果我在一天进行 2 组 3 种不同的练习,那一天的表中将有 6 条记录。例如:
id, exercise_id, reps, weight, date, person_id
1, 1, 10, 100, 1/1/2010, 10
2, 1, 10, 100, 1/1/2010, 10
3, 1, 10, 100, 1 /1/2010, 10
4, 2, 10, 100, 1/1/2010, 10
5, 2, 10, 100, 1/1/2010, 10
6, 2, 10, 100, 1/1/2010, 10
所以问题是,鉴于多条记录中存在一些冗余数据(日期、人员 ID、锻炼 ID),是否应该将其规范化为三个表
WorkoutSummary :
- id
- date
- person_id
WorkoutExercise :
- id
- exercise_id(WorkoutSummary 中的外键)
- exercise_id
WorkoutSets :
- id
- Fitness_exercise_id (WorkoutExercise 的外键)
- reps
- weight
我想缺点是在重构之后查询会变慢,因为现在我们需要连接 3 个表来执行之前没有连接的相同查询。重构的好处是允许将来在锻炼摘要级别或锻炼级别添加新字段,而无需添加更多重复项。
关于这场辩论的任何反馈?
xml - 将 Oracle 数据库中的表转换为 XML 文件
给定数据库中的表/视图,我需要创建 XML 文件。实际要求是:代码必须获取表/视图名称作为输入参数,读取相同的模式,创建与表/视图结构相同的相应 XML 文件,并加载 XML表/视图的数据。这里首选的语言是 JSP。请让我知道如何实现这个想法。
在此先感谢, Geetha
database - 对 ORM 进行逆向工程
给定具有给定模式的 [mysql] 数据库,是否可以为其生成 ORM 接口?不管它是 php、python 还是 perl。
换句话说,我有一个数据库,我必须问它几个问题。虽然我可以制作一堆 SQL 查询(好吧,几十个),但这样想起来更有趣。
这是一个有效的问题吗?我没有 ORM 的设计背景,但我使用过一些(django、symfony 等)。
mysql - 与多对多表进行自连接的可扩展方式
我有一个如下表结构:
我的问题是:
如何评估要查找所有具有 profile_stat_id 和 profile_stat_value_id 的用户的查询以获取许多统计信息?
我尝试过进行内部自我加入,但是在搜索许多统计数据时很快就会变得疯狂。我还尝试对实际的 user_profile 表进行计数,这要好得多,但仍然很慢。
有什么我想念的魔法吗?我在 user_profile 表中有大约 1000 万行,并且希望查询时间不超过几秒钟。那可能吗?
sql-server-2008 - 为什么 ISql100DatabaseEncryptionKey 阻塞模式比较
我正在尝试在 Visual Studio 2010 中对某些 SQL Server 2008 数据库进行架构比较。但我收到以下错误。这是什么意思,我怎么能忽略?
更新:“写更新”确实有效。但我不能“导出到编辑器”。
visual-studio-2010 - Visual Studio 2010 数据库项目不再理解架构名称?
我刚刚尝试将 Visual Studio 2008 数据库项目升级到 VS2010,实际上它是一团糟。数百个警告,所有未解决的参考。似乎归结为 Visual Studio 不再了解架构名称(又名所有权)。例如,默认的 dbo 架构:
很好,但是:
给出了一个未解决的参考。它确实在VS2008中工作。
也是 dbo 的缩写,双点:
不再起作用了。
在项目属性窗口中,我恢复了对正确服务器的引用(转换后丢失了),但这没有帮助。
这似乎很基本,但我不知道如何解决这个问题。任何帮助表示赞赏。
sql - 如何在 SQL Server 中查找所有数据库中所有表的列名
我想在所有数据库的所有表中查找所有列名。有没有可以为我做的查询?
python - 有哪些策略可以在没有 DBA 的情况下由开发人员团队维护公共数据库模式?
我很好奇其他人是如何解决在没有 DBA 的情况下跨许多(10 多个)开发人员维护和同步数据库更改的问题的?我的意思是,基本上,如果有人想对数据库进行更改,那么有哪些策略可以做到这一点?(即我已经创建了一个“汽车”模型,现在我想将适当的 DDL 应用到数据库等。)
我们主要是一家 Python 商店,我们的 ORM 是 SQLAlchemy。以前,我们编写模型的方式是使用 ORM 创建模型,但我们最近放弃了这种方式,因为:
- 我们无法使用 ORM 跟踪更改
- ORM 的状态与数据库不同步(例如,许多差异主要与索引和唯一约束有关)
- 除非开发人员通过电子邮件向团队记录数据库更改,否则无法审核数据库更改。
我们对这个问题的解决方案基本上是让一个“看门人”个人检查数据库中的每一个更改并将所有已接受的数据库更改应用到一个accepted_db_changes.sql
文件中,从而需要进行任何数据库更改的开发人员将他们的请求放入一个proposed_db_changes.sql
文件中。我们签入这个文件,当它更新时,我们都将更改应用到我们开发机器上的个人数据库中。我们不会在模型上创建索引或约束,它们会显式应用于数据库。
我想知道维护数据库模式的一些策略是什么,以及我们的策略是否合理。
谢谢!
sql-server - SQL Server 2008 - 使用命令行创建数据库脚本(模式 + 数据)
在 SSMS 中,当我单击数据库“Tasks -> Generate Scripts”时,我得到一个输出脚本。
我如何使用非图形工具做同样的事情?
.net - 如何测试我的数据库速度?(学习)
我设计了一个数据库。没有带有索引的列,也没有任何用于优化的代码。我很肯定我应该索引某些列,因为我经常搜索它们。
我的问题是如何测试我的数据库的任何部分是否会变慢?ATM 我正在使用 sqlite,我将根据我的主机提供商切换到 MS Sql 或 MySql。在每个表中创建 100,000 条记录就足够了吗?还是在sqlite中总是很快,我需要做100万?在数据库变慢之前我需要 1000 万吗?
另外我该如何计时?我正在使用 C#,所以我应该使用 StopWatch 还是应该使用 ADO.NET/Sqlite 函数?