申論 1資料模式(Data Model)很多,就其特性大致可以歸類為三類:高階(High-Level, 或觀念(Conceptual))資料模式、低階(Low-Level, 或實體(Physical ))資料模式、表示(Representational, 或實作(Implementation))資料模式。請分別說明這三類資料模式為何?並為每一類資料模式各舉至少2 個資料模式的例子。(20 分)
本卷皆為申論題,點「看答案與解析」查看擬答。
弱點分析
未作答的題目不計分。看我的紀錄
申論 2某出版社要用關聯式資料模式建立可記錄其出版書籍的資料庫,設計了包括可記錄書籍的資料表(Table)BOOK 及記錄作者的資料表AUTHOR。BOOK 中包含BookId(書籍編號)、Title(書名)、PubDate(出版日期)、Category(分類)等屬性(Attribute)欄位,且BookId 是其主鍵(Primary Key, PK);AUTHOR 中包含AuthId(作者編號)、Name(姓名)、Birthday(出生年月日)、Tel(電話)等屬性欄位,且AuthId是其主鍵。即資料庫中包含BOOK(BookId, Title, PubDate, Category)AUTHOR(AuthId, Name, Birthday, Tel)兩個資料表。請依序回答下列問題:㈠如果每本書可以有好幾位作者,每一位作者也可以出版好幾本書,請對前項資料庫設計進行增修,使得出版社的資料庫可記錄每本書的作者,也可記錄每個作者所出版的書。作答時可仿效題目的描述方式說明您的設計,注意必須以英文命名明確表達資料表名稱及屬性欄位名稱,並明確指出主鍵及外來鍵(Foreign Key, FK),外來鍵並須指出與其對應的主鍵。(10 分)㈡承續並運用前一子題之資料庫增修,請寫出可查得屬於「’資料庫’」分類(Category)的所有書籍之SQL 命令,此命令必須列出書籍的BookId, Title 及作者人數,並依BookId 由小而大依序列出。(15 分)㈢請運用子題㈠之資料庫增修寫出可查得曾經與名字叫「’張山峰’」的作者共同著作過的作者之SQL 命令,列出其姓名及電話。(15 分)
申論 3某企業要建立自己的電子商務平台銷售自家商品,分析統整所有商品後,將商品分為若干大分類,每一大分類又分為若干次分類,每一次分類又分為若干細分類。假設此分類系統非常理想,每一個細分類號都是唯一的,且不會有同一個細分類同屬於不同次分類的情形;每一個次分類號也都唯一,且不會有同一個次分類同屬於不同大分類的情形,一個商品也只會歸類為單一細分類,不會同時歸類到不同細分類。依據這樣的分類系統,該公司的資料庫設計師設計出關聯式資料庫的資料表PRODUCT 來儲存所有商品的資料,其中包含MajorCate(大分類號)、SubCate(次分類號)、FineCate(細分類號)、SeqNo(商品編號)、ProdName(商品名稱)、Price(單價),且任何一個商品的MajorCate、SubCate、FineCate 所代表的該商品的各級分類號都是明確的,SeqNo 是商品所屬細分類之流水號,在同一細分類中不會重複,但在不同細分類間會有相同的SeqNo。並以(MajorCate, SubCate, FineCate, SeqNo)為主鍵。也就是資料表PRODUCT 為PRODUCT(MajorCate, SubCate, FineCate, SeqNo, ProdName, Price)請檢視此一設計,指出其設計錯誤或不良之處,並在不更動屬性設計的前提下修正之。(20 分)
申論 4兩階段鎖定(Two-Phase Locking)技術可以用來做並行控制(ConcurrencyControl),請詳細說明符合兩階段鎖定協定的交易應遵循的規範為何?時程(Schedule)是指多個交易(Transaction)並行(Concurrency)執行時,各交易內的操作(Operation)間的執行順序。請以此觀點說明若所有交易都遵循兩階段鎖定協定撰寫,則這些交易並行執行時,時程必定是什麼時程?並說明為何遵循這種時程執行可以達到並行控制的目的?(20 分)