Questions tagged «database»

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

10
数据库与平面文件
我工作的公司正在尝试将使用平面文件格式的产品转换为数据库格式。我们正在处理相当大的数据文件(即25GB /文件),并且它们的更新非常快。我们需要运行查询以随机方式以及以连续方式访问数据。我试图说服他们使用数据库的好处,但是我的一些同事似乎对此不太愿意。因此,我想知道你们是否可以通过某些原因或指向我们为什么要使用数据库的帖子的链接来帮助我,或者至少要弄清楚为什么平面文件更好(如果有的话)。
77 database  file 

4
PDO :: PARAM用于十进制类型?
我有2个数据库字段 `decval` decimal(5,2) `intval` int(3) 我有2个pdo查询可以更新它们。更新int的一个可以正常工作 $update_intval->bindParam(':intval', $intval, PDO::PARAM_INT); 但我无法更新小数点字段。我已经尝试了以下3种方法,但没有任何效果 $update_decval->bindParam(':decval', $decval, PDO::PARAM_STR); $update_decval->bindParam(':decval', $decval, PDO::PARAM_INT); $update_decval->bindParam(':decval', $decval); 看来问题出在数据库类型上decimal?是否有一个PDO::PARAM用于类型的字段decimal?如果没有,我该如何解决?
77 php  mysql  database  pdo 

2
ORDER BY子句在视图,内联函数,派生表,子查询和公用表表达式中无效
除非还指定了TOP,OFFSET或FOR XML,否则ORDER BY子句在视图,内联函数,派生表,子查询和公用表表达式中无效。 我在尝试执行以下查询时遇到上述错误。谁能看看我在这里做错了什么吗? SELECT * FROM ( SELECT Stockmain.VRNOA, item.description as item_description, party.name as party_name, stockmain.vrdate, stockdetail.qty, stockdetail.rate, stockdetail.amount, ROW_NUMBER() OVER (ORDER BY VRDATE) AS RowNum FROM StockMain INNER JOIN StockDetail ON StockMain.stid = StockDetail.stid INNER JOIN party ON party.party_id = stockmain.party_id INNER JOIN item ON item.item_id = stockdetail.item_id …

1
比较MySQL,PostgreSQL和SQLite中的数据库列类型?(跨图)
我正在尝试找到一种在最常用的数据库之间关联列类型的方法:MySQL,PostgreSQL和SQLite。 这是到目前为止的内容,但恐怕还没有完成,我需要一些经验丰富的人来帮助我完成所有遗漏的类型。 MySQL PostgreSQL SQLite TINYINT SMALLINT INTEGER SMALLINT SMALLINT MEDIUMINT INTEGER BIGINT BIGINT BIT BIT INTEGER _______________________________________________________ TINYINT UNSIGNED SMALLINT INTEGER SMALLINT UNSIGNED INTEGER MEDIUMINT UNSIGNED INTEGER INT UNSIGNED BIGINT BIGINT UNSIGNED NUMERIC(20) _______________________________________________________ DOUBLE DOUBLE PRECISION REAL FLOAT REAL REAL DECIMAL DECIMAL REAL NUMERIC NUMERIC REAL _______________________________________________________ BOOLEAN …


8
仍然对识别与非识别关系感到困惑
因此,我一直在阅读数据库设计中的识别关系与非识别关系,关于SO的许多答案似乎与我矛盾。这是我正在查看的两个问题: 识别和非识别关系有什么区别 确定身份关系或非身份关系的麻烦 查看每个问题的最高答案,我似乎对确定的关系有两种不同的想法。 第一个问题的回答是,标识关系“描述了子表中行的存在取决于父表中行的情况”。给出的一个示例是:“作者可以写很多书(一对一关系),但是没有作者就不能存在一本书。” 这对我来说很有意义。 但是,当我读到对第二个问题的回答时,我很困惑,因为它说:“如果孩子确定了其父母,那是一种确定的关系。” 然后答案继续给出示例,例如社会安全号码(用于识别一个人),但没有地址(因为许多人可以住在一个地址上)。对我来说,这听起来更像是在主键和非主键之间做出决定的情况。 我自己的直觉(以及在其他站点上的其他研究)指出第一个问题及其答案是正确的。但是,我想在继续前进之前先进行验证,因为在努力理解数据库设计时,我不想学习任何错误。提前致谢。

10
CodeIgniter-仅返回一行?
目前,如果我正在对数据库执行查询,则该查询仅应返回一行,使用: ...query stuff... $query = $this->db->get(); $ret = $query->result(); return $ret[0]->campaign_id; 是否有CodeIgniter函数返回第一行?就像是$query->row(); 如果只有一行,甚至可以直接使用查询对象,甚至更好。 例如 $query->campaign_id;

10
在数据库中存储密码的首选方法
在数据库中(最好是SQL Server 2005)存储密码的首选方法/数据类型是什么。我在几个应用程序中所做的工作方式是,首先使用.NET加密库,然后将它们作为二进制文件(16)存储在数据库中。这是首选方法,还是我应该使用其他数据类型或分配比16多的空间?

15
您对使用UUID作为数据库行标识符有何看法,尤其是在Web应用程序中?
为了简化和(假定)速度,我一直首选使用长整数作为数据库中的主键。但是,当对对象实例使用REST或类似Rails的URL方案时,我将得到这样的URL: http://example.com/user/783 然后假设存在ID为782、781,...,2和1的用户。假设所讨论的Web应用足够安全,可以防止人们输入其他数字来查看未经授权的其他用户,简单的顺序分配的代理密钥也会“泄漏”实例总数(比该实例旧),在这种情况下为用户,这可能是特权信息。(例如,我是stackoverflow中的用户#726。) 将一个UUID / GUID是一个更好的解决方案吗?然后,我可以像这样设置URL: http://example.com/user/035a46e0-6550-11dd-ad8b-0800200c9a66 并非十分简洁,但是关于显示的用户的隐含信息较少。当然,它带有“模糊不清的安全性”,不能代替适当的安全性,但似乎至少更安全一些。 对于Web可寻址对象实例,实现UUID的成本和复杂性是否值得这样做?我认为我仍然想使用整数列作为数据库PK,只是为了加快连接速度。 还有UUID的数据库内表示形式的问题。我知道MySQL将它们存储为36个字符的字符串。Postgres似乎具有更有效的内部表示形式(128位?),但我自己没有尝试过。有人对此有经验吗? 更新:对于那些询问仅使用URL中的用户名(例如http://example.com/user/yukondude)的用户来说,这对于名称唯一的对象实例非常适用,但是数十亿个Web只能通过数字识别的应用程序对象?订单,交易,发票,重复的图像名称,stackoverflow问题,...

14
如何模拟要测试的数据库(Java)?
我正在用Java编程,而我的应用程序正在大量使用DB。因此,对我来说重要的是能够轻松测试数据库的使用情况。 什么是DB测试?对我来说,他们应该提供两个简单的要求: 验证SQL语法。 更重要的是,根据给定情况检查数据是否正确选择/更新/插入。 那么,看来我只需要一个DB。 但是实际上,我不喜欢,因为使用数据库进行测试几乎没有困难: “只给自己一个测试数据库,这有多难?” -嗯,在我的工作场所,拥有个人测试数据库几乎是不可能的。您必须使用每个人都可以访问的“公共”数据库。 “这些测试肯定不会很快...”-DB测试往往比常规测试慢。进行缓慢的测试真的不理想。 “此程序应处理任何情况!” -在数据库中尝试模拟每种情况变得有些烦人,甚至是不可能的。对于每种情况,都应进行一定数量的插入/更新查询,这很烦人并且需要时间。 “请稍等,您怎么知道该表中有542行?” -测试的主要原则之一是能够以与测试代码不同的方式测试功能。使用数据库时,通常有一种方法可以执行某项操作,因此测试与核心代码完全相同。 因此,您可以发现测试时我不喜欢数据库(当然,在某些时候,我必须要解决这个问题,但是当我发现大多数错误是通过使用其余的测试方法)。但是我在找什么呢? 我正在寻找一种使用文件系统或虚拟内存来模拟数据库,模拟数据库的方法。我以为可能有一个Java工具/程序包,可让每个测试简单地(使用代码接口)构造一个数据库模拟,模拟表和行,SQL验证以及用于监视其状态的代码接口(而不是使用SQL) )。 您熟悉这种工具吗? 编辑:感谢您的答案!尽管我在寻找工具,但是您也向我提供了有关该问题的提示:)我将花一些时间检查您的报价,所以我现在无法确定您的答案是否令人满意。 无论如何,这是我正在寻找的更好的视图-想象一下一个名为DBMonitor的类,它的功能之一就是查找表中的行数。这是我想如何使用JUnit测试该功能的虚构代码: public class TestDBMonitor extends TestCase { @Override public void setUp() throws Exception { MockConnection connection = new MockConnection(); this.tableName = "table1"; MockTable table = new MockTable(tableName); String columnName = "column1"; ColumnType …

10
使用和保留枚举的最佳实践
我在这里看到了几个有关处理和持久保存枚举式值的最佳方法的问题/讨论(例如,持久化适用于枚举的数据,如何使用NHibernate来持久化枚举),我想问一下一般共识。 尤其是: 这些值应如何在代码中处理? 应该如何将它们持久保存到数据库中(作为文本/作为数字)? 不同解决方案的权衡是什么? 注意:我已将本问题中最初包含的解释移至答案。


6
索引布尔字段
这可能是一个非常愚蠢的问题,但是对数据库表中的布尔字段建立索引是否会有很多好处? 在常见情况下,例如将“软删除”记录标记为非活动状态,因此大多数查询都包括WHERE deleted = 0,这将有助于对该字段进行单独索引,还是应将其与其他常见搜索字段结合使用不同的索引?
76 sql  mysql  database  indexing 

10
在OSX上安装和运行MongoDB
如果有人可以在这里提供一些见解,我将不胜感激。 我是MongoDB的新手,(相对)命令行的新手。 我在本地的MongoDB上成功运行了express / node.js应用程序,但是在重新启动计算机后,我尝试重新启动Mongo服务器,该服务器开始出现错误,无法启动。从那时起,我几次重新安装Mongo只是为了发现发生相同的错误。这是我收到的: privee:mongodb-osx-x86_64-2.4.6 jonlinton$ ./bin/mongo MongoDB shell version: 2.4.6 connecting to: test Mon Aug 26 14:48:47.168 Error: couldn't connect to server 127.0.0.1:27017 at src/mongo/shell/mongo.js:145 exception: connect failed 我错过了一步吗?我应该创建一个配置文件吗?一些基本的指导将非常有帮助。预先感谢您的任何见解。


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.