Questions tagged «database»

数据库是有组织的数据集合。它是模式,表,查询,报告,视图和其他对象的集合。数据通常以支持需要信息的流程的方式来组织,以对现实的各个方面进行建模。如果对设计数据库有疑问,请使用此标记。如果它与特定的数据库管理系统(例如MySQL)有关,请改用该标记。


15
重新排序/重置自动递增主键
我有一个带有自动递增主键的MySQL表。我删除了表中间的一些行。例如,现在在ID列中有类似的内容:12、13、14、19、20。我删除了15、16、17和18行。 我想重新分配/重置/重新排序主键,以便保持连续性,即将19设为15,将20设为16,依此类推。 我该怎么做?
127 mysql  database 

20
在MySQL中交换列值
我有一个带有坐标的MySQL表,列名称为X和Y。现在我想交换此表中的列值,以使X成为Y并且Y成为X。最明显的解决方案是重命名列,但是我不想进行结构更改,因为我不一定有这样做的权限。 这可能以某种方式与UPDATE有关吗?更新表SET X = Y,Y = X显然不会满足我的要求。 编辑:请注意,我上面提到的权限限制有效地阻止了ALTER TABLE或其他更改表/数据库结构的命令的使用。不幸的是,重命名列或添加新列不是选项。
127 mysql  database 

18
为什么不建议将数据库和Web服务器放在同一台计算机上?
在听完Scott Hanselman对Stack Overflow团队的采访(第1部分和第2 部分)时,他坚持认为SQL Server和应用程序服务器应该位于单独的机器上。这是否只是为了确保如果一台服务器遭到破坏,两个系统都无法访问?安全问题是否超过了两台服务器的复杂性(额外成本,两台服务器之间的专用网络连接,更多维护等),特别是对于小型应用程序,其中两个服务器都不使用过多的CPU或内存?即使有两台服务器,其中一台服务器受损,攻击者仍可能通过删除数据库或弄乱应用程序代码来造成严重损害。 如果性能不成问题,为什么这会是一件大事?

29
最喜欢的性能调优技巧
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 当您有需要性能调整的查询或存储过程时,首先要尝试哪些操作?

13
在新的Rails项目中从SQLite更改为PostgreSQL
我有一个Rails应用程序,该数据库的数据库位于SQLite中(开发人员和生产人员)。由于我要迁移到heroku,因此我想将数据库转换为PostgreSQL。 无论如何,我听说不需要从SQLite更改本地开发数据库,​​所以我不需要更改它,但是,如何将生产环境从SQLite更改为PostgreSQL? 以前有没有人做过并且可以帮助您? PS:我不确定这个过程到底叫什么,但是我听说过将数据库从SQLite迁移到PostgreSQL,这需要做些什么吗?

16
用于修订的数据库设计?
我们在项目中需要将实体的所有修订(更改历史记录)存储在数据库中。目前,我们有2个为此设计的提案: 例如,对于“雇员”实体 设计1: -- Holds Employee Entity "Employees (EmployeeId, FirstName, LastName, DepartmentId, .., ..)" -- Holds the Employee Revisions in Xml. The RevisionXML will contain -- all data of that particular EmployeeId "EmployeeHistories (EmployeeId, DateModified, RevisionXML)" 设计2: -- Holds Employee Entity "Employees (EmployeeId, FirstName, LastName, DepartmentId, .., ..)" -- In …

16
您如何调试MySQL存储过程?
我当前用于调试存储过程的过程非常简单。我创建一个名为“ debug”的表,在该表中,它会在存储过程运行时插入变量值。这使我可以在脚本中的给定位置查看任何变量的值,但是是否有更好的方法来调试MySQL存储过程?

10
将图片存储为文件还是存储在Web应用程序的数据库中?
我的问题很笼统,我知道可能不会100%回答。我正在构建一个ASP .NET Web解决方案,该解决方案将包含很多图片,并希望有大量流量。我确实很想实现性能。 我应该将图片保存在数据库中还是文件系统中?而且无论答案如何,我都对为什么选择特定方式更感兴趣。 非常感谢,斯特凡 重复:将图像存储在数据库中-是或否?,如何在文件系统中存储图像,存储少量图像:blob或fs?可能还有一些。 评论:感谢您提供许多好的答案。即使我喜欢拥有100%数据库驱动的解决方案的想法,我也将寻求基于文件的解决方案。似乎今天有很好的解决方案来完成我想要对数据库进行的操作,但是我有一些不这样做的原因。 我将使用托管解决方案,我拥有大量的存储空间(10gb),但数据库只有300mb。在数据库中额外的存储将花费很多。 我不是数据库专家,也不控制数据库的设置。基于数据库的解决方案可能需要自定义配置。 如果我们要在自己的服务器上运行站点,则可以考虑基于数据库的解决方案。谢谢,Stefan

22
是否有用于数据库结构更改的版本控制系统?
我经常遇到以下问题。 我正在对项目进行一些更改,这些更改需要数据库中的新表或新列。我进行数据库修改并继续我的工作。通常,我记得记下更改,以便可以在实时系统上复制它们。但是,我并不总是记得自己所做的更改,也并非总是记得写下来。 因此,我推动了实时系统,并收到了一个很大的明显错误,那就是没有NewColumnX,呃。 无论这可能不是这种情况的最佳实践,是否都存在数据库的版本控制系统?我不在乎特定的数据库技术。我只想知道是否存在。如果碰巧可以与MS SQL Server配合使用,那就太好了。


6
SQL查询以查找ID不在另一个表中的记录
我有两个具有绑定数据库主键的表,我希望在它们之间找到一个不相交的集合。例如, Table1具有列(ID, Name)和示例数据:(1 ,John), (2, Peter), (3, Mary) Table2具有列(ID, Address)和示例数据:(1, address2), (2, address2) 那么,如何创建一个SQL查询,所以我可以用ID读取该行从table1不在table2。在这种情况下,(3, Mary)应该退货吗? 附言 该ID是这两个表的主键。 提前致谢。
123 sql  database  postgresql 

11
在数据库中保存枚举的方法
将枚举保存到数据库中的最佳方法是什么? 我知道Java提供name()和valueOf()方法来枚举值转换为字符串和背部。但是还有其他(灵活的)选项来存储这些值吗? 有没有一种聪明的方法可以使枚举成为唯一的数字(ordinal()使用不安全)? 更新: 感谢您提供的所有出色且快速的答案!就像我怀疑的那样。 但是要注意“工具包”;那是一种方式。问题是我将不得不向创建的每个Enum类型添加相同的方法。那就是很多重复的代码,并且目前,Java不支持任何解决方案(Java枚举不能扩展其他类)。
123 java  database  enums 


10
数据库和函数式编程是否不一致?
我已经从事Web开发已有一段时间了,最​​近开始学习一些函数式编程。像其他人一样,我在将许多这些概念应用于我的专业工作时遇到了很大的麻烦。对我来说,主要原因是我发现FP保持无状态的目标之间存在矛盾,这与我所做的大多数Web开发工作都与数据高度依赖的数据库紧密相关这一事实很不相符。 使我成为OOP方面更具生产力的开发人员的一件事是发现了对象关系映射器,例如用于.Net的MyGeneration d00dads,用于perl的Class :: DBI,用于ruby的ActiveRecord等。这使我远离了从整天编写插入和选择语句开始,并专注于轻松地将数据作为对象使用。当然,当需要使用SQL查询时,我仍然可以编写它们,但是在后台可以很好地抽象它。 现在,转向函数式编程,对于许多FP Web框架(如Links)来说,似乎需要编写许多样板sql代码,如本例所示。Weblocks似乎更好一些,但是它似乎使用了一种OOP模型来处理数据,并且仍然需要为数据库中的每个表手动编写代码,如本例所示。我想您使用了一些代码生成来编写这些映射函数,但是看起来绝对像是非lisp。 (请注意,我没有非常仔细地查看Weblocks或Links,可能只是误解了它们的用法)。 所以问题是,对于Web应用程序的数据库访问部分(我认为这是相当大的),或其他需要与sql数据库进行接口的开发,我们似乎被迫遵循以下路径之一: 不要使用函数式编程 以一种烦人,轻松的方式访问数据,其中涉及手动编写许多SQL或类似SQL的代码ala链接 将我们的函数式语言强制为伪OOP范式,从而消除了真正的函数式编程的某些优雅和稳定性。 显然,这些选择都不是理想的。是否找到了规避这些问题的方法?这里真的有一个问题吗? 注意:我个人最熟悉FP方面的LISP,因此,如果您要提供任何示例并了解多种FP语言,则Lisp可能是首选语言 PS:对于特定于Web开发其他方面的问题,请参见此问题。

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.