SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。他不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操纵对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语言可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的一个单独事件只需要一个SQL语句就可以达到目的,这也意着用SQL语言可以写出非常复杂的语句。
2.3.2 Microsoft SQL Server Compact
Microsoft SQL Server Compact 4.0 是一种免费的嵌入式数据库,软件开发人员可以使用它来构建 ASP.NET 网站和 Windows 桌面应用程序。SQL Server Compact 4.0 的优点是:占用的空间小,支持在应用程序文件夹中专门部署其二进制文件,轻松地使用 Visual Studio 和 WebMatrix 进行应用程序开发,以及无缝地将架构和数据迁移到 SQL Server。
SQL Server Compact数据库引擎的组件包括存储引擎和查询处理器。
存储引擎
SQL Server Compact 存储引擎:
管理存储数据库的文件并管理该文件中的使用空间。
生成和读取用于存储数据的物理页面。
管理数据缓冲区以及物理文件的所有 I/O。
管理事务并使用锁定来控制对数据库中的行和架构执行的并发用户访问。
确保事务具有原子性、一致性、隔离性和持续性 (ACID)。
创建并文护索引结构。
支持引用完整性。
支持加密和受密码保护的数据库。
查询处理器
SQL Server Compact 查询处理器可以分析、编译、优化和执行 SQL 表达式、查询及命令。
与 SQL Server Compact 一起使用的 SQL 语法是 MicrosoftSQL Server 所支持的 Transact-SQL 语法的一个子集。在分析过程中,会对查询语法进行验证,并会生成代表所分析查询的数据结构。然后,查询处理器编译并优化查询。在查询优化过程中,查询处理器会为查询生成一个执行计划。
SQL Server Compact 查询优化器在处理查询时会考虑所有可用的索引,包括:
数据操作语言 (DML) 语句。
使用了 ORDER BY 的联接和谓词。
GROUP BY 和 DISTINCT 子句。
然后,查询处理器执行 SQL 命令并返回查询结果。
SQL Server Compact 查询处理器会自动创建关于一个索引中的值分布情况的统计信息。查询处理器使用这些信息来帮助确定用于评估查询的最佳策略。查询处理器使用统计信息来帮助选择最合适的索引以便进行高效处理。