SQL 語法 – Oracle 10g

學起來,管理db 比較方便. 其他各種資料庫, 原理都差不多

理解 data base, table space 和table 之間的關係

Oracle 10g 可建多個DB
1個DB 可見多個Table space
1個 Table space 可建多個表格

練習:

//建 table space

create tablespace Joe
Joe_file
minimun extent
autoextend on
logging
online
default
extenmd management
segment space management
// 改 table space
alter tablespace Joe

//刪 tablespace

drop tablespace Joe

//刪 tablespace 也刪資料

drop tablespace Joe including contents and datafiles
DB 管理:
啟動-STARTUP
建立-
關閉-SHUTDOWN
刪除
設定

TableSPACE管理
建立-CREATE TABLESPACE
更改-ALTER
增加-ADD
刪除-DROP TABLESPACE

TABLE 管理

TABLE 基本語法: crate alter drop rename truncate

Data管理
新增
新增多筆資料
查詢
更正
刪除
用函數: SysDate
用替代變數
用函數: To_Date

ER model 轉relational tables

Unique key
Primary key

語法:

查-所有欄位: select (*)
查-指定欄位: select  from ;

用 +-*/
用 ()

查-不同table 的欄位資料
用-欄位別名 : select as from
用-結合運算子- 11 , e.g: select A11B as “c" from
用-重複數列資料只用一次: distinct
用- 條件句 : where
用-比較運算句: >=<
用- between and
用- like
用-邏輯運算子: and or not  順序: not and or
用-not
用-排序: order by
用-運算加排序
用- 從剛到低排序: order by DESC
用-運算加排序
用-查詢字元, 字元區分大小寫

用-轉換函數: Lower upper Initcap
用-upper  e.g: upper(‘joe’)

用-資料型態轉換
To_char(number 1 date, ‘fmt’)
To_Data(char, ‘fmt’)

fmt= 格式= formate

日期: YYYY MM DDD Month Day DY

字元的操作函數

Concate ()
字串長度: lengh(‘joe’)
查位置: Instr(‘joe’,o)

用-函數: decode = if _ then_else
用-結合多個表格處理
用-群組函數 group by
表格分好幾組
用 Max Min
用-計算所有列的數目- count(*)
用-平均數-avg
用having 子句


參: SQL 語法查詢表

Data Base-Oracle 10g

很多年前,學生時代學校是教Dbase, 過去職場工作公司的ERP 是用關聯式資料庫, 原理是一樣的.
Oracle 10-g 就是 relational DB.

關聯式資料庫
優點也是缺點就是它的嚴謹與正規化, 資料的每一個欄位與屬性都要先規劃好.

實體關係模型 (entity- relation model)
很適合文組背景的人去學,  多去找一些真實生活中的資料庫應用場景, 把行業需求做成關聯模型.

練習  ER model 轉成 關聯表

關聯式資料庫- relational DB, 就是有很多TABLE. 很多表格.  表格之間都有鍵值相關 把每個表關聯起來,   生活裡已有很多應用場景, 像身分證, 健保卡,駕照, 行照, 會員卡. 應用無所不在.

資料型態

DB 有分:

階層式: PCR type (parent-child relationship type)

網路式: 多對多

關聯式

db 的重點:功能相依
儲存方面:

Storage

in the form of tablespaces
Tablespaces can contain various types of memory segments, such as Data Segments, Index Segments, etc. Segments in turn comprise one or more extents. Extents comprise groups of contiguous data blocks. Data blocks form the basic units of data storage.

A DBA can impose maximum quotas on storage per user within each tablespace.[9]

-分割

The partitioning feature was introduced in Oracle 8
This allows the partitioning of tables based on different set of keys (鍵).
Specific partitions can then be easily added or dropped to help manage large data sets.

-監看
Monitoring

Oracle database management tracks its computer data storage with the help of information stored in the SYSTEM tablespace.

The SYSTEM tablespace contains the data dictionary—and often (by default) indexes and clusters.

A data dictionary consists of a special collection of tables that contains information about all user-objects in the database. Since version 8i, the Oracle RDBMS also supports “locally managed" tablespaces that store space management information in bitmaps in their own headers rather than in the SYSTEM tablespace (as happens with the default “dictionary-managed" tablespaces). Version 10g and later introduced the SYSAUX tablespace, which contains some of the tables formerly stored in the SYSTEM tablespace, along with objects for other tools such as OEM, which previously required its own tablespace.

現在資料的形式越來越多元, 有時結構化的資料庫太嚴謹不方便.

用哪一種資料庫, 還是要從需求面及對技術的熟悉度, 成本, 安全性來考慮.

對創業而言,成本是一大考量,  成本減少,效益才看得出來.

學資料庫的搜尋和分析, 對數字管理有很大幫助.
這關聯式資料庫發展有10多年了吧,  雖然不是新的,但很實用,  理解資料庫的原理和實際場景的建模, 其他的資料庫道理是一樣的.

(閱讀: Oracle data base : https://en.wikipedia.org/wiki/Oracle_Database)

%d 位部落客按了讚: