版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 數(shù)據(jù)庫原理及應(yīng)用 課程設(shè)計(論文)設(shè)計(論文)題目 手機話費查詢系統(tǒng) 學院名稱 管理科學學院 專業(yè)名稱 信息與計算科學 學生姓名 朱宇恒 學生學號 201407020208 任課教師 梁元 設(shè)計(論文)成績 目錄第一章 系統(tǒng)概述31.1 編寫目的31.2 背景31.3 定義31.4 參考資料41.5 支持軟件41.5.1 操作系統(tǒng)41.5.2 軟件支持:4第二章 系統(tǒng)數(shù)據(jù)庫設(shè)計部分42.1 需求分析42.1.1 需求描述42.1.2 數(shù)據(jù)流52.1.3 數(shù)據(jù)詞典52.2 概念設(shè)計82.2.1 E-R圖82.2.2 概念模型圖112.3 邏輯設(shè)計112.3.1 邏輯結(jié)構(gòu)設(shè)計112.3.2 邏輯
2、結(jié)構(gòu)設(shè)計的思想112.3.3 E-R 圖向關(guān)系模型的轉(zhuǎn)換122.3.4 各實體的關(guān)系模型和對應(yīng)的數(shù)據(jù)表122.4物理設(shè)計132.4.1 索引132.4.2存儲過程13第三章 系統(tǒng)設(shè)計153.1界面設(shè)計153.1.1數(shù)據(jù)庫界面153.1.2 java界面173.2安全設(shè)計20第四章 程序設(shè)計214.1登錄界面程序214.2連接數(shù)據(jù)庫程序23第一章 系統(tǒng)概述1.1 編寫目的在21世紀的今天幾乎人人都有一部手機,那人們就必定需要查詢自己的手機話費消費情況,所以手機話費查詢系統(tǒng)的產(chǎn)生就是必然的結(jié)果。利用數(shù)據(jù)庫建立一個手機查詢系統(tǒng),使用該數(shù)據(jù)庫能夠讓用戶和通信工作更好得管理和更方便得查詢手機話費。1.2
3、 背景項目名稱:手機話費查詢系統(tǒng)項目提出者:梁元 項目開發(fā)者:朱宇恒、張準、歐世光、萬浩瀚 項目開始時間: 2016.111.3 定義SQL(StructuredQueryLanguage): 一種用于訪問查詢數(shù)據(jù)庫的語言 。事務(wù)流:數(shù)據(jù)進入模塊后可能有多種路徑進行處理。E-R圖(Entity Relationship Diagram):描述事物及其聯(lián)系的概念模型。 :矩形表示實體,矩形框內(nèi)寫實體名 :菱形表示聯(lián)系,菱形框內(nèi)寫聯(lián)系名 :橢圓表示表示屬性,橢圓框內(nèi)寫屬性名 :連接線表示實體、聯(lián)系與屬性之間的所屬關(guān)系或?qū)嶓w與聯(lián)系之間的相連關(guān)系1.4 參考資料編號資料名稱作者日期出版單位1數(shù)據(jù)庫原理
4、及運用賈鐵軍2016.2科學出版社2數(shù)據(jù)庫系統(tǒng)概論薩師煊、王珊2001.6高教出版社3數(shù)據(jù)庫設(shè)計Stephens2001機械工業(yè)出版社1.5 支持軟件1.5.1 操作系統(tǒng)服務(wù)器:Windows 2000 Server客戶端:Windows 2000 Server/Professional 1.5.2 軟件支持:SQL SERVER 2014第二章 系統(tǒng)數(shù)據(jù)庫設(shè)計部分2.1 需求分析2.1.1 需求描述在手機話費查詢系統(tǒng)中,主要有手機用戶和工作人員兩個操作實體,對于普通的手機用戶來說,該系統(tǒng)僅允許他們作一個操作:即可以使用該系統(tǒng)通過手機號發(fā)出查詢請求, 查詢該手機消費總額和所剩余的話費。用戶:用
5、戶需要對自己所消費的信息有明確的細節(jié)了解并且可以隨時的查詢自己的消費記錄。2.1.2 數(shù)據(jù)流a.產(chǎn)生個人信息=個人信息,用戶注冊經(jīng)工作人員確認的號碼后產(chǎn)生的用戶個人信息,此數(shù)據(jù)來源于用戶,流向用戶信息存儲,組成:工作人員,用戶b.用戶信息提供用戶信息,工作人員修改用戶信息時的信息來源,此信息來源于用戶個人信息存儲,流向工作人員,組成:工作人員c.查詢剩余話費=提供話費信息,用戶查詢剩余話費時的信息來源,此數(shù)據(jù)來源于話費,流向用戶,組成:用戶,話費d.產(chǎn)生的帳目=帳目,用戶辦理的所有業(yè)務(wù)的消費帳目,此數(shù)據(jù)來源于業(yè)務(wù)信息存儲,流向帳目信息存儲,組成:業(yè)務(wù),用戶e.產(chǎn)生帳目信息=帳目信息,用戶辦理的
6、所有業(yè)務(wù)產(chǎn)生的帳目信息,此數(shù)據(jù)來源于帳目信息存儲,流向帳目,組成帳目f.用戶查詢剩余話費=提供賬目信息,用戶查詢賬目信息時提供賬目信息,此數(shù)據(jù)來源于話費信息存儲,流向用戶,組成:用戶, 話費2.1.3 數(shù)據(jù)詞典用戶信息a.數(shù)據(jù)項名:身份證號碼含義說明:用戶的唯一標識別名:ID_no類型:字符型長度:18b.數(shù)據(jù)項名:用戶姓名含義說明:手機用戶的姓名別名:user_name類型:字符型長度:8c.數(shù)據(jù)項名:用戶地址含義說明:用戶的家庭住址別名:user_addr類型:字符型長度:20d.數(shù)據(jù)項名:用戶狀態(tài)含義說明:手機號碼的開/停狀態(tài)別名:user_state類型:字符型長度:2取值范圍:開/停
7、(2)手機信息a.數(shù)據(jù)項名:手機號碼含義說明:用戶注冊的手機號碼別名:phone_no類型:字符型長度:12(3)賬目信息a.數(shù)據(jù)項:消費月份含義說明:手機消費的具體月份別名:consume_month類型:字符型長度:4b.數(shù)據(jù)項名:賬目編號含義說明:賬目的唯一標示別名:account_no類型:字符型長度:10c. 數(shù)據(jù)項名:消費總額含義說明:該月份該用戶手機消費總額別名:business_fee類型:money型長度:8(4)話費信息a.數(shù)據(jù)項名:話費編號含義說明:話費的唯一標示別名:fee_no類型:字符型長度:10b.數(shù)據(jù)項:話費余額含義說明:手機當前剩余的話費別名:fee_bala
8、nce類型:money型長度:8c.數(shù)據(jù)項名:手機號碼含義說明:用戶注冊的手機號碼別名:phone_no類型:字符型長度:122.2 概念設(shè)計2.2.1 E-R圖(1)用戶實體信息,如圖2-1所示:圖2-1 用戶實體信息(2)話費實體信息,如圖2-2所示:圖2-2 話費實體信息(3)賬目實體信息,如圖2-3所示:圖2-3 賬目實體信息(4)手機實體信息,如圖2-4所示:圖2-4 手機實體信息(5)手機話費查詢系統(tǒng)E-R圖:圖2-5手機話費查詢系統(tǒng)E-R圖實體之間的聯(lián)系:a.一個用戶可以注冊多個手機號碼,一個手機號碼只能被一個用戶注冊。用戶和號碼之間是一對多的聯(lián)系。b.一個用戶可以擁有多個手機,
9、一個手機都要產(chǎn)生一個話費。用戶和話費之間是一對多的聯(lián)系。c.一個手機每個月有一個賬目的消費,手機與賬目之間是一對一的聯(lián)系。2.2.2 概念模型圖圖2-6 手機話費查詢系統(tǒng)概念模型圖2.3 邏輯設(shè)計2.3.1 邏輯結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)是獨立于任何一種數(shù)據(jù)模型的信息結(jié)構(gòu)。邏輯結(jié)構(gòu)設(shè)計的任務(wù)就是把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本 E-R 圖轉(zhuǎn)化為與選用 DBMS 產(chǎn)品所支持數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。 2.3.2 邏輯結(jié)構(gòu)設(shè)計的思想針對手機話費管理系統(tǒng),邏輯結(jié)構(gòu)設(shè)計采用關(guān)系模型轉(zhuǎn)換概念結(jié)構(gòu), E-R 將圖依照規(guī)則轉(zhuǎn)換為關(guān)系模型,為了進一步提高數(shù)據(jù)庫應(yīng)用系統(tǒng)的性能,再將轉(zhuǎn)換后的關(guān)系模型進行優(yōu)化,確定是否要對某些
10、模式進行合并或分解,為物理設(shè)計提供最優(yōu)的處理。2.3.3 E-R 圖向關(guān)系模型的轉(zhuǎn)換關(guān)系模型的邏輯結(jié)構(gòu)是一組關(guān)系模式的集合。E-R 圖則是由實體,實體的屬性和實體間的聯(lián)系三個要素組成。所以將 E-R 圖轉(zhuǎn)換為關(guān)系模型實際上就是要將實體,實體的屬性和實體間的聯(lián)系轉(zhuǎn)換為關(guān)系模式。轉(zhuǎn)換原則如下:實體類型的轉(zhuǎn)換:將每個實體類型轉(zhuǎn)換成一個關(guān)系模式,實體的屬性及為 關(guān)系模式的屬性,實體標識符及為關(guān)系模式的鍵。 聯(lián)系類型的轉(zhuǎn)換,根據(jù)不同的情況做不同的處理。若實體間的聯(lián)系是 1:1 的,可以在兩個實體類型轉(zhuǎn)換成的兩個關(guān)系模式中的任意一個關(guān)系模式的屬性中加入另一個關(guān)系模式的鍵和聯(lián)系類型的屬性。 若實體間的聯(lián)系
11、1:N 的,則在 N 端實體類型轉(zhuǎn)換成的關(guān)系模式中加入 1 端實體類型轉(zhuǎn)換成的關(guān)系模式的鍵和聯(lián)系類型的屬性。若實體間的聯(lián)系是 M:N 的,則將聯(lián)系類型也轉(zhuǎn)換成關(guān)系模式,其屬性為兩端實體類型的鍵加上關(guān)系類型的屬性,而鍵為兩端實體間的組合。3個或 3個以上實體間的一個多元聯(lián)系可以轉(zhuǎn)換為一個關(guān)系模式,與該多元聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,各實體的碼組成關(guān)系的碼或關(guān)系碼的一部分。 依照該規(guī)則將話費查詢系統(tǒng)理系統(tǒng)的 E-R 圖轉(zhuǎn)換為關(guān)系模型,將每一個實體轉(zhuǎn)換成一個關(guān)系(關(guān)系就是給出關(guān)系名,寫出屬性,并標明該關(guān)系的主鍵)。 2.3.4 各實體的關(guān)系模型和對應(yīng)的數(shù)據(jù)表a.用戶的基
12、本信息(身份證號碼,用戶姓名,用戶地址,用戶狀態(tài)) 主鍵為用戶的身份證號碼ID_noCHAR(18)not nullprimary Key身份證號碼user_nameCHAR(8)用戶姓名user_addrCHAR(20)用戶地址user_stateCHAR(2)用戶狀態(tài)b.話費信息(手機號碼,話費余額,話費編號) 主鍵為話費編號fee_noCHAR(10)not nullprimary key話費編號phone_noCHAR(12)手機號碼fee_balanceNUMERIC(8)話費余額c.賬目信息(賬目編號,消費月份,消費總額) 主鍵為賬目編號account_noCHAR(10)not
13、nullprimary key賬目編號consume_monthCHAR(4)消費月份business_feeNUMERIC(8)消費總額d.手機信息(手機號碼) 主鍵為手機號碼phone_noCHAR(11)not nullprimary key手機號碼2.4物理設(shè)計2.4.1 索引為了加速表的查詢,根據(jù)所設(shè)計的表的特點,我們將話費信息表中“賬目編號”,手機信息表中的“手機號碼”,話費信息表中的“話費編號”,用戶信息表中“身份證號”,賬目信息表中的“消費總額”分別建立索引。Create index handle1_FK on handle (account_no ASC)Create ind
14、ex handle2_FK on handle (phone_no ASC)Create index “pay2_FK” on “pay” (“fee_no” ASC)Create index “belong_FK” on mobile (“ID_no” ASC)Create index “consume_FK” on account (“business_fee” ASC)2.4.2存儲過程(1)建立存儲過程P1,可以使用該系統(tǒng)通過手機號與密碼發(fā)出查詢請求,查詢該手機所剩余的話費。if exists (select * from sysobjects where name=“p1”)drop
15、 procedure dbo.P1GOcrrate procedure P1 asselect fee_balancefrom mobilephone userwhere user_name = “.”and user_password = “.”go(2)建立存儲過程P2,統(tǒng)計并查看所有的手機用戶信息,該信息主要包括兩個方面,一方面是僅關(guān)于本手機的各種信息;另一方面是該手機的用戶信息。if exists (select * from sysobjects where name=”P2”)drop procedure dbo.P2Go create procedure P2 asselect
16、mobilephone.account_no,user.user_name.ID_nofrom mobilephone,userwhere mobilephone.phone_no=user.phone_nogo第三章 系統(tǒng)設(shè)計3.1界面設(shè)計3.1.1數(shù)據(jù)庫界面(1)創(chuàng)建列表:(2)手動輸入手機話費信息:(3)查詢 phone_no的所有信息:結(jié)果如圖:(4)查詢phone_noand consume_month=8的所有信息:結(jié)果如圖:(5)查詢phone_no的話費余額結(jié)果如圖:(6)查詢phone_no=135
17、66666666 的話費余額結(jié)果如圖:3.1.2 java界面(1)java登錄界面(2)登錄名:user 密碼:123輸入完成點擊登錄。(3)登錄之后的界面:(4)選擇用戶信息,可以查看所有用戶話費信息:(5)選擇話費余額:(6)輸入手機號111之后:(7)選擇賬單:(8)輸入手機號222之后:3.2安全設(shè)計隨著目前計算機技術(shù)的飛速發(fā)展,數(shù)據(jù)庫在信息社會中扮演著十分重要的角色,它應(yīng)用廣泛,深入到各個領(lǐng)域,但是隨之而來則產(chǎn)生了數(shù)據(jù)的安全問題。數(shù)據(jù)庫是存放數(shù)據(jù)的軟件系統(tǒng),它的安全隱患主要有:數(shù)據(jù)的安全,數(shù)據(jù)庫系統(tǒng)被非法用戶侵入,數(shù)據(jù)加密不安全性。數(shù)據(jù)庫系統(tǒng)作為信息的聚集體,是計算機信息系統(tǒng)的核心
18、部件,其安全性至關(guān)重要,因此,如何有效地保證數(shù)據(jù)庫系統(tǒng)的安全,實現(xiàn)數(shù)據(jù)的保密性、完整性和有效性,是至關(guān)重要的。一般有以下一些方法:1.安全的密碼策略:安全策略是所有安全配置的第一步。通常,許多數(shù)據(jù)庫帳號的密碼過于簡單,這跟系統(tǒng)密碼過于簡單所造成的不安全是一個道理。對于系統(tǒng)管理員(SA)更應(yīng)該注意。此外需定期修改密碼。 2.安全的帳號策略:由于SQL Server不能更改SA用戶名稱,也不能刪除這個超級用戶,所以,必須對數(shù)據(jù)管理員的帳號進行最強的保護,包括使用非常強壯的密碼,安全的數(shù)據(jù)管理員帳號策略還包括不要讓管理員權(quán)限的帳號泛濫。很多主機使用數(shù)據(jù)庫應(yīng)用只是用來做查詢、修改等簡單功能的,根據(jù)實際
19、需要分配帳號,并賦予僅僅能夠滿足應(yīng)用要求和需要的權(quán)限。比如,只需要查詢功能的,使用具有public權(quán)限的帳號就能滿足。 3.加強數(shù)據(jù)庫日志的記錄:審核數(shù)據(jù)庫登錄的“失敗和成功”,可在實例屬性中選擇“安全性”,將其中的審核級別選定為“全部”,這樣在數(shù)據(jù)庫系統(tǒng)和操作系統(tǒng)日志里面,就詳細記錄了所有帳號的登錄事件 定期查看SQL Server 日志,檢查是否可疑的登錄事件發(fā)生。4.管理擴展存儲過程:在多數(shù)應(yīng)用中不需要使用太多的系統(tǒng)存儲過程,因此系統(tǒng)存儲過程可根據(jù)廣大擁護需求刪除不必要的存儲過程。提升權(quán)限或進行測試。對不需要擴展存儲過程xp_cmdshell時,使用SQL語句將其刪除 5.使用加密協(xié)議:
20、 SQL Server 2000使用Tabular Data Stream 協(xié)議進行網(wǎng)絡(luò)數(shù)據(jù)交換,包括密碼, 數(shù)據(jù)庫內(nèi)容等交換。這是一個潛在的安全威脅。所以,應(yīng)采用SSL加密協(xié)議。第四章 程序設(shè)計4.1登錄界面程序import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;public class UserQuery extends JFrame implements ActionListener static Connection con;static Statement sql;stati
21、c ResultSet res; JLabel label; JButton button1; / JTextField number; JTable table; JPanel pNorth,central; /String phone_number; Object name=手機號碼,身份證號,姓名,性別; Object data; / Connection con; UserQuery() super(歡迎登錄話費查詢系統(tǒng)); button1=new JButton(顯示); pNorth=new JPanel();/ number=new JTextField(20); button1
22、.addActionListener(this); / pNorth.add(new JLabel(請輸入手機號,回車確認); pNorth.add(button1); / pNorth.add(number); add(pNorth,BorderLayout.NORTH); add(new JScrollPane(table),BorderLayout.CENTER); setBounds(100,100,400,300); setVisible(true); validate(); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); pub
23、lic void actionPerformed(ActionEvent e) if(e.getSource()=button1)Conn c=new Conn();con=c.getConnection();try sql=con.createStatement(); res=sql.executeQuery(select* from fare_select); int lastNumber=0; while(res.next() lastNumber+; res=sql.executeQuery(select* from fare_select); data=new ObjectlastN
24、umber4; int k=0; while(res.next() datak0=res.getString(phone_number); datak1=res.getString(name); datak2=res.getString(id); datak3=res.getString(sex); k+; res.close(); catch(Exception e1) e1.printStackTrace(); table=new JTable(data,name); table.setRowHeight(20); getContentPane().removeAll(); add(pNo
25、rth,BorderLayout.NORTH); add(new JScrollPane(table),BorderLayout.CENTER); validate(); 4.2連接數(shù)據(jù)庫程序package _DataBase;import java.sql.*;/鏈接數(shù)據(jù)庫方法public class Conn Connection con;public Connection getConnection()tryClass.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);System.out.println(數(shù)據(jù)庫驅(qū)動連接成功!);catch(ClassNotFoundException e)e.printStackTrace();trycon=DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;databaseName=Calls inquiry, sa, );System.out.println(數(shù)據(jù)庫連接成功!);catch(SQLException e)e.printStackTrace()
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年MPEG碼流分析儀合作協(xié)議書
- 2023屆新高考新教材化學人教版一輪訓練-專項提能特訓(7) 物質(zhì)結(jié)構(gòu)與性質(zhì)綜合大題突破
- 2024年公路旅客運輸服務(wù)合作協(xié)議書
- 玉溪師范學院《即興伴奏》2023-2024學年第一學期期末試卷
- 玉溪師范學院《法律文書寫作》2022-2023學年期末試卷
- 2024年專用塑膠材料項目合作計劃書
- 2024新版集成電路制作合同
- 北師大版四年級上冊數(shù)學第三單元 乘法 測試卷(能力提升)
- 西師大版四年級上冊數(shù)學第一單元 萬以上數(shù)的認識 測試卷含完整答案(奪冠)
- 人教版四年級上冊數(shù)學第四單元《三位數(shù)乘兩位數(shù)》測試卷含答案(達標題)
- 【7道人教版期中】安徽省懷寧縣2023-2024學年七年級上學期期中考試道德與法治試卷(含詳解)
- 管理經(jīng)濟學學習通超星期末考試答案章節(jié)答案2024年
- 9.2提高防護能力(課件)-2024-2025學年統(tǒng)編版道德與法治七年級上冊
- 汽車修理業(yè)務(wù)受理程序、服務(wù)承諾、用戶抱怨制度
- 2025屆福建省廈門市外國語學校高二數(shù)學第一學期期末考試試題含解析
- 貴陽一中2025屆高三10月高考適應(yīng)性月考(二) 思想政治試卷(含答案)
- 建筑垃圾消納處置場所建設(shè)可行性研究報告
- GB/T 44670-2024殯儀館職工安全防護通用要求
- 期中高頻易錯卷(試題)-2024-2025學年數(shù)學五年級上冊北師大版
- 2024江蘇省沿海開發(fā)集團限公司招聘23人高頻500題難、易錯點模擬試題附帶答案詳解
- 2024年鹿城區(qū)區(qū)屬國企業(yè)面向社會和面向退役士兵公開招聘(選調(diào))工作人員高頻考題難、易錯點模擬試題(共500題)附帶答案詳解
評論
0/150
提交評論