数据库引擎

最近要用C++写对数据库进行操作的项目,刚开始用对数据库一头雾水,先把基础的东西理解一下:

1、数据库引擎

概念

数据库引擎是用于存储、处理和保护数据的核心服务。利用数据库引擎可控制访问权限并快速处理事务,从而满足企业内大多数需要处理大量数据的应用程序的要求。 使用数据库引擎创建用于联机事务处理或联机分析处理数据的关系数据库。这包括创建用于存储数据的表和用于查看、管理和保护数据安全的数据库对象(如索引、视图和存储过程)。可以使用SQL Server Management Studio管理数据库对象,使用SQL Server Profiler捕获服务器事件。

引擎任务

在数据引擎文档中,各主题的顺序遵循用于实现使用数据库引擎进行数据存储的系统的任务的主要顺序。
  • 设计并创建数据库以保存系统所需的关系表或XML文档
  • 实现系统以访问和更改数据库中存储的数据。这包括实现网站或使用数据的应用程序,还包括生成使用 SQL Server 工具和实用工具以使用数据的过程。
  • 为单位和客户部署实现的系统
  • 提供日常管理支持以优化数据库的性能

引擎文档

使用 SQL Server Management Studio 生成数据库项目

介绍如何使用项目和解决方案来管理数据库引擎对象。
数据库脚本项目由与数据库或数据库的一部分相关联的一系列脚本、连接信息和模板组成。Microsoft SQL Server 2005 提供了 SQL Server Management Studio,用于在脚本项目的环境中管理和设计 SQL Server。SQL Server Management Studio 包括设计器、编辑器、指南和向导,可帮助用户开发、部署和维护数据库。

设计和实现结构化存储(数据库引擎)

介绍使用数据库引擎成功设计和创建数据库所需了解的概念。
客户端/服务器数据库系统由以下两个组件组成:
程序,为基于客户端的用户提供界面以访问数据。
数据库结构,管理和存储服务器上的数据。 例如,如果使用 Microsoft SQL Server 2005 创建支票帐户应用程序,则必须设置一个数据库结构来管理帐户交易数据,还要设置一个应用程序充当数据库的用户界面。这使用户可以访问支票帐户信息。
创建能够满足业务需要的数据库,要求了解如何设计、创建和维护各个组件,这样才能确保数据库的性能处于最佳状态。

访问和更改数据库数据

介绍访问和修改数据库中数据所需了解的概念。
访问和更改数据库数据涉及生成和执行 Transact-SQL 语句以及处理关系(或表格格式)结果集形式的结果的基础知识。

设计和实现半结构化存储(数据库引擎)

介绍数据库引擎如何提供对数据库中 XML 数据的存储和访问功能。

本机 XML Web 服务概念

介绍数据库引擎如何在不使用中间层 Internet Information Services (IIS) 服务器的情况下,使用 Windows Server 2003 接收 HTTP SOAP 请求。

安全性和保护(数据库引擎)

提供有关如何有助于确保数据和日志文件安全的信息。

数据库和数据库引擎应用程序的国际化注意事项

介绍数据库引擎如何支持对多语言数据的存储和操作功能。

管理(数据库引擎)

介绍成功管理数据库引擎所需的管理和配置过程。

故障排除(数据库引擎)

提供与数据库引擎故障排除相关的帮助。

规划和体系结构(数据库引擎)

介绍文件和数据库的组织方式以及设计 SQL Server 解决方案时应注意
的事项。

设计和实现 FILESTREAM存储

介绍如何使用基于 SQL Server 2008 的应用程序中的 FILESTREAMS,在文件系统中存储非结构化的数据(如文档和图像)。

类型

你能用的数据库引擎取决于mysql在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MYSQL。在缺省情况下,MYSQL支持三个引擎:ISAM、MYISM和HEAP。另外两种类型INNODB和BERLKLEY(BDB),也常常可以使用。

ISAM

ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数。因此,ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源。ISAM的两个主要不足之处在于,它不支持事务处理,也不能够容错:如果你的硬盘崩溃了,那么数据文件就无法恢复了。如果你正在把ISAM用在关键任务应用程序里,那就必须经常备份你所有的实时数据,通过其复制特性,MYSQL能够支持这样的备份应用程序。

MYISAM

MYISAM是MYSQL的ISAM扩展格式和缺省的数据库引擎。除了提供ISAM里所没有的索引和字段管理的大量功能,MYISAM还使用一种表格锁定的机制,来优化多个并发的读写操作。其代价是你需要经常运行OPTIMIZE TABLE命令,来恢复被更新机制所浪费的空间。MYISAM还有一些有用的扩展,例如用来修复数据库文件的MYISAMCHK工具和用来恢复浪费空间的MYISAMPACK工具。MYISAM强调了快速读取操作,这可能就是为什么MYSQL受到了WEB开发如此青睐的主要原因:在WEB开发中你所进行的大量数据操作都是读取操作。所以,大多数虚拟主机提供商和INTERNET平台提供商只允许使用MYISAM格式

HEAP

HEAP允许只驻留在内存里的临时表格。驻留在内存里让HEAP要比ISAM和MYISAM都快,但是它所管理的数据是不稳定的,而且如果在关机之前没有进行保存,那么所有的数据都会丢失。在数据行被删除的时候,HEAP也不会浪费大量的空间。HEAP表格在你需要使用SELECT表达式来选择和操控数据的时候非常有用。要记住,在用完表格之后就删除表格。

INNODB和BERKLEYDB

INNODB和BERKLEYDB(BDB)数据库引擎都是造就MYSQL灵活性的技术的直接产品,这项技术就是MYSQL++ API。在使用MYSQL的时候,你所面对的每一个挑战几乎都源于ISAM和MYISAM数据库引擎不支持事务处理也不支持外来键。尽管要比ISAM和MYISAM引擎慢很多,但是INNODB和BDB包括了对事务处理和外来键的支持,这两点都是前两个引擎所没有的。如前所述,如果你的设计需要这些特性中的一者或者两者,那你就要被迫使用后两个引擎中的一个了。

2、数据库对象

数据库对象有表,索引,视图u,图表,缺省值,规则,触发器,用户,函数等。

表格

数据库中的表与我们日常生活中使用的表格类似,它也是由行(Row) 和列(Column)组成的。 列由同类的信息组成,每列又称为一个字段,每列的标题成为字段名。行包括了若干列信息巷。一行数据成为一个或一条记录,他表达有一定意义的信息组合。一个数据库表由一条或多条记录组成,没有记录的表称为空表。每个表中通常都有一个主关键字,用于唯一地确定一条记录。

索引

索引是根据指定的数据库表列建立起来地顺序。它提供了快速访问数据地途径,并且可监督表的数据,使其索引所指向的列中的数据不重复。。如聚簇索引。

视图

视图看上去同表几乎一模一样,具有一组命名的字段和数据项,但它其实是一个虚拟的表,在数据库中并不实际存在。试图是由查询数据库表产生的,它限制了用户能看到和修改的数据。由此可见,视图可以用来控制用户对数据的访问,并简化数据的显示,即通过视图只显示哪些需要的数据信息。

图表

图表其实就是数据库表之间的关系示意图。利用它可以编辑表与表之间的关系。

缺省值

缺省值是当在表中数据信息的限制。它限定的是表的列。

触发器

触发器由事件来触发,可以查询其他表,而且可以包含复杂的SQL语句。它们主要用于强制服从复杂的业务规则或要求。也可用于强制引用完整性,以便在多个表中添加、更新或删除行时,保留在这些表之间所定义的关系。

用户

所谓用户就是有权限访问数据库的人。
同时需要自己登陆账号和密码。用户分为:管理员用户和普通用户。前者可对数据库进行修改删除,后者只能进行阅读查看等操作。

序列

序列定义存储在数据字典中,序列通过提供唯一数值的顺序表用于简化程序设计工作。

函数

函数与过程很类似,一般用于计算数据,声明为FUNCTION,需要描述返回类型,且PL/SQL块中至少有一个有效的RETURN语句;函数不能独立运行,必须作为表达式的一部分;在DML和DQL中可调用函数。
函数的目标是返回一个值。大多数函数都返回一个标量值(scalar value),标量值代表一个数据单元或一个简单值。实际上,函数可以返回任何数据类型,包括表、游标等可返回完整的多行结果集的类型。

存储过程

存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。在数据量特别庞大的情况下利用存储过程能达到倍速的效率提升

格式





















全部评论

相关推荐

威猛的小饼干正在背八股:挂到根本不想整理
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务