⑴ 在我們的日常生活中 ,有哪些方面涉及到資料庫技術
去打的超市買東西,收銀機是連在資料庫上的、去銀行存錢,是要連資料庫的、打電話,通話記錄是存在資料庫里的、話費計算也是要用資料庫的、其他的水電煤氣費都是這樣、去大一點的醫院,從掛號開始,都是要連資料庫的。
資料庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫,它產生於距今六十多年前,隨著信息技術和市場的發展,特別是二十世紀九十年代以後,數據管理不再僅僅是存儲和管理數據,而轉變成用戶所需要的各種數據管理的方式。
資料庫有很多種類型,從最簡單的存儲有各種數據的表格到能夠進行海量數據存儲的大型資料庫系統都在各個方面得到了廣泛的應用。
在信息化社會,充分有效地管理和利用各類信息資源,是進行科學研究和決策管理的前提條件。資料庫技術是管理信息系統、辦公自動化系統、決策支持系統等各類信息系統的核心部分,是進行科學研究和決策管理的重要技術手段。
資料庫,簡單來說是本身可視為電子化的文件櫃--存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。
資料庫指的是以一定方式儲存在一起、能為多個用戶共享、具有盡可能小的冗餘度的特點、是與應用程序彼此獨立的數據集合。
在經濟管理的日常工作中,常常需要把某些相關的數據放進這樣的"倉庫",並根據管理的需要進行相應的處理。
例如,企業或事業單位的人事部門常常要把本單位職工的基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就可以看成是一個資料庫。
有了這個"數據倉庫"我們就可以根據需要隨時查詢某職工的基本情況,也可以查詢工資在某個范圍內的職工人數等等。這些工作如果都能在計算機上自動進行,那我們的人事管理就可以達到極高的水平。
此外,在財務管理、倉庫管理、生產管理中也需要建立眾多的這種"資料庫",使其可以利用計算機實現財務、倉庫、生產的自動化管理。
⑵ 資料庫要怎麼維護
資料庫日常維護(參考)
資料庫日常維護工作是系統管理員的重要職責。其內容主要包括以下幾個部分:
一、備份系統數據
SYBASE 系統的備份與恢復機制保證了在系統失敗時重新獲取數據的可能性。sql Server 提供了兩種不同類型的恢復機制:一類是系統自動完成的恢復,這種措施在每次系統啟動時都自動進行,保證了在系統癱瘓前完成的事務都寫到資料庫設備上,而未完成的事務都被回退;另一類是人工完成的恢復,這是通過 DUMP 和 LOAD 命令來執行人工備份和恢復工作。因此定期備份事務日誌和資料庫是一項十分重要的日常維護工作。
1、備份資料庫
每一個資料庫都應在創建之後卸出,從而提供一個裝入基點。在此之後按排定的時間周期表卸出。比如每周五卸出資料庫。對一般資料庫系統卸出資料庫周期建議為每周一次。
除了按計劃周期卸出資料庫之外,還需在每次運行沒有日誌的操作後卸出資料庫。例如:
·每次強制地運行了 DUMP TRAN WITH NO_LOG (因為資料庫的磁碟空溢出);
·每次用 sp_dboption 允許 select into/bulk 做快速拷貝,或用 SELECT INTO 命令創建一個永久性的表,或使用了 WRITETEXT 命令。
卸出資料庫的命令為:
DUMP DATABASE database_name
TO mp_device
database_name 是要卸出的資料庫名稱,mp_device 是卸出設備的名稱。用系統過程 sp_helpdevice 可以獲得設備的信息。
下面一條命令用來卸出資料庫 my_db :
DUMP DATABASE my_db
TO db_bk_dev
2、備份事務日誌
如果事務日誌與資料庫放在同一個設備上,則事務日誌不應與資料庫分開備份。master 資料庫和小於 4M 的用戶資料庫就是這種情況。一般資料庫系統的資料庫和日誌分別放在不同的設備上,因此,可以用 DUMP TRAN 命令單獨備份日誌。
備份事務日誌的周期直接影響數據的恢復程度,因此建議每天備份。
備份事務日誌的命令格式為:
DUMP TRANsaction database_name
[TO mp_device]
[WITH TRUNCATE_ONLY|WITH NO_LOG|WITH NO_TRUNCATE]
其中 database_name 是要備份事務的資料庫名稱,mp_device 是備份設備名稱,僅當包含了 WITH TRUNCATE_ONLY 或 WITH NO_LOG 子句時,才可以備份到設備。
注意:如果總是用 DUMP DATEBASE (備份資料庫及其日誌),而不用 DUMP TRAN ,事務日誌將不會刷新,而變得非常龐大。
對於 master 資料庫和小型資料庫每次運行 DUMP DATEBASE 之後應當運行 DUMP TRANsaction 命令刷新日誌 。
下面一條命令備份資料庫 db160 的事務日誌到備份設備上:
DUMP TRANsaction db160
TO db_log_bk_dev
WITH TRUNCATE_ONLY
3、備份資料庫及其日誌間的相互作用
在至少卸出一次資料庫前,卸出事務日誌是毫無意義的。下圖顯示了備份資料庫及其日誌間的關系
如果在星期二下午5:01出現非硬體故障,需要做的所有工作是裝入磁帶5(參見下一節:數據恢復),由於磁帶5是下午5:00剛備份的,因此只有備份和裝入之間的一分鍾內的數據損失。
但是,如果在星期二下午4:49失效會怎麼樣呢?在這種情況下,要裝入磁帶1(在星期五下午5:00的卸出)。然後,依次裝入磁帶2,3以及4。這樣,系統將恢復到星期二上午10:00點的狀態,星期二的大部分工作丟失了。此例顯示了經常卸出事務的重要性。
二、萬一系統失敗時恢復資料庫系統
如果用戶資料庫存儲的設備失效,從而資料庫被破壞或不可存取,通過裝入最新的資料庫備份以及後來的事務日誌備份可以恢復資料庫。假設當前的事務日誌存在於一個並沒有毀壞的設備上,帶著 WITH NO_TRUNCATE 選項的 DUMP TRANsaction 命令卸出它。
要恢復資料庫按如下步驟去做:
1、如果日誌存在於一個分離的設備上,用帶著 NO_TRUNCATE 選項的 DUMP TRANsaction 命令卸出被毀壞的或者不可存取的用戶資料庫事務日誌。
2、用下面的查詢檢查設備分配已毀壞資料庫的設備使用情況。必須為同一目的賦同樣的空間塊。
下面的查詢顯示了分配給資料庫 mydb 設備使用和尺寸情況:
SELECT segmap,size FROM sysusages
WHERE dbid =
( SELECT dbid FROM sysdatabases WHERE name = 「mydb」)
3、檢查查詢的輸出。在 segmap 列的 『3』代表數據分配,『4』代表日誌分配。size 列代表 2K 數據塊的數目。注意此信息的次序、使用和尺寸部分。例如,輸出為:
segmapSize
--------------------
310240//實際尺寸為:20M
35120//實際尺寸為:10M
45120//實際尺寸為:10M
31024//實際尺寸為:2M
42048//實際尺寸為:4M
4、用 DROP DATABASE 命令刪除毀壞設備上的資料庫。如果系統報錯,用DBCC DBREPAIR 命令的 DROPDB 選項。
5、刪除資料庫後,用 sp_dropdevice 刪除毀壞了的設備。
6、用 DISK INIT 初始化新的資料庫設備。
7、重建資料庫。用 CREATE DATABASE 命令從老的 sysusages 表拷貝所有的行,並包含第一邏輯設備。
對上例,命令為:
CREATE DATABASE mydb
ON datadev1=20,datadev2=10
LOG ON logdev1=10
8、用 ALTER DATABASE 命令重建其餘入口。在此例中,在datadev1上分配更多的空間,命令為:
ALTER DATABASE mydb ON datadev1=2[page]
9、用 LOAD DATABASE 重新裝入資料庫,然後用 LOAD TRAN 裝入前面卸出的日誌。
LOAD DATABASE 命令語法是:
LOAD DATABASE database_name
FROM mp_device
LOAD TRANsaction 命令的語法是:
LOAD TRANsaction database_name
FROM mp_device
卸出資料庫和事務日誌的預設許可權歸資料庫所有者,且可以傳遞給其他用戶;裝載資料庫和事務的許可權也歸資料庫所有者,但不能傳遞。
二、產生用戶信息表,並為信息表授權;
系統維護人員的另一個日常事務是為用戶創建新的信息表,並為之授權。創建表以及為表授權的方法已經在講過,在此只將有關命令語法寫出來。
·創建表的命令為:
CREATE TABLE table_name
( column_1 datatype [NULL | NOT NULL | IDENTITY],
column_2 ……
)
go
ALTER TABLE table_name
ADD PRIMARY KEY (column_list)
go
·刪除表的命令格式為:
DROP TABLE table_name
go
·為表授權的命令格式為:
GRANT
ON table_name TO user_name
go
·收回許可權的命令格式為
REVOKE
ON table_name FROM user_name
go
三、監視系統運行狀況,及時處理系統錯誤;
系統管理員的另一項日常工作是監視系統運行情況。主要有以下幾個方面:
1、監視當前用戶以及進程的信息
使用系統過程:sp_who
說明:該命令顯示當前系統所有注冊用戶及進程信息,如下表是某系統的信息。
---------------------------------------------------------------
2SleepingNULL0MasterNETWORK HANDLE
3SleepingNULL0MasterDEADLOCK TUNE
4SleepingNULL0MasterMIRROR HANDLER
SLEEP
從左向右依次顯示:進程號、當前狀態、注冊用戶名、主機名、佔用塊數、資料庫名以及當前命令。
如果監視時發現進程總數接近最大連接數(用系統過程:sp_configure 「user conn」 查看)時,應下掉不活動或無關進程,以保證系統正常運做;另外亦可監視非法用戶或用戶使用不屬於自己使用范圍的資料庫等情況。
2、監視目標佔用空間情況
使用系統過程:sp_spaceused
說明:該過程顯示行數、數據頁數以及當前資料庫中由某個目標或所有目標所佔用的空間。如下表是某資料庫日誌表的信息:
NameRow_totalreserveddataIndex_sizeunused
------------------------------------------------------------
SyslogsNot avail32KB32KB0KBNot avail
日常要監視的主要目標有:用戶資料庫、資料庫日誌表(syslogs)以及計費原始數據表等。如果發現佔用空間過大,對日誌表要進行轉儲;對其他目標則應擴充空間或清楚垃圾數據。
3、監視 SQL Server 統計數字
使用系統過程:sp_monitor
說明:sp_monitor 顯示SQL Server 的歷史統計數字,下表是某系統的統計數字:
Last_runCurrent_runSeconds
---------------------------------------------------------------
May 13 2000 1:27PMMay 13 2000 3:01PM5678
CPU_busyIO_busyIdle
---------------------------------------------------------------
16(6)-0%0(0)-0%5727(5672)-99%
Packets_receivedPackets_sentPacket_errors
---------------------------------------------------------------
21(17)100(97)0(0)
Total_readTotal_writeTotal_errorsConnections
--------------------------------------------------------
785(366)311(113)0(0)3(2)
上表依次給出該系統本次運行統計的上一次時間、本次時間、間隔秒數、CPU佔用、IO佔用、收發包情況、系統讀入寫出情況等信息
四、保證系統數據安全,周期更改用戶口令;
為保證系統數據的安全,系統管理員必須依據系統的實際情況,執行一系列的安全保障措施。其中,周期性的更改用戶口令是比較常用且十分有效的措施。
更改用戶口令是通過調用系統過程sp_password 來實現的。Sp_password 的語法為:
sp_password caller_password,new_password [,loginame]
其中caller_password 是登錄口令(老口令),new_password是新口令,loginame是登錄名稱。
在網路搜索:資料庫日常維護(參考)
相 關 文 章
Sybase存儲過程的建立和使用
SYBASE dbcc
電信企業參與競爭的利器-數據倉庫和數據挖掘
SCOUNIX下磁帶機的安裝與備份
StoredProcere(存儲過程)編寫經驗和優化措施
細說SYBASE資料庫日誌
常見資料庫系統之比較 - SYBASE 和 SQL SERVER
SYBASE ASE FOR LINUX安裝及perl連接SYBASE
Sybase資料庫應用(一)
安裝Sybase ASE
如果對您有幫助,請記得採納為滿意答案,謝謝!祝您生活愉快!
vaela
⑶ 資料庫管理系統的基本功能是什麼
資料庫系統是一個實際可運行的存儲、維護和應用系統提供數據的軟體系統,是存儲介質、處理對象和管理系統的集合體。它通常由軟體、資料庫和數據管理員組成。其軟體主要包括操作系統、各種宿主語言、實用程序以及資料庫管理系統。
資料庫由資料庫管理系統統一管理,數據的插入、修改和檢索均要通過資料庫管理系統進行。數據管理員負責創建、監控和維護整個資料庫,使數據能被任何有權使用的人有效使用。資料庫管理員一般是由業務水平較高、資歷較深的人員擔任。
資料庫系統的個體含義是指一個具體的資料庫管理系統軟體和用它建立起來的資料庫;它的學科含義是指研究、開發、建立、維護和應用資料庫系統所涉及的理論、方法、技術所構成的學科。在這一含義下,資料庫系統是軟體研究領域的一個重要分支,常稱為資料庫領域。
資料庫研究跨越於計算機應用、系統軟體和理論三個領域,其中應用促進新系統的研製開發,新系統帶來新的理論研究,而理論研究又對前兩個領域起著指導作用。
資料庫系統的出現是計算機應用的一個里程牌,它使得計算機應用從以科學計算為主轉向以數據處理為主,並從而使計算機得以在各行各業乃至家庭普遍使用。在它之前的文件系統雖然也能處理持久數據,但是文件系統不提供對任意部分數據的快速訪問,而這對數據量不斷增大的應用來說是至關重要的。
為了實現對任意部分數據的快速訪問,就要研究許多優化技術。這些優化技術往往很復雜,是普通用戶難以實現的,所以就由系統軟體(資料庫管理系統)來完成,而提供給用戶的是簡單易用的資料庫語言。由於對資料庫的操作都由資料庫管理系統完成,所以資料庫就可以獨立於具體的應用程序而存在,從而資料庫又可以為多個用戶所共享。
因此,數據的獨立性和共享性是資料庫系統的重要特徵。數據共享節省了大量人力物力,為資料庫系統的廣泛應用奠定了基礎。資料庫系統的出現使得普通用戶能夠方便地將日常數據存入計算機並在需要的時候快速訪問它們,從而使計算機走出科研機構進入各行各業、進入家庭。
⑷ 事務操作對應於資料庫怎麼管理
事務操作是對於一系列資料庫操作行為進行管理的過程,當多用戶同時訪問或修改同一數據資源時,如不進行事務控制,可能會造成一個用戶的行為結果導致另一個用戶使用的數據無效的問題,因此需要根據實際情況對關系資料庫的事務進行適當的干預與調整。
2.2.1隔離級別設置絕大多數主流的資料庫伺服器的默認事務隔離級別是提交讀(ReadCommitted),輕巧型開源資料庫MySQL則不在此范圍之列,MySQL默認的事務隔離級別是可重復讀(RepeatableRead)。在實際應用中,資料庫的事務隔離級別是可以修改的,也往往需要根據實際場景進行查詢、變更等操作。
1.查詢事務隔離級別全局事務隔離級別(整個資料庫)的查詢語法是:SELECT@@global.tx_isolation在命令行輸入以上命令便可以查詢看到資料庫的事務隔離級別為REPEATABLE−READ,前面提到,關系資料庫的事務模型有顯式事務、隱式事務和自動事務三種類型,當使用顯式事務模型進行事務控制時,需手動開啟、提交、回滾事務。顯式事務能夠更靈活地根據實際需要對關系資料庫進行底層的操作控制,更有利於實現復雜、細粒度的功能需求。
1.語法命令((1)開啟事務MySQL開啟一個事務的語法是:方式一:starttransaction方式二:begin(2)提交事務MySQL提交一個事務的語法是:commit)回滾事務MySQL回滾一個事務的語法是:rollback
user數據表
user.sql
user.sql續
(2)第一個MySQL客戶端連接到資料庫伺服器,手動開啟事務,進行一個update操作,但未提交或回滾事務,如圖2−4所示。
客戶端1更新操作
(3)第二個MySQL客戶端連接到資料庫伺服器,檢索上面被更新的記錄,可以看到數據還是未做update操作前的數據,如圖2−5所示。
客戶端2查詢操作((1)
(4)再回到第一個MySQL客戶端,手動提交事務,如圖2−6所示。
客戶端1提交事務操作
(5)回到第二個MySQL客戶端,重新檢索上面被更新的記錄,可以看到數據已經是update操作後的數據,如圖2−7所示。
客戶端2查詢操作(2)
由於資料庫的事務隔離級別是提交讀(ReadCommitted),一個事務對數據資源的操作只有提交後才能被其他事務讀取到;所以步驟(3)所讀取的數據還是舊數據,步驟(5)所讀取的數據則是新數據。
⑸ oracle資料庫管理員應會哪些操作
(1)資料庫備份恢復。
(2)資料庫問題解決。(比如等待事件,宕機等)
(3)資料庫優化。
(4)資料庫語句優化。
(5)資料庫調整。(比如操作系統調整後,資料庫怎麼調整,修改時間,資料庫升級等)
(6)資料庫監控。
(7)sql語句和相關存儲過程的編寫。。
⑹ 使用資料庫應用系統可以對其管理的資料庫進行什麼操作
對數據進行添刪改查操作。
資料庫管理系統是資料庫系統的核心,是管理資料庫的軟體。資料庫管理系統就是實現把用戶意義下抽象的邏輯數據處理,轉換成為計算機中具體的物理數據處理的軟體。
有了資料庫管理系統,用戶就可以在抽象意義下處理數據,而不必顧及這些數據在計算機中的布局和物理位置。
(6)資料庫日常操作管理擴展閱讀:
結構特性與資料庫狀態有關,即與數據模型所反映的實體及其實體間的聯系的靜態特性有關。結構設計就是設計各級資料庫模式。決定資料庫系統的信息內容,由資料庫設計來實現。
行為特性與資料庫狀態轉換有關,即改變實體及其特性的操作。它決定資料庫系統的功能,是事物處理等應用程序的設計。
根據系統的結構和行為兩方面的特性,系統設計開發分為兩個部分,一部分是作為資料庫應用系統核心和基石的資料庫設計,另一部分是相應的資料庫應用軟體的設計開發。這兩部分是緊密相關、相輔相成的,組成統一的資料庫工程。
⑺ 如何進行資料庫的維護,平時需要做些什麼
資料庫日常維護(參考) 資料庫日常維護工作是系統管理員的重要職責。其內容主要包括以下幾個部分: 一、備份系統數據 SYBASE 系統的備份與恢復機制保證了在系統失敗時重新獲取數據的可能性。SQL Server 提供了兩種不同類型的恢復機制:一類是系統自動完成的恢復,這種措施在每次系統啟動時都自動進行,保證了在系統癱瘓前完成的事務都寫到資料庫設備上,而未完成的事務都被回退;另一類是人工完成的恢復,這是通過 DUMP 和 LOAD 命令來執行人工備份和恢復工作。因此定期備份事務日誌和資料庫是一項十分重要的日常維護工作。 1、備份資料庫 每一個資料庫都應在創建之後卸出,從而提供一個裝入基點。在此之後按排定的時間周期表卸出。比如每周五卸出資料庫。對一般資料庫系統卸出資料庫周期建議為每周一次。 除了按計劃周期卸出資料庫之外,還需在每次運行沒有日誌的操作後卸出資料庫。例如: ·每次強制地運行了 DUMP TRAN WITH NO_LOG (因為資料庫的磁碟空溢出); ·每次用 sp_dboption 允許 select into/bulk 做快速拷貝,或用 SELECT INTO 命令創建一個永久性的表,或使用了 WRITETEXT 命令。 卸出資料庫的命令為: DUMP DATABASE database_name TO mp_device database_name 是要卸出的資料庫名稱,mp_device 是卸出設備的名稱。用系統過程 sp_helpdevice 可以獲得設備的信息。 下面一條命令用來卸出資料庫 my_db : DUMP DATABASE my_db TO db_bk_dev 2、備份事務日誌 如果事務日誌與資料庫放在同一個設備上,則事務日誌不應與資料庫分開備份。master 資料庫和小於 4M 的用戶資料庫就是這種情況。一般資料庫系統的資料庫和日誌分別放在不同的設備上,因此,可以用 DUMP TRAN 命令單獨備份日誌。 備份事務日誌的周期直接影響數據的恢復程度,因此建議每天備份。 備份事務日誌的命令格式為: DUMP TRANsaction database_name [TO mp_device] [WITH TRUNCATE_ONLY|WITH NO_LOG|WITH NO_TRUNCATE] 其中 database_name 是要備份事務的資料庫名稱,mp_device 是備份設備名稱,僅當包含了 WITH TRUNCATE_ONLY 或 WITH NO_LOG 子句時,才可以備份到設備。 注意:如果總是用 DUMP DATEBASE (備份資料庫及其日誌),而不用 DUMP TRAN ,事務日誌將不會刷新,而變得非常龐大。 對於 master 資料庫和小型資料庫每次運行 DUMP DATEBASE 之後應當運行 DUMP TRANsaction 命令刷新日誌 。 下面一條命令備份資料庫 db160 的事務日誌到備份設備上: DUMP TRANsaction db160 TO db_log_bk_dev WITH TRUNCATE_ONLY 3、備份資料庫及其日誌間的相互作用 在至少卸出一次資料庫前,卸出事務日誌是毫無意義的。下圖顯示了備份資料庫及其日誌間的關系 如果在星期二下午5:01出現非硬體故障,需要做的所有工作是裝入磁帶5(參見下一節:數據恢復),由於磁帶5是下午5:00剛備份的,因此只有備份和裝入之間的一分鍾內的數據損失。 但是,如果在星期二下午4:49失效會怎麼樣呢?在這種情況下,要裝入磁帶1(在星期五下午5:00的卸出)。然後,依次裝入磁帶2,3以及4。這樣,系統將恢復到星期二上午10:00點的狀態,星期二的大部分工作丟失了。此例顯示了經常卸出事務的重要性。 二、萬一系統失敗時恢復資料庫系統 如果用戶資料庫存儲的設備失效,從而資料庫被破壞或不可存取,通過裝入最新的資料庫備份以及後來的事務日誌備份可以恢復資料庫。假設當前的事務日誌存在於一個並沒有毀壞的設備上,帶著 WITH NO_TRUNCATE 選項的 DUMP TRANsaction 命令卸出它。 要恢復資料庫按如下步驟去做: 1、如果日誌存在於一個分離的設備上,用帶著 NO_TRUN
⑻ 資料庫管理員的職責主要包括哪些
資料庫管理員的主要職責為:
1、資料庫管理員規定用戶訪問許可權和為不同用戶組分配資源。
2、監視監控資料庫的警告日誌,定期做備份刪除。
3、對資料庫的備份策略要根據實際要求進行更改,數據的日常備份情況進行監控。
4、規范資料庫用戶的管理定期對管理員等重要用戶密碼進行修改。
5、對SQL語句的書寫規范的要求一個SQL語句,如果寫得不理想,對資料庫的影響是很大的。
(8)資料庫日常操作管理擴展閱讀
技術分工
產品的整個生命周期里資料庫管理員的職責重要而廣泛,這催生了各個縱向的運維技術方向,凡是關繫到資料庫質量、效率、成本、安全等方面的工作,及涉及到的技術、組件,主要包括:
1、資料庫監控技術:包括監控平台的研發、應用,服務監控准確性、實時性、全面性的保障。
2、資料庫故障管理:包括服務的故障預案設計,預案的自動化執行,故障的總結並反饋到產品/系統的設計層面進行優化以提高產品的穩定性。
3、資料庫容量管理:測量服務的容量,規劃服務的機房建設,擴容、遷移等工作。
4、資料庫性能優化:從各個方向,包括SQL優化、參數優化、應用優化、客戶端優化等,提高資料庫的性能和響應速度,改善用戶體驗。
⑼ 資料庫的運行管理主要功能
資料庫管理系統(database management system)是一種操縱和管理資料庫的大型軟體,是用於建立、使用和維護資料庫,簡稱dbms。它對資料庫進行統一的管理和控制,以保證資料庫的安全性和完整性。用戶通過dbms訪問資料庫中的數據,資料庫管理員也通過dbms進行資料庫的維護工作。它提供多種功能,可使多個應用程序和用戶用不同的方法在同時或不同時刻去建立,修改和詢問資料庫。它使用戶能方便地定義和操縱數據,維護數據的安全性和完整性,以及進行多用戶下的並發控制和恢復資料庫。
按功能劃分,資料庫管理系統大致可分為6個部分:
(1)模式翻譯:提供數據定義語言(ddl)。用它書寫的資料庫模式被翻譯為內部表示。資料庫的邏輯結構、完整性約束和物理儲存結構保存在內部的數據字典中。資料庫的各種數據操作(如查找、修改、插入和刪除等)和資料庫的維護管理都是以資料庫模式為依據的。
(2)應用程序的編譯:把包含著訪問資料庫語句的應用程序,編譯成在dbms支持下可運行的目標程序。
(3)互動式查詢:提供易使用的互動式查詢語言,如sql。dbms負責執行查詢命令,並將查詢結果顯示在屏幕上。
(4)數據的組織與存取:提供數據在外圍儲存設備上的物理組織與存取方法。
⑸事務運行管理:提供事務運行管理及運行日誌,事務運行的安全性監控和數據完整性檢查,事務的並發控制及系統恢復等功能。
(6)資料庫的維護:為資料庫管理員提供軟體支持,包括數據安全控制、完整性保障、資料庫備份、資料庫重組以及性能監控等維護工具。
基於關系模型的資料庫管理系統已日臻完善,並已作為商品化軟體廣泛應用於各行各業。它在各戶伺服器結構的分布式多用戶環境中的應用,使資料庫系統的應用進一步擴展。隨著新型數據模型及數據管理的實現技術的推進,可以預期dbms軟體的性能還將更新和完善,應用領域也將進一步地拓寬。
它所提供的功能有以下幾項:
(1)數據定義功能。DBMS提供相應數據語言來定義(DDL)資料庫結構,它們是刻畫資料庫框架,並被保存在數據字典中。
(2)數據存取功能。DBMS提供數據操縱語言(DML),實現對資料庫數據的基本存取操作:檢索,插入,修改和刪除。
(3)資料庫運行管理功能。DBMS提供數據控制功能,即是數據的安全性、完整性和並發控制等對資料庫運行進行有效地控制和管理,以確保數據正確有效。
(4)資料庫的建立和維護功能。包括資料庫初始數據的裝入,資料庫的轉儲、恢復、重組織,系統性能監視、分析等功能。
(5)資料庫的傳輸。DBMS提供處理數據的傳輸,實現用戶程序與DBMS之間的通信,通常與操作系統協調完成。
著名資料庫管理系統
MS SQL
SYBASE
DB2
ORACLE
MySQL
ACCESS
VF
常見的資料庫管理系統
目前有許多資料庫產品,如Oracle、Sybase、Informix、Microsoft SQL Server、Microsoft Access、Visual FoxPro等產品各以自己特有的功能,在資料庫市場上佔有一席之地。下面簡要介紹幾種常用的資料庫管理系統。
Oracle
Oracle是一個最早商品化的關系型資料庫管理系統,也是應用廣泛、功能強大的資料庫管理系統。Oracle作為一個通用的資料庫管理系統,不僅具有完整的數據管理功能,還是一個分布式資料庫系統,支持各種分布式功能,特別是支持Internet應用。作為一個應用開發環境,Oracle提供了一套界面友好、功能齊全的資料庫開發工具。Oracle使用PL/SQL語言執行各種操作,具有可開放性、可移植性、可伸縮性等功能。特別是在Oracle 8i中,支持面向對象的功能,如支持類、方法、屬性等,使得Oracle 產品成為一種對象/關系型資料庫管理系統。
Microsoft SQL Server
Microsoft SQL Server是一種典型的關系型資料庫管理系統,可以在許多操作系統上運行,它使用Transact-SQL語言完成數據操作。由於Microsoft SQL Server是開放式的系統,其它系統可以與它進行完好的交互操作。目前最新版本的產品為Microsoft SQL Server 2000,它具有可靠性、可伸縮性、可用性、可管理性等特點,為用戶提供完整的資料庫解決方案。
Microsoft Office
作為Microsoft Office組件之一的Microsoft Access是在Windows環境下非常流行的桌面型資料庫管理系統。使用Microsoft Access無需編寫任何代碼,只需通過直觀的可視化操作就可以完成大部分數據管理任務。在Microsoft Access資料庫中,包括許多組成資料庫的基本要素。這些要素是存儲信息的表、顯示人機交互界面的窗體、有效檢索數據的查詢、信息輸出載體的報表、提高應用效率的宏、功能強大的模塊工具等。它不僅可以通過ODBC與其它資料庫相連,實現數據交換和共享,還可以與Word、Excel等辦公軟體進行數據交換和共享,並且通過對象鏈接與嵌入技術在資料庫中嵌入和鏈接聲音、圖像等多媒體數據。
資料庫管理系統選擇原則
選擇資料庫管理系統時應從以下幾個方面予以考慮:
(1) 構造資料庫的難易程度。
需要分析資料庫管理系統有沒有範式的要求,即是否必須按照系統所規定的數據模型分析現實世界,建立相應的模型;資料庫管理語句是否符合國際標准,符合國際標准則便於系統的維護、開發、移植;有沒有面向用戶的易用的開發工具;所支持的資料庫容量,資料庫的容量特性決定了資料庫管理系統的使用范圍。
(2) 程序開發的難易程度。
有無計算機輔助軟體工程工具CASE——計算機輔助軟體工程工具可以幫助開發者根據軟體工程的方法提供各開發階段的維護、編碼環境,便於復雜軟體的開發、維護。有無第四代語言的開發平台——第四代語言具有非過程語言的設計方法,用戶不需編寫復雜的過程性代碼,易學、易懂、易維護。有無面向對象的設計平台——面向對象的設計思想十分接近人類的邏輯思維方式,便於開發和維護。對多媒體數據類型的支持——多媒體數據需求是今後發展的趨勢,支持多媒體數據類型的資料庫管理系統必將減少應用程序的開發和維護工作。
(3) 資料庫管理系統的性能分析。
包括性能評估(響應時間、數據單位時間吞吐量)、性能監控(內外存使用情況、系統輸入/輸出速率、SQL語句的執行,資料庫元組控制)、性能管理(參數設定與調整)。
(4) 對分布式應用的支持。
包括數據透明與網路透明程度。數據透明是指用戶在應用中不需指出數據在網路中的什麼節點上,資料庫管理系統可以自動搜索網路,提取所需數據;網路透明是指用戶在應用中無需指出網路所採用的協議。資料庫管理系統自動將數據包轉換成相應的協議數據。
(5) 並行處理能力。
支持多CPU模式的系統(SMP,CLUSTER,MPP),負載的分配形式,並行處理的顆粒度、范圍。
(6) 可移植性和可括展性。
可移植性指垂直擴展和水平擴展能力。垂直擴展要求新平台能夠支持低版本的平台,資料庫客戶機/伺服器機制支持集中式管理模式,這樣保證用戶以前的投資和系統;水平擴展要求滿足硬體上的擴展,支持從單CPU模式轉換成多CPU並行機模式( SMP, CLUSTER, MPP)
(7) 數據完整性約束。
數據完整性指數據的正確性和一致性保護,包括實體完整性、參照完整性、復雜的事務規則。
(8) 並發控制功能。
對於分布式資料庫管理系統,並發控制功能是必不可少的。因為它面臨的是多任務分布環境,可能會有多個用戶點在同一時刻對同一數據進行讀或寫操作,為了保證數據的一致性,需要由資料庫管理系統的並發控制功能來完成。評價並發控制的標准應從下面幾方面加以考慮:
保證查詢結果一致性方法
數據鎖的顆粒度(數據鎖的控制范圍,表、頁、元組等)
數據鎖的升級管理功能
死鎖的檢測和解決方法
(9) 容錯能力。
異常情況下對數據的容錯處理。評價標准:硬體的容錯,有無磁碟鏡象處理功能軟體的容錯,有無軟體方法異常情況的容錯功能
(10) 安全性控制
包括安全保密的程度(帳戶管理、用戶許可權、網路安全控制、數據約束)
(11) 支持漢字處理能力
包括資料庫描述語言的漢字處理能力(表名、域名、數據)和資料庫開發工具對漢字的支持能力。