数据库原理-数据库系统概述
数据库的四个基本概念
- 数据:描述事物的记录符号,视频、音频、汉字、图形是数据的一种表现形式。
- 数据库:组织、存储和管理数据的数据仓库,这个仓库是存储在计算机存储设备上的。严格上讲数据库 是指长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并为各种用户共享。
- 数据库管理系统:是用户和操作系统之间的数据管理软件,包括了数据定义功能,数据组织、存储和管理功能,数据操纵功能,数据库的事务管理和运行管理,数据库的建立和维护,其他功能,例如通信、数据转换。
- 数据库系统:由数据库、数据库管理系统(及其应用开发工具)、应用程序、数据库管理人员组成的存储、管理、处理和维护数据的系统。下图左为数据库管理系统的内部构造关系图,右为引入数据库后的计算机层次结构图
数据库系统的特点
- 数据的结构化
数据的结构化是不是针对某个应用,而是面向所有组织,不仅数据内部结构化,整体结构化,数据之间有联系。比如一个学生选课系统,需要包含科室信息和教务处信息,不能单是学生信息和学生信息
- 数据的共享性
数据库内的数据可以被多个用户和应用程序所共享,减少数据冗余,节约空间,避免数据不一致性和不兼容性。
- 数据的独立性
数据的独立性分为物理独立性和逻辑独立性。
物理独立性是指用户的应用程序与数据库的物理存储相互独立。数据库的数据由DBA决定存储策略和储存细节等问题,用户不需要了解;
逻辑独立性是指用户的应用程序和数据库的逻辑结构相互独立,数据库的结构改变了用户的应用程序也不需要改变。
- 数据有数据库管理系统统管理和控制
数据共享-数据库的数据可以被多个用户同时存取,甚至存取同一个数据。
数据安全性保护-保护数据,防止数据被不安全地泄露和破坏。
数据我完整性检查-保证数据的正确性、有效性和相容性。使数据在正确范围内,并保证数据之间有一定联系。
并发控制-需要对多个一用户的同时操作进行控制以免出现错误。
数据库恢复-数据的硬件、软件、数据管理员和故意破坏都会导致数据出现错误,数据库管理软件需要提供恢复功能把数据从错误状态恢复到正确状态。
现在使用广泛的数据库
现在市面上主流的数据库软件有: oracle,db2,sql server,mysql,sybase。
oracle
1977年,oracle创始人利用“关系数据理论”创造了oracle,实现了数据库的基本查询功能。
oracle是一个关系数据库管理系统,是将数据组织为相关的行和列的系统,其他关系数据管理系统还有SQL Server等。
oracle数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库,它实现了分布式处理功能。
许多企业的在线交易处理系统、内部财务系统、客户管理系统等大数据量的系统大多采用了oracle。
db2
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本。
DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于所有常见的服务器操作系统平台下。
DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。
DB2采用了数据分级技术,能够使大型机数据很方便地下载到LAN数据库服务器,使得客户机/服务器用户和基于LAN的应用程序可以访问大型机数据,并使数据库本地化及远程连接透明化。
DB2以拥有一个非常完备的查询优化器而著称,其外部连接改善了查询性能,并支持多任务并行查询。
DB2具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线程,对大型分布式应用系统尤为适用。
oracle和db2使用对比:DB2和ORACLE的印象比较 http://www.itpub.net/thread-1265829-1-1.html (出处: ITPUB论坛-中国最专业的IT技术社区)
sql server
SQL Server 是Microsoft 公司推出的关系型数据库管理系统。它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本,成为MS SQL Server。Sybase 则较专注于SQL Server在UNⅨ操作系统上的应用。