【问题标题】:Should I Use SQL or XML? [closed]我应该使用 SQL 还是 XML? [关闭]
【发布时间】:2014-02-28 14:42:15
【问题描述】:

我想升级我的网站,以便简单快捷地添加新项目甚至条目。我最初的想法是升级它以合并 php 和一个 sql 数据库,但我不想每次我想添加一个新项目时都必须继续登录 MySQL,我真的不想花很多时间在一个我的站点的管理部分,所以我的第二个想法是使用 php 和 XML 创建一个系统,我可以在其中通过 FTP 拖放文件夹并让我的站点发现每个文件夹,为发现的每个文件夹创建一个 div 并使用 XML 文档和媒体在每个文件夹中填充其 DIV。

基本上我应该坚持使用 php 和 MySQL 还是使用 XML 对我的网站同样有效。 我的网站只是一个作品集。

【问题讨论】:

    标签: php mysql sql xml


    【解决方案1】:

    如果要在为存储和检索数据而优化的数据库服务器或每次手动解析 XML 文件之间进行选择,请选择数据库。

    【讨论】:

    • 另外,创建一个小的管理屏幕来添加项目应该不会太费力吧?
    • 如果有 phpmyadmin,谁需要管理界面?
    • 也许他有更多的人来管理该站点上的项目?您不相信会在数据库中捣乱的人...
    • 似乎不是这样,但确实如此,如果涉及的技术人员较少,phpmyadmin 是个坏主意。
    • 情况是,我的主要精力是游戏设计和编程,我想把大部分空闲时间花在我不工作的时候,而网络开发是次要工作。我想,如果我创建一个自我更新的网站,可能对我来说会更快,我需要做的就是将项目媒体和详细说明项目的 xml 文档放入一个文件夹中,然后网站会处理其余的等等。不要想要在网站工作上花费太长时间,就像我说的,我想继续我的游戏开发等。
    【解决方案2】:

    我已经为一些小网站(每个不到 10 页)制作了一些小的后端区域,并且在这样做的过程中,从你描述的方式使用 XML 的实际经验中学到了很多东西。

    我认为很多“适用性”——这就是你要问的——与你计划如何将存储在 xml 中的数据转换到网站中有关。

    例如,我为一个婚礼摄影网站创建了一个小型博客,它解析一个小的 xml 文件,并在找到每个博客元素后,将这篇文章中的内容注入到页面中。如果您很狡猾并在容器元素上提供了 HTML/XHTML 的默认命名空间,在我的例子中,并使用普通的 HTML/XHTML 标记描述下面的所有内容,那么您可以简单地将所有子节点注入到您的 HTML/XHTML页面将只有几行 PHP...您可以在生产之前验证您在 XML 文档中编写的 XHTML/HTML。这种活动是完全有效的——它是一个打开文件、读取 xml 并注入页面的简单过程。

    一些 MySQL 人可能会觉得这是一种奇怪的做事方式,但我发现它对于小型网站很有用,过了一段时间你会发现自己很容易创建类似的功能 - 例如客户推荐列表。

    现在,构建您上面描述的某种后端来更新博客文章或隔离到单个页面的小文本 sn-p 很简单,对于小型投资组合网站,我没有看到任何问题。

    然而,尽管我喜欢自己做这种事情——一旦网站超过几页,就很难管理。

    我认为,困难在于 XML 和 MySQL 等数据库属于两个独立的活动域,因此是为不同目的而“构建”的。我的意思是 XML 是面向文档的格式,我们倾向于使用它来描述特定的“对象”——通常是根据词汇表描述的文档本身(例如网页——HTML)。数据库模型或表达数据之间的关系——因此称为“关系数据库”。这使得后者对网站更有用,因为它更容易存储和提取可能与用户正在查看的内容相关/感兴趣的智能数据。想想一个电子商务网站。如果您使用 XML 文档来包含产品数据,那么提取相关产品会比使用 MySQL 更加棘手,而且管理起来也更加困难 - 想想 1000 种产品。

    当然,使用 XML 文档的另一个因素是,随着 XML 文档变大,取决于您访问其中元素的方式,内存使用量也会增加。 DOM 尤其如此,但是在 PHP5 中,XMLReader 的内存消耗非常低。

    总之,总之,对于投资组合网站,为什么不使用 XML(但理想情况下使用 XMLReader - 或 DOM,如果只是一个小的 XML 文档)但是对于一个更大的网站,不幸的是 MySQL 或类似的方法是要走的路。

    【讨论】:

      猜你喜欢
      • 2012-06-20
      • 2013-05-23
      • 2013-02-05
      • 2010-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-26
      • 1970-01-01
      相关资源
      最近更新 更多