1. 資料庫設計主要包括哪幾部分,分別包括哪些內容
資料庫設計包括六個主要步驟:
1、需求分析:了解用戶的數據需求、處理需求、安全性及完整性要求;
2、概念設計:通過數據抽象,設計系統概念模型,一般為E-R模型;
3、邏輯結構設計:設計系統的模式和外模式,對於關系模型主要是基本表和視圖;
4、物理結構設計:設計數據的存儲結構和存取方法,如索引的設計;
5、系統實施:組織數據入庫、編制應用程序、試運行;
6、運行維護:系統投入運行,長期的維護工作。
2. 資料庫系統工程師做什麼工作
資料庫系統工程師是指具備一定的網路結構設計及組網能力,並參與信息系統和資料庫相關工作的專業人員。主要工作內容是參與應用信息系統的規劃、設計、構建、運行和管理,按照用戶需求,設計、建立、運行、維護高質量的資料庫和數據倉庫等。
3. 資料庫維護的工作的主要內容是什麼
資料庫日常維護工作是系統管理員的重要職責。其內容主要包括以下幾個部分:
一、備份系統數據
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_ONLYWITH NO_LOGWITH 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 FROMsysusages
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
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 {ALLpermission_list}
ON table_name TO user_name
go
·收回許可權的命令格式為
REVOKE {ALLpermission_list}
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是登錄名稱。
4. 資料庫維護和管理是哪些內容
一般來說 維護的工作就是日常的監控和備份恢復工作。也有安裝,配置,啟動,關閉,優化的工作。可以查看你用的資料庫的管理員手冊,一般都有這樣的日常admin工作的清單。資料庫維護是指當一個資料庫被創建以後的工作都叫做資料庫維護。包括備份系統數據、恢復資料庫系統、產生用戶信息表,並為信息表授權、監視系統運行狀況,及時處理系統錯誤、保證系統數據安全,周期更改用戶口令。
5. 資料庫工程師工作內容是什麼
資料庫工程師工作內容是什麼
資料庫工程師工作內容是什麼?下面是我為大家整理的是資料庫工程師工作的內容,歡迎閱讀!想要了解更多的內容,歡迎關注論壇!
資料庫工程師崗位職責
1、設計並優化資料庫物理建設方案;
2、制定資料庫備份和恢復策略及工作流程與規范;
3、在項目實施中,承擔資料庫的實施工作;
4、針對資料庫應用系統運行中出現的問題,提出解決方案;
5、對空間資料庫進行分析、設計並合理開發,實現有效管理;
6、監督資料庫的備份和恢復策略的執行;
7、為應用開發、系統知識等提供技術咨詢服務。
資料庫工程師崗位要求
1、通信、電子工程、自動化、計算機其相關專業本科以上學歷;
2、掌握資料庫技術的基本概念、原理、方法和技術;
3、能夠使用SQL語言實現資料庫操作;
4、具備資料庫系統安裝、配置及資料庫管理與維護的基本技能;
5、了解資料庫應用系統的生命周期及其設計、開發過程;
6、熟悉常用的'資料庫管理和開發工具,具備用指定的工具管理和開發簡單資料庫應用系統的能力;
7、了解資料庫技術的最新發展;
8、具有嚴謹認真的工作態度,對枯燥作業有耐心。
資料庫工程師工作內容
1、資料庫設計:參與項目技術方案設計與需求分析,根據方案與需求進行數據模型設計,保證資料庫開發的規范性;
2、資料庫編碼:根據資料庫設計,進行資料庫相關腳本的編寫及資料庫相關的模塊開發;
3、資料庫支持與優化:為項目開發、測試提供資料庫相關支持,負責對資料庫性能優化、應用優化;
4、文檔編寫:根據軟體工程要求,編寫資料庫文檔,包括數據標准、數據詞典的定義等,為軟體測試與維護提供材料;
5、伺服器運維;
6、後期資料庫的優化以及維護。
延伸閱讀:
作為Oracle DBA需要學習的有:
(1)Oracle的許可權控制。
(2)Oracle資料庫的基本概念和性能指標。
(3)常用的數據字典視圖和動態性能視圖。
(4)常用的DBMS包等等。
(5)以RMAN為主的備份恢復,以及容災技術,此外冷備、邏輯備也需要熟練使用。
(6)操作系統和存儲方面的知識,主要是UNIX基礎命令和編寫shell程序。
(7)高級DBA需要了解更多的東西,比如資料庫設計等等。
Oracle的認證主要包括OCA、OCP、OCM等。現在的主流是OCP,不過考試價格較貴。對就業有一定程度的好處。
DBA的就業主要是在大、中型企業。以金融、保險等行業尤甚。大型網站或游戲公司也需要DBA。因為這類行對數據的要求頗高。DBA的待遇在國外是IT從業者里較高的。即使在國內,DBA的待遇也相對好一些。因為其技術難度大於普通程序員。普通DBA一般是在8000-20000之間(如北京、上海)。乙方公司待遇要高一些,但工作較辛苦,壓力很大。甲方公司待遇稍低,但福利略好,工作一般很輕松。
女生在甲方做DBA是很受歡迎的。因為很多領導都會認為女生較細心。但乙方公司一般不大願意招聘女生來做資料庫方面的服務。
甲方DBA日常的工作壓力不大,較程序員小很多。但出問題的時候負擔會比較重。但一般大型企業都會購買第三方或原廠的技術支持,壓力會減輕很多。每年有1-2個資料庫會出問題或需要做一些大的動作。而且大多數問題都是由於操作系統崩潰或者伺服器當機。oracle本身運行還是相當穩定的。
6. .資料庫設計分為幾個階段,各階段的任務是什麼
按照規范的設計方法,一個完整的資料庫設計一般分為需求分析、概念結構設計、邏輯結構設計、資料庫物理設計、資料庫的實施、資料庫運行與維護六個階段:
各階段的任務如下:
1、需求分析:分析用戶的需求,包括數據、功能和性能需求;
拓展資料:
資料庫設計(Database Design)是指對於一個給定的應用環境,構造最優的資料庫模式,建立資料庫及其應用系統,使之能夠有效地存儲數據,滿足各種用戶的應用需求(信息要求和處理要求)。在資料庫領域內,常常把使用資料庫的各類系統統稱為資料庫應用系統。
資料庫設計是建立資料庫及其應用系統的技術,是信息系統開發和建設中的核心技術。由於資料庫應用系統的復雜性,為了支持相關程序運行,資料庫設計就變得異常復雜,因此最佳設計不可能一蹴而就,而只能是一種"反復探尋,逐步求精"的過程,也就是規劃和結構化資料庫中的數據對象以及這些數據對象之間關系的過程。
7. 資料庫的維護工作包括那4個方面的內容
可不僅僅是4個方面。
總的來說資料庫管理員的主要責任就是保證資料庫系統的正常、良好的運行。
1:基本的備份、還原。
2:基本的DML語句你要會。(SELECT,UPDATE,DELETE,INSERT)
3:如果公司要求修改某個報表的數據。你還需要會存儲過程、函數
4:深入一點就是性能優化,語句優化、資料庫優化等等
還有其它很多很多需要學習一步一步慢慢來。