Oracle資料庫培訓課程_L4_Oracle Database(資料庫技術最高水平)基本概念_工作內容

一個Oracle 資料庫系統

是一種關係型(關聯式)資料庫管理系統(RDBMS)

Relational Database Management System


何謂  關聯式資料庫 ?

基於關係模型所提出來的一種Database

何謂  關係模型 呢???

就是用二維表的形式  , 用行列模式來保存數據的模型

最終是以行列來保存的形式


DBMS有捨麼優點??

1.Controlling Redundancy(做重複性控管)
整合相同資料集中存放,可節省儲存空間減少資料不一致現象。

2.Restricting Unauthorized Access(限制為授權之存取)
供適當安全性與認證機制,通常是使用帳號及密碼獲得相應存取權限

3.Providing persistent Storage for Program Objects(提供程式物件永久儲存空間)
將複雜程式物件或資料結構永久性地儲存在DBMS中,解決一般程式終止後,
變數被丟棄之問題
要符合 O-O DBMS才有此功能。

4.Providing Backup and Recovery(供備份及回復功能)

5.Providing Multiple User Interface(提供重使用者介面)
針對不同使用者,供不同使用者介面,包括:圖形化使用者介面
自然語言介面、查詢介面、程式語言介面....

6.Representing Complex Relationships among Data(表示資料間之複雜關係)
利用各個Table之間相關欄位


一些重要學術術語介紹

1.表(View) ---->  虛擬表格(感興趣的匯集在一起)

假設今天有一個學生資料庫裏頭的

學生基本資料表(實際存在DB中) ---->  (Base Table)

資料欄位有

姓名 、 住址 、 電話 、 修課課程 、 成績 、 興趣 、 工作經驗 、 個性 、 男女朋友



有三個角色要來瀏覽這份資料表

老闆 、 男/女朋友 、 父母

老闆  可能對

姓名 、住址、 修習課程 、 成績 、 工作經驗   感興趣

男女朋友   可能就對

姓名 、 住址 、電話 、 興趣 、 男女朋友 、 個性

父母   可能就對

姓名 、 修習課程 、 成績 、 男女朋友



對此而言這三個就是個View(虛擬) / 虛擬表格(Virtual Table)

不須實際存在於DB中

若存在就有大量重複問題!!!!!!!!


2.Schema綱要 (在Oracle有不同解釋)

對某物件的邏輯結構特徵之描述,不涉及具體紀錄資料

就很像一個程式中有著不同型態的變數




通常資料庫的物件  

 DB 、 Table 、 View , ....

若是針對  

(一)資料庫的Schema
在 DB 中需要描述的相關邏輯結構 及  特徵  就有

資料庫架構
資料描述
索引之結構
相關的資料限制
各個表格間之關聯性(A表 和 B表 之間 關聯性)


綱要中之一個實際資料,稱為該綱要之一個實體(Instance)

(二)表格Table的Schema

表頭部分即 Schema


3.MetaData  (中繼資料)

僅存於系統目錄中,非資料本身,用來描述資料之資料。

Schema 亦可視為 Metadata (在Oracle有不同定義)

Metadata / Schema 並不只有表頭資料而已

還包括有

資料結構:  循序檔、索引檔....etc
資料格式:  姓名->char(20) 、 薪水 -> Int
資料限制:   員工編號不可重複


資料庫系統具有   Self-Description

================================================

要如何成為一個成功的DBA(資料庫管理員) ?


不只需要精通Oracle資料庫

還需要有一定的編程基礎 最好有幾個project搭配資料庫的經歷


才能成為成功的DBA

欲訴則不達

基礎必掌握部分:

Oracle基本使用:
安裝/啟動/卸載 Oracle

Oracle開發工具

Oracle用戶管理


====================
Oracle編寫簡易Select語句

======================
Oracle用戶管理 Oracle表管理

進階部分:

Oracle表查詢

Oracle之權限、腳色

Oracle的函數

Oracle資料庫管理

Oracle 之  索引  、 約束 、 事務

pl/sql編程



==============================================================
主流資料庫:

微軟的 SQL Server  、 Access (較小)

美國 Oracle(性能較好)   -------------->      主流(工作機會多) DB工程師

瑞典 MySQL(for free)

美國 Sybase公司  Sybase

IBM  的  db2 、 informix




(你該用捨麼資料庫 ,  要如何對項目做資料庫抉擇??)
假如我們要做一個Project 要選用哪種資料庫作為project所用

就要針對 Project規模
     a.負載量多大(用戶有多少多大)
   b.成本(oracle很貴....)
   c.安全性



小型資料庫(Access)

負載量不大  大概 100人以內

就考慮用 Access  本身流量小

Ex:  網站留言板  、  資訊發布系統  、 倉儲管理軟體

POS訂單  

且成本在千元以內....

對安全性要求不高  ----->  銀行 不可能用 小型資料庫(不安全)

中型資料庫(MySQL、SQL Server)

負載(日訪問量約5000~15000左右或更高)

成本  萬元以內

Ex: 電子商務網站

大型資料庫(Oracle、db2、sybase)

負載海量資料庫(千萬上億級別的訪問量)--->容易癱瘓

Ex : 中國  -->  十多億傳海量訊息

成本極高(兩三萬起跳)、性能更強

性能比較 :  sybase < Oracle < db2(最猛)

具有高度安全性
本身昂貴


Oracle提供一系列認證考試(OCP認證)

月薪一萬人民幣 (約 4萬台幣)

Oracle  DBA 認證

OCA (Oracle Certified Associate)   ----->  證照費用  150美元 (4 572.0556 台幣)

OCP (Oracle Certified Professional)

OCM (Orace Certified Master)




Database Users:

對大型組織而言會有許多人參與一個大型資料庫設計、使用、維護

Database Administrators (DBA)

負責  定義、建立、維護實際資料庫

任務:

決定 資料庫之資訊內容 - 定義概念層次
決定 儲存結構 - 定義內部層次
與使用者聯絡  -  定義外部層次
定義安全性與完整性
錯誤管理  -  DB的 備份(Backup)回復(Recovery)之策略
監測執行效能及應付需求

Database Designers(DBD)

與所有可能會去使用資料庫之user溝通
了解他們需求
已設計出符合他們資料與處理需求的資料庫觀點(View)

最後再將其他使用者觀點一起分析與整合,以滿足所有使用者需求



通常若該資訊部門就只有3~5人

那就可能  (DBA) + (DBD)

都連帶是工作內容

若20~30人

那就會細分工作內容



留言

這個網誌中的熱門文章

何謂淨重(Net Weight)、皮重(Tare Weight)與毛重(Gross Weight)

Architecture(架構) 和 Framework(框架) 有何不同?_軟體設計前的事前規劃的藍圖概念

經得起原始碼資安弱點掃描的程式設計習慣培養(五)_Missing HSTS Header