數(shù)據(jù)庫課程設計---報刊訂閱管理系統(tǒng)的設計與實現(xiàn)_第1頁
數(shù)據(jù)庫課程設計---報刊訂閱管理系統(tǒng)的設計與實現(xiàn)_第2頁
數(shù)據(jù)庫課程設計---報刊訂閱管理系統(tǒng)的設計與實現(xiàn)_第3頁
數(shù)據(jù)庫課程設計---報刊訂閱管理系統(tǒng)的設計與實現(xiàn)_第4頁
數(shù)據(jù)庫課程設計---報刊訂閱管理系統(tǒng)的設計與實現(xiàn)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、存檔資料 成績: xxxx課 程 設 計 報 告 書 所屬課程名稱 數(shù)據(jù)庫系統(tǒng)開發(fā)教程 題 目 報刊訂閱管理系統(tǒng)的設計與實現(xiàn) 分 院 XXXXXXXXXXXX 專業(yè)班級 XXXXXXXXXX 學號 XXXXXXXXXXXXXXXXX 學生姓名 XXXXXXXX 指導教師 XXXXXXXXX 20XX年XX月XX日 第 1 頁 共 36 頁XXXXX課程設計報告目錄第一章課程設計內(nèi)容及要求41.1設計目的41.2設計要求41.3設計環(huán)境4第二章概要設計52.1系統(tǒng)需求分析52.2系統(tǒng)結構設計:52.3邏輯結構設計62.4功能模塊設計6第三章詳細設計83.1系統(tǒng)數(shù)據(jù)庫設計83.2系統(tǒng)主要功能模塊設

2、計133.2.1登錄界面133.2.2主界面133.3程序主要算法對應的原代碼13第四章調(diào)試與運行結果及存在的問題19第五章課程設計心得體會35第六章參考文獻36第一章 課程設計內(nèi)容及要求通過對某企業(yè)的報刊訂閱業(yè)務進行分析、調(diào)查,設計該企業(yè)的報刊訂閱管理系統(tǒng)。以SQL Server 2005作為后臺數(shù)據(jù)庫,以C#作為前臺開發(fā)工具,完成數(shù)據(jù)庫應用系統(tǒng)的設計開發(fā)。1.1 設計目的人們在部門單位中一直以來都是使用傳統(tǒng)人工方式管理本單位的報刊訂閱,這種管理方式存在著許多缺點,而且時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),難于歸類整理,這對于查找、更新和維護都帶來了不少的困難。課題要求設計并實現(xiàn)一個報刊訂閱管理

3、系統(tǒng),能夠通過計算機和數(shù)據(jù)庫對本單位的報刊訂閱進行管理。一個單位可指定一個或多個管理員,普通用戶注冊獲得一個賬號后就可以訂閱報刊以及在自己的權限范圍內(nèi)進行相關的操作。1.2 設計要求綜合運用所學的數(shù)據(jù)庫基本知識,并能通過查閱相關文獻材料,獨立完成該課題的設計開發(fā)工作。要求根據(jù)本課題設計出合理的數(shù)據(jù)結構,并實現(xiàn)報刊訂閱管理系統(tǒng)中,登錄對角色的判斷,管理員注冊新用戶,管理員查看、更新報刊信息,查詢、統(tǒng)計訂閱信息,維護數(shù)據(jù),管理用戶,普通用戶修改個人信息,查詢、統(tǒng)計、增加訂閱等功能模塊。1.3 設計環(huán)境系統(tǒng)數(shù)據(jù)庫用的是Microsoft SQL Server 2005,系統(tǒng)的開發(fā)平臺為Microso

4、ft Visual Studio 2010,開發(fā)語言為C#。第二章 概要設計2.1 系統(tǒng)需求分析通過對企業(yè)的報刊訂閱業(yè)務進行分析、調(diào)查,設計該企業(yè)的報刊訂閱管理系統(tǒng)。主要實現(xiàn)以下功能:1. 登陸功能:登陸系統(tǒng)為身份驗證登錄。分為管理員登錄和一般用戶登錄。分別通過不同的用戶名和密碼進入報刊訂閱管理界面。2. 錄入新信息功能:對于管理員,包括新用戶信息和新報刊信息的錄入功能,信息一旦提交就存入到后臺數(shù)據(jù)庫中;普通用戶自行注冊進行錄入個人信息。3. 訂閱功能:用戶可以訂閱報刊,系統(tǒng)自動計算所需金額,并顯示在界面上;管理員不可訂閱報刊,必須以用戶身份訂閱報刊。4. 查詢功能:按人員查詢、按報刊查詢、按

5、部門查詢有關訂閱信息,對查詢結果能進行預覽;5. 統(tǒng)計功能:按報刊統(tǒng)計、按人員統(tǒng)計、按部門統(tǒng)計,對統(tǒng)計結果能進行預覽;6. 系統(tǒng)維護:如數(shù)據(jù)安全管理(含備份與恢復)2.2 系統(tǒng)結構設計本系統(tǒng)包括后臺數(shù)據(jù)庫設計和前臺應用程序的設計兩個大的方面,后臺數(shù)據(jù)庫的設計是為前臺應用程序而服務的,而應用程序的設計則是基于數(shù)據(jù)庫編寫的。根據(jù)需求分析可以建立管理員表,部門表,用戶表,報刊類別表,報刊信息表,訂單表。其中用戶表中包括了用戶基本信息,報刊信息表中包括了報刊的基本信息,訂單表中包括了用戶訂閱報刊的相關信息。系統(tǒng)登錄主要分為管理員和用戶兩種類型。管理員可以實現(xiàn)錄入用戶信息、錄入報刊信息,查詢用戶、報刊、

6、部門訂閱情況,統(tǒng)計用戶、報刊、部門所訂閱的數(shù)量,數(shù)據(jù)備份和數(shù)據(jù)恢復的系統(tǒng)維護操作。用戶可以實現(xiàn)查詢本人信息并修改,訂閱報刊并查詢等操作。界面設計相對友好,方便用戶的操作。2.3 邏輯結構設計設計數(shù)據(jù)庫共有7個關系模式,分別為:Ø 用戶(用戶賬號,姓名,密碼,用戶類別)用戶賬號為主鍵,決定因素為主鍵自身或包含主鍵,滿足BC范式。Ø 普通用戶1(用戶賬號,聯(lián)系電話,聯(lián)系地址,部門編號)用戶賬號為主鍵,部門編號為外鍵,決定因素為主鍵自身或包含主鍵,滿足BC范式。Ø 普通用戶2(用戶賬號,身份證號)用戶賬號為主鍵,決定因素為主鍵自身或包含主鍵,滿足BC范式。Ø

7、部門(部門編號,部門名稱)部門編號為主鍵,決定因素為主鍵自身或包含主鍵,滿足BC范式。Ø 報刊信息(報刊編號,報刊名稱,出版報社,出版周期,季度報價,內(nèi)容介紹,分類編號)報刊編號為主鍵,分類編號為外鍵,決定因素為主鍵自身或包含主鍵,滿足BC范式。Ø 報刊類別(分類編號,分類名稱)分類編號為主鍵,決定因素為主鍵自身或包含主鍵,滿足BC范式。Ø 訂單(用戶編號,報刊編號,訂閱份數(shù),訂閱月數(shù))用戶編號、報刊編號為主鍵,決定因素為主鍵自身或包含主鍵,滿足BC范式。2.4 功能模塊設計由以上分析可以畫出功能模塊設計圖,如圖2-1和2-2所示:報刊訂閱管理系統(tǒng)用戶登錄用戶信息

8、錄入報刊信息錄入按人員查詢按報刊查詢按部門查詢按人員統(tǒng)計按報刊統(tǒng)計按部門統(tǒng)計數(shù)據(jù)庫備份統(tǒng)計數(shù)據(jù)庫恢復系統(tǒng)維護錄入登錄管理員登錄訂閱查詢圖2-1 報刊管理系統(tǒng)E-R圖用 戶管理員所 有 報 刊信 息 管 理所 有 用 戶 信 息 管 理系 統(tǒng) 維 護查詢自身資料 并修改信息查詢報刊信息 訂閱報刊并查看 圖2-2 管理員和用戶E-R圖第三章 詳細設計3.1 系統(tǒng)數(shù)據(jù)庫設計 經(jīng)過需求分析設計后得出數(shù)據(jù)庫設計的概念模型,建立了六個表,分別是:管理員表,部門表,用戶表,報刊類別表,報刊信息表,訂單表。如下:管理員(管理員,密碼)部門(部門編號,部門名)用戶(用戶賬號,密碼,姓名,身份證號,聯(lián)系電話,部門

9、編號)報刊類別(分類編號,分類名稱)報刊信息(報刊編號,報刊名稱,出版報社,季度報價,內(nèi)容介紹,分類編號)訂單(訂單編號,用戶賬號,報刊編號,訂閱份數(shù),訂閱季度,訂閱總額)所創(chuàng)建表的設計圖如下所示:管理員表: 用E-R圖表示該實體如下: 管理員 密碼管理員部門表: 用E-R圖表示該實體如下: 部 門部門編號部門名用戶表: 用E-R圖表示該實體如圖3-1所示:用戶賬號部門編號圖3-1實體E-R圖 用戶 聯(lián)系電話姓名身份證號密 碼報刊類別表: 用E-R圖表示該實體如下:報刊類別分類編號分類名稱報刊信息表: 用E-R圖表示該實體如圖3-2所示:報刊名稱報刊編號 報刊信息季度報價出版報社分類編號內(nèi)容介

10、紹圖3-2 報刊信息實體E-R圖訂單表: 用E-R圖表示該實體如3-3所示:用戶賬號訂單編號訂閱份數(shù)報刊編號 訂單DINGDA訂閱總額訂閱季度圖3-3訂單實體E-R圖數(shù)據(jù)庫各個表之間的關系如圖3-4所示:圖3-4 各表關系圖 完整的E-R圖如圖3-5所示: 管理員1M1MNM1MM1訂 單訂制用 戶管理員處理器報刊包含的報刊類別訂閱費部門擁有密碼訂單編號用戶賬號報刊編號訂閱份數(shù)分類編號分類名稱報刊名稱出版報社季度報價內(nèi)容介紹部門編號部門名用戶賬號密碼姓名部門編號聯(lián)系電話報刊編號分類編號訂閱季度訂閱總額身份證號圖3-5完整E-R圖3.2 系統(tǒng)主要功能模塊設計3.2.1 登錄界面開始使用系統(tǒng)時,在

11、主界面首先要選擇其類型,管理員或用戶,這樣才能進入登錄界面。在管理員或用戶登錄界面分別輸入正確的用戶賬號和密碼時,方可進入到系統(tǒng),否則不能進入系統(tǒng)。新用戶可點擊注冊,添加自己的信息,注冊成功后,就可以登錄系統(tǒng)。3.2.2 主界面主界面有管理員界面和用戶界面。管理員進入管理員界面后,可以進行錄入、查詢、統(tǒng)計、系統(tǒng)維護等操作。具體可以添加、修改、刪除用戶和報刊信息,可以按用戶、報刊、部門進行查詢和統(tǒng)計訂閱的情況,可以進行系統(tǒng)的數(shù)據(jù)備份與恢復。用戶進入用戶界面后,可以修改本人信息,根據(jù)報刊信息訂閱報刊,并查看自己的訂閱信息。3.3 程序主要算法對應的原代碼用戶修改本人信息:using System;

12、using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 報刊訂閱管理系統(tǒng) public partial class Form5 : Form My conConnection = new My(); /在登錄界面使用的用戶賬號調(diào)用到這一界面 privat

13、e string User; private string password; public string UserNum get return User; set this.User = value; public string PassWord get return password; set this.password = value; public Form5() InitializeComponent(); class Connect public static string HY() return "Data Source=(local);Initial Catalog=

14、報刊訂閱管理系統(tǒng);Integrated Security=True" class My public string strConnect = "" public SqlConnection conConnection = null; public My() strConnect = Connect.HY(); conConnection = new SqlConnection(strConnect); public void OpenDB() if (conConnection.State != ConnectionState.Open) try conConne

15、ction.Open(); catch (System.Exception ex) throw ex; public void CloseDB() if (conConnection != null && conConnection.State = ConnectionState.Open) conConnection.Close(); public DataTable GetDT(string sql) if (sql = null) return null; DataTable dt = null; DataSet ds = null; try OpenDB(); SqlD

16、ataAdapter sda = new SqlDataAdapter(sql, strConnect); ds = new DataSet(); sda.Fill(ds); if (ds.Tables.Count <= 0) return null; dt = ds.Tables0; catch (System.Exception ex) throw new Exception(ex.ToString(); ds.Dispose(); return dt; public DataSet GetDS(string sql) DataSet ds = null; try OpenDB();

17、 SqlDataAdapter sda = new SqlDataAdapter(sql, strConnect); ds = new DataSet(); sda.Fill(ds); sda.Dispose(); sda = null; CloseDB(); catch (System.Exception ex) throw new Exception(ex.ToString(); return ds; public void ExecuteNonQuery(string sql) try OpenDB(); SqlCommand com = new SqlCommand(sql, conC

18、onnection); com.ExecuteNonQuery(); com.Dispose(); com = null; CloseDB(); catch (System.Exception ex) throw new Exception(ex.ToString(); private void button1_Click(object sender, EventArgs e) string User = textBox1.Text.ToString().Trim(); string xm = textBox2.Text.ToString().Trim(); string mm = textB

19、ox3.Text.ToString().Trim(); string dh = textBox4.Text.ToString().Trim(); string bm = textBox5.Text.ToString().Trim(); /string sql_ = "update 用戶表 set 用戶名='"+User+"',姓名= '" + xm + "',密碼='" + mm + "',身份證號='"+sf+"',聯(lián)系電話='&q

20、uot; + dh + "',部門編號='" + bm + "' where 用戶名=" + User; string sql_ = "update 用戶表 set 姓名= '" + xm + "',密碼='" + mm + "',聯(lián)系電話='" + dh + "',部門編號='" + bm + "' where 用戶賬號=" + User; sql_ = string

21、.Format(sql_); try conConnection.ExecuteNonQuery(sql_); string sql = "select 用戶賬號,密碼,姓名,身份證號,聯(lián)系電話,用戶表.部門編號,部門名 from 用戶表,部門表 where 用戶表.部門編號=部門表.部門編號 and 用戶賬號='"+User+"'" this.dataGridView1.DataSource = conConnection.GetDT(sql); catch (System.Exception ex) MessageBox.Show(e

22、x.ToString(); textBox2.Text = "" textBox3.Text = "" textBox4.Text = "" textBox5.Text = "" bool flagshow = false; private void button3_Click(object sender, EventArgs e) string strConnnect = "Data Source=(local);Initial Catalog=報刊訂閱管理系統(tǒng);Integrated Security=

23、True" SqlConnection conConnection = new SqlConnection(strConnnect); conConnection.Open(); SqlCommand com = new SqlCommand("select 用戶賬號 form 用戶表", conConnection); com.CommandText = "select * from 用戶表" SqlDataReader dr = com.ExecuteReader(); while (dr.Read() User = dr"用戶賬

24、號".ToString(); if (User.Trim()=textBox1.Text) flagshow = true; string strConnect = "Data Source=(local);Initial Catalog=報刊訂閱管理系統(tǒng);Integrated Security=True" string cmd = "select 用戶賬號,密碼,姓名,身份證號,聯(lián)系電話,部門編號 from 用戶表 where 用戶賬號= " + User; SqlConnection conConnect = new SqlConnecti

25、on(strConnect); conConnect.Open(); SqlDataAdapter sda = new SqlDataAdapter(cmd, conConnect); DataSet ds = new DataSet(); sda.Fill(ds, "用戶表"); dataGridView1.DataSource = ds.Tables0.DefaultView; conConnect.Close(); /else / / MessageBox.Show("請輸入本人賬號!"); / /textBox1.Text = "&qu

26、ot; / dr.Close(); / conConnection.Close(); if(flagshow=true) else MessageBox.Show("請輸入本人賬號!"); textBox1.Text = "" private void button2_Click(object sender, EventArgs e) this.Hide(); Form4 form4 = new Form4(); form4.Show(); 第四章 調(diào)試與運行結果及存在的問題主界面里選擇用戶的類型,如圖4-1所示:圖4-1報刊訂閱管理系統(tǒng)用戶界面 點擊管

27、理員進入管理員登錄界面,則為用戶登錄界面。登錄界面主要由管理員(用戶名)和密碼的信息,如圖4-2所示:圖4-2管理員和用戶登錄界面如果輸入的用戶名和密碼不正確或不存在,則會提示錯誤,如圖4-3所示: 圖4-3提示界面用戶還可以注冊新賬號,如圖4-4所示:圖4-4用戶注冊界面如果輸入的用戶賬號已有用戶注冊過,則會提示已存在,如圖4-5所示:圖4-5注冊錯誤提醒界面 填入的信息正確,就會分別進入到管理員界面和用戶界面。管理員與用戶能操作的權限不一樣,所以兩個界面的菜單也不同,如圖4-6和4-7所示:圖4-6報刊訂閱管理系統(tǒng)界面 圖4-7用戶訂閱界面 管理員實現(xiàn)的錄入用戶和報刊信息,可以根據(jù)用戶(報

28、刊)信息里所顯示的內(nèi)容添加,修改,刪除用戶(報刊),并進行調(diào)整,如圖4-8和4-9所示:圖4-8用戶信息界面圖4-9報刊信息界面 管理員實現(xiàn)的查詢功能可根據(jù)用戶、報刊、部門分別查詢訂閱報刊的情況。報刊、部門查詢也與用戶查詢相同,如圖4-10和4-11所示:圖4-10根據(jù)用戶查詢界面圖4-11根據(jù)用戶界面查詢演示 管理員實現(xiàn)的統(tǒng)計功能可以根據(jù)用戶、報刊進行統(tǒng)計共訂閱了幾份報刊,并顯示出總額為多少。報刊統(tǒng)計也與用戶統(tǒng)計相同,如圖4-12所示:圖4-12根據(jù)用戶統(tǒng)計界面 管理員也可以實現(xiàn)系統(tǒng)維護,數(shù)據(jù)備份和數(shù)據(jù)恢復功能,如圖4-13和4-14所示:圖4-13管理員登陸備份界面圖4-14管理員界面?zhèn)浞?/p>

29、界面 用戶可以修改信息,在用戶賬號里填寫本人賬號后,會顯示自己的信息,然后根據(jù)自己原來的信息進行修改,如圖4-15所示:圖4-15修改信息界面 如果填入的賬號與登錄時的賬號不一致,則不能顯示信息,并且會有提示,如圖4-16所示: 圖4-16提示用戶賬戶錯誤 用戶選擇“訂閱報刊”菜單后,在彈出的界面里,用戶可以瀏覽到所有的報刊信息,輸入相關信息后,點擊訂閱,就完成了訂閱,并會顯示出所需金額,如圖4-17和4-18所示:圖4-17訂閱報刊界面圖4-18訂閱報刊界面演示 用戶選擇“我的訂閱”后,就可查看所有自己訂閱的報刊信息,如圖4-19所示: 圖4-19我的訂單界面第五章 課程設計心得體會關于這個課程設計,我的感觸很深,這是我很難得的非常認真獨立的做的一個課程設計。整個過程中遇到了不少問題,也解決了不少問題,收獲挺大的。 管理員方面,可以輸入用戶、報刊的信息,并且可以對這些信息進行修改。管理訂單方面,管理員可

溫馨提示

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

評論

0/150

提交評論