270 likes | 538 Views
ITE「資訊管理(應用) 類」證照 資料庫管理. Part 3- 資料庫的建置. 樹德科技大學 資訊管理系 助理教授 方志強. 資料庫管理概論 傳統檔案設計與處理 傳統檔案與資料庫應用 資料庫系統的組成與架構 資料庫管理系統( DBMS ) 資料庫分析與設計 資料模型的類別(階層式、網狀式及關聯式) 資料模型的分析( E-R Diagram ) 資料庫的邏輯設計(正規化) 資料庫的實體設計. 資料庫的建置 SQL 語法 主從式架構環境 網際網路架構的資料庫建置 DBMS 實務 資料庫備份與還原 資料庫的交易處理 資料庫的安全管理
E N D
ITE「資訊管理(應用) 類」證照資料庫管理 Part 3-資料庫的建置 樹德科技大學 資訊管理系 助理教授 方志強
資料庫管理概論 傳統檔案設計與處理 傳統檔案與資料庫應用 資料庫系統的組成與架構 資料庫管理系統(DBMS) 資料庫分析與設計 資料模型的類別(階層式、網狀式及關聯式) 資料模型的分析(E-R Diagram) 資料庫的邏輯設計(正規化) 資料庫的實體設計 資料庫的建置 SQL語法 主從式架構環境 網際網路架構的資料庫建置 DBMS實務 資料庫備份與還原 資料庫的交易處理 資料庫的安全管理 資料庫的效能管理 資料庫其他類型 分散式資料庫 物件導向資料庫 資料庫管理-綱要
SQL環境 • 目錄 (catalog) • 一組綱要,放在一起時就可構成對資料庫的描述 • 綱要 (schema) • 這個結構包含對使用者產生之物件的描述(基底表格、視界、限制) • 資料定義語言 (DDL): • 用來定義資料庫的命令,包括建立、改變與卸下表格,以及建置限制 • 資料操作語言 (DML) • 用來維護與查詢資料庫的命令 • 資料控制語言 (DCL) • 用來控制資料庫的命令,包括管理權限與資料的交付 (commit)
字串型態 CHAR(n) – 固定長度的字元資料,n個字元長 ,最大長度= 2000位元組 VARCHAR2(n) – 變動長度的字元資料,最大為4000位元組 LONG – 變動長度的字元資料,最大可容納4 GB。每個表格最多只能有一個這種欄位 數值型態 NUMBER(p,q) – 通用型數值資料型態 INTEGER(p) – 有正負號的整數,共p個位數 FLOAT(p) – 科學記號的浮點數,精準度為p個二進位數字 日期∕時間型態 DATE – 固定長度的日期/時間資料,格式為日日-月月-年年 (SQL資料型態 以Oracle8為例)
SQL指令不熟到這裡查 http://www.w3schools.com/SQL/ 這裡有大量教學範例
Sql server 2000 Java, C++, VB 剛好相反 定義與查詢皆可 GRANT 命令將某對像(資料表,視圖,序列,函數,過程語言,模式或者資料表空間) 上的特定權限給予一個用戶或者多個用戶或者一組用戶。 EX: GRANT INSERT ON films TO PUBLIC;
沒display這個指令 AS 為取別名(Alias)使用 SELECT [欄位]AS [欄位的別名] FROM [Table的名稱] SELECT [欄位]FROM [Table的名稱]AS [Table的別名]
(B) SELECT DISTINCT Salary FROM Employee; (C) SELECT COUNT(*) from (SELECT DISTINCT Salary FROM Employee); 或者 SELECT COUNT(DISTINCT salary) from Employee; (D) SELECT AVG(Salary) from Employee;
SELECT PRODUCT_DESCRIPTION, STANDARD_PRICE, AVGPRICE • FROM • (SELECT AVG(STANDARD_PRICE) AVGPRICE FROM PRODUCT_T), • PRODUCT_T • WHERE STANDARD_PRICE > AVG_PRICE;
不存在的指令 SQL函數中 ISNULL(), NVL(), IFNULL() and COALESCE() 皆是針對Null值的處理
奇怪的題目與答案需把他記住 可以說皆可內嵌sql,也可說都不可以。除非程式內可以引入相關資料庫操作物件(data object),否則皆不可直接使用sql 是聚合的條件而非函數
Select sname, cid, sco From Student, Grade Where Student.sid=Grade.sid and sco>80 或 Select sname, cid, sco From Student Left Join Grade On Student.sid=Grade.sid Where sco>80
SELECT * FROM Persons WHERE City LIKE 's%‘ SELECT * FROM Persons WHERE City NOT LIKE '%tav%' 可以結合一般程式語言 物件導向式資料庫另有一套標準與一般SQL有一點小差距
CREATE DATABASE my_db CREATE TABLE Persons ( P_Id int,LastName varchar(255),FirstName varchar(255), Address varchar(255), City varchar(255) ) 以上兩者屬於資料庫定義語言 已經提過,請參考考題3-08 資料庫軟體若有提供相關預儲程序功能,則可利用Create指令建立Procedure, Trigger
DROP指令可用來刪除INDEX, TABLE, DATABASE DROP INDEX table_name.index_name DROP TABLE table_name DROP DATABASE database_name
Select * From員工 Where月薪>4000 Select * From 員工,部門 Where 員工.部門編號=部門.部門編號 Group By 員工.部門編號Having Count(*)>10 參考範例: SELECT Customer,SUM(OrderPrice) FROM Orders WHERE Customer='Hansen' OR Customer='Jensen' GROUP BY Customer HAVING SUM(OrderPrice)>1500 Having通常必須與Group By與集合函數一起用
View可視為虛擬的Table 專案管理軟體
主要在於啟動php(AppServ)時,初始啟動設定,當然也可包含資料庫連線主要在於啟動php(AppServ)時,初始啟動設定,當然也可包含資料庫連線 用來建立資料庫連線,作用類似建立ODBC連線 語法 : int mysql_pconnect ([string hostname [:port] [:/path/to/socket] [, string username [, string password]]]) AppServ為啟動後,php程式才能運作
有許多資料庫軟體公司都有提供ODBC for windows平台。微軟址提供這個介面的標準而已。例如Oracle也需要撰寫ODBC driver給Windows使用 JDBC作用與ODBC一樣,只是為另一套標準而已 答案有點模糊不清,莫名其妙,若考出來只用記憶
有瀏覽器 的客戶端 公眾網際網路客戶端 防火牆 企業間網路客戶端 網站伺服器 資料庫伺服器 資料庫 組織的企業內網路
雞蛋裡挑骨頭的題目 應使用OLAP而不是OLTP 應使用長期的資料,長期的資料才能作趨勢分析而且也較可靠
剛好相反,應為支援大型資料庫 為了支援OLAP