常見的資料庫管理系統

32
常常常常常常常常常常 91156113 常常常 91156116 常常常 91156138 常常常 91156149 常常常

description

常見的資料庫管理系統. 91156113 黃耀緯 91156116 黃富彥 91156138 林行禹 91156149 林紹彥. 簡 介. Oracle SQL Server Access MySQL. Oracle. 由 Server Process 負責向 Oracle Server 溝通,並將符合使用者所需的資料,從 Oracle Server 送至 User Process ,以完成該使用者下達的 request. 使用者想要在 Oracle Server 上查詢一筆人事資料. Server Process. User Process. - PowerPoint PPT Presentation

Transcript of 常見的資料庫管理系統

Page 1: 常見的資料庫管理系統

常見的資料庫管理系統

91156113 黃耀緯 91156116 黃富彥 91156138 林行禹 91156149 林紹彥

Page 2: 常見的資料庫管理系統

簡 介

• Oracle

• SQL Server

• Access

• MySQL

Page 3: 常見的資料庫管理系統

Oracle

Oracle

Database

ServerProcess

UserProcess

使用者想要在 Oracle Server 上查詢一筆人事資料

由 Server Process 負責向 Oracle Server 溝通,並將符合使用者所需的資料,從 Oracle Server 送至 User Process ,以完成該使用者下達的 request

此時系統會產生相對應的 User Process 與

Server Process

Page 4: 常見的資料庫管理系統

結構User

Process

Server Process

Instance

Databasebuffercache

SGALibrary cache

Shared Pool

Redo Logbuffer cacheData Dict.

cache

PMON SMON DBWR LGWR CKPT Others

Data files

Control files

Redo Log files

Parameterfile

Passwordfile

Archivedlog files

PGA

Database

Page 5: 常見的資料庫管理系統

SGA

• 每當 Oracle 資料庫被啟動之前,系統都會先在記憶體內配置好一塊空間,用以存放Oracle 系統運作時所需的資訊或紀錄每個使用者所需要處理的資料

• 這塊記憶體空間稱之為總系統全域 (System Global Area , SGA)

Page 6: 常見的資料庫管理系統

• 資料快取緩衝區 (Database Buffer Cache)– 用來存放使用者曾經處理過的資料– 其用途在於減少存取資料時造成的磁碟

讀寫動作,進而提昇資料存取之效能

• 重置日誌緩衝區 (Redo Log Buffer Cache)– 紀錄 Oracle 資料庫內所有資料異動的情

況– Oracle server 也會在適當時機將 Log Bu

ffer 內的紀錄寫入磁碟內的檔案,以便資料庫系統毀損時可進行必要的復原 (Recovery) 動作

Page 7: 常見的資料庫管理系統

• 共享資料區 (Shared Pool)– 資料字典緩衝區 (Dictionary cache)– 函式快取緩衝區 (Library cache)

• 說明– 當使用者將 SQL 指令送至 Oracle 資料庫後,

系統將會先解析 (parse) 語法是否正確,而解析時所需要的系統資訊 ( 例如使用者的權限或是表格的欄位名稱等 )

– 以及解析後的結果 (parse tree 與 execution plan) 就會放置在 Shared pool 內

– 如此一來,如果不同的使用者執行了相同的 SQL 指令就可以共享已解析好的 parse tree 與 execution plan ,可加速 SQL 指令的執行速度

Page 8: 常見的資料庫管理系統

Oracle Database Files

• 資料檔 (Data files)– 存放資料庫內所有資料– 資料庫中的 table 、 index 等資料庫物件之資

料實際上都是存放於 data file 之中

• 交易日誌檔 (Redo log files)– 當任何資料被異動時,記憶體內的重置紀錄緩

衝區會保留所有的異動紀錄– 由 LGWR 背景處理程序負責寫入至硬碟內的 re

do log files 存放– 一般會有兩個以上

Page 9: 常見的資料庫管理系統

• 控制檔 (Control files)– 在 Oracle 資料庫系統運作時, Control file

內會記錄以下重要的資訊:• Oracle 資料庫名稱與建立時間• Data files 與 Redo log files 之名稱以及所在位

置• 交易紀錄序列碼 (log sequence number)

• 密碼檔 (Password files)– 主要作管理資料庫的安全機制– Oracle 的認證方式

• OS 層級的認證方式• 透過 Password file 的機制

Page 10: 常見的資料庫管理系統

• 參數檔 (Parameter files)– 做為配置記憶體空間 (SGA) 與 Backgro

und processes 時的設定值

• 備份登錄檔 (Archived log files)– ARCHIVELOG : Redo log file 在被重

覆使用之前,會先存放至 Archived log files

– NOARCHIVELOG : Redo log file 不會有任何 Archive 的額外動作

Page 11: 常見的資料庫管理系統

SQL Server

• 單機管理• 主從式管理• 分散式管理

Page 12: 常見的資料庫管理系統

SQL 語法

依用途不同可分為三類:• DDL ( 資料定義語言 )

敘述: create, alter, drop

• DCL ( 資料控制語言 )

敘述: grant, deny, revoke

• DML ( 資料處理語言 )

敘述: insert, delete, update, select

Page 13: 常見的資料庫管理系統

• 新增資料型別 VARCHAR(MAX) 、 NVARCHAR(MAX) 、 VA

RBINARY(MAX) 等資料型別 , 用以存放大型資料 (text 、 ntext 及 image )

• 結構描述 (SCHEMA) 『伺服器名稱 . 資料庫名稱 . 結構描述 . 物件名

稱』。用途類似資料夾

• 快照集 (Snapshot) 保留資料庫在某一時間點的唯讀檢視。可以節省

空間、時間並減少系統負荷。 • 提供高可用性的資料庫鏡像功能 自動且即時地將主要伺服器的資料同步到次要伺

服器 ,

Page 14: 常見的資料庫管理系統

• 資料表和索引資料分割 資料表和索引資料分割藉由使用較小、較

可管理的區塊來促進資料庫的管理,以減輕大型資料庫的管理。水平資料分割可根據資料分割配置,使資料表分割為較小的群組。資料表分割是針對從數百 GB 到 TB 或更大的非常大型資料庫而設計。

• 複寫 複寫的設計可將資料散發至多個資料庫伺

服器,以增加資料可用性。使應用程式能將 SQL Server 的讀取工作負載分攤至各資料庫,藉此提升了可用性。該模型提供了新的拓樸,在其中資料庫可與任何相同的對等資料庫進行交易同步處理。

Page 15: 常見的資料庫管理系統

管理工具 - 服務管理員

Page 16: 常見的資料庫管理系統

管理工具 - Enterprise Manager

Page 17: 常見的資料庫管理系統

管理工具 - Query Analyzer

Page 18: 常見的資料庫管理系統

Access

• Access 為微軟公司因應辦公室環境而發展出的資料庫管理軟體。

• 提供資料管理的功能,如資料的建立、查詢、報表的製作等。

• 資料庫是紀錄的集合,為一個有系統、有組織的資料集合體。

• Access 資料庫七大物件:資料表 、查詢 、表單 、報表 、資料頁、巨集 、模組。

Page 19: 常見的資料庫管理系統
Page 20: 常見的資料庫管理系統

建立資料表

• 在資料庫內建立四個資料表:學生通訊錄、國文成績、英文成績、數學成績。

• 方法 1 :輸入資料設計欄位結構。 • 步驟 1 :資料表→新增→資料工作表。• 步驟 2 :資料輸入完畢,關閉→是→命名→

確定/設主索引→否 。• 步驟 3 :選擇資料表→設計,將欄位名稱逐

一修改後,關閉→是 (儲存設計的改變 ) 。• 步驟 4 :再次開啟資料表,觀看修改結果。

Page 21: 常見的資料庫管理系統

三、 建立資料表 ( 續 )

• 方法 2:設計欄位結構輸入資料。 步驟 1: → →資料表 新增 設計檢視→確定。

步驟 2:輸入定義好的資料型態。 步驟 3:儲存資料表,並設定主索引→是 (自動設定 [識別碼 ] 為主索引 ) 。 步驟 4:開啟資料表。 步驟 5:開始輸入資料內容。步驟 6:資料輸入完畢,關閉。

Page 22: 常見的資料庫管理系統

與 SQL Server 完全的整合

• 使用內建的 UpSizing精靈功能,在沒有程式化的需求下,即可輕鬆容易地轉換 Access 的檔案為完整的 SQL 資料庫。便可以利用 SQL 的技術,來建立企業等級的資料庫。透過這樣的方式,藉由一個資料庫規模來調節適應您在企業需求上的改變,您的系統便可以隨著企業的擴展而擴充。

Page 23: 常見的資料庫管理系統

利用 Access 來管理 SQL Sever 資料庫

• 利用 Access 設計檢視 (Access Data View) 並藉由 Server-Side 資料表、程序及圖示來正確地工作。從 Access 的內部,便可以執行一般的 SQL Server 管理工具,諸如,重製、備份、回存與安全控管等。

Page 24: 常見的資料庫管理系統

MySQL

• MySQL 是一種 RDBMS(關聯式資料庫系統 )• 資料庫可以儲存大量資料,而利用 Sql 語 法操作資料庫,查詢排序等等… .• SQL( 結構化查詢語言 ) ,用來新增、維 護、存取關連式資料庫的標準語言 (IBM

發展出來的 ) 。• 資料庫資料表欄位資料

Page 25: 常見的資料庫管理系統

SQL 語法ⅠSQL 語法Ⅰ

• SHOW DATABASES [LIKE pattern] ; 列出所有資料庫名稱。• SHOW TABLES FROM db_name [LIKE pattern] ; 列出資料庫裡所有資料表名稱。 • DESCRIBE table_name ; 列出資料表的欄位設定。

Page 26: 常見的資料庫管理系統

SQL 語法Ⅱ

★ CREATE DATABASE db_name ;

建立新的資料庫 ★ DROP DATABASE db_name ;

刪除資料庫 ★ USE db_name

選擇使用的資料庫USE是MySQL 的命令,所以不必加上 分號。

Page 27: 常見的資料庫管理系統

SQL 語法Ⅲ

• CREATE TABLE table_name (

column_name column_type [NOT NULL],

column_name column_type [NOT NULL],

);

建立新的資料表• DROP TABLE table_name ;

刪除資料表

Page 28: 常見的資料庫管理系統

SQL 語法Ⅳ

• INSERT INTO table_name (column name…)

VALUES ( value…) ;• SELECT * FROM table_name [ WHERE expr ];• DELETE FROM table_name [ WHERE expr ];• UPDATE table_name SET column name = value

[ WHERE expr ];

Page 29: 常見的資料庫管理系統

建立新的資料庫

Page 30: 常見的資料庫管理系統

為資料庫建立一組管理帳號密碼

• 在文字區域內輸入grant all on 資料庫名稱 .* to 帳號@localhost identified by ' 密碼 '; 其中 localhost代表的是 MySQL hostname (預設值 ) 。也可以將 localhost改為正確的位址。

Page 31: 常見的資料庫管理系統

建立新的資料表 (table)

Page 32: 常見的資料庫管理系統

將現存資料備份成成文字檔 (.sql)