数据库系统(Database System),是由数据库及其管理软件组成的系统。
基本定义
数据库系统DBS(Data Base System,简称DBS)通常由
软件、
数据库和
数据管理员组成。其
软件主要包括
操作系统、各种
宿主语言、实用程序以及
数据库管理系统。
数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。
数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。
数据库管理员一般是由业务水平较高、资历较深的人员担任。
数据库系统的个体含义是指一个具体的数据库管理系统软件和用它建立起来的数据库;它的学科含义是指研究、开发、建立、维护和应用数据库系统所涉及的理论、方法、技术所构成的学科。在这一含义下,数据库系统是软件研究领域的一个重要分支,常称为数据库领域。
数据库系统是为适应
数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。
计算机的高速处理能力和
大容量存储器提供了实现
数据管理自动化的条件。
数据库研究跨越于
计算机应用、
系统软件和理论三个领域,其中应用促进新系统的研制开发,新系统带来新的理论研究,而理论研究又对前两个领域起着指导作用。数据库系统的出现是计算机应用的一个里程牌,它使得计算机应用从以科学计算为主转向以
数据处理为主,并从而使计算机得以在各行各业乃至家庭普遍使用。在它之前的
文件系统虽然也能处理持久数据,但是文件系统不提供对任意部分数据的快速访问,而这对数据量不断增大的应用来说是至关重要的。为了实现对任意部分数据的快速访问,就要研究许多优化技术。这些优化技术往往很复杂,是普通用户难以实现的,所以就由
系统软件(数据库管理系统)来完成,而提供给用户的是简单易用的
数据库语言。由于对数据库的操作都由数据库管理系统完成,所以数据库就可以独立于具体的
应用程序而存在,从而数据库又可以为多个用户所共享。因此,数据的独立性和共享性是数据库系统的重要特征。数据共享节省了大量人力物力,为数据库系统的广泛应用奠定了基础。数据库系统的出现使得普通用户能够方便地将日常数据存入计算机并在需要的时候快速访问它们,从而使计算机走出科研机构进入各行各业、进入家庭。
数据库系统有大小之分,大型数据库系统有SQL Server、Oracle、DB2等,中小型数据库系统有Foxpro、Access、MySQL。
构成
数据库系统一般由4个部分组成:
(1)数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合。数据库中的数据按一定的数学模型组织、描述和存储,具有较小的
冗余,较高的
数据独立性和易扩展性,并可为各种用户共享。
(2)硬件:构成
计算机系统的各种
物理设备,包括存储所需的
外部设备。硬件的配置应满足整个数据库系统的需要。
(3)软件:包括操作系统、数据库管理系统及
应用程序。数据库管理系统(database management system,DBMS)是数据库系统的核心软件,是在操作系统的支持下工作,解决如何科学地组织和存储数据,如何高效获取和维护数据的
系统软件。其主要功能包括:数据定义功能、数据操纵功能、数据库的运行管理和数据库的建立与维护。
(4)人员:主要有4类。第一类为
系统分析员和
数据库设计人员:系统分析员负责应用系统的
需求分析和规范说明,他们和用户及数据库管理员一起确定系统的硬件配置,并参与数据库系统的
概要设计。
数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。第二类为
应用程序员,负责编写使用数据库的应用程序。这些
应用程序可对数据进行检索、建立、删除或修改。第三类为最终用户,他们利用系统的接口或查询语言访问数据库。第四类用户是数据库管理员(data base administrator,DBA),负责数据库的总体信息控制。DBA的具体职责包括:具体数据库中的信息内容和结构,决定数据库的
存储结构和存取策略,定义数据库的安全性要求和完整性约束条件,监控数据库的使用和运行,负责数据库的性能改进、数据库的重组和重构,以提高系统的性能。
特点
数据的结构化,数据的共享性好,数据的独立性好,
数据存储粒度小,
数据管理系统,为用户提供了友好的接口。
数据库系统的核心和基础,是
数据模型,现有的数据库系统均是基于某种数据模型的。
数据库系统的核心是数据库管理系统。
数据库系统一般由数据库、数据库管理系统(DBMS)、应用系统、数据库管理员和用户构成。DBMS是数据库系统的基础和核心。
基本要求
对数据库系统的基本要求是:
①能够保证数据的独立性。数据和程序相互独立有利于加快
软件开发速度,节省开发费用。
②冗余数据少,数据共享程度高。
④能够确保系统运行可靠,出现故障时能迅速排除;能够保护数据不受非受权者访问或破坏;能够防止错误数据的产生,一旦产生也能及时发现。
⑤有重新组织数据的能力,能改变数据的
存储结构或
数据存储位置,以适应用户操作特性的变化,改善由于频繁插入、删除操作造成的
数据组织零乱和时空性能变坏的状况。
⑥具有可修改性和可扩充性。
⑦能够充分描述数据间的内在联系。
数据模式
层次模型是一种用树形结构描述实体及其之间关系的数据模型。在这种结构中,每一个记录类型都是用节点表示,记录类型之间的联系则用结点之间的有向线段来表示。每一个双亲结点可以有多个子节点但是每一个子节点只能有一个双亲结点。这种结构决定了采用层次模型作为数系组织方式的层次数据库系统只能处理一对多的实体联系。
网状模型允许一个结点可以同时拥有多个双亲结点和子节点。因而同层次模型相比,网状结构更具有普遍性,能够直接地描述现实世界的实体。也可以认为层次模型是网状模型的一个特例。
(3)
关系模型关系模型是采用二维表格结构表达实体类型及实体间联系的数据模型,它的基本假定是所有数据都表示为数学上的关系。
访问过程
数据库管理系统是数据库系统的核心,对数据库的一切操作,如
原始数据的装入、检索、更新、再组织等等,都是在DBMS的指挥、调度下进行的,它是用户与物理数据库之间的桥梁,根据用户的
命令对数据库执行必要的操作。
安全策略
第一,系统安全策略:包括了数据库用户管理、数据库操作规范、用户认证、操作系统安全4个部分。
1)数据库用户管理。数据库用户对信息访问的最直接途径就是通过用户访问。因此需要对用户进行严格的管理,只有真正可信的人员才拥有管理数据库用户的权限;
2)数据库需要有操作规范。数据库中数据才是核心,不能有任何的破坏,数据库管理员是唯一能直接访问数据库的人员,管理员的操作是非常重要的,因此需要对数据库维护人员培训,树立严谨的工作态度,同时需要规范操作流程;
3)用户身份的认证。Oracle数据库可以使用主机操作系统认证用户,也可以使用数据库的用户认证,从安全角度出发,initSID.ora文件中的remote_os_authent参数设成FALSE,以防止没有口令的连接。建议将remote_os_roles设成FALSE,防止欺骗性连接;
4)操作系统安全。对于运行任何一种数据库的操作系统来说,都需要考虑安全问题。数据库管理员以及系统账户的口令都必须符合规定,不能过于简单而且需要定期的更换口令,对于口令的安全同样重要。系统管理员在给操作系统做维护的时候,需要与数据库管理员合作,避免。
第二,数据安全策略。
数据
安全策略决定了可以访问特定数据的用户组,以及这些用户的操作权限。数据的安全性取决数据的敏感程度,如果数据不是那么敏感,则数据的安全策略则可以稍微松一些;反之则需要制定特定的安全策略,严格的控制访问对象,确保数据的安全。
第三,用户安全策略。
用户安全策略是由一般用户安全、最终用户安全、管理员安全、应用程序及开发人员安全、应用程序
管理员安全5个部分组成。
1)一般用户安全。如果对于用户的认证由数据库进行管理,则安全管理员就应该制定口令安全策略来维护数据库访问的安全性。可以配置oracle使用加密口令来进行客户机/服务器连接;
2)最终用户安全。安全管理员必须为最终用户安全制定策略。如果使用的是大型数据库同时还有许多用户,这是就需要安全管理员对用户组进行分类,为每个用户组创建用户角色,并且对每个角色授予相应的权限;
3)管理员安全。安全管理员应当拥有阐述管理员安全的策略。在数据库创建后,应对SYS和SYSTEM
用户名更改口令,以防止对数据库的未认证访问,且只有数据库管理员才可用;
4)应用程序开发人员安全。安全管理员必须为使用数据库的应用程序开发人员制定一套特殊的安全策略。安全管理员可以把创建必要对象的权限授予应用程序开发人员。反之,创建对象的权限只能授予数据库管理员,他从开发人员那里接收对象创建请求;
5)应用程序管理员安全。在有许多数据库应用
程序的大型数据库系统中,可以设立应用程序管理员
第四,口令管理策略。口令管理包括账户锁定、口令老化及到期、口令历史记录、口令复杂性校验。
1)帐户锁定。当某一特定用户超过了失败登录尝试的指定次数,服务器会自动锁定这个用户帐户;
2)口令老化及到期。DBA使用CREATE PROFILE语句指定口令的最大生存期,当到达了指定的时间长度则口令到期,用户或DBA必须变更口令;
3)口令历史记录。DBA使用CREATE PROFILE语句指定时间间隔,在这一间隔内用户不能重用口令;
4)口令复杂性校验。通过使用PL/SQL脚本utlpwdmg.sql(它设置缺省的概要文件参数),可以指定口令复杂性校验例行程序。
常见数据库系统
MySQL
MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass- deployed)的软件中去。
SQL Server
SQL Server 提供了众多的Web和电子商务功能,如对XML和Internet标准的丰富支持,通过Web对数据进行轻松安全的访问,具有强大的、灵活的、基于Web的和安全的应用程序管理等。
Oracle
Oracle产品系列齐全,几乎囊括所有应用领域,大型,完善,安全,可以支持多个实例同时运行,功能强。能在所有主流平台上运行。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。