程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB.NET >> VB.Net版機房收費系統之數據庫設計

VB.Net版機房收費系統之數據庫設計

編輯:VB.NET

數據庫設計是根據用戶需求設計數據庫結構的過程,具體來說,數據庫設計是對於給定的應用環境,在厝數據庫理論的指導下,構造最優的數據庫模式,在數據庫管理系統上建立數據庫及其應用系統,使之能有效地存儲數據,滿足用戶的各種需求的過程。到底數據庫該如何設計,古往今來,每個人都有每個人的想法,所以數據庫設計並沒有優劣之分,好壞之別,合適的數據庫設計就是最好的。

走過自考--《數據庫系統原理》,看過耿建玲老師的視頻,對數據庫設計有了一點了解,VB版的機房收費系統,直接用原來的腳本生成的數據庫,當時對數據庫設計這部分的內容也沒有特別深入的研究過,欠下的債,早晚要還,我想現在是時候了,這幾天,VB.Net版的機房收費系統正式開工了,才發現數據庫設計是一門學問,接下來,結合機房收費系統,總結一下數據庫設計。

首先,數據庫設計主要包含以下六個步驟:

1、需求分析:了解用戶的數據需求、處理需求、安全性及完整性要求;

2、概念設計:通過數據抽象,設計系統概念模型,一般為E-R模型;

3、邏輯結構設計:設計系統的模式和外模式,對於關系模型主要是基本表和視圖;

4、物理結構設計:設計數據的存儲結構和存取方法,如索引的設計;

5、系統實施:組織數據入庫、編制應用程序、試運行;

6、運行維護:系統投入運行,長期的維護工作。

本文就需求分析,概念設計和邏輯結構設計展開討論,在這裡簡單的說一下機房收費系統的需求,使用該系統有三個角色用戶:分別為一般用戶,操作員,管理員。不同的權限有著不同的權限,具體如下:

A、一般用戶可以實現的功能是:

a、查看學生卡內余額,通過卡號查詢查看學生基本信息並顯示余額。

b、查看上機記錄,通過卡號查詢上機記錄,姓名,上下機日期和時間,消費金額,導出Execl表格。

c、查看充值記錄,通過卡號查詢充值金額,充值日期,充值時間,充值教師,導出Excel表格。

d、查詢學生上機狀態,並可以強制管理學生進行下機操作。

e、修改密碼。

B、操作員指辦理一定業務的人員,級別高於一般用戶,除了可以實現值班員的功能外,還可以執行額外功能:

a、注冊卡號,注冊一張新卡。

b、充值,通過卡號充值金額,顯示充值卡號,上次卡內余額,現在卡內余額,充值日期時間以及老師。

c、退卡,將卡注銷,並退還學生卡內余額。

d、收取(退還)金額查詢,通過輸入起始日期和終止日期,查詢充值金額,充值日期時間,充值教師,導出Execl表格。

e、學生基本信息維護和操作員工記錄,采用組合查詢。

f、學生上機統計信息查詢,采用組合查詢,導出Execl表格。

C、管理員可以管理系統所有信息,級別最高,除了可以處理值班員和操作員的功能外,還可以處理其他操作:

a、結賬。

b、添加刪除用戶,添加或刪除不同級別的賬戶。

c、基本數據設定,包含上機費用等信息。

d、查看正在值班的教師。

e、日結和周結,涉及報表。

根據上面的需求分析,設計ER模型(不是特別完整,有不同見解的小伙伴歡迎留言交流)如下圖:

接著創建數據庫和表,若要創建數據庫和表,需要去頂數據庫的名稱,所有者,大小,以及存儲該數據庫的文件和文件組。在SQL Server中創建數據庫主要有兩種方式,一是在SQL Server Management Studio中使用向導創建數據庫,二是通過查詢窗口執行T-SQL語句創建數據庫。以T-SQL創建數據庫和表為例,實現代碼如下:

create database mycharge  --創建mycharge數據庫  
go  
user mycharge --轉到mycharge數據庫  
go  
create table studen --在STUDENT數據庫中創建表student  
(  
  Sno char(10) primary key,  
  Sname char (10) ,  
  Ssex ,  
  Sage int,  
  Sdept char(10)  
)

機房收費系統表如下:

1、學生表:卡號、學號、姓名、類型、性別、系別、年級、班級、金額、狀態、備注。

2、上機表:卡號、類型、學號、姓名、系別、性別、上機日期、下機日期、上機時間、下機時間、消費時間、消費金額、余額。

3、充值表:卡號、充值金額、充值時間、充值教師。

4 、用戶表:用戶名、密碼、身份、操作人。

5、退卡表:卡號、退款金額、退卡時間、辦理退卡教師、結賬狀態。

6、操作員工工作記錄表:序列號、教師、身份、注冊日期、注冊時間、注銷日期、注銷時間。

7、結賬信息表:售卡張數、總售卡張數、退卡張數、應收總金額、充值金額、臨時收費金額。

8、基本數據設定信息表:固定半個小時費用、臨時半個小時費用、遞增單位時間、至少上機時間、准備時間、最少金額。

9、正在值班教師信息表:記錄號、教師名、身份、登陸日期、登錄時間。

10、日結賬信息表:上次充值卡余額、當日充值金額、當日消費金額、本次充值卡金額、日期。

11、周結帳信息表:上次充值卡金額、本次充值金額、本次消費金額、本次充值卡余額、日期。

初次設計數據庫,存在很多缺陷,有不同意見的小伙伴歡迎留言交流,機房收費系統個人重構版,未完待續......

作者:csdn博客 丁國華

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved