當前位置:編程學習大全網 - 編程語言 - 急求壹份數據庫課程設計

急求壹份數據庫課程設計

合肥經濟技術職業學院

電子信息系

課程設計報告

課程:數據庫課程設計

題目:學生管理系統

班級:09計 用

成員:

指導老師:

日期:

目錄

第壹章 前言 3

1.1 課題簡介 3

1.2 設計目的 3

1.3 需求分析 4

第二章 數據庫實例的分析及應用 4

2.1 題目和E-R圖 4

2.2 數據庫的實現 5

2.3 數據庫結構屬性 8

2.3.1主鍵(主鍵約束PRIMARY KEY;索引設置) 8

2.3.2數據庫的默認值和規則 13

2.3.3 視圖和存儲過程 15

2.3.4 觸發器 17

第三章 總結報告 19

參考文獻 19

第壹章 前言

1.1 課題簡介

數據庫技術是計算機科學技術發展最快,應用最為廣泛的技術之壹。其在計算機設計,人工智能,電子商務,企業管理,科學計算等諸多領域均得到了廣泛的應用,已經成為計算機信息系統和應用的核心技術和重要基礎。

本文主要介紹學生成績管理系統的數據庫設計,從需求分析到數據庫的運行與維護都進行詳細的敘述。本系統是利用SQL開發出來的。通過SQL建立學生成績管理系統,大大方便和簡化了數據的查詢和處理,管理員可以通過SQL語言對表內數據進行添加,刪除,修改,查詢等操作,還可以建立多用戶,對其使用權限進行分配和回收。隨著數據處理的不斷進步和計算機網絡的迅速發展,使數據庫應用系統不僅在功能而且在結構上都有了深刻的變化,而且運用在生活的每壹個方面。通過學習關系代數,關系演算,函數依賴,關系模式分解,關系模式的規範化讓我們建立了紮實的關系數據庫理論基礎。而在掌握基本理論的基礎上掌握關系數據庫的設計方法,掌握現代信息系統的開發方法也顯得尤為必要。目前在關系數據庫中用得最多的SQL數據庫,開發數據庫的語言工具多數用C++.。所以對於計算機專業的學生來說掌握數據庫應用的基本技術,熟悉編程語言與SQL數據庫的結合運用是我們計算機專業學生之必備本領。本次課程設計是以學生信息管理系統為模擬模型,運用C++編程語言結合SQL數據庫所開發系統。

1.2 設計目的

隨著學生數量的日益增多,學校對學生的管理要求也越來越高,為了使信息技術與學生信息更好的結合在壹起以及使學生成績的管理更加系統化,數字化,因此我們設計了該學生信息管理系統。運用基於E-R模型的數據庫設計方法和關系規範化理論做指導完成從系統的分析到設計直至系統的最終實現,開發學生成績管理系統,完成學生成績管理系統的全部功能。首先做好需求分析,並完成數據流圖,其次做概念分析,利用實體聯系的方法將需求分析的用戶需求抽象為信息結構,得到E-R圖,然後就是邏輯結構設計,將E-R圖轉換為計算機系統所支持的邏輯模型。最後利用SQL完成具體的實例。

1.3 需求分析

1、問題的提出:為了高效率的完成學生的管理,決定開發學生管理系統。

2、需完成的功能:

(1)能錄入、修改、查詢、輸出學生的檔案信息,這些信息包括學生的成績、課程、個人信息等。

(2)觸發器,索引,約束,規則,默認值,,視圖,存儲過程的建立及使用。

第二章 數據庫實例的分析及應用

2.1 題目和E-R圖

隨著學生數量的日益增多,學校對學生的管理要求也越來越高,為了使信息技術與學生信息更好的結合在壹起以及使學生成績的管理更加系統化,數字化,因此我們設計了該學生信息管理系統。以下是次學生信息管理系統的E-R圖,進壹步詳細的說明數據庫的結構以及用途。實體和屬性的定義:

學生表(學生學號,姓名,班級編號)

班級表(班級編號,班級名稱,系部編號)

系部表(系部編號,系部名)

教師表(教師名,課程編號,系部編號)

課程表(課程編號,課程名,學分,教師,系部號)

下面是E-R圖,用來進壹步說明數據庫的作用和用途:

2.2 數據庫的實現

運用SQL Server 2000數據設計表格的物理結構如下:

班級表:

學生表:

系部表:

課程表:

教師表:

各表關系圖:

設計表格的具體填入數據是:

班級表:

學生表:

教師表:

系部表:

課程表:

2.3 數據庫結構屬性

2.3.1主鍵(主鍵約束PRIMARY KEY;索引設置)

1.索引與書目錄相似,可以快速找到指定內容。索引通過記錄表中的關鍵值來指向表中的記錄,這樣數據庫就不用掃描而能定位到相關的記錄。以下是對各表進行索引的實現。

學生表的設置如圖:

班級表的設計如下:

教師表的設計如下:

課程表的設計如下:

系部表的設置如下:

2.約束定義了關於允許什麽數據進入數據庫的規則,是分配給表或表中某列的壹個屬性。使用約束的目的在於防止列中出現非法的數據,可以自動維護數據庫的數據完整性。下面是用企業管理器對class表實現的主鍵約束:

2.3.2數據庫的默認值和規則

1.使用默認可以實現當用戶在向數據表中插入新紀錄時,如果沒有給出某列的輸入值,則由SQL Server自動為該列輸入默認值。下面是對class表進行實現默認的功能:

實現默認值:

2.規則也是實現數據完整性的方法之壹,作用與CHECK約束類似,在向表的某列插入或更新數據時,用它來限制輸入值的取值範圍。下面我們運用對Course表進行規則的實現:

2.3.3 視圖和存儲過程

1.視圖的作用相當於壹個虛擬表,是用戶查看數據庫表中數據的壹種方式使用戶通過他能夠以需要的方式瀏覽表中的部分或全部數據,而數據的物理存放位置仍然在數據庫的表中。我們通過在企業管理器中創建視圖管理視圖應用視圖,更加形象具體的說明了視圖的作用。

添加表格到視圖:

添加數據並運行:

運行結果,具體視圖呈現:

2.存儲過程是壹組編譯在單個執行計劃中的Transact-SQL語句,它將壹些固定的操作集中起來交給SQL-Server數據庫服務器完成,以實現某個任務。首先我們在查詢管理器中創建存儲過程:

並且執行存儲過程:

在企業管理器中也可以體現出存儲過程:

2.3.4 觸發器

觸發器的作用是強制執行業務規則。SQL Server主要提供了兩種機制來強制業務規則和數據完整性:約束和觸發器。觸發器在指定的表中數據發生變化時被調用以響應INSERT、UPDATE或DELETE事件。觸發器可以查詢其他表,並可以包含復雜的語句。SQL Server將觸發器和觸發它的語句作為可在觸發器內回滾的單個事物對待,如果檢測到嚴重錯誤,則整個事物即自動回滾。首先我們在查詢管理器中新建觸發器:

新建觸發器:

管理觸發器:

第三章 總結報告

這次的課程設計真的做起來困難重重,深刻體會到做壹個軟件,裏面需要的很多知識我們沒有接觸過,去圖書館找書的時候發現,我們學的僅僅是皮毛,還有很多東西需要我們去發掘,就算是借壹本書看完它,我們還是會發現還有很多知識沒有吃透,這需要我們不斷的實踐,不斷地自學習,不斷地發現問題去思考問題。

經過不斷地測試,不斷地改進,其中還是發現了不少問題,第壹次做這些工作,沒有任何經驗,甚至無從下手,還是很謝謝老師和同學的幫忙,從中也學到了壹些代碼的寫法,為什麽要這樣寫,通過和同學的討論,找到壹些書本上沒有的方法,如何數據綁定等等,怎樣從數據庫中將數據提取出來放到壹個文本框或者標簽內,這些東西是組成界面的東西,雖然小,但是可以體現整個軟件的水平,其實並不需要建多少數據庫的表,寫多少復雜的存儲過程,是不是用了數據庫函數,觸發器等等,但是至少要弄明白這些東西如果操作,清晰思路才能將功能分清晰。

經過壹段時間的學習與實踐,學生信息管理系統基本上開發好了。該系統具備了:添加、修改、刪除、瀏覽、查詢、輸出日程信息,實現了根據用戶需求查看日程等功能。作為壹個個人日程管理系統,本系統所提供的功能的確太少了壹些,僅僅只實現了壹些基本的功能,有很多地方還有待擴展和改良。

人如果沒有自信,沒有目標,沒有信心就不可能把事情做好,當其他人都在迷茫的時候,自己壹定要堅信目標,大學畢業出去即是面臨找工作,從學習這個專業,到以後做這方面的工作都需要不斷地去學習去實踐,這次實踐可以給我們敲壹個警鐘,我們面臨畢業,面臨擇業,需要這些實踐經驗,在困難面前要勇於嘗試,這是這次課程設計給我的最大感想。在此特別感謝老師的辛苦指導和教育!

參考文獻

黃維通編《SQL Server2000 簡明教程》

徐人鳳 曾建華編《SQL Server2000數據庫及應用》

  • 上一篇:大專生如何考上事業單位?
  • 下一篇:如何編輯易時代3d仿真虛擬機器人地圖
  • copyright 2024編程學習大全網