2009-06-25 102 views
3

所以我已经阅读了几本有关SQL的书籍,并且我使用了SQL和创建的数据库,但实际上并没有什么先进的,几张表,一对夫妇连接,等等。数据库编程概念

所以现在我正在研究一个相当大的项目。数据库将有多个表格,我们将每天处理40'000到80'000行数据。

现在我发现自己缺乏一些基本的SQL概念,例如:

我有文件和文件详细信息的数据集。这些文件列在一张表中,文件详细信息列在另一张表中。我们还有一个构建表和第四个表,它们将构建表,文件表和文件详细信息表连接在一起。

的问题是喜欢,“我如何处理的文件和正确的文件详细信息与文件相关联,并与生成关联?

即使我的大学没有涉及这一点,现在我觉得我在我的应用程序中,我有40'000个文件,我需要将不存在的文件添加到文件表中。我是否拥有文件表?搜索每个单独的条目,并添加如果它不存在,并跳过,如果它?

所以我真正的问题是,哪里是一个很好的平台e阅读一般概念?

+0

不知道你的应用程序的要求是完全的,要求和提出建议是危险的。 – MaD70 2009-10-22 04:29:32

+0

@编码猴 - 你能够给出表结构的基本说明吗? – 2009-11-08 11:45:01

回答

5

我在这个主题上找到的最好的书籍是Joe Celko的“Smarties系列的SQL”。它们涵盖了从规范化一直到如何在SQL中表示不同数据结构的基础知识。

1

要想首先回答您的最终问题,如果您想了解更多关于SQL perceptions的信息,可以查看一些非常好的书籍。正如LPCRoy提到的,只有Joe Celko的任何东西都不错。另外,对于集合论,我特别推荐一本名为“数据库专业人士的应用数学”的书。另外,不要忽视论坛。我个人在论坛和文章SqlServerCentral.com的粉丝。

现在,您的更具体的问题是与数据库中的文件系统和处理文件(或至少文件名列表)进行交互。大多数RDBMS都可以在存储过程中执行该操作,但具体取决于您使用的系统。而且,即使是那些允许你这样做的人,我也不会推荐它。

相反,我会推荐使用不同的编程语言,如Python或C#来解析文件,然后将所需的数据输入到数据库中。请注意,一些较新的RDBMS(如MS Sql Server 2008)允许您直接将文档链接到数据库,甚至可以将文档存储在数据库中(如果需要)。即使这是您的最终目标,您最好使用外部语言(如Python或C#)将其插入到数据库中。

0

你问的问题似乎有一个简单的连接查询解决方案,也许有点查询。你打算在PL/SQL块还是代码中执行这些操作?你在寻找一些code-db交互概念还是纯数据库级别?

我通常会发现头第一个系列信息和一个有趣的学习方式。 http://headfirstlabs.com/books/hfsql/

3
  • SQL and Relational Theory - How to Write Accurate SQL Code,由Chris J.日期;来自前言

    SQL无处不在。但是SQL很难使用:它比较复杂,容易混淆,容易出错 - 更有甚者,我冒昧地提出建议,而不是它的辩护人会让你相信。为了有希望编写SQL代码,你可以确定它是准确的,因此(意味着它确实按照它应该做的事情,不多也不少),你必须遵循一些适当的规则 - 这是这篇论文的主题本书使用SQL关系是你需要的学科。但是,这是什么意思?无论如何不是SQL关系?

    确实,SQL是用于关系数据库的标准语言 - 但事实本身并没有使它成为关系数据库。可悲的事实是,SQL在很多方面脱离了关系理论;重复的行和空值是两个明显的例子,但它们不是唯一的例子。因此,它给你绳索挂上,就像它一样。所以,如果你不想自杀,你需要了解关系理论(它是什么,为什么);您需要了解SQL与该理论的偏差;你需要知道如何避免它们可能导致的问题。总之,你需要使用SQL关系。然后,您可以像SQL一样真正是关系型的,您可以享受使用真正的关系系统的好处。

    现在,如果每个人都已经使用SQL关系,那么就不需要这样一本书 - 但它们不是。相反,我在当前的SQL使用情况中观察到很多不好的做法。我甚至观察到,在教科书和类似出版物中,由真正应该知道更好的作家(没有名字,没有包装演练)推荐这种做法;事实上,对这方面的文献进行回顾是一件相当令人沮丧的事情。关系模型首先在1969年看到了一天的光芒,但在这里我们已经有近40年的历史了,数据库社区似乎还没有很好地理解它。部分出于这些原因,本书使用关系模型本身作为组织原则;它深入地解释了模型的各种功能,并在每种情况下展示了如何最好地使用SQL来实现所讨论的功能。 ...

  • 从那里,如果要深化主题,Applied Mathematics for Database Professionals,由Lex德哈恩(RIP)和香椿Koppelaars;从正向,由休·达尔文和Chris J.日期(再次):

    我们欢迎到数据库文献这方面的贡献。这是关于关系数据库的理论和实践的另一本书,但这个有趣的是有所不同。这本书的主要内容是致力于理论的处理。这种治疗不仅严谨而且数学化,而且比其他一些文本更加平易近人。与我们一样,作者清楚地认识到,如果要认真对待数据库研究,逻辑和数学的重要性。他们在描述由他们的前教师Bert de Brock和Frans Remmen开发的某种形式主义方面做得很好。这种形式主义包含了一些对许多读者来说都是新颖的想法,甚至那些已经对这个主题有一定熟悉程度的人也是如此。一个特别有趣新奇的想法,对我们来说,是更新并在第10章交易规范化...

  • Practical Issues in Database Management: A Reference for the Thinking Practitioner,由法比安·帕斯卡尔:

    前言

    的计算机行业 - 尤其是数据库行业 - 类似于时尚行业:它受时尚潮流驱动。多数情况下,供应商都会因加速淘汰而获益,而这些都是时尚潮流的前奏。这是用户,但是,不是供应商,谁付出了鼻子。在贸易媒体的帮助下,供应商可以通过简单引诱用户接触下一个时尚 - 互联网只是最新的一种方式,利用无知并掩盖严重的产品缺陷和可引发的问题,从而获利。 ... [我的注意:这本书出版于2000年,但没有迹象表明,特别是WWW前进超过其时尚功能模式]

  • An Introduction to Relational Database Theory,由休·达文,这一个是免费,它可以直接从它的网站下载。