SQLServer數據庫課程設計報告_第1頁
SQLServer數據庫課程設計報告_第2頁
SQLServer數據庫課程設計報告_第3頁
SQLServer數據庫課程設計報告_第4頁
SQLServer數據庫課程設計報告_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、武漢工業(yè)學院數據庫系統(tǒng)課程設計說明書設計題目:選課管理系統(tǒng)姓名陶向東學院數學與計算機學院專業(yè)計算機類學號指導教師李禹生2012年6月8日、讀書筆記1)SQL數據庫的實際應用、SQL包括了所有對數據庫的操作,主要是由4個部分組成:數據定義:這一部分又稱為“SQLDDL”,定義數據庫的邏輯結構,包括定義數據庫、基本表、視圖和索引4部分。數據操縱:這一部分又稱為“SQLDML”,其中包括數據查詢和數據更新兩大類操作,其中數據更新又包括插入、刪除和更新三種操作。數據控制:對用戶訪問數據的控制有基本表和視圖的授權、完整性規(guī)則的描述,事務控制語句等。4嵌入式SQL語言的使用規(guī)定:規(guī)定SQL語句在宿主語言的

2、程序中使用的規(guī)則。、在如今的互聯網系統(tǒng)中主要存在B-S模式和C-S模式,B-S模式指的是瀏覽器服務器模式,C-S模式指的是客戶服務器模式。兩者的相同部分就是SERVER服務器,SERVER服務器是指的專用計算機,它擁有大容量存儲設備和高性能計算功能,用于存儲復雜的用戶數據,這些復雜臃繁的數據以關系模型存儲也就是二維表的形式存儲,各二維表之間以相同的字段形成聯系,這樣存儲的好處是具有較小的冗余度、較高的數據獨立性和易擴展性,并可為各種用戶共享。在這些專用計算機運行著位于用戶與操作系統(tǒng)之間的一層數據管理軟件。數據庫管理系統(tǒng)和操作系統(tǒng)一樣是計算機的基礎軟件,也是一個大型復雜的軟件系統(tǒng),其主要功能包括

3、數據定義,數據組織、存儲和管理,數據操縱功能,數據庫的事務管理和運行管理,DBMS與另一個DBMS或文件系統(tǒng)的數據轉換功能,異構數據庫之間的互訪和互操作功能等。而數據庫系統(tǒng)是指的在計算機系統(tǒng)中引入數據庫后的系統(tǒng),一般由數據庫、數據庫管理系統(tǒng)(及其開發(fā)工具)、應用系統(tǒng)、數據庫管理員構成。2)SQL數據庫的安全性、計算機系統(tǒng)的三類安全性問題所謂計算機系統(tǒng)安全性,是指為計算機系統(tǒng)建立和采用的各種安全保護措施,以保護計算機系統(tǒng)中的硬件、軟件、及數據,防止其偶然或惡意的原因是系統(tǒng)遭到破壞,數據遭到更改或泄露等。技術安全:計算機系統(tǒng)中采用具有一定安全性的硬件、軟件來實現對計算機系統(tǒng)及其所存數據的安全保護,

4、當計算機系統(tǒng)受到無意或惡意的攻擊時仍能保證系統(tǒng)正常運行,保證系統(tǒng)內的數據不增加、不丟失、不泄露。管理安全:由于管理不善導致的計算機設備和數據介質的物理破壞、丟失等軟硬件意外故障以及場地的意外事故等安全問題。政策法律:政府部門建立的有關計算機犯罪、數據安全保密的法律準則和政策法規(guī)、法令。、數據庫安全性控制用戶標識與鑒別:用戶標識、口令。存取控制:定義用戶權限,并將用戶權限登記到數據字典中、合法權限檢查。、自主存取控制(DAC)方法:授權與回收:GRANT語句,GRANTSELECTONTABALESCTOPUBLIC;/把對表SC的查詢權限授予所有用戶;REVOKE語句,REVOKESELECT

5、ONTABLESCFROMPUBLIC;/收回所有用戶對表SC的查詢權限;創(chuàng)建數據模式的權限,CREATEUSERWITHDBA|RESOURCE|CONNECT;數據庫角色:角色創(chuàng)建,給角色授權,將一個角色授權給其他角色或用戶,角色權限收回。、強制存取控制(MAC)方法。3)SQL數據庫的設計數據庫設計:對于一個給定的應用環(huán)境,構造(設計)優(yōu)化的數據庫邏輯模式和物理結構,并據此建立數據庫及其應用系統(tǒng),使之能夠有效地存儲和管理數據,滿足各個用戶的應用需求,包括信息管理要求和數據操作要求。數據庫設計的特點:數據庫建設的基本規(guī)律:“三分技術,七分管理,十二分基礎數據”;機構(數據)設計和行為(處理

6、)設計相結合。數據庫設計方法:計算機的基礎知識,軟件工程的原理和方法,程序設計的方法和技巧,數據庫的基本知識,數據庫設計技術,應用領域知識。數據庫設計的基本步驟:需求分析,概念結構設計,邏輯結構設計,物理結構設計,數據庫實施,數據庫運行和維護。4)SQL作為后臺數據庫與前臺開發(fā)工具的結合前臺開發(fā)工具用于做前臺頁面,設計出可視化的圖形界面,使不同權限的用戶都便于操作整個系統(tǒng)。而前臺頁面與后臺數據庫連接最關鍵的地方則在于SQL語句。各種開發(fā)語言都提供了其連接數據庫的類,通過這些類的相應方法實現連接數據庫、對數據源的各種操作,包括查詢、插入、刪除、更新操作、返回操作結果等。當點擊圖形界面相應的控件時

7、,通過監(jiān)聽觸發(fā)產生相應的SQL語句,然后執(zhí)行SQL語句將返回的結構顯示在圖形界面上。5)SQL查詢命令的應用SQL提供select語句進行數據庫的查詢,該語句具有靈活的使用方式和豐富的功能。分為:1.單表查詢2.連接查詢3.嵌套查詢4.集合查詢。6)SQL在VB、ASP或其他自選語言中的實際應用SQL在C#中的實際應用:首先實現對數據庫的連接,必須創(chuàng)建一個字符型的連接語句:StringConnectionString=DataSource=localhost;InitialCatalog=students;PersistSecurityInfo=True;UserID=sa;Password=

8、txd100511726;然后創(chuàng)建一個SqlConnection類對象實現對數據庫的連接SqlConnectionmyCon=newSqlConnection(ConnectionString);通過事件產生SQL語句,stringselectSQL=selectSNO學號,SNAME姓名,SSEX性別,SAGE年齡,U_STUDENTS.CID班號,MAJOR專業(yè),CLASS班級,DEPARTMENT系別fromdbo.U_STUDENTS,dbo.U_CLASSESwheredbo.U_STUDENTS.CID=dbo.U_CLASSES.CIDandSNO=+textBox6.Text+

9、;然后倉U建SqlCommand對象,SqlCommandmyCom=newSqlCommand();執(zhí)行SQL語句,實現對數據源的各種操作,然后返回操作結果。二、系統(tǒng)分析開發(fā)背景學生選課管理系統(tǒng)的設計為選課及成績管理提供了一個良好的工具,此系統(tǒng)要幫助學校管理學生選課成績管理。使學生課程成績更便于管理。需求分析(功能需求分析,數據流程分析即數據流圖等)學生選課管理系統(tǒng)的設計為選課及成績管理提供了一個良好的工具,此系統(tǒng)基本實現了設計的要求,即登錄系統(tǒng)(通過用戶名和密碼),管理(錄入、查詢、修改和刪除)學生、課程基本資料,管理(錄入、查詢、修改和刪除)學生所選課程成績,修改用戶密碼等功能。在此基礎

10、上,我還對系統(tǒng)進行了改進,特別是加強了查詢的功能,使我們能更直觀、有效地查詢到我們想要的數據。三、系統(tǒng)設計1系統(tǒng)總體結構系統(tǒng)的模塊劃分為如圖所示,分別為:用戶登錄、學生信息管理、課程信息管理、選課成績管理、用戶管理5個模塊。每個模塊負責相應的功能。系統(tǒng)采用ADO.NET技術實現對數據庫的訪問操作,使用SQLServer2005作為后臺數據庫。用戶登錄模塊提供用戶登錄界面,輸入用戶名,密碼進行登錄。學生信息管理模塊學生信息管理模塊,用于管理學生的基本信息,所包括的字段有:學號、姓名、性別、年齡、班級號,提供對學生信息的錄入、查詢、修改和刪除的操作。課程信息管理模塊課程信息管理模塊用于管理課程的信

11、息,所包含的字段有:課程號、課程號、學分和教師,提供對課程信息的錄入、查詢、修改和刪除的操作。選課成績管理模塊選課成績管理模塊用于管理學生的選課與成績,所包含的字段有:學號、課程號和成績,提供對選課成績信息的錄入、查詢、修改和刪除的操作。用戶管理模塊用戶管理模塊用于用戶賬號和密碼的管理,其功能包括添加用戶,注銷用戶和修改密碼。2數據庫結構設計數據庫列表:表單號表單名功能U_STUDENTS學生信息表儲存學生個人信息U_COURSES課程信息表儲存每科課程的信息U_SCORES選修成績表儲存學生所選修的課程的成績USERS用戶表儲存用戶的賬號與密碼U_CLASSES班級表存儲班級信息數據庫E-R

12、圖數據庫表單創(chuàng)建“USERS”并添加各字段,如圖所示:表-dbo.UERK-dbo-.US-TUDENTSB-dbo.USCORES表-d;usernamepwd100511726100511726adminadminliubingliubing“U_STUDENTS”并添加各字段,如圖所示:55EXGID-abo.U&ER-dt.U_&-TUDEMTS-db-o.U_&CORE&:-dbo.U_COU5NO5NAMESAGE10025261191005117U1鄭恫21100511720Z010051172S陶向東20005ill72T李喩Z110051172&2110051172I.卉莒Z

13、110120120619101201207周穎19X0257S67319A/ULLjfiJULL“UCOURSES”并添加各字段,如圖所示:羨-dbo.USERS-離-dbo.U_STUDENT表-dbe.U_&CORES-dbarU_COURSECNOCOURSECREDITTEACHERk1操件系績7徐軍利2數拐結枸5豐洪才M4圧外日錚浄斗高等數學5王防修53裒祥勝5皿觀程厚設計斗董正盍7犬學英語斗3阪紅芳8馬気思主窓原理5趙紅星g紙性代埶6/VfjEZryuLiMJ1L創(chuàng)建“U_SC0RES”并添加各字段,如圖所示:更-占岳巫巨its了表二石匸j”U_hnJDEMTp%_tboLU丄gF

14、tES憊::電??曲豐目SNOCNOSCORE100511701190100511726190100511727178100511701280100511726236100511727Z&3100511701398100511726M94創(chuàng)建“U_CLASSES”并添加各字段,如圖所示:丟-dbo.UCLASSES搖芙匚I口匚LA55MAJORDEPARTMENT1_班軟件工程勤計學除2二班軟件工程數計學除3_班屈貓工程頻計學卩完斗二班兩絡工程埶計學卩完5AMZ計聲機科學與埶計學卩完E救宇媒體技朮救計芋卩左7_班信息與計算科學埶計學卩蕓S二班信息與計算科學埶計學卩兌9三班軟件工程數計字卩完血如

15、MilMil主要查詢功能的SQL語句:查詢學生信息按學號查找selectSNO學號,SNAME姓名,SSEX性別,SAGE年齡,U_STUDENTS.CID班號,MAJOR專業(yè),CLASS班級DEPARTMENT系別fromdbo.U_STUDENTS,dbo.U_CLASSESwheredbo.U_STUDENTS.CID=dbo.U_CLASSES.CIDandSNO=+textBox6.Text+;按姓名查找selectSNO學號,SNAME姓名,SSEX性別,SAGE年齡,U_STUDENTS.CID班號,MAJOR專業(yè),CLASS班級DEPARTMENT系別fromdbo.U_STU

16、DENTS,dbo.U_CLASSESwheredbo.U_STUDENTS.CID=dbo.U_CLASSES.CIDandSNAME=+textBox7.Text+添加學生記錄selectSQL=selectSNO學號,SNAME姓名,SSEX性別,SAGE年齡,U_STUDENTS.CID班號,MAJOR專業(yè),CLASS班級DEPARTMENT系別fromdbo.U_STUDENTS,dbo.U_CLASSESwheredbo.U_STUDENTS.CID=dbo.U_CLASSES.CIDandSNAME=+textBox7.Text+;修改學生記錄updatedbo.U_STUDEN

17、TSsetSNAME=+textBox2.Text+SSEX=+textBox3.Text+SAGE=+textBox4.Text+CID=+textBox5.Text+whereSNO=+textBox1.Text+;刪除學生記錄deletefromdbo.U_STUDENTSwhereSNO=textBox1.Text+;查詢課程信息selectSQL=selectCNO課程號COURSE課程名CREDIT學分TEACHER教師fromdbo.U_COURSESwhereCNO=+textBox4.Text+;(按課程號查詢)selectCNO課程號COURSE課程名CREDIT學分,TE

18、ACHER教師fromdbo.U_COURSESwhereCOURSE=+textBox5.Text+;(按課程名查詢)刪除課程信息deletefromdbo.U_COURSESwhereCNO=+textBox1.Text+修改課程記錄updatedbo.U_COURSESsetCOURSE=+textBox2.Text+CREDIT=+textBox3.Text+TEACHER=+textBox6.Text+whereCNO=+textBox1.Text+;添加課程記錄insertintodbo.U_COURSES(CNOCOURSECREDITTEACHER)values(+textBo

19、x1.Text+textBox2.Text+textBox3.Text+textBox6.Text+);查詢選修課成績selectdbo.U_STUDENTS.SNO學號dbo.U_STUDENTS.SNAME姓名dbo.U_COURSES.CNO課程號,dbo.U_COURSES.COURSE課程名,dbo.U_COURSES.TEACHER教師,dbo.U_SCORES.SCORE成績fromdbo.U_STUDENTS,dbo.U_COURSES,dbo.U_SCORESwheredbo.U_STUDENTS.SNO=dbo.U_SCORES.SNOanddbo.U_COURSES.CN

20、O=dbo.U_SCORES.CNO;開發(fā)方案的選擇(主要是前端開發(fā)平臺的選擇與方案的比較)前臺開發(fā)方案主要有兩種大方向:主要存在B-S模式和C-S模式,B-S模式指的是瀏覽器服務器模式,C-S模式指的是客戶服務器模式。B-S模式可以選擇ASP、JSP、PHP等通過瀏覽器解析運行網頁文件來實現相應功能。C-S模式可選前臺開發(fā)語言較多,主要有:JAVA,C#,C+等,通過窗體來實現相應功能。四、系統(tǒng)實施選課成績模塊的設計與實現(模塊功能、運行界面、源代碼)1.運行界面:0共疇刪穿生璋謹言理專心2.源代碼usingSystem;usingSystem.Collections.Generic;usi

21、ngSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceProject2publicpartialclassForm5:FormpublicForm5()InitializeComponent();privatevoidbutton1_Click(objectsender,EventArgse)if(textBox1.Text=|textB

22、ox3.Text=)MessageBox.Show(必須填寫學號和課程號!填完修改信息再按修改按鈕!);return;stringUpdateSQL=updatedbo.U_SCORESsetSCORE=+textBox5.Text+whereSNO=+textBox1.Text+andCNO=+textBox3.Text+;ExcuteSQL(UpdateSQL);MessageBox.Show(修改成功!);privatevoidbutton4_Click(objectsender,EventArgse)Form2form2=newForm2();this.Hide();form2.Sho

23、w();privatevoidbutton2_Click(objectsender,EventArgse)if(textBox1.Text=&textBox3.Text=)MessageBox.Show(學號和課程號是必填項,請?zhí)钔旰笤賳螕籼砑影粹o!”);return;stringInsertSQL=insertintodbo.U_SCORES(SNO,CNO,SCORE)values(+textBox1.Text+,+textBox3.Text+,+textBox5.Text+);ExcuteSQL(InsertSQL);MessageBox.Show(添加成功!);privatevoidb

24、utton3_Click(objectsender,EventArgse)if(textBox1.Text=&textBox3.Text=)MessageBox.Show(必須填寫學生學號和課程號,請?zhí)钔旰笤賳螕魟h除按鈕!”);return;stringDeleteSQL=deletefromdbo.U_SCORESwhereSNO=+textBox1.Text+andCNO=+textBox3.Text+;ExcuteSQL(DeleteSQL);MessageBox.Show(刪除成功!);privatevoidDisplay()StringConnectionString=DataSou

25、rce=localhost;InitialCatalog=students;PersistSecurityInfo=True;UserID=sa;Password=txd100511726;SqlConnectionmyCon=newSqlConnection(ConnectionString);myCon.Open();SqlCommandmyCom=newSqlCommand();myCom.CommandType=CommandType.Text;stringcomstr=selectU_STUDENTS.SNO,U_STUDENTS.SNAME,U_COURSES.CNO,U_COUR

26、SES.COURSE,U_SCORES.SCOREfromdbo.U_STUDENTS,dbo.U_COURSES,dbo.U_SCORESwhereU_STUDENTS.SNO=U_SCORES.SNOandU_COURSES.CNO=U_SCORES.CNO;myCom.CommandText=comstr;myCom.Connection=myCon;SqlDataReadermyReader=myCom.ExecuteReader();myReader.Read();textBox1.Text=myReader.GetString(0);textBox2.Text=myReader.G

27、etString(1);textBox3.Text=myReader.GetInt16(2).ToString();textBox4.Text=myReader.GetString(3);textBox5.Text=myReader.GetInt32(4).ToString();myReader.Close();myCon.Close();privatevoidExcuteSQL(stringSQL)StringConnectionString=DataSource=localhost;InitialCatalog=students;PersistSecurityInfo=True;UserI

28、D=sa;Password=txd100511726;SqlConnectionmyCon=newSqlConnection(ConnectionString);myCon.Open();SqlCommandmyCom=newSqlCommand();myCom.CommandType=CommandType.Text;myCom.CommandText=SQL;myCom.Connection=myCon;myCom.ExecuteNonQuery();myCon.Close();privatevoidtextBox3_TextChanged(objectsender,EventArgse)

29、privatevoidForm5_Load(objectsender,EventArgse)Display();privatevoidbutton6_Click(objectsender,EventArgse)StringConnectionString=DataSource=localhost;InitialCatalog=students;PersistSecurityInfo=True;UserID=sa;Password=txd100511726;SqlConnectionmyCon=newSqlConnection(ConnectionString);myCon.Open();str

30、ingselectSQL=selectdbo.U_STUDENTS.SNO學號,dbo.U_STUDENTS.SNAME姓名,dbo.U_COURSES.CNO課程號,dbo.U_COURSES.COURSE課程名,dbo.U_COURSES.TEACHER教師,dbo.U_SCORES.SCORE成績fromdbo.U_STUDENTS,dbo.U_COURSES,dbo.U_SCORESwheredbo.U_STUDENTS.SNO=dbo.U_SCORES.SNOanddbo.U_COURSES.CNO=dbo.U_SCORES.CNO;SqlCommandmyCom=newSqlCom

31、mand();SqlDataAdaptermyadpt=newSqlDataAdapter(selectSQL,myCon);DataSetdataset=newDataSet();dataGridView1.DataSource=dataset;dataset.Clear();myadpt.Fill(dataset);dataGridView1.DataSource=dataset.Tables0.DefaultView;myCon.Close();privatevoidbutton5_Click(objectsender,EventArgse)StringConnectionString=

32、DataSource=localhost;InitialCatalog=students;PersistSecurityInfo=True;UserID=sa;Password=txd100511726;SqlConnectionmyCon=newSqlConnection(ConnectionString);myCon.Open();if(textBox6.Text=|textBox7.Text=)MessageBox.Show(學生學號和課程名都不能為空,請?zhí)钔旰笤賳螕舨檎野粹o!”);return;elsestringselectSQL=selectdbo.U_STUDENTS.SNO學號

33、,dbo.U_STUDENTS.SNAME姓名,dbo.U_COURSES.CNO課程號,dbo.U_COURSES.COURSE課程名,dbo.U_COURSES.TEACHER教師,dbo.U_SCORES.SCORE成績fromdbo.U_STUDENTS,dbo.U_COURSES,dbo.U_SCORESwheredbo.U_STUDENTS.SNO=dbo.U_SCORES.SNOanddbo.U_COURSES.CNO=dbo.U_SCORES.CNOanddbo.U_STUDENTS.SNO=+textBox6.Text+anddbo.U_COURSES.COURSE=+tex

34、tBox7.Text+;SqlCommandmyCom=newSqlCommand();SqlDataAdaptermyadpt=newSqlDataAdapter(selectSQL,myCon);DataSetdataset=newDataSet();dataGridView1.DataSource=dataset;dataset.Clear();myadpt.Fill(dataset);dataGridView1.DataSource=dataset.Tables0.DefaultView;myCon.Close();privatevoidtextBox6_TextChanged(obj

35、ectsender,EventArgse)privatevoidbutton7_Click(objectsender,EventArgse)StringConnectionString=DataSource=localhost;InitialCatalog=students;PersistSecurityInfo=True;UserID=sa;Password=txd100511726;SqlConnectionmyCon=newSqlConnection(ConnectionString);myCon.Open();if(textBox6.Text=)MessageBox.Show(學生學號

36、不能為空,請?zhí)钔旰笤賳螕舨檎野粹o!);return;elsestringselectSQL=selectdbo.U_STUDENTS.SNO學號,dbo.U_STUDENTS.SNAME姓名,dbo.U_COURSES.CNO課程號,dbo.U_COURSES.COURSE課程名,dbo.U_COURSES.TEACHER教師,dbo.U_SCORES.SCORE成績fromdbo.U_STUDENTS,dbo.U_COURSES,dbo.U_SCORESwheredbo.U_STUDENTS.SNO=dbo.U_SCORES.SNOanddbo.U_COURSES.CNO=dbo.U_SCO

37、RES.CNOanddbo.U_STUDENTS.SNO=+textBox6.Text+;SqlCommandmyCom=newSqlCommand();SqlDataAdaptermyadpt=newSqlDataAdapter(selectSQL,myCon);DataSetdataset=newDataSet();dataGridView1.DataSource=dataset;dataset.Clear();myadpt.Fill(dataset);dataGridView1.DataSource=dataset.Tables0.DefaultView;myCon.Close();privatevoidbutton8_Click(objectsender,EventArgse)StringConnectionString=DataSource=localhost;InitialCatalog=students;PersistSecurityInfo=True;UserID=sa;Password=txd100511726;SqlConnectionmyCon=newSqlConnection(ConnectionString);myCon.Open();if(textBox7.Text=)MessageBox.Show(課程號不能為空,請?zhí)钔?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論