{%hackmd @themes/dracula %} :::success 上午場:系統開發模式 ::: >[color=blue]SQL :structured Query language >>[color=pink] >>==期中報告:資料庫設計==(第9周,一組:10分鐘報告+5分Q&A,2~3人一組) ==期末報告:SQL語法== (第18周,一組:10分鐘報告+5分Q&A,2~3人一組)[呼應期中報告] 使用MySQL 資料庫系統(opensource) 如有需要可以結合python 物件導向:UML[推薦,有興趣自己研究] :::success 9:30以前簽到 16:00可以簽退 ::: --- :::info 開發模型 ::: ![image alt](https:// "title") ![](https://imgur.com/a/GsxJfza) :::spoiler 1. 瀑布式:分析->設計->實施 2. 漸增式:分析->漸增開發規劃(週期1~n,可能不相容,做白工) 3. 雛形式:需求不明確、技術風險無法評估 4. 螺旋式: 5. 同步式: ::: | 瀑布式 | 漸增式 | 雛形式 |同步式 | | ------ | ------ | ----- |---| | Text | Text | 用後丟棄| :::info 同步開發與循序開發方法之比較 ::: :::success 下午場:Relational Database(參考第六章) ::: file-based systems早期 |教務系統|學務系統|總務系統| |---|---|---| |學生資料||| 缺點:1.資料不同步2.資料放很多地方 --- |DB|| |---|---| |table1|table2| 主鍵:prinary key(PK) 外來鍵: :::spoiler 資料庫設計流程: 1. 訪談、報表檢視 2. 建立ERD(Entity-Relation Diagram)==此步驟最難== 3. Tables 4. 正規化(1NF~5NF,但通常不規劃5NF) 5. DB ::: --- ERD範例: |----N---<歸屬>---1---系所---1---<歸屬>---N---老師 學生---M--<選課>---N--課程--------< [實體-----關係(1:1;1:N;N:N)-----實體]