資料庫設計規範

2021-07-24 09:04:13 字數 1778 閱讀 4045

1、基本需求

某學校設計學生教學管理系統。

學生實體包括學號、姓名、性別、生日、民族、籍貫、簡歷、登記照,每名學生選擇乙個主修專業,

專業包括專業編號和名稱,乙個專業可以屬於

乙個學院,乙個學院可以有若干個專業。

學院資訊要儲存學院號、學院名、院長。教學管理還要管理課程表和學生成績。

課程表包括課程號、課程名、學分,每門課程由乙個學院開設。學生選修的每門課程獲得乙個成績。

設計該教學管理的er模型,然後轉化為關係模型。

若上面的管理系統還要管理教師教學安排,教師包括編號、姓名、年齡、職稱,乙個教師只能屬於乙個學院,乙個教師可以上若干門課程,一門課程由多名老師來上,每個教師所上的每門課程都有乙個課堂號和課時數。

首先找出實體:1、學生2、專業3、課程4、學院

四個實體就是四張表。

每個實體下邊分別是不同的實體的屬性。如:專業的實體,屬性為專業號,專業,類別

專業實體

學院實體

課程實體

專業號專業

類別學員號

學院院長

課程號課程名

學分學生實體

學號姓名

性別生日

民族籍貫

簡歷登記時間n學生

n主修1專業

n成績選修設定n課程

n開設1學院

1 上圖就是教學管理er模型圖

er模型轉化的關係模型是:

學生(學號,姓名,性別,生日,民族,籍貫,專業號,簡歷)

專業(專業號,專業,專業類別,學員號)

學院(學員號,學院,院長)

課程(課程號,課程名,學分,學院號)

成績(學號,課程號,成績)

題目分析:本題中有學生,專業,學院,課程四個實體。乙個學生主修乙個專業,學生和專業是多對一的關係。乙個專業屬於乙個學院,乙個課程也屬於乙個學院,所以,專業和學院,課程和學院都是多對一的關係。課程和學生是多對多的關係

1對一,只需在其中一張表中新增另乙個表的字段

id即可

1對多的關係,只需要在多的那類新增乙個字段,表示它屬於哪乙個,如:

專業和學生的關係是

1對多,所以在學生表中新增乙個專業的專業號字段,表示所屬的專業

多對多的關係,如:學生和課程是多對多的關係,必須產生乙個新的表來記錄他們之間的關係。如成績表中就有學號和課程號

增加老師後的分析:教師和學院是一對多的關係,所以不需要新增新的表,只需要在教師表中新增乙個學院號的字段。教師和課程是多對多的關係,所以需要增加一張新錶

指定資料庫檔案的名稱,並為設計好的關係模型設計表結構

欄位名型別

寬度小數

主鍵/索引

參照表約束

null值

學院號學院名稱

院長 ii上圖為學院表的設計

1、確保每列的原子性(屬性不可分)

如果每列都是不可再分的最小單元則滿足該正規化

例如:

學號姓名

性別年齡

手機號11

1111

1112344

111111

手機號這列有兩個屬性就不符合規範,應該在建一張關於手機號的表

2、要求每張表只描述一件事情,每條記錄有唯一的標識列

例如:order表

字段例子

訂單標號

001產品編號

002訂購日期

** 可以分成兩張表:order表,和product表

字段例子

訂單編號

字段例子產品編號

3、資料庫表中不包含已在其他表中已包含的非主關鍵字資訊

資料庫設計規範

使用明確 統一的標明和列名,例如 school,schoolcourse,courceid。資料表名使用單數而不是複數,例如 studentcourse,而不是studentcourses。資料表名不要使用空格。資料表名不要使用不必要的字首或者字尾,例如使用school,而不是tblschool,或...

資料庫設計規範

csm簡寫會方便很多 就不要用member id,一致性方便大家理解 system.currenttimemillis 進行儲存text查詢是會產生臨時磁碟檔案,效能差進行擷取儲存型別 占用位元組 範圍tinyint 1 128 127 smallint 2 32768 32767 mediumin...

資料庫設計規範

1.小寫字母 下劃線 2.禁止使用保留關鍵字 3.見名識義 4.臨時表 tmp date 5.備份表 bak date 6.所有儲存相同資料的列名和列型別必須相同 一般這種列為關聯列,若型別不同在查詢時會隱式轉換,效率差 7.庫表字符集統一 8.所有表和字段都要注釋 在建表時用comment從句 9...