使用PowerDesigner搭建學生選課管理系統(學生老師管理員一體系結構)由基礎設計至資料庫生成(SQL語句原始碼的生成)全過程範例操作

2020-10-05 13:00:21

思考構圖大小及範圍

首先,我們大致的寫出要建的幾張表,並自定義其Code(所謂Code其實就是自定義一個欄位名,因為SQL語句不能由中文)
我們可以將不同的表按照不同的型別分開,這樣一個型別的表可以一起建並且相互之間的關係不會弄混

製作概念模型

我們建立管理員表、老師表、學生表,起初每張表的屬性沒有必要填的過於全面,我們開始要注重的是表之間的關係,表的屬性可以在後面新增
1、建第一類表
老師和學生之間是多對多的關係(n:n)
學生和管理員之間是多對多的關係(n:n)
管理員和老師之間是多對多的關係(n:n)

2、建第二類表,並完善一、二類表相互之間的關係
班級和專業之間是多對一的關係(n:1)
專業和學院之間是多對一的關係(n:1)

學生和班級之間是多對一的關係(n:1)
學生和專業之間是多對一的關係(n:1)
學生和學院之間是多對一的關係(n:1)
老師和學院之間是多對一的關係(n:1)
管理員和學院之間無關係

3、建第三類表,並完善類表相互之間的關係
開課和老師之間是多對多的關係(n:n)
開課和管理員之間是多對多的關係(n:n)

選課和學生之間是多對多的關係(n:n)
選課和管理員之間是多對多的關係(n:n)

課程和學生之間是多對多的關係(n:n)
課程和老師之間是多對多的關係(n:n)
課程和管理員之間是多對多的關係(n:n)

成績和學生之間是多對多的關係(n:n)
成績和老師之間是多對一的關係(n:1)
成績和管理員之間是多對多的關係(n:n)

4、建第四類表,並完善類表相互之間的關係
公告和老師之間是多對一的關係(n:1)
公告和管理員之間是多對多的關係(n:n)

屬性的新增

給每一張表新增屬性
其中name(名字)
code(資料庫中的欄位名)
Data Type(資料型別)
length(資料型別的長度)
M:Mandatory 是否為必填項 即非空
P:Primary Identifer 是否為主鍵
D:Displayed 是否可見

每一張表的主鍵,都不允許被其它任何一張表作為屬性使用 學生表

老師表 管理員表

班級表

專業表

學院表

開課表

選課表

課程表

成績表

公告表

概念模型整體構圖:
在這裡插入圖片描述
在這裡插入圖片描述

模型檢測

→ 工具 → 【Check Model】

出現 [Check Model Parameters] 對話方塊。

執行後,警告屬於正常現象

生成物理模型

→ 工具 → 【Generate Physical Data Model】

物理模型整體構圖:
在這裡插入圖片描述
在這裡插入圖片描述
pk: 主鍵
fk: 外來鍵

生成資料庫

→ 資料庫 → 【Generate Database】

生成的sql語句如下:

工作空間、概念模型、物理模型、sql原始碼:
連結:https://pan.baidu.com/s/1O0dLB3km5h2xN045Go2qbA
提取碼:ukkp