【问题标题】:SQL Server - Database QuestionsSQL Server - 数据库问题
【发布时间】:2011-10-19 12:45:59
【问题描述】:

我现在有点困惑。

1) 我正在使用 ASP.NET 并基于 Access 数据库构建 Web 界面。但是,我被告知它不使用 Access 数据库 - 它使用 Jet.. 当我找到数据源时选择“Microsoft Access 数据库”,这实际上意味着什么,所以它不是 Access 数据库吗?

2) 有没有像 SQL 数据库这样的东西? MySQL数据库不是SQL数据库吗?微软的 SQL 服务器不是托管实际的 SQL 数据库吗?如果不是,它承载什么?如果 MySQL 不是 SQL 数据库,它们究竟是什么?

3) 是否可以创建一个简单的 SQL 数据库或必须是 MySQL 等变体的 SQL 数据库?

4) 我可以在 ASP.NET 中创建 Web 表单来编辑 Access/(我创建的任何数据库)数据并添加新记录吗?如果是这样,我将如何执行此操作?是否有相关教程?

我知道有点长,但是如果有人可以提供帮助..

谢谢!

【问题讨论】:

    标签: asp.net mysql sql sql-server database


    【解决方案1】:
    1. Jet 是 Windows 用来与 Access 数据库/文件通信的“连接引擎”或“驱动程序”。

    2. SQL 是结构化查询语言的首字母缩写。有些人通俗地使用 SQL 一词或简称为关系数据库管理系统(RDBMS 或平台)。 “SQL 数据库”很可能是指实现 SQL 语言的数据库引擎/RDBMS;这意味着您可以使用 SQL 语句/命令查询/操作它。 Oracle 和 Microsoft 等数据库供应商生产托管数据库的 RDBMS 产品(分别为 Oracle 10g + MySQL 和 SQL Server)。

    3. 上面可能已经回答了。

    4. 绝对是。这本身就是另一个话题。此tutorial 等可以帮助您入门。

    【讨论】:

      【解决方案2】:

      1) 我帮不了你

      2)您混淆了术语。 SQL 是一种用于针对数据库系统编写查询的语言。整个数据库系统通常称为RDBMS。不同的供应商提供不同的 RDBMS。 MySQL 是一个,SQL Server(来自 Microsoft)是另一个,Oracle 是另一个,SQLite 是另一个,PostgreSQL 是另一个,等等。

      3) 你必须选择一个RDBMS,比如MySQL,然后你可以针对它编写SQL。

      4) 是的,你可以。在 .NET 中,LINQ 是一种流行的方法。您可以使用LINQPad 试用 LINQ 表达式。更传统的方法是使用SqlCommand 类。例如,对于 MySQL,您将首先安装 MySQL Connector/NET - 这里是 a tutorial

      只需在谷歌上搜索 C# 和 SQL - 很多人之前都处理过这个问题(:

      【讨论】:

      • 稍微澄清一下#2,MySql、Sql Server 和 Oracle 10G 都是大型 RDBMS,它们或多或少地直接相互竞争(尽管某些类型的项目比其他项目更好)。 SQLite 是一个小型实现,适用于很少甚至只有一个用户的小型数据库。它不直接与 SQL Server 等竞争,并且具有非常不同的用例。
      【解决方案3】:

      答案。

      1. Microsoft Access 是基于http://en.wikipedia.org/wiki/Microsoft_Jet_Database_Engine 构建的产品,这就是“Jet”的来源。

      2. SQL 是结构化查询语言的缩写。它是许多数据库引擎的标准。尝试实施。任何在某种程度上实现该标准的数据库都可以称为 SQL。 (注意,MS Access 和 MySQL 都以非标准方式实现标准。)

      3. 您的问题就像是在问是否有可能拥有一辆只是一辆汽车而不是丰田雅力士这样的变体的汽车。

      4. 那里有很多教程。请注意,如果您刚刚开始,我强烈建议您不要使用 MS Access。几乎任何其他选项都会更好,包括 SQLite。

      【讨论】:

      • Access 是一个出色的工具在其预期的用例中。但支持 ASP 应用程序绝对不是它的预期用例,如果您的目标是构建 Web 界面,我肯定会考虑另一种选择(如 SQL Server)。
      • @TimothyAWiseman:同意。我对 SQLite 评论的原因是,如果您稍后切换到“真正的数据库”,您将遇到更少的 SQL 方言问题。
      【解决方案4】:
      1. 不知道

      2. 是的,没错,但一般来说,说“关系数据库”更合适,因为关系数据库的重要之处在于它们是关系结构化的,而不是使用 SQL 来查询它们。你甚至可以有一个没有 SQL 的关系数据库,但我只知道一个,没有人使用它。说“SQL 数据库”比数据库更能说明你。 :)

      3. 不是特别。您可以限制自己使用可能适用于不同数据库的 SQL,但所有关系数据库都有差异。例如,您的CREATE 语句不太可能完全可移植。使您的SELECTs 可移植的可能性要大得多,但即便如此,您不想使用哪些功能也是一个问题。

        无论如何,您的应用程序最终必须实际连接到真实数据库。您可以推动该决定,但您最终必须做出决定。抽象层的存在是为了缓解这个问题,但它们往往本身就成为一个问题。

      4. 不知道。

      【讨论】:

        【解决方案5】:
        1. Access 是 Microsoft 的数据库产品,在某个时候,他们推出了名为 Jet 的数据库“引擎”,作为一个单独的组件发布,允许开发人员单独使用它。您可以在没有 Access 的情况下使用 Jet。 Jet 是完成这项工作的引擎,而 Access 包括它以及精美的 GUI 和其他工具,这些工具对于真正的数据库使用都不是必需的,尽管它们有时对数据库设计很方便 .

        2. SQL 是一种标准的数据定义和数据操作语言(DDL 和 DML)。它本身不是产品。有许多实现 SQL 的产品,例如 DB2、Access、MySQL 和(有人可能会说)Oracle :-)

        3. 参见上面的 2。如果您不使用任何供应商特定的功能,您的 DDL/DML 应该可以移植到所有数据库产品(尽管可能会降低优化程度)。

        4. 是的。我会首先将asp net web form crud 输入到您可能在浏览器顶部某处的 Google 搜索控件中。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-09-26
          • 2011-03-08
          • 2023-03-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多