人數

2010年6月22日 星期二

mysql資料庫系統導論hk2

旅館訂房系統的實體關係圖

資料庫系統導論homework2 指導教授 劉建宏


1.structural constraints

結構限制為基數比限制(Cardinality Ratio constraints)跟參與限制(participation constraint )兩種型態關係上的限制,基數比是指定參與的最大值,有一對一(1:1),一對多(1:N),多對一(N:1),多對多(M:N)四種,參與限制是存在相依性限制(指定參與的最小值),有零(可選擇是否參與,非存在相依性),一或多(強制參與,存在相依性)等兩種.structural constraint是指每個entity至少參與min個R relationship instance,最多參與max個R relationship instance.
2.null value
虛值 ( Null Value )在關聯表中的屬性值有時後可能由於相關資訊的不足或缺乏,使得無法存入一個明確的值,而以一個「不明確」的值來代替其資料,這就是虛值的觀念。虛值不是 0 也不是空白,而是一個特殊的標記,用以記錄目前資料未知的情況. 虛值的種類可分為下列幾種:A,可適用的虛值 (Applicable Null Value ) 其意義為:這個值目前存在,但不知其值為何,所以暫存一個虛值.B,不可適用的虛值 ( Inapplicable Null Value ) 其意義為:目前根本沒有這個值. C,完全不知道的虛值 ( Totally Null Value )其意義為:完全不知道這個值是否存在.是關係資料庫中對數據屬性未知或缺失的一種標識,資料庫表主鍵的取值不能為虛值.另外,資料庫中的統計計算,一般將有虛值的數據忽略不計。在許多定義裡,null 可以是 three-valued logic, with null 意指 "no value" 或是 "unknown value".

3.weak entity type
弱實體型態,即本身沒有鍵值屬性的實體型態,必須依賴某個實體型態才能存在,則這個被依賴的實體型態稱為識別identifying弱體型態的某個部分建或擁有者owner與識別實體型態相關聯的某個實體,例如每個dependent屬性是由該位眷屬的名字,以及相關連的特定employee識別,dependent示弱體實體型態,employee是他的識別實體型態,透過識別關係型態dependent-of.弱實體, 就是必須依靠其他實體才能存在.如果弱實體所依靠的實體消失了, 則該弱實體也就變得沒有意義了。例如學校的學生是一個實體, 而學生家長就可算是弱實體, 必須依靠學生實體才能存在, 如果學生從學校畢業了, 則該學生的家長自然也就跟著被刪除了.在實體關係中, 弱實體是以雙矩形來表示.

4.superclass/sudclass relationship
超類別和它的子類別的關係為:超類別/子類別(superclass/subclass)或簡稱為類別/子類別關係(class/subclass relationship).子類別之實體繼承了超類別中相同實體之全部屬性及參與的關係,而這些繼承而來的屬性也是一個實體的型態。有兩個理由將類別/子類別的關係包含於資料模型中:
某些特別的屬性可應用到部分但非全體的實體型態.某些關係型態只存在於某個子類別成員的實體.我們可以遵循的特殊化程序如下:定義實體型態的子超類別在子類別中增加特別的屬性在子類別和其他實體型態或其他子類別之間建立特別的關係型態 .超類型/子類型的關聯在員工實體中,依照職務上的特殊性再區分為寫作人員、美編人員及銷售人員等實體。員工實體就是超類型(Superclass), 而寫作人員、美編人員及銷售人員就是員工實體的子類型 (Subclass).採用超類型 / 子類型的因素 在一個實體集合中, 可能某些實體具有特殊的屬性, 而我們必須要將它們和其他實體做區別, 此時就必須運用到超類型和子類型.例健身俱樂部的客戶實體, 又區分了一般客戶及會員客戶, 主要是在會員客戶實體中具有特殊的屬性是否參加健身課程, 而在一般客戶實體中就沒有這個屬性。採用超類型/子類型的因素可能某些關係只關聯到一個實體集合中的某些實體, 此時就必須運用到超類型和子類型。例如健身俱樂部開設了有氧舞蹈...等課程, 這些課程只允許會員參加, 此時便需要在客戶實體中細分出會員客戶實體, 然後再將它和課程建立關係.

5.specialization
擴充實體關係模型之特殊化(Specialization) 特殊化 (Specialization)將員工實體依照其特殊特性, 細分為寫作人員,美編人員及銷售人員實體的過程, 我們稱為特殊化 (Specialization)。特殊化和歸納化最大的差別在於前者強調一個實體類型中不同的特性。而特殊化是強調一個實體中的共同特性.

6.generalization
擴充實體關係模型之歸納化 (Generalization)歸納化 (Generalization)在圖書公司的員工實體為例, 我們是利用實體中部份相異的特性, 區分出許多子類型.但反過來, 我們亦可將許多實體中共同的特性集合起來, 合成一個超類型.例如我們可將大學生,中學生及小學生等子類型中相同的特性抽出來 (例如姓名,年齡,地址...), 歸納成一個學生超類型。這種處理過程, 我們稱為歸納化 (eneralization)歸納化 (Generalization) 特殊化和歸納化最大的差別在於前者強調一個實體類型中不同的特性。而歸納化是強調多個實體中的共同特性.

7.transaction
交易是工作的基本單元,他只能完全做完或完全沒做.交易(Transaction)在資料庫的系統中,當有更改資料庫內容時,都會以 Transaction 作為處理單位.只要是一連串的 SQL 都必須正常執行完成,才可以算是做完一件事情,這整個過程就是一個Transaction,如果中途任何一個步驟失敗,資料的異動狀態必須回復到 Transaction 還沒有執行前的狀態才可以。例如:要完成一個提款機提款的動作,至少會有兩個動作要完成,一個是從銀行的帳戶中扣款,另一個是提款機要正常吐鈔,只要有一個動作不能正常執行,就屬於無效的提款動作.要維持資料庫系統的一致性與正確性,其中的關鍵就在於 Transaction 可以正確的被處理,如果中間的任何一個步驟執行失敗也可以回復到 Transaction 還沒有執行前的狀態.Transaction 包含了重要的四個特性:
1. AtomicityTransaction 必須看成一個不可分割的完整個體,此一特性就稱為 Atomicity。也就是說 Transaction 的執行狀況必須是全部做完,或者是全部不作。
所以當 Transaction 正常執行完成時,會利用 Commit 指令告訴資料庫系統 Transaction 已正常執行完成,反之會以 Rollback 指令告訴資料庫系統 Transaction 執行失敗,必須回復到 Transaction 還沒有執行前的狀態。
2. Concurrency資料庫系統可以同時處理一個以上的 Transaction,否則一次只能處理一個 Transaction 的話,使用者就必須在不斷的等待中度過了。
3. Isolation雖然資料庫系統可以同時處理一個以上的 Transaction,但是當 Transaction 尚未處理完成時 ( 不論是 Commit 或 Rollback ),異動的資料是不可以被其他的 Transaction 讀取的,以避免當該 Transaction 尚未處理完成時資料的不確定性,造成其他 Transaction 的不正確處理。
4. Durability當 Transaction 正成執行完成後,資料庫系統會接收到 Commit 指令,這個時候就必須將 Transaction 的資料異動內容忠實的保存在資料庫中,以後就算是資料庫系統發生錯誤時, 以必須儘可能將資料復原。

8.commit
交付(Commit):當一個異動完成時,必須透過一個確認機制來通知資料庫將該異動更新至資料庫系統中,這個確認機制就稱為 Commit .在分散式的資料庫系統中,所有執行一個交易T的節點必須對於T的執行結果有一致的看法; 假如T確認(commit)的話,必須在所有執行T(transaction-id)的節點上都commit.

9.rollback
撤回(Rollback):當一個異動過程中發生錯誤時,為避免資料庫中發生不一致的現象,進而造成嚴重的錯誤,資料庫系統必需透過一個機制來回復該異動在異動前的狀況,這個機制就稱為 Rollback 復原目前交易中所做的所有變更,並釋放目前由這個物件所保留的所有資料庫鎖定.系統在短暫時間之內不能使用,經過一段時間之後,資料庫管理系統可以依據回復技術自動恢復所有交易的一種故障,例如電源中斷,造成系統不正常的停止運作,就是一種非毀壞性的故障,資料庫管理系統如果正在處理數個並行交易,而這些進行中的交易有些尚未成功完成,便意外發生停電狀況,資料庫管理系統應該負責將此些交易真正寫入資料庫?.那些交易正進行到一半,尚未發出交付(Commit) 命令,資料庫管理系統必須將這些交易取消所有操作 ,維持交易的單元性,一致性的轉移以及永久性.此類的故障,可以依賴資料庫管理系統本身的回復技術來達到回復的功能.

10.ACID
交易的四大特性簡稱ADIC
必須遵守下晚四個原則才能成功執行異動,第一個英文字母的縮寫字ACID:
1.單元性(Atomicity):交易是不可分割的單元,不是完全執行就是完全不執行,也就是說異動若非全部獲得認可,就是全部失敗.
2.一致性保留(Consistency preservation):假如交易完全執行,能讓資料庫從某個一至狀態,轉換到另一個一至狀態.稱此交易具有一至性保留特性.在異動開始和完成之後,資料庫皆必須維持合法的狀態.合法的狀態是指必須正確遵守資料庫所強制的規則.例如,如果將資料庫設定為不允許外部索引鍵參照不存在的資料列,那麼異動的結果將不能產生此狀況.
3隔離性(Isolation):交易應該看起來是孤立於其他交易之外執行,亦即他不應被同時執行的其他交易干擾.在異動執行期間,不允許查詢此暫時性的資料.只有當異動獲得認可之後才能看到變更.
4.持續性(Durability)或永久性(permanency):已交付的交易對資料庫所做的變更必須持續存劉在資料庫中,這些變更結果必須不因任何故障而遺失.當異動獲得認可之後,資料庫不可還原到執行異動之前的狀態.列如:不可立刻移除剛加入的資料,同時被移除的資料也不會突然出現.

資料庫系統導論HOMEWORK#1劉建宏老師


資料庫系統導論HOMEWORK#1劉建宏老師cliu@ntut.edu.tw


描述或定義下列專有名詞

1.DBMS
資料庫管理系統Database management system 管理資料庫而設計的一種套裝軟體電腦系統,用來建立和維護電腦化的資料庫。具有代表性的資料管理系統有:Oracle、Microsoft SQL Server、Access、MySQL及PostgreSQL等。通常資料庫管理員會使用資料庫管理系統來建立資料庫系統。

2.Database system
資料庫DBS可以被視為能夠進行自動查詢和修改的資料集。資料庫有很多種型式,從最簡單的儲存有各種資料的表格到能夠進行海量資料儲存的大型資料庫系統都在各個方面得到了廣泛的應用。

3.DBA
資料庫管理員Database administrator,DBA系統管理員的技能1.電腦基礎理論2.電腦網路3.電腦作業系統、系統管理相關領域1.電腦房管理2.電腦伺服器3.電腦作業系統4.電腦網路5.系統備份和恢復6.個人電腦7.資料庫8.系統和使用者賬號管理9.電腦安全策略執行10.電腦系統安裝、維護、升級、報廢、回收.系統管理員的工作範圍1.回答有關電腦系統的技術問題2.安裝和配置新的硬體軟體3.進行作業系統升級,更改配置4.執行資料備份5.負責系統的安全6.編寫和更新系統配置文檔7.調整和最佳化系統性能8.排除故障9.連線其他系統10.安裝和配置網路服務

4.Metadata
元數據又稱元資料、中介資料,為描述數據的數據(data about data),主要是描述數據屬性(property)的資訊,用來支持如指示儲存位置、歷史資料、資源尋找、文件紀錄等功能。元數據算是一種電子式目錄,為了達到編製目錄的目的,必須在描述並收藏數據的內容或特色,進而達成協助數據檢索的目的。都柏林核心集(Dublin Core Metadata Initiative,DCMI)是元數據的一種應用,是1995年3月由國際圖書館電腦中心(OCLC)和美國國家超級計算應用中心所聯合贊助的研討會,在邀請52位來自圖書館管理員、電腦專家,共同制定規格,建立一套描述網路上電子文件之特徵。

5.Three-schema architecture
資料庫之三層綱要架構內部層是指實體資料的儲存,包括定義資料型態、索引、欄位名稱、儲存方式、以及搜尋方式;中間層是指資料模式中,邏輯紀錄及邏輯的資料型態、欄位定義、連接關係等;外部層是指使用者需要看到的資料,可以根據應用程式的需求,要求不同外部的景觀。進一步而言,外部層係針對某一個特定使用者的觀點(User View),建立外部綱要(External Schema),使用高階查詢語言作為介面;中間層針對整體社群觀點(Community View),建立概念性綱要(Conceptual Schema);內部層則針對系統觀點(System View),建立實體綱要(Internal Schema)。 資料庫模型,分別為: 概念綱要(在分析階段); 外部綱要或使用景觀(在分析與邏輯設計階段); 實際綱要或內部綱要(在實際設計階段)。

6.Database schema
是一個針對小型應用系統或嵌入式系統所設計的抽象資料庫存取層函數庫。 它提供一組 Schema class 用於組態資料庫表格與欄位,強化資料內容的型態檢查、格式檢查、解碼與編碼動作。 同時設計了兩種 class, Database_Query 和 Database_Row ,提供基礎的 Active Record 與 ORM 能力。這兩種 class 運用 PDO class 與 Schema class ,簡化資料查詢、存取和資料內容檢查動作。

7.Entity integrity constraint
個体整合限制, 它規範關聯表內部的整合限制條件,如:主鍵(Primary Key)

8.Referential integrity constraint
參考整合限制

9.Foreign key
外鍵是一個(或多個)指向其它資料表中主鍵的欄位,它限制欄位值只能來自另一個資料表的主鍵欄位,用來定義資料的參考完整性Referential Integrity,假設有兩個表:一個 customer 表,裡面記錄了所有顧客的資料;另一個 orders 表,裡面記錄了所有顧客訂購的資料。在這裡的一個限制,就是所有的訂購資料中的顧客,都一定是要跟在 customer 表中存在。在這裡,我們就會在 orders 表中設定一個外鍵,而這個外鍵是指向 customer 表中的主鍵。這樣一來,我們就可以確定所有在 orders 表中的顧客都存在 customer 表中。換句話說,orders表之中,不能有任何顧客是不存在於 customer 表中的資料。 我們可以在 create table 語法指定外鍵,如alter_foreign_key所示,orders 表中的 customer_id 欄是一個指向 customers 表中 id 欄的外鍵。
程式1:create foreign key
create table orders
(order_id integer,
order_date date,
customer_sid integer,
amount double,
primary key (order_id),
foreign key (customer_id) references customer(id));
假設 orders 表已經被建置,但外鍵尚未被指定,則可利用 alter table 來指定外鍵。

10.SQL
SQL 全名是結構化查詢語言(Structured Query Language),是用於數據庫中的標準數據查詢語言,IBM 公司最早使用在其開發的數據庫系統中。1986年10月,美國 ANSI 對 SQL 進行規範後,以此作為關係式數據庫管理系統的標準語言 (ANSI X3. 135-1986),1987年得到國際標準組織的支持下成為國際標準。不過各種通行的數據庫系統在其實踐過程中都對SQL 規範作了某些編改和擴充。所以,實際上不同數據庫系統之間的SQL語言不能完全相互通用。SQL 是高級的非過程化編程語言,它允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解其具體的數據存放方式。而它的界面,能使具有底層結構完全不同的數據庫系統和不同數據庫之間,使用相同的SQL 語言作為數據的輸入與管理。它以記錄項目〔records〕的合集(set)〔項集,record set〕作為操縱對象,所有SQL 語句接受項集作為輸入,回送出的項集作為輸出SQL 語言包含3個部分:「資料定義語言」(DDL : Data Definition Language)「資料操縱語言」(DML : Data Manipulation Language)「資料控制語言」(DCL : Data Control Language)

六月課表

我的免費網頁網際網路理論蘇東偉


Free Hosting Order Confirmation

Congratulations your free hosting account has been created!
Please print this page for your records. We highly recommend that you download a copy of your account info rmation.
Subscription To Terms Amount
Free Hosting Plan
$0.00 USD for each month $0.00 USD
Control Panel
Control panel user name
b9_5735263
Control panel password lin88888
Control panel URL http://panel.byethost.com
Files and FTP Settings
FTP user name b9_5735263
FTP password lin88888
FTP host name ftp.byethost9.com (ftp主機位置)
MySQL Settings
MySQL user b9_5735263
MySQL password lin88888
MySQL host sql306.byethost9.com
MySQL port 3306
Domain name
Your domain name http://rich88888.byethost9.com
or
http://www.rich88888.byethost9.com/
Save your settings
Save a copy to your computer
Download my account settings

企業流程設計最後一堂課黃順意

家族/http://tw.club.yahoo.com/clubs/88money88/