Questions tagged «database-agnostic»

仅当问题不依赖于特定的数据库管理系统时才使用此标记。

7
如果一个人的名字为Null,那么它将如何破坏数据库?
我在BBC上阅读这篇文章。它讲述了一个叫珍妮弗·诺​​尔(Jenifer Null)的人的故事,以及她如何在使用在线数据库(如预订机票,网上银行等)时面对日常问题。 我并不精通数据库,因此我不经常使用它。当我创建一个网站进行学习时,服务器端表单验证使用了正则表达式。据我所知,它很乐意接受“ Null”这个名字。我还没有尝试过。 有人能解释这种情况何时发生的技术细节吗?表单验证只是做某事string == NULL还是某事?即使这样我也不认为NULL is same as "NULL"。


6
在表中任意排序记录
使用数据库时,通常需要按顺序访问记录。例如,如果我有一个博客,我希望能够以任意顺序重新排列我的博客文章。这些条目通常具有很多关系,因此关系数据库似乎很有意义。 我见过的常见解决方案是添加一个整数列order: CREATE TABLE AS your_table (id, title, sort_order) AS VALUES (0, 'Lorem ipsum', 3), (1, 'Dolor sit', 2), (2, 'Amet, consect', 0), (3, 'Elit fusce', 1); 然后,我们可以对行进行排序,order以使其按正确的顺序排列。 但是,这似乎很笨拙: 如果我想将记录0移到开头,则必须对每个记录重新排序 如果我想在中间插入新记录,则必须对每个记录重新排序 如果要删除记录,则必须对它之后的每个记录重新排序 很容易想到这样的情况: 两个记录具有相同的 order order记录之间存在差距 这些可能很容易发生,原因有很多。 这是Joomla之类的应用程序采用的方法: 您可能会争辩说这里的界面很糟糕,他们应该使用箭头或拖放操作来代替人类直接编辑数字,而您可能是正确的。但是在幕后,发生了同样的事情。 有人建议使用小数来存储顺序,以便您可以使用“ 2.5”将记录插入顺序为2和3的记录之间。虽然这样做有所帮助,但可以说它甚至更麻烦,因为您最终会得到奇怪的小数点(您在哪里停止?2.75?2.875?2.8125?) 有没有更好的方法将订单存储在表中?

4
为什么某些DBMS不允许某些DDL语句回滚?
最近,我发现MySQL 不支持DDL的回滚,例如“ alter table”。习惯于PostgreSQL,这让我感到奇怪,但是我的一个朋友告诉我,即使Oracle也不允许。有不支持它的技术原因吗?对于他们来说,这仅仅是一个“无趣的”功能吗? 编辑:刚刚发现此比较。它看起来像有很多的DBMS是做支持事务DDL。

2
是否有任何DBMS具有区分大小写和不区分重音的排序规则?
请注意,此问题与供应商/版本无关 在我看来,作为说英语的专家(打字员,作家),可以合理地期望单词使用正确的大小写,但不一定具有沿正确方向的正确口音: 当我和Chloe在香榭丽舍大街的饭店maitre d'hotel的tete-a-tete中沉思时,一边等待加尔肯(garcon)取回我炒过的墨西哥胡椒酱... 您就知道了。 因此,今天我想我希望搜索条件使用区分大小写但不区分变音的排序规则,但找不到一个。是否有充分的理由还是我的情况很少见? 这是我正在查看的一些文档示例(尽管认为与供应商/版本无关): SQL Server排序规则名称(SQL Server 2008 R2)

2
开源商业智能/ DWH解决方案
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为数据库管理员Stack Exchange 的主题。 4年前关闭。 我想知道还没有问过这个问题。Google对我来说只有极少数的结果没有显示出高质量的工具 有哪些针对数据仓库,更具体地说是商业智能工具的开源(也可以免费使用)解决方案?您对他们有什么经验。我的硕士课程中有一门课程,我们与MS Business Intelligence和MSSQL一起用作数据仓库存储。现在,我想使用“开放式”工具深入了解该主题。 是否有任何可比较的商业智能工具(大多与数据库无关),您对它们有任何经验吗? 编辑玛丽安(Marian)对斯蒂芬妮(Stephanie)的回答时,我发现我把问题提成错误。我知道DWH只是“报告优化”的数据库,Stephanie对此的解释很清楚。我对如何使用哪种类型的BI软件/工具/其他技术将数据转换为这种优化形式感到更感兴趣。


5
将日期范围转换为间隔描述
最近的项目中的一项要求是报告何时将完全消耗资源。除了用尽日历日期外,还要求我用英语形式显示剩余时间,例如“要走1年3个月”。 内置DATEDIFF功能 返回在指定开始日期和结束日期之间跨越的指定日期部分边界的计数...。 如果按原样使用,可能会产生误导性或令人困惑的结果。例如,使用YEAR间隔将显示1999-12-31(YYYY-MM-DD)和2000-01-01相隔一年,而常识会说这些日期仅相隔1天。相反,使用1999年12月31日和2010年12月31日之间的时间间隔为4018天,而大多数人会以“ 11年”作为更好的描述。 从天数开始,然后从中计算月份和年份,将容易出现and年和月份大小错误。 我想知道如何在各种SQL方言中实现它?输出示例包括: create table TestData( FromDate date not null, ToDate date not null, ExpectedResult varchar(100) not null); -- exact formatting is unimportant insert TestData (FromDate, ToDate, ExpectedResult) values ('1999-12-31', '1999-12-31', '0 days'), ('1999-12-31', '2000-01-01', '1 day'), ('2000-01-01', '2000-02-01', '1 month'), ('2000-02-01', '2000-03-01', '1 month'), -- …

2
开发人员应该研究DBA知识的哪些领域?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我必须承认这个问题很广泛,所以我将尝试缩小范围。在我们公司中,我们是3-4位开发人员,并且在客户的站点上运行着一些基于SQL Server的安装(数据库大小最大为100GB,最多100个并发用户,Intranet应用程序)。我们当中没有人在运行/维护/管理(任何数据库)方面拥有真正的良好经验。客户甚至没有那么多。到现在为止还可以,但是我不能确定是因为我们做的一切正确,还是因为我们没有擅长的领域/情况。 因此,我正在从DBA的角度寻找运行数据库时需要了解的基本知识。您知道困难的事实,并且知道日常工作中最重要的是什么。 我应该在哪些主题中收集更深的知识,应该听说什么,并且在我第一次面对之前不关心什么? 我知道软件工程师和DBA的问题,但这并不是我想要的。周围也有很多书,但是我想从有实际经验的人那里听到。

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.