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

下載本文檔

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

文檔簡介

數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)庫庫庫庫原理與原理與原理與原理與應應應應用用用用課課課課程程程程設計設計設計設計 人力人力人力人力資資資資源管理信息系源管理信息系源管理信息系源管理信息系統(tǒng)統(tǒng)統(tǒng)統(tǒng) 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 摘摘 要要 通過企業(yè)人員信息管理信息系統(tǒng)一方面使得管理者快速高效地完成企業(yè)日 常事務中的人事工作 降低了人力資源管理成本 使管理者能集中精力在企業(yè) 戰(zhàn)略目標 另一方面 通過軟件及時收集與整理分析大量的企業(yè)人員信息管理 數(shù)據(jù) 為企業(yè)戰(zhàn)略決策的生成與實施控制提供強有力的支持 以提高組織目標 實現(xiàn)的可能性 具體實現(xiàn)目標如下 1 系統(tǒng)采用人機對話方式 界面美觀友好 信息查詢靈活 方便 快捷 準確 數(shù)據(jù)存儲安全可靠 2 鍵盤操作 快速響應 3 對用戶輸入的數(shù)據(jù) 系統(tǒng)進行嚴格的數(shù)據(jù)檢驗 盡可能排除人為的錯誤 4 讓 VB 與 SQL Server 2000 實現(xiàn)無縫連接 使人員 部門 工資等信息 的查詢結果可直接保存在數(shù)據(jù)庫中 5 不同的操作員有不同的操作員權限 增強了系統(tǒng)的安全性 6 系統(tǒng)最大限度地實現(xiàn)了易安裝性 易維護性和易操作性 7 系統(tǒng)運行穩(wěn)定 安全可靠 關鍵詞 企業(yè)人員信息管理系統(tǒng) VB SQL Server 2000 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 目目目 錄錄錄 1 1 前言前言 1 1 1 1 作業(yè)背景 1 1 2 選題說明 1 1 3 課程設計進度安排 2 1 4 工作業(yè)績 2 2 2 第二章第二章 數(shù)據(jù)庫設計數(shù)據(jù)庫設計 4 4 2 1 需求分析 4 2 1 1 需求分析階段的任務 4 2 1 2 需求分析方法 6 2 2 概念結構設計 10 2 2 1 概念結構分析的任務 11 2 2 2 設計E R圖 11 2 3 邏輯結構設計 13 2 3 1 將E R圖轉換成關系模式 13 2 3 2 數(shù)據(jù)模型的優(yōu)化 14 2 3 3數(shù)據(jù)庫模式定義 14 2 3 4用戶子模式定義 15 2 4 物理結構設計 16 2 4 1 引言 16 2 4 2索引存取方法的選擇 16 2 5 數(shù)據(jù)庫實施 17 2 5 1 建立數(shù)據(jù)庫 數(shù)據(jù)表 17 2 5 2 數(shù)據(jù)信息入庫 18 2 5 3系統(tǒng)調試和測試 19 3 3 第三章第三章 數(shù)據(jù)庫系統(tǒng)運行數(shù)據(jù)庫系統(tǒng)運行 2323 3 1 數(shù)據(jù)庫系統(tǒng)運行情況 23 3 2 不足及改進方向 26 3 2 1 不足 26 3 2 2 改進之處 27 結束語結束語 2727 致謝致謝 2828 主要參考文獻主要參考文獻 2828 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 0 1 1 前言前言 1 1 作業(yè)背景作業(yè)背景 本文根據(jù) 數(shù)據(jù)庫原理與應用課程設計 課程要求而做 課程作業(yè)要求如下 用 MS SQL Server 結合面向對象開發(fā)工具如 Visual Basic PowerBuilder Delphi Java 等開發(fā)一個實用的數(shù)據(jù)庫系統(tǒng) 包括數(shù)據(jù)庫 設計和前臺程序開發(fā)兩部分 1 根據(jù)課程設計時間選擇適當規(guī)模大小的設計課題 2 根據(jù)合理的進度安排 按照數(shù)據(jù)庫設計的流程及方法 踏實地開展課程 設計活動 3 課程設計過程中 根據(jù)選題的具體需求 在開發(fā)各環(huán)節(jié)中撰寫相關的技 術文檔 最后提交詳細的課程設計報告 4 開發(fā)出可以運行的數(shù)據(jù)庫系統(tǒng) 通過上機檢查 1 2 選題說明選題說明 進入 21 世紀信息時代之后 由于計算機的快速發(fā)展 一切都在圍繞計算機 而發(fā)展 變得日新月異 對于人力資源信息的管理 以前全是由文檔記錄 存 在很多的缺點 管理效率低 勞動強度大 且耗用大量紙張 保管難度大等 為了管理者能快速高效地完成企業(yè)日常事務中的人事工作 降低了人力資源管 理成本 我們可以通過 SQL Server 2000 來設計一個人力資源管理信息系統(tǒng) 讓 數(shù)據(jù)庫對人員信息進行自動無紙化管理 實現(xiàn)辦公自動化 1 基本思路 本系統(tǒng)將采用面向對象的開發(fā)工具 Visual Basic 來開發(fā) 后臺的數(shù)據(jù)庫管理 系統(tǒng)選用微軟的 SQL Server 2000 整個系統(tǒng)采用 C S 構架 2 作業(yè)目標 完成人力資源管理信息系統(tǒng)的數(shù)據(jù)庫設計和系統(tǒng)開發(fā) 系統(tǒng)功能包括員工 信息管理 部門信息管理 部門調轉管理 員工照片管理 薪資信息管理 系 統(tǒng)用戶管理等 最終提交設計報告一份和系統(tǒng)原型一份 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 1 1 3 課程設計進度安排課程設計進度安排 課程設計進度安排如圖 1 1 所示 圖 1 1 課程設計進度安排 1 4 工作業(yè)績工作業(yè)績 1 小組主要工作 首先 為對課程設計的要求進行選題 堅持創(chuàng)新和實用的原則 其次 進 行小組人員分工及討論 盡量做到能力任務相匹配 然后 小組在分工與合作 的基礎上在規(guī)定的時間內完成分配的工作任務 主要為需求分析 概念結構設 計 物理結構設計 數(shù)據(jù)庫開發(fā)與試運行等 最后 數(shù)據(jù)庫的完善和維護及小 組報告的撰寫工作 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 2 2 主要收獲 在課程設計過程中又一次深入學習了數(shù)據(jù)庫的設計流程并且更熟練的掌握 了 SQL 語言 了解數(shù)據(jù)庫開發(fā)的基本過程 并基本掌握一些開發(fā)技術 發(fā)現(xiàn)自 身對于數(shù)據(jù)庫學科的不足之處并及時改進 學會團隊合作開發(fā)的技巧 如 溝 通技術及小組分工等 清楚課程設計報告的格式及撰寫過程 掌握一定的報告 撰寫技巧 最重要的成果是開發(fā)設計出一套創(chuàng)新實用的人力資源管理信息系統(tǒng) 方便企業(yè)對人員信息的管理工作 3 小組分工 準備階段 整個小組都參與了系統(tǒng)分工和資料的搜集 實施階段 4 自我評定 優(yōu)優(yōu) 良 中 及格 不及格 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 3 2 2 第二章第二章 數(shù)據(jù)庫設計數(shù)據(jù)庫設計 2 1 需求分析需求分析 需求分析就是分析用戶的要求 需求分析是數(shù)據(jù)庫設計的起點 需求分析 的結果的準確程度的高低往往直接的影響到后面各個階段的設計 并影響到要 設計和開發(fā)的系統(tǒng)的實際價值 需求分析的結果得到數(shù)據(jù)字典描述的數(shù)據(jù)需求 和數(shù)據(jù)流圖描述的處理需求 2 1 1 需求分析階段的任務 需求分析的任務是通過詳細的調查現(xiàn)實世界要處理的對象 組織 部門 企業(yè)等 充分了解原有系統(tǒng) 手工系統(tǒng)或計算機系統(tǒng) 工作情況 明確用戶 的需求 然后在此基礎上確定系統(tǒng)的功能 在開發(fā)新系統(tǒng)的功能時 要考慮到 今后的維護和擴展 不能僅僅按當前的需求來設計數(shù)據(jù)庫 本系統(tǒng)的主要功能是對人員信息進行有效高效的管理 并使之形成完善的 應用體系 數(shù)據(jù)庫中要合理設置員工信息和部門信息等表格 用來實現(xiàn)人員信 息的增添 查詢 修改 刪除 調動等功能 使得企業(yè)有較詳細的數(shù)據(jù)統(tǒng)計和 分析 同時為了確保數(shù)據(jù)的安全性 對數(shù)據(jù)庫進行的操作都應有相應的權限要 求 只準人員信息管理員登錄 系統(tǒng)功能結構圖如圖2 1所示 員工信息管理 員工個人基本信息 部門信息管理 員工調轉管理 系統(tǒng)用戶管理 添加員工 信息 修改員 工信息 刪除員工 信息 查勘員工 信息 添加部門 信息 修改部門 信息 刪除部門 信息 查看部門 信息 添加系 統(tǒng)用戶 修改系統(tǒng) 用戶 刪除系統(tǒng) 用戶 查看系 統(tǒng)用戶 圖 2 1 功能結構圖 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 4 該系統(tǒng)主要分為兩大功能 員工個人信息管理功能 員工調動功能 部門 信息管理 員工個人信息管理功能包括 員工信息的添加 修改 刪改 查詢 部門 信息的修改 增添 刪除 查詢 以及員工的調度等 信息安全功能包括 數(shù)據(jù)檢測 事件記錄 數(shù)據(jù)警告等 1 信息要求 信息要求是指用戶要從數(shù)據(jù)庫中獲得信息的內容和性質 本系統(tǒng)用戶要求 獲得以下的基本信息 員工信息 部門信息 人員調轉信息 工資信息 系統(tǒng)用戶信息 2 處理要求 信息處理是指用戶要求完成什么處理功能 對處理響應時間的要求等 本 系統(tǒng)用戶要求提供以下的處理功能 添加員工信息包括輸入員工編號 姓名 性別 出生日期 所在部門標 號等 員工信息的查詢 修改 刪除等 添加部門信息包括部門編號 部門名稱 部門主管編號 聯(lián)系電話 部 門地址等 部門信息的查詢 修改 刪除等 添加員工調轉信息包括調轉編號 員工編號 新部門編號 調轉日期 新職務名稱 調轉原因等 員工調轉信息的查詢 修改 刪除等 添加員工工資信息包括基本工資 獎金 發(fā)放月份 實發(fā)工資等 員工 工資信息的查詢 修改 刪除等 添加用戶信息包括用戶名 員工編號 密碼 用戶類型等 用戶信息的 查詢 修改 刪除等 3 安全性和完整性要求 安全性先通過視圖機制 不同的用戶只能訪問系統(tǒng)授權的視圖 這樣可提 供系統(tǒng)數(shù)據(jù)一定程度上的安全性 再通過用戶授權機制 通過用戶登陸來識別 用戶級別 只有擁有相關權限的用戶才能進行相關的操作 不同的用戶根據(jù)不 同的權限可以看到不同的數(shù)據(jù) 進行不同的操作 完整性要求用于描述各種信息之間的制約關系 以及關聯(lián)關系 各個數(shù)據(jù) 項的取值范圍以及各個數(shù)據(jù)項是否可以為空 根據(jù)實際需要 采取一定的手段 來滿足用戶的完整性需求 例如 學生性別只能是男或女 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 5 2 1 2 需求分析方法 1 人員信息管理系統(tǒng)數(shù)據(jù)流程圖 我們采用自頂向下結構化的需求分析方法來構建系統(tǒng)數(shù)據(jù)流程圖 從最上 面的系統(tǒng)組織結構入手 采用逐層分解的方式分析系統(tǒng) 并且把每一層用數(shù)據(jù) 流圖和數(shù)據(jù)字典描述 1 數(shù)據(jù)流圖 頂層數(shù)據(jù)流圖是最高層次抽象的系統(tǒng)概況 它把整個信息系統(tǒng)看成一個整 體來處理 通過把握頂層數(shù)據(jù)流程圖可以確定系統(tǒng)邊界 人員信息管理系統(tǒng)與 一個外部實體交互 管理員 管理員可以對員工的工資 所屬部門 職稱等 進行操作 如圖 2 2 所示 員工調動信 息息 部門信息查詢 人員基本信息 調動信息查詢 部門信息 員工信息 系統(tǒng)用戶信息人員信 息管理 系統(tǒng) 管理員 圖 2 2 人員信息管理系統(tǒng)數(shù)據(jù)流程圖 2 人員信息管理系統(tǒng)功能分解 把一個復雜的系統(tǒng)作為一個整體 即作為單個的過程 看待時 通常很難 全面的理解它 為了了解系統(tǒng)的內部細節(jié) 我們要將人員信息管理系統(tǒng)按功能 模塊進行功能分解 然后按照每個功能進行分析 畫出每個功能的事件數(shù)據(jù)流 程圖 功能分解我們采用自頂向下的分析方法 本系統(tǒng)的功能分解圖 如圖2 3所示 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 6 人員信息人員信息 管理系統(tǒng)管理系統(tǒng) 員工信息 系統(tǒng)用戶 信息 員工調動 信息 部門信息 查詢 人員基本 信息查詢 部門信息 圖 2 3 系統(tǒng)功能分解圖 3 首層層系統(tǒng)數(shù)據(jù)流程圖 第一層系統(tǒng)數(shù)據(jù)流程圖如圖 2 4 所示 管理員錄入 管理 員工基本 信息數(shù)據(jù) 管理員 員 工 圖 2 4 系統(tǒng)第一層數(shù)據(jù)流圖 4 第二層系統(tǒng)數(shù)據(jù)流程圖 第二層系統(tǒng)數(shù)據(jù)流程圖如圖 2 5 所示 管理員 修改 刪除 增加 部門信息 部門信息 員工信息 部門信息 員工信息 員工信息 員工基本信息數(shù) 據(jù) 管理員 用戶 查詢 員工 部門信息 圖 2 5 系統(tǒng)第二層數(shù)據(jù)流圖 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 7 5 第三層系統(tǒng)數(shù)據(jù)流程圖 第三層系統(tǒng)數(shù)據(jù)流程圖如圖 2 6 所示 圖 2 6 系統(tǒng)第三層數(shù)據(jù)流圖 管理員 增添新員 工基本信 息 員工基本信息 修改員工 基本信息 員工基本信息 刪除離職 員工信息 員工基本信息 員工基本 信息 增添新部 門信息 修改部門信息 刪除部門信息 部門信息 部門基本信息 部門基本信息 部門基本信息 管理員 信息查詢 員工 員工個人信息查詢查詢 修改調動員 工部門信息 員工升職 職位變遷 員工調部門 修改員工職 位信息 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 8 2 企業(yè)人員管理系統(tǒng)數(shù)據(jù)流字典 1 數(shù)據(jù)項 表 2 1 數(shù)據(jù)項 編號編號數(shù)據(jù)項名數(shù)據(jù)項名數(shù)據(jù)類型數(shù)據(jù)類型長度長度 DI 1 員工編號 char8 DI 2 姓名 varchar30 DI 3 性別 char2 DI 4 出生日期 datetime10 DI 5 身份證號 char15 DI 6 籍貫 varchar30 DI 7 職務 Varchar50 DI 8 部門編號 varchar30 DI 9 專業(yè) Varchar50 DI 10 文化程度 varchar50 DI 11 聯(lián)系電話 char20 DI 12 政治面貌 varchar15 DI 13 部門編號 char4 DI 14 部門名 Varchar20 DI 15 部門主管 Varchar15 DI 16 聯(lián)系電話 Char20 DI 17 部門地址 Varchar30 DI 18 用戶名 varchar20 DI 19 員工編號 char8 DI 20 密碼 char8 DI 21 用戶類型 varchar4 DI 22 員工編號 char8 DI 23 基本工資 decimal8 DI 24 獎金 decimal8 DI 25 實發(fā)工資 decimal8 DI 26 發(fā)放月份 decimal4 2 數(shù)據(jù)結構 表 2 2 數(shù)據(jù)結構表 編號編號數(shù)據(jù)結構名稱數(shù)據(jù)結構名稱組成組成 DS 1 員工基本信息員工編號 姓名 DS 2 部門基本信息部門編號 部門名 3 外部實體 表 2 3 外部實體 編號編號實體名稱實體名稱實體意義實體意義 E 1管理員負責系統(tǒng)日常操作 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 9 4 數(shù)據(jù)流 表 2 4 數(shù)據(jù)存儲 編號編號數(shù)據(jù)流名數(shù)據(jù)流名涵義說明涵義說明數(shù)據(jù)來源和去向數(shù)據(jù)來源和去向組成組成 DF 1 修改員工職位信息員工基本信息D1 到 E1DS 1 DF 2 修改調動員工部門信息部門信息D8 到 E1DS 2 DF 3 增添新員工基本信息員工基本信息D1 到 E1DS 1 DF 4 修改員工基本信息員工基本信息D1 到 E1DS 1 DF 5 刪除離職員工信息員工基本信息D1 到 E1DS 1 DF 6 增添新部門信息部門信息D8 到 E1DS 2 DF 7 修改部門信息部門信息D8 到 E1DS 2 DF 8 刪除部門信息部門信息D8 到 E1DS 2 5 事件處理 表 2 5 事件處理 編號編號處理過程名處理過程名輸入輸入輸出輸出處理處理 P1個人信息管理員工信息添加 修改 刪除 P2部門信息管理DF 2 DF 3DF 3部門信息添加 修改 刪除 P3工資管理DF 7 DF 8DF 8工資信息變動 添加 P4員工在部門調動處理DF 8 DF 2 DF 3DF 8 DF 3員工在部門間調動處理 P5升職 職位變遷處理DF 5 DF 2DF 4員工升職 職位變動處理 P6員工信息查詢DF 2 DF 5DF 2 DF 5員工個人信息查詢 6 數(shù)據(jù)存儲 表 2 6 數(shù)據(jù)存儲 存儲名存儲名含義說明含義說明輸入數(shù)據(jù)流輸入數(shù)據(jù)流輸出數(shù)據(jù)流輸出數(shù)據(jù)流組成組成 D1 管理員 DF 1 DS 1 D2 員工 DF 4DF 3DS 1 D3 調配 DF 8DF 8DS 2 D4 部門 DF 9DS 2 2 2 概念結構設計概念結構設計 概念設計階段主要任務和目標是根據(jù)需求分析的結果 包括一般聯(lián)系實體 畫出對應的ER圖 對于復雜的系統(tǒng) 通常首先要對它的各功能模塊進行分析 然后再把它的功能結構圖畫出來 便是設計和優(yōu)化 功能分析之后 再根據(jù)各 個崗位 各個用戶對數(shù)據(jù)和使用權限的不同要求畫出局部ER圖 然后再把各個 局部ER圖綜合起來形成統(tǒng)一的整體ER圖 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 10 2 2 1 概念結構分析的任務 根據(jù)需求分析階段處理對象 結合數(shù)據(jù)流程圖的分析 在結合實體與屬性 間的兩條準則 一是 作為 屬性 不能再具有需要描述的性質 二是 屬性 不能與其他實體具有聯(lián)系 我們可以得到人力資源管理系統(tǒng)的實體 2 2 2 設計 E R 圖 1 選擇中層數(shù)據(jù)流為切入點 通常選擇實際系統(tǒng)中的子系統(tǒng) 2 設計分E R圖 即各子模塊的E R圖 分別如圖2 6 圖2 7 圖2 8 圖2 9所 示 圖 2 6 員工信息 E R 圖 圖 2 7 部門信息 E R 圖 圖 2 8 工資信息 E R 圖 圖 2 9 用戶信息 E R 圖 3 生成初步E R圖 通過合并方法 做到各子系統(tǒng)實體 屬性 聯(lián)系統(tǒng)一 如 圖2 10所示 圖2 10 初步合并E R圖 4 通過消除冗余和沖突等問題 生成全局E R圖 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 11 員工 員工編號 部門編號 姓名 性別 出生日期 聯(lián)系電話 身份證號 政治面貌 專業(yè) 籍貫 職務 文化程度 所在 N 部門 部門編號部門名部部門門主主管管編編號號聯(lián)系電話部門地址 1 支付 員工編號基本工資獎金實發(fā)工資發(fā)放月份 工資 1 調動1 員工編號 原部門編號 新部門編號 新職務名稱 調轉原因 調轉日期 1 1 調動編號 圖2 10 基本E R圖實例 2 3 邏輯結構設計邏輯結構設計 根據(jù)上面的數(shù)據(jù)庫E R圖 現(xiàn)在需要將上面的數(shù)據(jù)庫概念結構轉化為SQL Server 2000數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型 也就是數(shù)據(jù)庫的邏輯結構 在 上面的實體以及實體之間關系的基礎上 形成數(shù)據(jù)庫中的表格以及各個表格之 間的關系 具體內容包括數(shù)據(jù)組織 將E R圖轉換成關系模型 模型優(yōu)化 數(shù) 據(jù)庫模式定義 用戶子模式設計 數(shù)據(jù)處理 畫出系統(tǒng)功能模塊圖 兩大任 務 2 3 1 將 E R 圖轉換成關系模式 E R 圖向關系模型的轉換要解決的問題是如何將實體型和實體間的聯(lián)系轉 換為關系模式 如何確定這些關系模式的屬性和碼 將 E R 圖轉換為關系模型實際上就是要將實體型 實體的屬性和實體型之 間的聯(lián)系轉換為關系模式 這一轉換一般遵循如下原則 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 12 1 一個 1 1 聯(lián)系可以轉換為一個獨立的關系模式 也可以與任意一端對應 的關系模式合并 2 一個 1 n 聯(lián)系可以轉換為一個獨立的關系模式 也可以與 n 端對應的關 系模式合并 如果轉換為一個獨立的關系模式 則與該聯(lián)系的各實體的碼以及 聯(lián)系本身的屬性均轉換為關系的屬性 而關系的碼為 n 端實體的碼 3 一個 m n 聯(lián)系轉換為一個關系模式 與該聯(lián)系相連的各實體的碼以及聯(lián) 系本身的屬性均轉換為關系的屬性 各實體的碼組成關系的碼或關系碼的一部 分 4 3 個或 3 個以上實體間的一個多元聯(lián)系可以轉換為一個關系模式 與該 多元聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性 各實體 的碼組成關系的碼或關系碼的一部分 5 具有相同碼的關系模式可以合并 工程零件管理系統(tǒng)中供應商和零件 零件和工程項目 供應商和工程項目 之間的關系均為 m n 所以每個都有要轉換成兩個 1 n 即把供應情況作為一個 獨立的實體 轉化后關系模式為 員工信息 員工編號 部門編號 姓名 性別 出生日期 職務 專業(yè) 籍貫 聯(lián)系電話 政治面貌 部門信息 部門編號 部門名 聯(lián)系電話 部門地址 工資表 員工編號 發(fā)放月份 基本工資 獎金 實發(fā)工資 調轉 調轉編號 員工編號 新部門編號 調轉日期 新職務名稱 調轉原因 用戶信息表 用戶名 員工編號 密碼 用戶類型 2 3 2 數(shù)據(jù)模型的優(yōu)化 關系模式都不存在非主屬性的部分函數(shù)依賴 也不存在傳遞函數(shù)依賴 已經(jīng) 達到了 3NF 為了節(jié)省關系的數(shù)量 可以適當?shù)膶⒉糠直砀窈喜?一些不太重 要的信息可以適當?shù)膭h除 例如 員工信息表中的籍貫 2 3 3 數(shù)據(jù)庫模式定義 表 2 5 員工信息表 列名列名數(shù)據(jù)類型數(shù)據(jù)類型長度長度取值范圍取值范圍是否為空是否為空備注備注 員工編號char5Not null主鍵 姓名varchar30Not null 性別char2 男 女 Not null 出生日期datetime10 身份證號int15Not null 籍貫varchar30 職務Varchar50Not null 部門編號varchar30Not null外鍵 專業(yè)Varchar50Not null 文化程度varchar50 聯(lián)系電話int20Not null 政治面貌varchar15 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 13 表 2 6 部門信息表 列名列名數(shù)據(jù)類型數(shù)據(jù)類型長度長度是否為空是否為空備注備注 部門編號Char4Not null主鍵 部門名Varchar20Not null 部門主管Varchar15Not null外鍵 聯(lián)系電話Int20Not null 部門地址Varchar30 表 2 3 薪資信息表 表 2 7 用戶信息表 列名列名數(shù)據(jù)類型數(shù)據(jù)類型長度長度是否為空是否為空備注備注 用戶名 varchar20Not null 主鍵 員工編號 char8Not null 密碼 char8 用戶類型 carchar4 2 3 4 用戶子模式定義義 表 2 8 子模式定義表 編號編號用戶子模式用戶子模式作用作用 V 1V 員工便于管理人員查詢員工的基本信息 V 2V 工資便于員工查詢自己的工資情況 V 3V 部門便于高層管理者查詢部門信息 1 V 員工用戶子模式 表 2 9 員工用戶子模式 列名列名數(shù)據(jù)類型數(shù)據(jù)類型長度長度是否為空是否為空取值范圍取值范圍 員工編號char5N 姓名varchar30N 性別char2N 男 女 出生日期datetime10Y 身份證Int15N 籍貫varchar30Y 職務Varchar50Y 部門編號varchar30N 專業(yè)Varchar50N 文化程度varchar50Y 聯(lián)系電話int20N 政治面貌varchar15Y 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 14 2 V 工資用戶子模式 表 2 10 工資用戶子模式 列名列名數(shù)據(jù)類型數(shù)據(jù)類型為空為空長度長度 姓名varcharN8 基本工資decimalY8 獎金decimalY8 實發(fā)工資decimalY8 所屬工資月份decimalY4 3 V 部門用戶子模式 表 2 11 部門用戶子模式 列名列名數(shù)據(jù)類型數(shù)據(jù)類型長度長度為空為空 部門名Varchar20N 部門主管Varchar15Y 聯(lián)系電話Int20N 部門地址Varchar30N 2 4 物理結構設計物理結構設計 2 4 1 引言 數(shù)據(jù)庫的物理設計就是為邏輯數(shù)據(jù)模型選取一個最合適應用要求的物理結 構的過程 這個階段中要完成兩大任務 1 確定數(shù)據(jù)庫的物理結構 在關系數(shù)據(jù)庫中主要是存取方法和存儲結構 2 對物理結構進行評價 評價的重點是時間和空間效率 2 4 2 索引存取方法的選擇 為數(shù)據(jù)庫中各基本表建立的索引如下 SQL Server 2000 默認為主鍵建立聚簇索引 所以不用手動建立索引 例如 由于員工表 用戶表的主鍵員工編號 用戶編號經(jīng)常在查詢條件和連接操作的 連接條件中 但是 SQL Server 2000 為主鍵主動地建立了聚簇索引 所以不用手 動的建立索引 在查詢員工信息時往往借助其屬性員工編號來查詢的 但拼音不是唯一的 所以可以建立聚簇索引 SQL Server 2000 默認為主鍵建立聚簇索引 可以先更 改主鍵的索引為唯一索引 然后在員工編號屬性上建立聚簇索引 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 15 2 5 數(shù)據(jù)庫實施數(shù)據(jù)庫實施 完成了數(shù)據(jù)庫的物理設計 我們將用 RDBMS 提供的數(shù)據(jù)定義語言和其他實 用程序將數(shù)據(jù)庫邏輯設計和物理設計結果嚴格描述出來 數(shù)據(jù)庫實施階段進行 數(shù)據(jù)導入 2 5 1 建立數(shù)據(jù)庫 數(shù)據(jù)表 1 創(chuàng)建數(shù)據(jù)庫 Create dababase HRM 2 建立數(shù)據(jù)表 我們用 SQL server 語句創(chuàng)建了員工表 部門表 用戶表 工資表等共計四個 表 員工表 create table 員工表 員工編號 char 8 not null primary key 員工編號 姓名 varChar 30 not null 性別 Char 2 not null 出生日期 datetime 身份證號 char 15 not null 籍貫 varChar 30 not null 職務 varchar 30 null 部門編號 varchar 30 not null 專業(yè) varchar 50 not null 文化程度 varchar 50 null 聯(lián)系電話 char 20 not null 政治面貌 varChar 15 null foreign key 部門編號 references 部門表 部門編號 constraint sex rule check 性別 in 男 女 部門表 create table 部門表 部門編號 varChar 30 not null primary key 部門名 varchar 20 not null 部門主管 varchar 15 null 聯(lián)系電話 char 20 not null 部門地址 varchar 30 not null 用戶表 create table 用戶表 用戶名 varchar 20 not null primary key 員工編號 char 8 not null 密碼 char 8 null 用戶類型 varchar 4 null foreign key 員工編號 references 員工表 員工編號 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 16 工資表 create table 工資表 員工編號 Char 8 not null primary key 員工編號 發(fā)放月份 基本工資 decimal 8 null 獎金 decimal 8 null 實發(fā)工資 decimal 8 null 發(fā)放月份 decimal 4 not null 2 5 2 數(shù)據(jù)信息入庫 系統(tǒng)入庫包括部門基本信息 員工基本信息 工資基本信息 用戶情況信 息 我們首先在 Excel 中錄入數(shù)據(jù) 然后利用 SQL server 2000 的數(shù)據(jù)導入功能 將數(shù)據(jù)導入到相應的表中 如果要用代碼寫 則代碼可以如下 部門信息數(shù)據(jù)入庫 比如 Insert into 部門表 values 100 研發(fā)部 張洪澤徐州 Insert into 部門表 values 600 后勤保障部 王小珍徐州 Insert into 部門表 values 700 商務部 徐悅徐州 Insert into 部門表 values 800 物流配送部 李春蕾徐州 圖 2 12 部門表 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 17 員工信息入庫 比如 Insert into 員工表 values 00020 王小珍 女 1990 1211徐州 技術員 400 工商管理 大專 8978457 團員 Insert into 員工表 values 00021 徐悅 女 1990 12 11徐州 技術員 400 人力資源 本科 8978457 團員 Insert into 員工表 values 00020 張羽 男 1990 12 14徐州 銷售代表 500 工商管理 本科 8978457 團員 圖 2 13 員工表 2 5 3 系統(tǒng)調試和測試 這一階段 我們對人員信息管理系統(tǒng)進行系統(tǒng)進行測試 驗證每個功能是 否符合要求 通過視圖查看所有表的數(shù)據(jù) 查看數(shù)據(jù)的代碼可以入下 1 單表查詢 select from 員工表 select 部門名 from 部門表 SELECT FROM 工資表 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 18 2 多表查詢 select 員工姓名 部門名 from 員工表 y1 部門表 y2 where y1 部門編號 y2 部門編號 select 員工姓名 實發(fā)工資 from 員工表 z1 工資表 z2 where z1 員工編號 z2 員工編號 3 嵌套查詢 select from 員工表 where 員工編號 in select 員工編號 from 工資表 where 實發(fā)工資 1000 and 發(fā)放月份 04 4 創(chuàng)建視圖 create view person view as select from 員工表 圖 2 14 person view 視圖 create view dep view as select from 部門表 where 部門名 商務部 and 部門主管 徐悅 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 19 圖 2 15 dep view 視圖 5 索引建立 唯一索引和聚簇索引 create unique index no on 員工表 員工編號 create clustered index sd on 員工表 員工編號 asc 部門編號 desc 6 存儲過程 編寫一個存儲過程 實現(xiàn)根據(jù)員工的姓名求所在部門名 create proc ccxs 1 員工姓名 char 10 as select 員工姓名 部門名 from 員工 表 x1 部門表 x2where x1 員工姓名 員工姓名 and x1 員工編號 x2 員工編號 exec ccxs 1 員工姓名 王小珍 編寫一個存儲過程 可以根據(jù)指定的員工編號刪除員工表表中的職工信息 以及對應的工資信息 調用該存儲過程將編號 20 員工相關信息刪除 代碼為 create PROC del inf 員工編號 char 6 as if 員工編號 is null begin print 必須提供一個數(shù)值作參數(shù) return 13 end if not exists select from 員工表 where 員工編號 員工編號 begin print 沒有滿足條件的記錄 return 103 end delete from 員工表 where 員工編號 員工編號 delete from 工資表 where 員工編號 員工編號 return 0 declare 員工編號 char 6 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 20 exec del inf 20 7 函數(shù)建立 create function check pno 員工編號 char 6 Returns int As begin declare w int if exists select From 員工表 Where 員工表 員工編號 員工編號 begin set w 1 end ELSE begin set w 1 end RETURN w end declare s1 int set s1 dbo check pno 20 if s1 1 begin insert into 工資表 員工編號 發(fā)放月份 實發(fā)工資 values 29 4 3000 end 8 更新 插入 刪除操作 update 員工表 set 性別 男 where 員工姓名 王小珍 insert into 部門表 部門編號 部門名 values 110 保安部 delete from 工資表 where 發(fā)放月份 4 9 構建觸發(fā)器 要求 在員工表表上創(chuàng)建一個觸發(fā)器 person tri 當修改或刪除職工紀錄的同 時修改或刪除工資表中對應的員工紀錄 create trigger person tri on 員工表 for update delete as declare 員工編號 char 6 begin if select count from inserted 0 and select count from deleted 0 begin delete from 工資表 where 員工編號 select 員工編號 from deleted end if select count from inserted 0 begin select 員工編號 員工編號 from inserted 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 21 update 工資表 set 員工編號 員工編號 where 員工編號 select 員工編號 from deleted end end 3 3 第三章第三章 數(shù)據(jù)庫系統(tǒng)運行數(shù)據(jù)庫系統(tǒng)運行 3 1 數(shù)據(jù)庫系統(tǒng)運行情況數(shù)據(jù)庫系統(tǒng)運行情況 1 管理者 員工登陸界面 圖 3 1 管理員登陸界面 圖 3 2 用戶登錄界面 2 管理員界面 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 22 圖 3 3 管理員主界面 圖 3 4 管理員對個人信息查詢 修改界面 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 23 圖 3 5 管理員部門信息查詢 修改界面 圖 3 6 薪資信息添加 修改管理 圖 3 7 系統(tǒng)用戶信息修改 查詢 錄入 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 24 3 員工界面 圖 3 8 員工的個人信息查詢 圖 3 9 員工的個人工資查詢 3 2 不足及改進方向不足及改進方向 3 2 1 不足 1 本次開發(fā)的人員信息管理系統(tǒng)未經(jīng)過實際調查而是憑借生活經(jīng)驗而設計的 所以缺乏一定客觀性 實用性有待于考察 2 由于在此次開發(fā)之前對于面向對象的程序設計接觸的比較少 所以在進行面 向對象的結構的設計部分 沒能夠完成實驗的要求 3 對于課程要求的系統(tǒng)的運行程度 因缺乏知識 未能實現(xiàn) 只是將大致結構 設計了出來 就比如說用 vb 連接數(shù)據(jù)庫方面的知識不足 導致系統(tǒng)沒有很 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 課程設計課程設計 25 好的連接起來 只是做了界面 4 小組雖有分工 但是在分工之前未考慮到每個部分要求的工作量 所以 在 工作中 出現(xiàn)了小組分工分工不均衡的現(xiàn)象 3 2 2 改進之處 我們需要考察現(xiàn)實中的生活經(jīng)驗 更好的根據(jù)生活情況和系統(tǒng)的情況更好 的開發(fā)數(shù)據(jù) 而且要根據(jù)不同的成員之間對數(shù)據(jù)庫的擅長來更好的分配任務 而且在分配任務之前要先考慮每個部分的數(shù)據(jù)量 在做系統(tǒng)時 還要更好的查 閱書籍

溫馨提示

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

評論

0/150

提交評論