概念:數據庫(DB,Database):批量組織存儲和操作數據的倉庫。數據倉庫是數據庫領域中的基本名詞,這裡指是它常規意義上的含義
數據庫管理系統(DBMS,Database Management System):在數據庫軟件中起到組織管理數據的軟件模塊
數據庫管理員(DBA,Database Administrator):操縱數據庫的管理和維護人員
數據庫系統(DBS,Database System):基於數據庫的應用系統或軟件系統,相對來說出現的頻率要低一些
關系型數據庫(RDB,Relationship Database):基於關系模型而建立或組織起來的數據庫
關系型數據庫管理系統(RDBMS):它是目前數據庫的主流形式
SQL語言:即Structured Query Language,結構化查詢語言。常用SQL指令有SELECT、INSERT、DELETE、UPDATE、CREATE、DROP
SQL是使用關系模型的數據庫語言,用於和各類數據庫的交互,提供通用的數據管理和查詢功能
SQL分類:數據定義語言(DDL,Data Definition Language):如Create、Alter、Drop、Truncate
數據操縱語言(DML,Data Manipulation Language):如Insert、Update、Delete、Merge
數據控制語言(DCL,Data Control Language):如Grant、Revoke
其它語言要素(Additional Language Elements):如事務控制語句:Commit、Rollback、Savepoint
SQL說明:其中Select是最頻繁也是最常用的。DBA可以使用DCL進行數據庫的管理,而應用開發人員幾乎用不到它
數據庫簡述
管理:第一階段:手工管理階段:數據不保存。數據由應用程序管理,編寫程序要考慮數據結構
數據面向程序,不共享。數據不具有獨立性,隨其邏輯結構和物理結構而變化
第二階段:文件管理階段:數據共享性差。數據以文件形式長期存在
第三階段:數據庫管理階段:有利於實現數據共享。數據面向應用,而非面向程序
歷程:第一代:非關系型數據庫系統:上世紀60年代末問世,包括層次性和網狀型
第二代:關系型數據庫系統(RDBS):上世紀70年代中期問世。Oracle就是RDBS的代表
第三代:對象—關系數據庫系統(ORDBS、OODBS):上世紀80年代中期至今。也稱為面向對象的數據庫系統,它力圖以對象的形式
或者說以對象為單位進行數據的存儲和操縱。至目前為止,它還沒有推出成熟的產品
分類:網狀型數據庫:采用以記錄類型為結點的網狀數據模型。對於這種錯綜復雜的交織在一起的網而言,在進行數據檢索的時候是非常不方便的
層次型數據庫:采用層次模型模擬現實世界中按層次組織起來的事物
關系型數據庫:采用二維表結構儲存與管理數據,並規定了表內和表間數據的依存關系。當前業界所用的主流數據庫幾乎都是關系型數據庫
當前流行的關系型數據庫:Oracle(可算是業界第一名)、IBMDB2、SQL Server、SyBase、Informix(它的公司已被IBM收購)等
關系型數據庫采用結構化查詢語言(SQL)作為客戶端程序與數據庫服務器間溝通的橋梁
數據建模
概念:要將現實世界中客觀存在的事物以數據的形式存儲到計算機中並進行處理,就需要對其進行分析、抽象進而確定數據的結構以及數據間的內在聯系,這一過程稱為數據建模
要求:能夠比較真實地模擬現實世界,容易為人所理解,便於計算機實現
要素:數據結構:描述事物的靜態特性
數據操作:描述事物的動態特性
完整性約束:描述事物內部和事物間的約束性關系
續一:現實世界:事物以及事物間的聯系是客觀存在的
概念世界:是人們對現實世界中客觀事物及其聯系的認識和抽象
概念世界中按用戶的觀點對現實世界建模,所得到的“概念數據模型”不依賴具體的計算機系統和DBMS
機器世界:按計算機的觀點對概念世界中的事物(實體及實體間的聯系)進一步建模,將之抽象/轉換為與計算機/DBMS相關的“物理數據模型”
續二:概念數據模型(CDM,Conceptual Database Model):主要用於數據庫的概念設計
CDM以實體—關系(E—R)模型為基礎,將現實世界中的客觀對象抽象為實體和關系
在機器世界中,CDM將被轉換為特定DBMS所支持的物理數據模型(PDM,Physical Database Model)
相關術語:實體(Entity):客觀存在並且可以相互區分開來的事物
實體集(Entity Set):同一類實體的集合。通常將實體和實體集混用,籠統稱為實體。一般很少強調實體集的概念
屬性(Attribute):描述實體的特性
關系(Relationship):實體集之間的對應關系(現實世界事物之間的相互關聯)
實體—關系模型(E—R Model,Entity-Relationship Model)
E—R模型:也稱為E—R方法,它是由P.P.S.Chen(陳姓美籍華人)於1976年提出,該方法使用E—R圖來描述現實世界的概念模型
在E—R模型中,現實世界是由一切稱為實體的對象和這些對象之間的關系組成。它的三要素:實體、關系、屬性
E—R圖:即Entity—Relationship Diagram,是描述概念世界,建立概念模型的實用工具
E—R圖三要素:實體:用矩形框表示
屬性:用橢圓形表示,並用連線與實體連在一起
實體間聯系:用菱形框表示,並用連線分別與相關實體相連,且需在連線上注明聯系類型
實體間聯系的類型分為三種,即一對一關系(1:1)、一對多關系(1:n)、多對多關系(m:n)
關系型數據庫基本術語
術語:關系:整個二維表
關系名:表格名稱
元祖:行數據(記錄)
屬性:列數據(字段/分量)
屬性名:列名稱(字段名)
主鍵:唯一確定元祖的屬性組(關鍵字)
域:屬性的取值范圍
關系模式:關系名(屬性列表)。如:學生(學號,姓名,性別,電話)
約束:域完整性約束:又稱列完整性。對某一個字段或某一個屬性的取值的約束
實體完整性約束:又稱行完整性。要求表中每一行有一個唯一的標志符,這個標志符就是主關鍵字
參照完整性約束:又稱引用完整性。它指的是多表之間的參照性,即保證主表中的數據與從表中的數據的一致性
Oracle【甲骨文】
公司:1977年,6月創辦SDL,Software Development Laboratories
1979年,SDL更名為RSI,Relational Software Inc
1983年,RSI更名為ORACLE
SCOTT是Oracle公司除了兩個創始人之外的第一個正式的雇員
現為全球最大數據庫軟件及服務供應商、全球第二大軟件供應商(第一是微軟)
Oracle目前在業界是當之無愧的第一名,它在國內行業占有份額也超過了50%
緊隨其後的是IBM的DB2、SyBase公司的SyBase和微軟的SQL Server等等,另外MySql的應用也比較廣泛
數據庫:全球化、跨平台的數據庫。Oracle遵守數據存取語言、操作系統、用戶接口和網絡通信協議的工業標准
支持多用戶、高性能的事務處理。強大的安全性控制和完整性控制。支持分布式數據庫和分布處理
目前最新的版本是11g,g是grid網格。即支持網格計算,支持數據庫的集權化運行
當前業界應用的主流是Oracle9i,i是integrated集成。它集成了客戶端和服務器端以及其它工具