作者neoneon (紅茶を飲む程度の能力)
看板NCTU-Teacher
標題Fw: [心得] 梁 婷 - 資料庫系統概論
時間Tue Jul 12 02:33:31 2016
※ [本文轉錄自 neoneon 信箱]
作者:
[email protected] ("愛宕有機奈米負離子貓")
標題: [心得] 梁 婷 - 資料庫系統概論
時間: Sun Jul 10 11:12:09 2016
作者: shaform (回不去的旅程) 看板: NCTU-Teacher
標題: [心得] 梁 婷 - 資料庫系統概論
時間: 2012/07/06 Fri 07:06:52
網誌好讀版:
http://wp.me/pJ4X-hD
-----------------------------------------------
⊕課名⊕
資料庫系統概論
▲教授▲
梁婷
★修課年度★(請加註開課單位 如:大三通識、XX系選修、XX所)
資工系 資工組 大二下必修
£教了什麼£(課程大概內容。或是額外學會了什麼東西。)
這學期因為 project 在期末考前一個月就要交了,
所以課程也變更了一下順序
期中考範圍:
Databases and Database Management Systems
- 資料庫系統簡介,包含其和傳統儲存方式相比的優點
ER and EER Model
- 使用圖像方式協助設計資料模型
Relational Model
Relation Schema Design and Functional Dependencies
- 怎樣的資料表格設計才是好的設計?
Relational Design Algorithms and Further Dependencies
這裡主要教我們如何將想儲存的資料,設計成適當的格式以儲存於資料庫之中。
好讓我們可以開始設計專題的資料庫。
期末考範圍:
SQL
- 一種標準化存取資料庫的語言
Relational Algebra
- 關聯式資料庫數學理論
Disk File
File Structure
- 資料庫系統檔案儲存的實做方式
Transactions
Concurrency
Recovery
- 資料庫系統如何從當機中復原,保證資料狀態的正確性?
Query Optimization
後期就比較注重於資料庫系統背後的原理與架構了。
使用的課本是 Database System: Models, Languages,
Design, and Application Programming 6th
美國版書名是 Fundamentals of Database Systems
選擇此書的原因是因為
老師覺得這本比起 Database System Concepts 容易理解
個人也稍微看過DSC那本,
我也覺得DSMLDAP是比較好理解的。
不過由於老師上課投影片結合多家書籍內容,
而其中許多採用的定義其實跟課本不太一樣
像是 primary index, cluster index 的定義等等,
都與所使用教科書不同,需多加注意。
而像是 extendible hashing 和 linear hashing 的操作
也和課本細節有些微不同, 考試可能會出現。
◆上課方式◆(投影片、團體討論、老師教學風格)
用投影片教學。
老師曾說每個讀資工系的人都有個夢想是創造自己的程式語言。
她也曾想過。
老師很希望有人問她問題,害羞的話寄電子郵件也無妨。
▼考試作業▼
評分如下:
小考成績 15%
期中考成績 30%
期末考成績30%
project 35%(proposal 20% demo 80%)
總分 110 分,所以就沒有調分了,
最後平均約 72.5,大概有1/6的同學90以上。
小考方面總共有7次,有時會事先通知要小考,有時不會。
7次中,取三次高分採記。
由於似乎也剛好有三次小考是有交的就直接算100分,
所以算是點名性質。
小考可以 open book,也可和同學討論。
期中期末都是 close book,這點跟去年不太一樣。
Project 的部份是1~2個人一組,以網頁界面實做一個資料庫應用程式。
像是訂書系統、選課系統等等。
期目自訂,一開始要先交一個proposal,設計資料庫schema等等。
接著再去demo,並交一份介紹投影片。
demo感覺只要沒有什麼bug,分數就不錯。
排版應該不太佔分。
程式語言不限定,一般是用PHP。
不過特別規定不能使用一些太強大的資料庫套裝功能,
而要自己直接用SQL操作。
我們這組採用的是Python配合Django,
當然就不能使用裡頭的 models 了。
https://github.com/shaform/animedbs
真的做了好久,簡直是心血結晶 >w<
設計 SQL 時使用了 MySQL Workbench,感覺幫助良多。
¥其他¥(是否注重出席率or嚴禁遲到?需要的基礎?)
不會每次點名,但有點名性質的小考。
上課時老師不喜歡同學竊竊私語。
基礎方面,理論的部份還好。
實做project的話,有些相關經驗會有幫助。
我覺得這堂課修起來最辛苦的地方有兩個,
首先是 project,
似乎是一開始的proposal不小心把資料庫設計的太複雜,
所以花了很久的時間才實做完成。
尤其這學期我剛好修了不少實做課,所以感覺力不從心。
不過可以使用任意語言這點滿令人高興的,
一直想學Django,這次終於有機會使用。
另外一個辛苦的地方大概是定義不清的問題吧,
因為投影片採用各家書籍,有時會出現不同定義,
例如 natural join, equi-join,老師是說使用哪種定義都可以。
不過也有一些是投影片只有一種講法,但和課本不同的情形。
也有遇到公佈的小考解答解法跟老師教的其實不太一樣。
助教表示僅供參考。
另外就是 B+ tree 要怎麼刪除資料,
課本沒有寫出詳細演算法,可能也得細心多看才能理解。
這些小問題需要多加注意,所以有時滿困擾的。
¢最後想說的話¢
平常這堂課都會有一些不同年級的同學來修。
這學期應該是因為跟專題(一)衝堂,
所以修課人數非常少,只有四十幾個人??
相比起來是溫馨的小班教學。
辛苦的一學期終於結束了,
覺得很開心 \0.0/
&誰適合修這門課&
只要擁有學籍大概都可。
--
▄▄▄▄▄▄▄ ▄▄▄▄ ▄▄▄▄▄▄ <telnet://bbs.cs.nctu.edu.tw>
█▄▄▄▄█ █ ▄▄▄▄▄█ Player: shaform
▄█▄▄▄▄█ ▄▄▄█ █▄▄▄▄▄ From: linux1.cs.nctu.edu.tw
☆ 次世代BS2 ☆ 可申請個人板 150MB 相簿
http://pic.bs2.to 交大資訊人 250MB
作者從 linux1.cs.nctu.edu.tw 修改文章於 2012/07/06 Fri 07:12:09
推 xatier:推薦這篇文章 07/06 09:27
推 CMturtle:推薦這篇文章 07/06 19:36
推 CMturtle:相較下感覺札實很多...不過另外一個班是 1/6 的人 99分.. 07/06 19:37
雞 ChickenFood:老師要退休嚕~ 07/06 20:42
作者從 linux1.cs.nctu.edu.tw 修改文章於 2013/01/03 Thu 10:32:49
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: neoneon (106.105.175.48), 07/12/2016 02:33:31