|
神舟 OSCAR 所支持的数据类型,包括:
字符串类型 CHAR , VARCHAR , TEXT
位串类型 BIT, BIT VARYING
精确数值类型 INTEGER , BIGINT , SMALLINT , TINYINT , NUMERIC , DECIMAL
布尔型: BOOL
近似数值类型 REAL , FLOAT, DOUBLE PRECISION
日期类型 DATE , TIME , TIMEZ , ABSTIME , TIMESTAMP
时间间隔类型 INTERVAL
二进制大对象 BLOB
字符型大对象 CLOB
系统提供了丰富的内置函数,并可以根据用户的实际需要,定制特殊的函数。系统提供的内置函数主要包括:
数学函数
字符串函数
日期时间函数
聚集函数
大对象函数
视图可以看成一个关系表,但是其中的记录没有直接存储在数据库中,而是在需要的时候根据视图定义计算出来。视图通过 CREATE VIEW 语句定义,并保存在数据字典中。
由于视图是基于实际的一个或多个关系表,因此它的操作类似表的操作。视图可以被查询,而在修改、插入或删除时则受到一定的限制。在视图上执行的全部操作最终要转换为对相应关系表的操作,受到关系表的完整性约束和触发器的限制。
视图允许不同的用户或应用程序以不同的方式查看同一数据。它不仅使数据更易于访问,而且可以利用它限制某些用户能够查看或更新的行和列。
使用数据库创建应用程序时,过程语言是应用程序和数据库之间的重要编程接口。神舟 OSCAR 中所提供的过程语言是 ploscar 。在使用 ploscar 程序时,可用两种方法存储和执行程序。可以在本地存储程序,并创建向数据库发送命令并处理结果的应用程序;也可以将程序在数据库中存储为存储过程,并创建执行存储过程并处理结果的应用程序。
神舟 OSCAR 数据库中的存储过程与其它编程语言中的过程类似,存储过程可以:
接受输入参数并以输出参数的形式将多个值返回至调用过程
包含执行数据库操作(包括调用其它过程)的编程语句
向调用过程返回状态值,以表明成功或失败(以及失败原因)
使用数据库中的存储过程而不使用存储在客户计算机本地的 ploscar 程序的优势有:
允许模块化程序设计。
只需创建过程一次并将其存储在数据库中,以后即可在程序中调用该过程任意次。存储过程可由在数据库编程方面有专长的人员创建,并可独立于程序源代码而单独修改。
允许更快执行
如果某操作需要大量 ploscar代码或需重复执行,存储过程将比ploscar批代码的执行要快。将在创建存储过程时对其进行分析和优化,并可在首次执行该过程后使用该过程的内存中版本。每次运行ploscar语句时,都要从客户端重复发送,并且在数据库服务端每次执行这些语句时,都要对其进行编译和优化。
减少网络流量
一个需要数百行 ploscar代码的操作由一条执行过程代码的单独语句就可实现,而不需要在网络中发送数百行代码。
可作为安全机制使用
即使对于没有权限直接执行存储过程中某些语句的用户,也可授予他们执行该存储过程的权限。
神舟 OSCAR 数据库中存储过程是用 ploscar 语句 CREATE PROCEDURE 创建的,并可用 REPLACE PROCEDURE 语句进行修改。存储过程定义包含两个主要组成部分:过程名称及其参数的说明,以及过程的主体(其中包含执行过程操作的 ploscar 语句)。
神舟 OSCAR 使用约束来保证数据库完整性。约束定义关于列中允许值的规则,是强制完整性的标准机制。
在神舟 OSCAR 中,支持五类约束:
NOT NULL 指定不接受NULL值的列。
CHECK约束对可以对放入列中的值进行限制,以强制执行域的完整性。
CHECK约束指定应用于列中输入的所有值的布尔(取值为TRUE或FALSE)搜索条件,拒绝所有不取值为 TRUE 的值。可以为每列指定多个CHECK约束。
UNIQUE约束在列集内强制执行值的唯一性。
对于 UNIQUE约束中的列,表中不允许有两行包含相同的非空值。主键也强制执行唯一性,但主键不允许空值。UNIQUE约束优先于唯一索引。
PRIMARY KEY约束标识列或列集,这些列或列集的值唯一标识表中的行。
FOREIGN KEY约束标识表之间的关系。
触发器是一种特殊类型的存储过程,它在指定的表中的数据发生变化时被触发执行。唤醒调用触发器以响应 INSERT 、 UPDATE 或 DELETE 语句。触发器可以查询其它表,并可以包含复杂的 ploscar 语句。将触发器和触发它的语句作为可在触发器内回滚的单个事务对待。如果检测到严重错误(例如,磁盘空间不足),则整个事务即自动回滚。
触发器的优点如下:
触发器可通过数据库中的相关表实现级联更改,保证数据一致性。
触发器可以定义比 CHECK约束更为复杂的约束。
触发器也可以根据数据修改前后的表状态执行复杂的应用逻辑。
支持对多种事件( INSERT、UPDATE、DELETE动作的发生前和发生后)的响应。
触发器按照所触发动作的间隔可以分为语句级触发器和行级触发器。触发器由 CREATE TRIGGER 语句定义, FOR EACH 子句定义了触发动作的间隔,它既可以是 FOR EACH STATEMENT (语句级触发器),也可以是 FOR EACH ROW (行级触发器)。
事务是作为单个逻辑工作单元执行的一系列操作。一个逻辑工作单元必须有四个属性,称为 ACID (原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务:
神舟 OSCAR 数据库提供了高效的事务管理机制,保证每个事务的完整性。该机制提供:
锁定机制,使事务相互隔离。
记录机制,保证事务的持久性。即使服务器硬件、操作系统或数据库自身出现故障,也可以在重新启动时使用事务日志,将所有未完成的事务自动地回滚到系统出现故障的位置。
事务管理特性,强制保持事务的原子性和一致性。事务启动之后,就必须成功完成,否则数据库系统将撤消该事务启动之后对数据所作的所有修改。
在神舟 OSCAR 中一个事务可以由一条或多条 sql 语句构成。事务的提交状态可以是自动提交也可以是手动提交。有关事务的控制命令包括 BEGIN , COMMIT , ROLLBACK 。
一个数据库可以包含一个或多个命名的模式,一个模式内可以包含多个表。不同的模式中的表名可以相同,而同一模式中的表不能同名。模式如同操作系统级的目录,但是模式不能嵌套。
用户在相应权限控制下可以访问所连接的数据库中的任何模式中的对象。
模式具有以下特点:
多个用户使用同一数据库而不会互相影响。
对数据库中的对象进行逻辑分组,更便于管理。
各个应用分别使用各自的模式,以避免命名冲突。
在模式中创建数据库对象或访问模式中的对象时,可在对象名前指定模式名。系统默认的模式为 PUBLIC 模式。
神舟 OSCAR 的备份 / 恢复工具具有图形化的操作界面。用户利用备份工具可以指定数据库、或者指定库中的特定对象 ( 表,数据,视图,存储过程等 ) 执行备份操作。备份的方式可以是联机备份,脱机备份,增量备份,完全备份等。
备份的数据被保存在用户指定的文件中。利用备份文件,用户可以利用配套的恢复工具执行恢复操作。
备份和恢复工具都提供丰富的选项,以满足不同用户的备份和恢复要求。
神舟 OSCAR 的数据导入和导出向导是前台管理工具中的一个实用工具,其主要功能是进行神舟 OSCAR 数据库与其它各种异构数据源(如各种关系数据库系统、 Excel 文件、文本文件)之间数据的析取、转换以及合并。它提供给用户图形化的界面,采用向导提示的方式帮助用户进行数据的交换。
数据迁移工具支持的数据源包括:
神舟 OSCAR各版本
Oracle7.3/8i/9i/10G
Microsoft SQL Server 97/2000/2003
IBM DB2 UDB
Microsoft Excel 97/2000/XP
文本文件
其他支持 ODBC的数据源
在数据的转换过程中,向导能根据源数据和目标数据具体类型,通过内置的转换规则提供数据类型的默认映射关系、数据类型的精度匹配、空与非空信息提取、主键及相关索引建立等辅助功能,帮助用户灵活、准确和高效的完成数据的转换。同时,提供日志功能以跟踪用户的操作,提供准确的错误信息,并帮助用户解决所遇到的问题。
神舟 OSCAR 的交互式 SQL 查询工具就是 SQL 查询分析器。 SQL 查询分析器是一种特别用于交互式执行 ploscar 语句和脚本的工具,它给用户提供了一个图形化界面来使用 SQL 语言,操作数据库对象,更新数据。
在 SQL 查询分析器中,用户可在全文窗口中输入 SQL 语句,执行语句并在结果窗口中查看结果。用户也可以打开包含 SQL 语句的文本文件,执行语句并在结果窗口中查看结果。
它的功能主要包括:
创建和执行 DDL脚本。
创建和执行 DML脚本。
查看和使用数据库中的相关对象。
|