Questions tagged «database-development»

3
ORM是否会促进数据库非规范化?
Doctrine和Propel都利用单个和具体的表继承来映射对象关系。前者将类树中所有可能的字段映射到单个表,而后者将每个类都映射到特定表,从而在继承层次结构中复制了公共字段。 虽然这有利于ORM设备,但对我来说建议数据库设计不好。这些错误的设计模式是否可以在数据库上执行?

3
Microsoft当前建立.NET数据层的最佳做法?和现实?
我正在使用的开发团队将很快迁移到.NET 4.0,但是,我们使用的数据访问类库仍然使用ADO.NET“经典”,即SqlDataReader,DataTable等。同时,Microsoft和世界其他地方似乎都在通过Entity Framework和WCF Data Services向前发展。我没有在MSDN上找到任何表明Microsoft认为最佳实践的数据访问技术的信息。 微软有偏好吗?大多数人当前使用什么数据访问方式?是否有充分的理由使用ADO.NET classic而不迁移到Entity Framework?

5
有哪些方法可以向同事展示数据库+应用程序解决方案优于Excel的优势?
我在一家到处都有Excel电子表格的公司工作。由于我的同事不是程序员,所以我确定他们没有想到可能会有更好/更容易/更有生产力的数据管理方式。自然,我提倡使用可以利用您在关系数据库和交互式前端中找到的功能的各种应用程序,以适应当前分散在不同电子表格中的各种工作流的需求。 我的问题是,我试图向各方面解释这种系统的优点,但是由于没有从头开始编写它们,我很难说服它们,甚至只是将它们暴露在绿色的草地上。人们通常都了解Excel(即使他们不是超级用户),但是当出现“数据库”一词或开始谈论“代码”时,也许会变得很模糊。 谁能提出一种方法,以证明通过从电子表格切换到实际应用程序可以改善工作流程吗?

8
在关系数据库中建模单例的最佳方法
在为Web应用程序设计关系数据库架构时,经常会遇到一种情况,最终我创建了一个表,仅包含一行和一行。感觉那是设计它的错误方法,但是我无法提出任何明显更好的方法,或者那显然是“正确的方法”。 最近的示例是一个站点,该站点使用户可以手动控制主页上的内容。好吧,只有一个主页。我创建了一个表,其中包含构建主页的所有必要字段,例如包含描述性文本的区域的文本字段。一个用于存储大图像文件名称的字段。一些外键指向将在首页上显示的文章,等等。它虽然有效,但是只有一行的表感觉不对。 过去,我尝试了许多其他设计,例如允许主页表中包含多行并随机选择一个。我尝试添加一个名为“ active”的布尔字段,并随机选择一个活动主页。在应用程序逻辑中,我尝试在任何给定时间仅强制一行处于活动状态。我什至尝试不制作主页表,也不让所有其他项(例如文章)具有名称为featured_on_homepage之类的布尔字段。 在大多数情况下,我可以在设置文件中使用一堆常量来构建主页。设置文件的主要问题在于它在开发人员的控制之下。因为像主页内容这样的东西是用户要编辑的东西,所以它必须进入数据库。 在许多站点上,我没有这个问题,因为我可以通过查询来构建诸如首页之类的内容,例如选择五篇最新文章。但是,当我有严格要求的手动页面时,在数据库中对其建模就变得很棘手。但是想象一下,您有一张照片桌子和一张物品桌子。要求是首页要显示精确的五张照片,精确的三篇文章和两块由用户手动控制的任意文本。您如何在数据库中正确建模呢? 另外,除了首页以外,我在许多其他情况下都遇到了建模问题。这只是我能想到的最简单,最适用的示例。

2
如何使我的visualstudio数据库项目与数据库同步?
我想将数据库架构与Visual Studio .dbproj数据库项目同步。 现在,我在大多数数据库开发工作中都使用SSMS,并且在需要同步db模式和.dbproj时,必须手动使用Visual Studio的模式比较工具。我为什么要这个?因为: 这是签入更改的唯一方法 这是应用更改的唯一方法 否则,将在获取文件时引起一些合并问题(基本上,如果“获取最新”包含我一直在更新的db对象上的某些db更改,而无需检出它们,则不会触发合并,并且很容易跟踪哪个版本是哪个) 很高兴能够在最新版本的架构中使用VisualStudio的搜索功能 很高兴能够使用搜索结果从VS修改存储过程(通常是在重命名文件时)。 除了自动执行“模式比较”工具使其每5分钟运行一次(这听起来几乎不是“干净”的解决方案)之外,还有其他方法可以实现此目的吗? 我想尽可能地使用SSMS,但我也对将使用Visual Studio的“服务器资源管理器/数据库连接”所做的更改自动传播到.dbproj的方法感兴趣。

4
存储过程命名约定?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 我们的一位资深开发人员表示,对于存储过程,应使用命名约定,并使用“ objectVerb”样式的命名方式,例如(“ MemberGetById”),而不是“ verbObject”类型的命名方式(“ GetMemberByID”)。该标准的理由是,所有相关的存储过程都将按对象而不是按操作分组在一起。 虽然我看到了这种命名方式的逻辑,但是这是我第一次看到以这种方式命名的存储过程。我对命名约定的看法是,该名称不能自然地读取,并且需要花费一些时间来确定单词在说什么以及该过程可以做什么。 您对此有何看法?命名存储过程的最常用方法是哪种?您使用或遵循的存储过程命名约定是哪种类型?

5
为Webapp的每个客户端创建一个新表是一个好主意吗?
这是半假设的,由于我没有处理大型数据库表的经验,因此我不知道这是否由于某种原因而令人恐惧。关于情况: 想象一下一个基于Web的应用程序-可以说是会计软件-它具有20,000个客户端,每个客户端在一个表中有1000多个条目。那就是2000万行,我知道这肯定会减慢复杂查询的速度。 在这种情况下,在数据库中为每个客户端创建一个新表是否更有意义?数据库对拥有20k(或更多!)表有何反应?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.