数据库

資料庫(),簡而言之可視為数字化的檔案櫃——儲存电子檔案的處所,使用者可以對檔案中的資料執行新增、擷取、更新、刪除等操作。

所謂「資料庫」是以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。一个数据库由多个表空间(Tablespace)构成。

技术初衷
在操作系统出现之后,随着计算机应用范围的扩大、需要处理的数据迅速膨胀。最初,数据与程序一样,以简单的文件作为主要存储形式。以这种方式组织的数据在逻辑上更简单,但可扩展性差,访问这种数据的程序需要了解数据的具体组织格式。当系统数据量大或者用户访问量大时,应用程序还需要解决数据的完整性、一致性以及安全性等一系列的问题。因此,必须开发出一种系统软件,它应该能够像操作系统屏蔽了硬件访问复杂性那样,屏蔽数据访问的复杂性。由此产生了数据管理系统,即数据库。

数据库管理系统
資料庫管理系统(,簡稱DBMS)是为管理資料庫而設計的电腦軟體系統,一般具有儲存、擷取、安全保障、備份等基礎功能。資料庫管理系統可以依據它所支援的來作分類,例如關聯式、XML;或依據所支援的電腦類型來作分類,例如伺服器群集、行動電話;或依據所用查詢語言來作分類,例如SQL、;或依據性能衝量重點來作分類,例如最大規模、最高執行速度;亦或其他的分類方式。不論使用哪種分類方式,一些DBMS能够跨類別,例如,同時支援多種查詢語言。

数据库的分类
随着数据库技术与其他分支学科技术的结合,出现了多种新型数据库,例如:与分布处理技术结合产生的分布式数据库、与并行处理技术结合产生的并行数据库、与人工智能结合产生的演绎数据库、与多媒体技术结合产生的多媒体数据库。另外,数据库技术应用于特定的领域,出现了工程数据库、 地理数据库、统计数据库、空间数据库等特定领域数据库。,维基媒体基金会项目已从MySQL转向MariaDB)
** Percona Server(MySQL的代替品)

  • PostgreSQL
  • Microsoft Access
  • Microsoft SQL Server

*

  • FileMaker
  • Oracle資料庫
  • Sybase
  • dBASE
  • Clipper
  • FoxPro
  • foshub

幾乎所有的資料庫管理系統都配備了一個開放式資料庫連接(ODBC)驅動程式,令各個資料庫之間得以互相整合。

非关系型数据库(NoSQL)

  • BigTable(Google)
  • Cassandra
  • MongoDB
  • CouchDB
  • Redis

键值数据库

  • Apache Cassandra(为Facebook所使用):高度可扩展
  • Amazon DynamoDB
  • LevelDB(Google)

数据库技术的发展
随着互联网的普及,数据库使用环境也随之发生变化,这种变化主要体现为XML和Java技术的大量使用、要求支持各种互联网环境下的应用服务器、极容易出现大量用户同时访问数据库、要求支持7x24小时不间断运行和高安全性等。

数据库索引
資料索引的觀念由來已久,像是一本書前面幾頁都有目錄,目錄也算是索引的一種,只是它的分類較廣,例如車牌、身份証字號、條碼等,都是一個索引的號碼,當我們看到號碼時,可以從號碼中看出其中的端倪,若是要找的人、車或物品,也只要提供相關的號碼,即可迅速查到正確的人事物。

另外,索引跟欄位有著相應的關係,索引即是由欄位而來,其中欄位有所謂的關鍵欄位(Key Field),該欄位具有唯一性,即其值不可重複,且不可為"空值(null)"。例如:在合併資料時,索引便是扮演欲附加欄位資料之指向性用途的角色。故此索引為不可重複性且不可為空。

数据库事务
事务(transaction)包含一组数据库操作的逻辑工作单元,在事务中包含的数据库操作是不可分割的整体,这些操作要么一起做,要么一起回滚(Roll Back)到执行前的状态。
事务的ACID特性:

  • 原子性(atomicity)
  • 一致性(consistency)
  • 隔离性(isolation)
  • 持续性(durability)

事务的并发性是指多个事务的并行操作轮流交叉运行,事务的并发可能会存取和存储不正确的数据,破坏交易的隔离性和数据库的一致性。

网状数据模型的数据结构
网状模型
满足下面两个条件的基本层次联系的集合为网状模型。

允许一个以上的结点无双亲;

一个结点可以有多于一个的双亲。

參考文獻
参见

  • 資料庫理論
  • 資訊科技稽核
  • LDAP(轻量级数据访问协议)
  • SQL(结构化查询语言)
  • 資料庫管理系統

评论 (0)

  • 还没有评论,来抢沙发吧。