學生選課資料庫課程設計概貌

2021-03-04 03:57:58 字數 4817 閱讀 8307

資料庫系統課程設計

題目學生選課資料庫設計

院系資訊科技與工程學院

專業電腦科學與技術

姓名 ***x

學號 *********

班級名稱 12級網路一班

指導教師王昌厚

小組其它人員

2023年12月30日

本選課系統僅需滿足三類使用者的要求,分別是系統管理員、教師和學生,他們所具有的操作許可權以及操作內容各有不同。要求系統可以滿足以下功能:系統管理員能對學生資訊、教師資訊、課程資訊進行有效的管理和維護,包括增加、刪除、修改和查詢;教師和學生能夠對個人基本資訊、授課和選課所涉及的有關資訊進行查詢和更新操作。

需求分析:

一.資料需求:

1.學生

描述:在校參與學習的人員,有學號編號,且一定屬於某一專業。

學生資訊=學號+姓名+性別+院系+專業+年級+班級+年齡+**+email

2.教師

描述:在校參加教學工作的人員。

教師資訊=教師工號+姓名+性別+院系+年齡+**+職稱+ email。

3.課程

描述:按專業設定學生應該選學的課程的基本資訊。

課程資訊=課號+課程名稱+學時數+學分+專業。

4.學號=[0-9],唯一標識乙個學生。[0-9]指9位數字字元

5.性別=[男女]

6.姓名=個人的姓氏名稱

7.院系=標識學院或系的唯一名稱

8.**=乙個人員的所有可聯絡的**

9.職稱=標識技術職稱唯一名稱

10.email=電子郵箱位址

11.教師工號=[0-9],唯一標識乙個教師。

12.課號=[0-9],唯一標識計畫開設課程。

14.課程名稱=計畫開設課程名稱,與教材名稱不一定相同。

15.學時數=對應課號的課程教學學時。

16.學分=對應課號的課程相應學分值。

17.專業=專業名稱,同一專業名稱唯一。

18.選課

描述:學生(必修)選修某教師所授課程的資訊。

課程=教師+課程+學生+成績。

18.成績=0到100的整數。

19.年級=1到4整數

20.班級=大於1的整數,指某專業某年級的第幾班

二.事務需求:

1.系統管理員維護學生的基本資訊,實現對學生個人資訊的增加、刪除、修改和查詢等操作。

2.系統管理員維護教師的基本資訊,實現對教師個人資訊的增加、刪除、修改和查詢等操作。

3.系統管理員維護課程的基本資訊,實現對課程資訊的增加、刪除、修改和查詢等操作。

4.學生使用者查詢和修改個人資訊,如**、email。

5.學生使用者完成個人選課操作,包括課程設定資訊、選課、退課和查詢已選課程等。

6.教師使用者查詢和修改個人資訊,如**、email。

7.教師使用者負責對學生成績登記。

8.教師使用者可以檢視自己的教學安排,包括講授課的的資訊,以及已經登記的學生成績等。

三.資料規則

1.一門課可以由不同教師開設,同乙個學生同乙個課程僅由乙個教師講授。

2.乙個教師可以開設多門課程。

3.乙個學生可以選多門課。

4.乙個教師的一門課可以由多個學生選修。

5.乙個學生選修的課程都由教學教師給出成績。

6.學校的院系是確定的,同乙個院系的名稱是確定的,不是院系的名稱可以區分。

7.專業名稱確定並唯一。

8.本資料庫設計不考慮時間問題。

概念模型:

學生實體及屬性圖

教師實體及屬性圖

課程實體及屬性圖

學生選課er圖

關係資料模型

把學生實體型轉換為學生關係模式,因為學生的**是乙個多值屬性,所以把**屬性從學生關係模式中去掉,**和學號合成乙個新的關係模式學生**。如下:

學生(,

)學生**(**,學號)

把教師實體轉換為教師關係,教師的**是乙個多值屬性,所以把**屬性從教師關係模式中去掉,**和工號合成乙個新的關係模式教師**。如下:

教師(,

)教師**(**,工號)

教師**關係的工號列參照了教師關係中的工號。

把課程實體轉換為課程關係:

課程(,

)把選課實體聯絡轉換為選課關係模式。

選課(,)

學號,姓名,性別,院系,專業, 課號,課名,email是字串資料;年級,班級, 學時,學分,年齡和成績為整數。

資料庫的物理設計

為了限定院系名稱、專業名稱和職稱名稱唯一性,避免同乙個院系在資料庫中出現名稱的不一致情況,分別建立院系、專業和職稱關係,以此分別做為學生、教師的被參照的物件構成域約束。

create table 職稱(

[id] [char](4) primary key clustered ([id] asc),

[name] [varchar](40) not null unique)

create table院系(

[id] [char](4) primary key clustered ([id] asc),

[name] [varchar](40) not null unique)

create table 專業(

[id] [char](4) primary key clustered ([id] asc),

[name] [varchar](40) not null unique,

foreign key([zid]) references [dbo].[院系] ([id]))

1.create table 學生

( 學號 char(9),

姓名 char(20),

性別 char(2) check(性別 in('男','女')),

院系 char(4) references 院系 (id),

專業 char(4) references 專業 (id) ,

年級 **allint check(年級 in (1,2,3,4)),

班級 **allint check(班級》0),

年齡 **allint check(年齡》0 and 年齡<100),

email varchar(100) ,

constraint 學生主鍵 primary key(學號)

--學號,姓名,性別,院系,專業,年級,班級,年齡,email)2.

create table 教師

( 工號 char(7),

姓名 char(20),

性別 char(2) check(性別 in('男','女')),

院系 char(4) references 院系 (id),

年齡 **allint check(年齡》0 and 年齡<100),

email varchar(100) ,

constraint 教師主鍵 primary key(工號),

職稱 char(4) references 職稱 (id)

--教師(工號,姓名,性別,院系,年齡,職稱, email))3.

create table 課程

( 課號 char(4),

課名 char(40)not null,

學時 **allint check(學時》0),

學分 **allint check(學分》0),

專業 char(4) constraint 課程_專業 references 專業 (id),

constraint 課程主鍵 primary key(課號)

--課程(課號,課名,學時,學分,專業))4.

create table 選課

( 學號 char(9),

工號 char(7),

課號 char(4),

成績 **allint check(成績》=0 and 成績<=100),

constraint 選課主鍵 primary key(學號,工號,課號),

constraint 選課_學生 foreign key(學號)references 學生(學號)on update cascade,

constraint 選課_教師 foreign key(工號)references 教師(工號)on update cascade,

constraint 選課_課程 foreign key(課號)references 課程(課號)on update cascade,

constraint 檢驗課與學生專業相同 check(dbo.f(課號,學號)=1)

)為了使學生的專業和課程的專業一致,增加了「檢驗課與學生專業相同」check約束。其中標量函式f如下:

create function f(@課號 as char(4),@學號 as char(9))

returns integer

asbegin

declare @r integer=0

if (select 專業 from 課程 where 課號=@課號)=(select 專業 from 學生 where 學號=@學號)

set @r=1

return @r

end5

create table 學生**

( ** varchar(12) not null,

學號 char(9)not null references 學生(學號),

primary key(**,學號)

--學生**(**,學號學號))7

create table 教師**

( ** varchar(12) not null,

工號 char(7)not null references 教師(工號),

primary key(**,工號)

--教師**(**,工號))

資料庫選課管理系統課程設計

上海xx學院 課程設計報告 課程名稱 大型資料庫課程設計 課題名稱選課管理系統 姓名班級bx0907 帶教老師 報告日期 2011年12月30日 電子資訊學院 目錄第1章前言 1 1.1 背景 1 1.2基本功能要求 1 1.3課程設計的目的與意義 1 第2章設計內容 2 2.1需求分析 2 2.1...

資料庫課程設計

隨著網際網路的發展,社會生活步驟的加快,電子商務逐漸走進人們的生活,滿足了人們生活步驟的需要。高效,低成本使其成為了新興的經營模式和理念。民以食為天 隨著生活水平的提高,餐飲業在服務行業中站有越來越重要的地位。同時人們也需要一種更有效 更快速 更便捷的方法來解決吃飯的時間問題。而網上訂餐系統也營運而...

資料庫課程設計

資料庫技術及應用課程設計 教學管理系統設計 班級電氣0705 姓名何山 學號 u200712295 時間 2010年1月24日 1 緒論 資料庫是20世紀60年代中後期開始出現的一種資料管理技術,它具有以下優點 1 實現資料共享 資料共享包含所有使用者可同時訪問資料庫中的資料,也包括使用者可以用各種...