當前位置:首頁 » 數據倉庫 » 大型資料庫課程設計
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

大型資料庫課程設計

發布時間: 2023-03-23 03:27:28

資料庫課程設計

我有學生管理資料庫設計案例 可以看著例子來做

非常詳細的
設計報告:
包含E-R圖、數據字典、關系模式、關系實例、查詢描述、關系代數、sql實現的查詢語言及查詢結果

選我我傳給你 給郵箱

這是以下目錄
1.問題描述 2
1.1背景 2
1.2數據需求 2
1.3事物需求 3
1.4關系模式 3

2.方案圖表設計 3
2.1 E-R圖 3
2.2數據流程圖 8
2.3數據字典 9
2.4關系圖: 11

3.資料庫源代碼 12
3.1資料庫建立 12
3.2數據初始化 14

4.結果數據處理 17

5.結束語 26
5.1課程設計心得 26

Ⅱ 資料庫課程設計 asp

分太少了啊,給200分怎麼樣!

Ⅲ 資料庫課程設計心得3篇

資料庫課程設計心得 範文 1: 在我看來,資料庫課程設計主要的目標是利用課程中學到的資料庫知識和技術較好的開發設計出資料庫應用系統,去解決各行各業信息化處理的要求。通過這次的課程設計,可以鞏固我們對資料庫基本原理和基礎理論的理解,掌握資料庫應用系統設計開發的基本 方法 ,進一步提高我們綜合運用所學知識的能力。

當我們這組決定做大學生就業咨詢系統時,我們並沒有著手寫程序。而是大家一起商量這個系統概述、系統目標、系統需求、業務流程分析、數據流程分析和數據詞典。當這些都准備好了之後,我們進行模塊的分工。每個人都有自己的模塊設計,而且寫出來的代碼要求可以實現相應模塊的功能,得到理想的效果。當每個人都把自己的分工做好了,最後會由一個人把這些全部組合搭建在一起。我們使用的是Html和php相互嵌套使用,當一個系統做好了之後,我會好好地把程序都看一遍,理會其中的奧秘。

我所負責的是資料庫的備份和還原還有一些界面的實現。還記得自己剛接觸html的時候,覺得很感興趣,所以有一段時間幾乎到了痴迷的程度。然而Php是我剛接觸不久的一種編程語言。不過覺得它的功能真的很強大,可以開發出很多大型的系統。但是在做備份和還原的時候,要考慮的東西還是很多的。當我遇到錯誤的時候,感到很受打擊。值得欣慰的是,在同學的幫助和大量參考書的查閱下,我把自己的模塊做好了。這就是我收獲最大的地方。而且,我明白了遇到困難永不放棄的重要性,我知道了團隊合作的重要性,我領悟了只有堅持不懈才會取得勝利。

知識的獲得是無止境的,只要你想學,只要你行動,沒有什麼會難倒我們的。回首這一個多星期的課程設計,我很欣慰。因為我有了動力,有了勇氣。謝謝老師對我們的不懈幫助,謝謝學校給了我們這一次實踐的機會,也謝謝組員們的關懷。這些美好的回憶美好的東西將永遠伴隨著我。
資料庫課程設計心得範文2:
一周的課程設計結束了,在這次的課程設計中不僅檢驗了我所學習的知識,也培養了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情的方法和技巧。在設計過程中,和同學們相互探討,相互學習,相互監督。我學會了運籌帷幄,學會了寬容,學會了理解,也學會了做人與處世,這次課程設計對我來說受益良多。

課程設計是我們專業課程知識綜合應用的實踐訓練,著是我們邁向社會,從事職業工作前一個必不少的過程.“千里之行始於足下”,通過這次課程設計,我深深體會到這句千古 名言 的真正含義.我今天認真的進行課程設計,學會腳踏實地邁開這一步,就是為明天能穩健地在社會大潮中奔跑打下堅實的基礎。我這次設計的科目是數據結。

數據結構,是一門研究非數值計算的程序設計問題中計算機的操作對象(數據元素)以及它們之間的關系和運算等的學科,而且確保經過這些運算後所得到的新結構仍然是原來的結構類型。作為一門獨立的課程在國外是從20XX年才開始設立的。20XX年美國唐·歐·克努特教授開創了數據結構的最初體系,他所著的《計算機程序設計技巧》第一卷《基本演算法》是第一本較系統地闡述數據的邏輯結構和存儲結構及其操作的著作。“數據結構”在計算機科學中是一門綜合性的專業基礎課。數據結構是介於數學、計算機硬體和計算機軟體三者之間的一門核心課程。數據結構這一門課的內容不僅是一般程序設計(特別是非數值性程序設計)的基礎,而且是設計和實現編譯程序、 操作系統 、資料庫系統及其他系統程序的重要基礎。

通過這次模具設計,我在多方面都有所提高。

一、編譯工具VisualC++

很多程序在結構上是獨立的,但是本此設計的程序功能不是零散的,它有一個連接是的程序是一個整體,怎樣達到這種統一體呢?因為這個輸出連接是貫穿始終的。說到這,就應該說以下我所應用的調試工具,也就是運行環境VisualC++,可以充分利用Windows的支持剪貼版和英文的特點。正是在實現循環鏈表的程序中充分利用這個特點,才能製作出全漢化的初始化畫面。

二、鞏固和溫習了c語言

在界面設置中使用函數調用while。其中文本顯示顏色和背景顏色都可以任意按照自己的喜好,任意改變,但改變的時候必須採用標准英文大寫,同時在製作顯示菜單的窗口,大小根據菜單條數設計。最後採用printf輸出程序設計界面。

這次的程序軟體基本上運行成功,可以簡單的建立鏈式循環鏈表,並進行輸出,及循環語句的運用和選擇語句的控制。由於時間和知識上的限制,使得程序規模相對較小,即功能還不很全面,應用也不很普遍。原來C語言可是涉及很多知識,而不是枯燥無聊的簡單的代碼部分而已,利用C語言方面的知識,我們可以設計出更完善的軟體。

三、積累了寶貴的 經驗

我這次課程設計代碼中主要使用了鏈表的循環和遍歷這兩中操作。循環鏈表(CircularLinkedList)是單鏈表的另一種形式,它是一個首尾相接的鏈表。其特點是將單鏈表最後一個結點的指針域由NULL改為指向頭結點或線性表中的第一個結點,就得到了單鏈形式的循環鏈表,並稱為循環單鏈表。類似地,還有多重鏈的循環鏈表。在循環單鏈表中,表中所有結點被鏈在一個環上,多重循環鏈表則是將表中的結點鏈在多個環上。為了使某些操作實現起來方便,在循環單鏈表中也可設置一個頭結點。這樣,空循環鏈表僅由一個自成循環的頭結點表示。所謂遍歷(Traversal),是指沿著某條搜索路線,依次對樹中每個結點均做一次且僅做一次訪問。訪問結點所做的操作依賴於具體的應用問題。

這次課程設計我選中的題目是個人資料的管理。編寫了一個可以簡易使用的個人資料管理系統,可以進行資料的輸入和管理。雖然在我的程序中有一部分是從網上搜索得來的,但我已經竭力將所獲得的信息變成自己的資源,動手上機操作,在了解和看懂的基礎上有所改變和創新,但是在的程序軟體中還有部分的不足,需要加以更新。僅管,我並沒能很好的利用所學數據結構的知識,但我也盡了自己最大的努力用我所學來完成這次的課程設計。同時,通過這次課程設計,我認識到了自己動手實踐的弱勢,特別是在編程方面,知道了計算機的實踐操作是很重要的,只有通過上機編程才能充分的了解自己的不足。

四、對以後的學習充滿了信心和期待

通過這次的課程設計,更是讓我深刻認識到自己在學習中的不足,同時也找到了克服這些不足的方法,這也是一筆很大的資源。在以後的時間中,我們應該利用更多的時間去上機實驗,加強自學的能力,多編寫程序,相信不久後我們的編程能力都會有很大的提高能設計出更多的更有創新的作品。
資料庫課程設計心得範文3:
資料庫課程設計大賽的塵囂漸漸遠去,懷著對這次大賽的些許不舍,懷著對當初課程設計開始時候的豪情萬丈的決心的留戀,懷著通過這次課程設計積累的信心與鬥志,我開始寫這篇 文章 ,為自己的足跡留下哪怕是微不足道但是對自己彌足珍貴的痕跡並期望與大家共勉。

首先,讓我的記憶追溯到大二暑假,在老大的指引下(老大勸我學asp.net),我接觸到microsoft 公司的.net產品。那個時候我已經學過vc和asp,因為windows程序設計實驗的課的關系,接觸過vb,但是沒有專門去學他,因為習慣了c++裡面的class,int,覺得vb的sub,var 看著就不是很順心。我是一個好奇心很強的人,突然看到了一個號稱“.net是用於創建下一代應用程序的理想而又現實的開發工具”,而且主推c#語言,由於對c語言的一貫好感,我幾乎是立刻對他產生了興趣。我就開始了對c#的學習,任何語言都不是孤立存在的,所以數據交互是很重要的,暑假的時候我把我們這學期的課本資料庫系統概論看了一遍。我記得以前用c語言編程的時候,數據是在內存中申請空間,譬如使用數組等等。很耗費內存空間。這個時候就是資料庫站出來的時候啦,於是我又裝上了sql server2000,以前學asp的時候用的是access,那個時候只是照著人家做,理論是什麼也不是很清楚。

通過一個暑假的學習,基本搞清楚了理論方面的東西,具體怎麼用也不是很清楚。但是這為這學期的課程設計打下了鋪墊。

來到學校後,隨著這學期的資料庫課程大賽開始了,我有一個看法就是我自己應該具備的能力不是我會多少,而是我應該具備快速學會東西的能力。遇到什麼就學什麼。我們有時候很容易被一些專業名詞說嚇著,包括什麼建模,軟體工程,數據分析,數據挖掘等等。我身邊就有很多同學被這些紙老虎所唬住,而沒有勇氣去接觸他們,總是說這個太難了之類的退堂鼓的話,他們低估了自己的潛力同時也壓抑住了他們自己的好奇心。其實都是紙老虎,又不是什麼國家科研難題,只是去用一些工具,發明工具是很難,但是用一個工具就容易多了,just do it!我記得我做這個資料庫之前,我們老師說要做好前期分析,我就在網上搜索用什麼分析工具好。最後我選擇了roseuml建模工具。在此之前,我腦袋裡面沒有軟體建模的思想,什麼uml建模對我而言就是一張空白的紙。但是真正接觸後並沒有想像的那麼難,有什麼不懂的上網去搜索,這是一個信息橫流的世界,有google,就沒有不能解決的知識難題。以及後來的資料庫分析的時候用到的powerdesigner也是一樣。

開發的時候我想過用什麼架構,c/s模式?模式有很多,怎麼選擇?我就上網搜索現在最流行的架構是什麼。結果搜到了mvc架構,就是你啦。我決定用這個架構,不會,沒關系,咱學。just do it!前期工作準備好後,那麼我就得把我暑假學的.net加以實踐。這個時候我更加深入的了解了利用ado.net操縱資料庫的知識。並且對資料庫裡面的存儲過程有了比較深入的了解。經過大概2個多星期的奮斗,我完成了我的資料庫課程設計--基於.net數據集的圖書館管理系統。並最後非常榮幸的獲得了大賽的一等獎以及以及新技術應用獎。

與其臨淵羨魚,不如退而結網。這次資料庫課程設計給我的最大的印象就是如果自己有了興趣,就動手去做,困難在你的勇氣和毅力下是抬不了頭的。從做這個資料庫開始無論遇到什麼困難,我都沒有一絲的放棄的念頭。出於對知識的渴望,出於對新技術的好奇,出於對一切未知的求知。我完成了這次資料庫課程設計,不過這只是我學習路上的驛站,未來十年.net的核心技術就是xml[至少微軟是這么宣傳的],我會繼續學習它,包括jave公司的j2ee我也很想試試,語言本來就是相通的,just do it!語言並不重要畢竟它僅僅是工具,用好一個工具並不是一件值得為外人道的事情,主要是了解學習思想。古語說的好:學無止境啊!

我很慶幸我參加了這次資料庫大賽,讓我確實打開了眼界。

Ⅳ 大型Oracle資料庫如何設計

超大型系統的特點為: 1、處理的用戶數一般都超過百萬,有的還超過千萬,資料庫的數據量一般超過1TB; 2、系統必須提供實時響應功能,系統需不停機運行,要求系統有很高的可用性及可擴展性。 為了能達到以上要求,除了需要性能優越的計算機和海量存儲設備外,還需要先進的資料庫結構設計和優化的應用系統。 一般的超大型系統採用雙機或多機集群系統。下面以資料庫採用Oracle 8.0.6並行伺服器為例來談談超大型資料庫設計方法: 確定系統的ORACLE並行伺服器應用劃分策略 資料庫物理結構的設計 系統硬碟的劃分及分配 備份及恢復策略的考慮 二、Oracle並行伺服器應用劃分策略 Oracle並行伺服器允許不同節點上的多個INSTANCE實例同時訪問一個資料庫,以提高系統的可用性、可擴展性及性能。Oracle並行伺服器中的每個INSTANCE實例都可將共享資料庫中的表或索引的數據塊讀入本地的緩沖區中,這就意味著一個數據塊可存在於多個INSTANCE實例的SGA區中。那麼保持這些緩沖區的數據的一致性就很重要。Oracle使用 PCM( Parallel Cache Management)鎖維護緩沖區的一致性,Oracle同時通過I DLM(集成的分布式鎖管理器)實現PCM 鎖,並通過專門的LCK進程實現INSTANCE實例間的數據一致。 考慮這種情況:INSTANCE1對BLOCK X塊修改,這時INSTANCE2對BLOCK X塊也需要修改。Oracle並行伺服器利用PCM鎖機制,使BLOCK X從INSTANCE 1的SGA區寫入資料庫數據文件中,又從數據文件中把BLOCK X塊讀入INSTANCE2的SGA區中。發生這種情況即為一個PING。PING使原來1個MEMORY IO可以完成的工作變成2個DISK IO和1個 MEMORY IO才能夠完成,如果系統中有過多的PING,將大大降低系統的性能。 Oracle並行伺服器中的每個PCM鎖可管理多個數據塊。PCM鎖管理的數據塊的個數與分配給一個數據文件的PCM鎖的個數及該數據文件的大小有關。當INSTANCE 1和INSTANCE 2要操作不同的BLOCK,如果這些BLOCK 是由同一個PCM鎖管理的,仍然會發生PING。這些PING稱為FALSE PING。當多個INSTANCE訪問相同的BLOCK而產生的PING是TRUE PING。 合理的應用劃分使不同的應用訪問不同的數據,可避免或減少TRUE PING;通過給FALSE PING較多的數據文件分配更多的PCM鎖可減少 FALSE PING的次數,增加PCM鎖不能減少TRUE PING。 所以,Oracle並行伺服器設計的目的是使系統交易處理合理的分布在INSTANCE實例間,以最小化PING,同時合理的分配PCM鎖,減少FALSE PING。設計的關鍵是找出可能產生的沖突,從而決定應用劃分的策略。應用劃分有如下四種方法: 1、根據功能模塊劃分,不同的節點運行不同的應用 2、根據用戶劃分,不同類型的用戶運行在不同的節點上 3、根據數據劃分,不同的節點訪問不同的數據或索引 4、根據時間劃分,不同的應用在不同的時間段運行 應用劃分的兩個重要原則是使PING最小化及使各節點的負載大致均衡。 三、資料庫物理結構的設計 資料庫物理結構設計包括確定表及索引的物理存儲參數,確定及分配資料庫表空間,確定初始的回滾段,臨時表空間,redo log files等,並確定主要的初始化參數。物理設計的目的是提高系統的性能。整個物理設計的參數可以根據實際運行情況作調整。 表及索引數據量估算及物理存儲參數的設置 表及索引的存儲容量估算是根據其記錄長度及估算的最大記錄數確定的。在容量計算中考慮了數據塊的頭開銷及記錄和欄位的頭開銷等等。

Ⅳ 跪求資料庫的課程設計啊!~~~~~

1.系統功能的基本要求:
產品入庫管理,可以填寫入庫單,確認產品入庫;
產品出庫管理,可以填寫出庫單,確認出庫;
借出管理,憑借條借出,然後能森手夠還庫;
初始庫存設置,設置庫存的初始值,庫存的上下警戒限;
可以進行盤庫,反映每月、年的庫存情況;
可以查詢產品入庫情此攔嫌況、出庫情況、當前庫存情況,可以按出庫單、入庫單,產品、時間進行衡扒查詢;

2、資料庫要求:在資料庫中至少應該包含下列數據表:
庫存情況表;
出庫單表;
入庫單表;
出庫台帳;
入庫台帳;
借條信息表,反映,借出人,借出時間,借出產品,借出數量,還庫時間等。

3、本課題設計的基本要求:
必須提交系統分析報告,包括系統的功能分析、系統的功能模塊設計、資料庫的數據字典,資料庫的概念結構(E-R圖),資料庫中的表、視圖(如果使用)、存儲過程(如果使用)的結構和定義(可以用SQL腳本提供);
程序設計的報告:包括程序的運行環境、開發環境、程序的詳細設計(包括模塊之間的關系,模塊的功能、主要功能實現的程序段)
系統的源程序,包括資料庫腳本程序。

再看看這個 希望能幫助到你

Ⅵ 資料庫應用課程設計的報告

資料庫課程設計報告 目錄目錄……………………………………………………………………………………1一.設計目標…………………………………………………………………………2二.系統介紹…………………………………………………………………………2三.資料庫設計……………………………………………………………………....2 1.需求分析……………………………………………………………………….2 2.概念結構設計………………………………………………………………….3 (1)實體設計………………………………………………………………..3 (2)ER圖……………………………………………………………………3 3.邏輯結構設計………………………………………………………………….4四.應用程序設計……………………………………………………………………4 1.delphi7.0開發環境……………………………………………………………4 2.軟體分析…………………………………………………………………..…4 (1)軟體的需求分析………………………………………………………..4 (2)軟體的基本功能………………………………………………………..5 3.軟體的設計與實現…………………………………………………………….6 五.實現的應用系統介紹…………………………………………………………….8 1.系統模塊…………………………………………………………………….8 2. 文件簡介…………………………………………………………………….8 3 .系統運行…………………………………………………………………….8 六.總結………………………………………………………………………………17 一.設計目標理論應用--運用資料庫設計理論設計一個較完善的有實際意義的資料庫結構;工具使用--掌握目前流行資料庫管理系統工具和前端應用開發工具;應用開發--為資料庫開發相應應用程序,構成完整的資料庫應用系統;報告編寫--用文字處理軟體編寫高質量的設計報告。二.系統簡介名稱:超市進銷存管系統功能:基於超市管理的全面自動化,減少入庫管理、出庫管理及庫存管理中的漏洞,節約不少管理開支,增加企業收入。 實現對產品的增加、修改、刪除、以及日常查詢,對產品的出庫、入庫進行管理。同時對營銷狀況進行簡單的分析,並可以導出各種查詢報表。資料庫:ACCESS實現:Delphi 7.0系統構架:C/S(Client/Server )三.資料庫設計.1.需求分析:超市進銷存管理系統2.概念結構設計(1)實體設計商品信息(商品編號,商品名稱,商品單位,商品單價,類別,產地,說明)進貨信息(進貨編號,商品編號,進貨單價,進貨數量,進貨時間,經手人,供貨單位)出貨信息(出貨編號,商品編號,出貨單價,出貨數量,經手人,接收人及說明等)庫存信息(商品編號,庫存說明,說明等)用戶信息(用戶名,密碼,用戶類型)(2)E-R圖包含說明產地商品單價商品類別商品名稱商品編號商 品經手人進貨數量進貨時間進貨單價商品編號進貨編號供貨單位進貨記錄商品編號出貨數量接收人經手人出貨單價出貨編號出貨時間出貨記錄庫存記錄說明商品編號庫存說明111n3.邏輯結構設計關系模型(第1數據項為主鍵)商品信息(商品編號,商品名稱,商品單位,商品單價,類別,產地,說明)進貨信息(進貨編號,商品編號,進貨單價,進貨數量,進貨時間,經手人,供貨單位)出貨信息(出貨編號,商品編號,出貨單價,出貨數量,經手人,接收人及說明等)庫存信息(商品編號,庫存說明,說明等)用戶信息(用戶名,密碼,用戶類型)出貨商品金額(出貨時間,出貨單價,出貨數量,出貨金額)進貨商品金額(進貨時間,進貨單價,進貨數量,進貨金額)四.應用程序設計1.Delphi 7.0 開發環境 Delphi被稱為第四代編程語言,它具有簡單、高效、功能強大的特點。和VC相比,Delphi更簡單、更易於掌握,而在功能上卻絲毫不遜色;和VB相比,Delphi則功能更強大、更實用。可以說Delphi同時兼備了VC功能強大和VB簡單易學的特點。它一直是程序員至愛的編程工具。 Delphi 7的集成開發環境(1DE)和Delphi以前的版本基本一致。它把單、多個工具欄及一組窗口和應用程序設計在一起,將代碼以事件的形式與界面的每一元素建立聯系,使用戶很方便地在這個高度集成的開發環境的組成和各種輔助工具的使用方法和使用技巧。2.軟體分析(1)軟體的需求分析: 開發本軟體的主要目的是為了優化超市的日常管理。採用計算機管理信息系統為實現超市管理科學化和現代化,給它帶來了明顯的經濟效益和社會效益 (2)軟體的基本功能與說明: a.商品信息管理商品信息管理:用來管理系統中要用來進行進貨,出貨操作的商品的信息,包括添加,修改,刪除和查詢信息。其中,查詢可以進行精確查詢和模糊快速查詢。任意時刻,生成當前表格報表。 b. 用戶管理1.用戶添加該許可權只有管理員擁有,可以添加臨時用戶,或者增設管理員用戶。2.用戶刪除該許可權只有管理員擁有,可以刪除用戶。3.用戶密碼修改用來修改登陸用戶的密碼,長時間地使用一個密碼可能會使密碼不安全,導致整個系統的不安全,因此有必要定期修改密碼。 c. 營銷分析1.綜合分析某一時間段內,將該超市的進貨總額、出貨總額進行統計,並算出總盈利;將庫存中的商品總量統計出來。用戶可以列印分析所得報表。同時提供進貨情況查詢、出貨情況查詢、庫存情況查詢。2.日分析某一天中,將該超市的進貨總額、出貨總額進行統計,並算出總盈利;將庫存中的商品總量統計出來。用戶可以列印分析所得報表。 d. 日常操作商品進貨操作:用來完成商品的進貨操作。商品出貨操作:用來完成商品的出貨操作。進行進貨操作時,進貨編號以及進貨時間是自動生成的,無需改動,否則會出現錯誤。所生成的商品編號為該種類型商品的最大編號,且後面有提示用戶允許的編號范圍,超出此范圍會出錯,如果編號方式正確且大於最大編號,確定添加後會提示用戶填寫新加商品的相關信息。進行出貨操作時,出貨編號自動生成,用記無須改動。在出貨單價小於進貨的最小單價時會詢問是否繼續出貨,出貨數量不能大於庫存數量。e.信息查詢1.庫存信息查詢:用來查詢庫存的商品的信息,可以按照商品編號,商品名稱和商品類別來查詢,可以將查詢結果列印輸出。該查詢可以精確查找某一確定的商品的庫存信息,並將其列印輸出。同時,該查詢可以根據商品的庫存量來將商品中庫存不足、庫存飽和、庫存過剩的商品一一列出並提供列印輸出功能。2.進貨信息查詢:用來查詢商品的進貨記錄,可以按照商品編號,商品名稱,商品類別,經手人和進貨日期查詢,可以將查詢結果輸出。該查詢可以精確查找某一確定的商品或全部商品某一確定時間段的進貨情況,並將其列印輸出。同時以圖表的形式分析該種商品的進貨價格走勢分析圖。3.出貨信息查詢:用來查詢商品的出貨記錄,可以按照商品編號,商品名稱,商品類別,經手人和出貨日期查詢,可以將查詢結果列印輸出。該查詢可以精確查找某一確定的商品或全部商品某一確定時間段的出貨情況,並將其列印輸出。同時以圖表的形式分析該種商品的出貨價格走勢分析圖。3.軟體設計與實現添加、修改、刪除是通過delphi自帶函數實現的。查詢是通過添加SQL語句或者直接在access中建立相對的查詢(如出貨商品金額、進貨商品金額查詢)實現的。(1).程序實現//添加adoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.Add('select * from 進貨信息' );adoquery1.Open ;adoquery1.Append;adoquery1.fieldbyname('進貨編號').asstring:=edit1.Text;adoquery1.fieldbyname('商品編號').asstring:=edit2.Text;adoquery1.fieldbyname('進貨單價').asstring:=edit3.Text;adoquery1.fieldbyname('進貨數量').asstring:=edit4.Text;adoquery1.fieldbyname('進貨時間').asstring:=edit5.Text;adoquery1.fieldbyname('經手人').asstring:=combobox5.Text;adoquery1.fieldbyname('供貨單位').asstring:=edit7.Text;adoquery1.Post;快速添加:adoquery1.Append;//刪除一條記錄if Application.MessageBox('真的要刪除當前所選記錄嗎?','刪除確認',MB_YESNOCANCEL+MB_ICONQUESTION+MB_DEFBUTTON3)<>IDYES then abortelseadoquery1.delete;//修改一條記錄if Application.MessageBox('真的要修改當前所選記錄嗎?','修改確認',MB_YESNOCANCEL+MB_ICONQUESTION+MB_DEFBUTTON3)<>IDYES then AdoQuery1.CancelUpdateselseadoquery1.edit;//對表的排序procere TForm2.DBGrid1TitleClick(Column: TColumn);var i : integer;beginfor i:= 1 to DBGrid1.Columns.Count dobegin//恢復所有標題字體為默認DBGrid1.Columns[i-1].Title.Font.Color := clWindowText;DBGrid1.Columns[i-1].Title.Font.Style := [];end;if ADOQuery1.Sort<>(Column.FieldName+' ASC') then //判斷原排序方式beginADOQuery1.Sort := Column.FieldName+' ASC';Column.Title.Font.Color := clRed; //改變標題行字體為紅色,表示當前的排序方式為升序Column.Title.Font.Style := [fsBold];endelse beginADOQuery1.Sort := Column.FieldName+' DESC';Column.Title.Font.Color := clBlue; //改變標題行字體為紅色,表示當前的排序方式為降序Column.Title.Font.Style := [fsBold];end;end;//查詢示例adoquery2.close;adoquery2.sql.clear;adoquery2.SQL.Add('select distinct(進貨信息.進貨編號),商品信息.商品名稱,進貨信息.商品編號,商品信息.類別,進貨信息.進貨單價,進貨信息.進貨數量,進貨信息.進貨時間,進貨信息.經手人,進貨信息.供貨單位 from 進貨信息,商品信息 where 商品信息.商品編號=進貨信息.商品編號 and ');adoquery2.SQL.Add('進貨時間>=#'+DateToStr(DateTimePicker1.Date)+'# and 進貨時間<=#'+DateToStr(DateTimePicker2.Date+1)+'#');adoquery2.Open;*五.實現的應用系統介紹1.系統的模塊(1)主界面模塊Form1(2)信息管理模塊Form2,form18(3)日常操作模塊Form3(4)信息管理模塊Form5(5) 用戶管理模塊Form14(6)系統管理模塊用戶登陸:form8關於系統:form10退出系統:from11()登陸窗體Form82.文件簡介:(1)文件help包括生成jun_help幫助的所有源程序。(2)文件image系統所有用到的圖片文件(3) 文件project系統可執行文件project.exe。系統資料庫超市進銷存儲管理系統.mdb(4) 文件sounds系統所有用到的聲音文件(5) 文件unit_date系統自動生成的相關文件3.系統運行:1.歡迎:2.到達主界面後,提示登陸(系統管理—登陸系統)。用戶可以查看幫助獲得系統的相關信息:3.用戶登陸界面:4.若用戶為管理員,則可以進行用戶管理操作。用戶有權添加、修改、刪除其它用戶。5.若用戶為普通用戶,則用戶只能對自己的相關信息進行修改,添加用戶、刪除用戶不可用。6.商品信息管理模塊商品信息管理:用來管理系統中要用來進行進貨,出貨操作的商品的信息,包括添加,修改,刪除和查詢信息。其中,查詢可以進行精確查詢和模糊快速查詢。任意時刻,生成當前表格報表。7.營銷分析模塊:1).綜合分析某一時間段內,將該超市的進貨總額、出貨總額進行統計,並算出總盈利;將庫存中的商品總量統計出來。用戶可以列印分析所得報表。同時提供進貨情況查詢、出貨情況查詢、庫存情況查詢。2).日分析某一天中,將該超市的進貨總額、出貨總額進行統計,並算出總盈利;將庫存中的商品總量統計出來。用戶可以列印分析所得報表。8.商品進出貨操作模塊:1)進行進貨操作時,進貨編號以及進貨時間是自動生成的,無需改動,否則會出現錯誤。所生成的商品編號為該種類型商品的最大編號,且後面有提示用戶允許的編號范圍,超出此范圍會出錯,如果編號方式正確且大於最大編號,確定添加後會提示用戶填寫新加商品的相關信息。2)進行出貨操作時,出貨編號自動生成,用記無須改動。在出貨單價小於進貨的最小單價時會詢問是否繼續出貨,出貨數量不能大於庫存數量。9.信息查詢模塊:1).庫存信息查詢:用來查詢庫存的商品的信息,可以按照商品編號,商品名稱和商品類別來查詢,可以將查詢結果列印輸出。該查詢可以精確查找某一確定的商品的庫存信息,並將其列印輸出。同時,該查詢可以根據商品的庫存量來將商品中庫存不足、庫存飽和、庫存過剩的商品一一列出並提供列印輸出功能。2).進貨信息查詢:用來查詢商品的進貨記錄,可以按照商品編號,商品名稱,商品類別,經手人和進貨日期查詢,可以將查詢結果輸出。該查詢可以精確查找某一確定的商品或全部商品某一確定時間段的進貨情況,並將其列印輸出。同時以圖表的形式分析該種商品的進貨價格走勢分析圖。3).出貨信息查詢:用來查詢商品的出貨記錄,可以按照商品編號,商品名稱,商品類別,經手人和出貨日期查詢,可以將查詢結果列印輸出。該查詢可以精確查找某一確定的商品或全部商品某一確定時間段的出貨情況,並將其列印輸出。同時以圖表的形式分析該種商品的出貨價格走勢分析圖。10關於系統模塊:11.用戶管理模塊:1).用戶添加該許可權只有管理員擁有,可以添加臨時用戶,或者增設管理員用戶。2).用戶刪除該許可權只有管理員擁有,可以刪除用戶。3).用戶密碼修改用來修改登陸用戶的密碼,長時間地使用一個密碼可能會使密碼不安全,導致整個系統的不安全,因此有必要定期修改密碼。12.退出系統模塊:

Ⅶ 高分求一份完整圖書管理系統資料庫課程設計

網上書店(圖書)管理系統的設計與實現(HTML5,SSH,MySQL)(含錄像)

Ⅷ 急求完整SQL資料庫課程設計

已經發到你的QQ郵箱去了,看看合不合適。

Ⅸ 資料庫課程設計實例

資料庫課程設計

題目:小型超市管理系統
1、項目計劃
1.1系統開發目的
(1)大大提高超市的運作效率;
(2)通過全面的信息採集和處理,輔助提高超市的決策水平;
(3)使用本系統,可以迅速提升超市的管理水平,為降低經營成本, 提高效益,增強超市擴張力, 提供有效的技術保障。
1.2背景說明
21世紀,超市的競爭也進入到了一個全新的領域,競爭已不再是規模的競爭,而是技術的競爭、管理的競爭、人才的競爭。技術的提升和管理的升級是超市業的競爭核心。零售領域目前呈多元發展趨勢,多種業態:超市、倉儲店、便利店、特許加盟店、專賣店、貨倉等相互並存。如何在激烈的競爭中擴大銷售額、降低經營成本、擴大經營規模,成為超市營業者努力追求的目標。
1.3項目確立
針對超市的特點,為了幫助超市解決現在面臨的問題,提高小型超市的競爭力,我們將開發以下系統:前台POS銷售系統、後台管理系統,其中這兩個子系統又包含其它一些子功能。
1.4應用范圍
本系統適應於各種小型的超市。
1.5 定義
(1)商品條形碼:每種商品具有唯一的條形碼,對於某些價格一樣的商品,可以使用自定義條形碼。
(2)交易清單:包括交易的流水賬號、每類商品的商品名、數量、該類商品的總金額、交易的時間、負責本次收銀的員工號。
(3)商品積壓:在一定時期內,遠無法完成銷售計劃的商品會造成積壓。
(4)促銷:在一定時期內,某些商品會按低於原價的促銷價格銷售。
庫存告警提示:當商品的庫存數量低於庫存報警數量時發出提示。
(5)盤點:計算出庫存、銷售額、盈利等經營指標。
1.6 參考資料
《資料庫原理及設計》 陶宏才編 清華大學出版社
《SQL Server 2000 實用教程》范立南編 清華大學出版社
《SQL Server 2000 編程員指南》李香敏編 北京希望電子出版社
《輕松搞定 SQL Server 2000 程序設計》Rebecca M.Riordan編
《軟體工程規范》Watts S.Humphrey編 清華大學出版社
《軟體工程理論與實踐》 Shari Lawrence Pfleeger編 清華大學出版社
《軟體需求分析》 Swapna Kishore編 機械工業出版社
《軟體工程思想》 林銳編

2、邏輯分析與詳細分析
2.1系統功能
(1)、零售前台(POS)管理系統,本系統必須具有以下功能:
 商品錄入:根據超巿業務特點制定相關功能,可以通過輸入唯一編號、掃描條形碼、商品名稱等來實現精確或模糊的商品掃描錄入。該掃描錄入方法可以充分保證各種電腦操作水平層次的人員均能准確快速地進行商品掃描錄入。
 收銀業務:通過掃描條形碼或者直接輸入商品名稱(對於同類多件商品採用一次錄入加數量的方式)自動計算本次交易的總金額。在顧客付款後,自動計算找零,同時列印交易清單(包括交易的流水賬號、每類商品的商品名、數量、該類商品的總金額、交易的時間、負責本次收銀的員工號)。如果顧客是本店會員並持有本人會員卡,則在交易前先掃描會員卡,並對所購物品全部實行95折優惠,並將所購物品的總金額累計到該會員的總消費金額中。 會員卡的有效期限為一年,滿一年未續卡者,該會員卡將被注銷。
 安全性:OS登陸、退出、換班與操作鎖定等許可權驗證保護;斷電自動保護最大限度防止意外及惡意非法操作。
 獨立作業:有的斷網收銀即在網路伺服器斷開或網路不通的情況下,收銀機仍能正常作業
(2)、後台管理系統,本系統必須具備以下功能
 進貨管理: 根據銷售情況及庫存情況,自動制定進貨計劃(亦可手工制定修改),可以避免盲目進貨造成商品積壓。 按計劃單有選擇性地進行自動入庫登記。 綜合查詢列印計劃進貨與入庫記錄及金額。
 銷售管理: 商品正常銷售、促銷與限量、限期及禁止銷售控制。 綜合查詢各種銷售明細記錄、各地收銀員收銀記錄以及交結賬情況等。 按多種方式統計生成銷售排行榜,靈活察看和列印商品銷售日、月、年報表。
 庫存管理: 綜合查詢庫存明細記錄。 庫存狀態自動告警提示。如庫存過剩、少貨、缺貨等。軟體為您預警,避免庫存商品積壓損失和缺貨。 庫存自動盤點計算。
 人員管理: 員工、會員、供貨商、廠商等基本信息登記管理。 員工操作許可權管理。 客戶銷售許可權管理。

(3)系統結構
系統總體結構

模塊子系統結構

功能描述:商品錄入子系統要求能快速錄入商品,因此必須支持條形碼掃描。

功能描述:收銀業務子系統能計算交易總額,列印交易清單,並根據會員卡打折。

功能描述:進貨管理子系統可以根據庫存自動指定進貨計劃,進貨時自動等級,以及提供查詢和列印計劃進貨與入庫記錄的功能。

功能描述:銷售管理子系統可以控制某商品是否允許銷售,查詢每種商品的銷售情況並產生年、月、日報表,同時可以生成銷售排行榜。

功能描述:庫存管理子系統提供查詢庫存明細記錄的基本功能,並根據庫存的狀態報警,以及自動盤點計算。

功能描述:人員管理子系統提供基本信息登記管理,員工操作許可權管理,客戶銷售許可權管理的功能。
2.2、流程圖
前台管理系統

頂層DFD圖

第0層DFD圖

第1層DFD圖

2.3、戶類型與職能
(1)、員工(營業員):
 通過商品條形碼掃描輸入商品到購買清單
 操作軟體計算交易總金額
 操作軟體輸出交易清單
 對會員進行會員卡掃描以便打折
(2)、:超市經理
 操作軟體錄入商品,供貨商,廠商
 操作軟體制定進貨計劃
 查詢列印計劃進貨與入庫記錄
 操作軟體控制商品銷售與否
 查詢列印銷售情況
 操作軟體生成銷售排行榜
 查詢庫存明細記錄
 根據軟體發出的庫存告警進行入貨
 操作軟體進行盤點計算
(3)、總經理:
 基本信息登記管理
 員工操作許可權管理
 客戶銷售許可權管理
2.4、統開發步驟
 確定參與者和相關的用況
 為每個用況設計過程
 建立順序圖,確定每個腳本中對象的協作
 創建類,確定腳本中的對象
 設計, 編碼, 測試, 集成類
 為過程編寫系統測試案例
 運行測試案例,檢驗系統
2.5、系統環境需求
 系統模式

本系統採用C/S模式作為開發模式
 硬體環境
伺服器端:
高性能的計算機一台,
普通的雙絞線作為連接。
客戶端: 普通的計算機或者工作站,
普通的雙絞線作為連接。
 軟體環境
伺服器端:安裝SQL Server 2000的伺服器版本,
安裝windows 2000伺服器版本,
配置了諾頓等必須的防毒軟體。
客戶端: 安裝SQL Server2000的伺服器版本,
安裝了VB等可視化開發工具軟體,
安裝windows2000伺服器版本。

2.6、系統安全問題
信息系統盡管功能強大,技術先進,但由於受到自身體系結構,設計思路以及運行機制等限制,也隱含許多不安全因素。常見因素有:數據的輸入,輸出,存取與備份,源程序以及應用軟體,資料庫,操作系統等漏洞或缺陷,硬體,通信部分的漏洞,企業內部人員的因素,病毒,「黑客」等因素。因此,為使本系統能夠真正安全,可靠,穩定地工作,必須考慮如下問題:為保證安全,不致使系統遭到意外事故的損害,系統因該能防止火,盜或其他形式的人為破壞。
 系統要能重建
 系統應該是可審查的
 系統應能進行有效控制,抗干擾能力強
 系統使用者的使用許可權是可識別的
3、基於UML的建模
3.1語義規則
用例模型(use cases view)(用例視圖)的基本組成部件是用例(use case)、角色(actor)和系統(system)。用例用於描述系統的功能,也就是從外部用戶的角度觀察,系統應支持哪些功能,幫助分析人員理解系統的行為,它是對系統功能的宏觀描述,一個完整的系統中通常包含若干個用例,每個用例具體說明應完成的功能,代表系統的所有基本功能(集)。角色是與系統進行交互的外部實體,它可以是系統用戶,也可以是其它系統或硬體設備,總之,凡是需要與系統交互的任何東西都可以稱作角色。系統的邊界線以內的區域(即用例的活動區域)則抽象表示系統能夠實現的所有基本功能。在一個基本功能(集)已經實現的系統中,系統運轉的大致過程是:外部角色先初始化用例,然後用例執行其所代表的功能,執行完後用例便給角色返回一些值,這個值可以是角色需要的來自系統中的任何東西。
UML:是一種標準的圖形化建模語言,它是面向對象分析與設計的一種標准表示;它不是一種可視化的程序設計語言而是一種可視化的建模語言;不是工具或知識庫的規格說明而是一種建模語言規格說明是一種表示的標准;不是過程也不是方法但允許任何一種過程和方法使用它。

用例(use case):

參與者(actor):

3.2、UML模型
3.21、系統UML模型

3.22、子系統UML模型
(1)零售前台(POS)管理系統用例視圖

(2)後台管理系統用例視圖

3.3、系統實現圖

4、超市銷售系統概念設計文檔
(1)、系統ER圖

(2)、系統ER圖說明
1) 商店中的所有用戶(員工)可以銷售多種商品,每種商品可由不同用戶(員工)銷售;
2) 每個顧客可以購買多種商品,不同商品可由不同顧客購買;
3) 每個供貨商可以供應多種不同商品,每種商品可由多個供應商供應。
(3)、視圖設計
1) 交易視圖(v_Dealing)——用於查詢交易情況的視圖;
2) 計劃進貨視圖(v_PlanStock)——用於查詢進貨計劃的視圖;
3) 銷售視圖(v_Sale)——用於查詢銷售明細記錄的視圖;
4) 入庫視圖(v_Stock)——用於查詢入庫情況的視圖。
5、邏輯設計文檔
(1)、系統關系模型
a) 商品信息表(商品編號,商品名稱,價格,條形碼,促銷價格,促銷起日期,促銷止日期,允許打折,庫存數量,庫存報警數量,計劃進貨數,允許銷售,廠商編號,供貨商編號)
b) 用戶表(用戶編號,用戶名稱,用戶密碼,用戶類型)
c) 會員表(會員編號,會員卡號,累積消費金額,注冊日期)
d) 銷售表(銷售編號,商品編號,銷售數量,銷售金額,銷售日期)
e) 交易表(交易編號,用戶名稱,交易金額,會員卡號,交易日期)
f) 進貨入庫表(入庫編號,入庫商品編號,入庫數量,單額,總額,入庫日期,計劃進貨日期,入庫狀態)
g) 供貨商表(供貨商編號,供貨商名稱,供貨商地址,供貨商電話)
h) 廠商表(廠商編號,廠商名稱,廠商地址,廠商電話)

(2)、系統資料庫表結構
資料庫表索引
表名 中文名
MerchInfo 商品信息表
User 用戶表
Menber 會員表
Sale 銷售表
Dealing 交易表
Stock 進貨入庫表
Provide 供貨商表
Factory 廠商表

商品信息表(MerchInfo)
欄位名 欄位類型 長度 主/外鍵 欄位值約束 對應中文名
MerchID int 4 P Not null 商品編號
MerchName Varchar 50 Not null 商品名稱
MerchPrice Money 4 Not null 價格
MerchNum Int 4 Not null 庫存數量
CautionNum Int 4 Not null 庫存報警數量
PlanNum Int 4 null 計劃進貨數
BarCode Varchar 50 Not null 條形碼
SalesProPrice Money 4 促銷價格
SalesProDateS Datetime 8 促銷起日期
SalesProDateE Datetime 8 促銷止日期
AllowAbate Int 4 Not null 允許打折
AllowSale Int 4 Not null 允許銷售
FactoryID Varchar 10 F Not null 廠商編號
ProvideID Varchar 10 F Not null 供貨商編號

用戶表(User)
欄位名 欄位類型 長度 主/外鍵 欄位值約束 對應中文名
UserID varchar 10 P Not null 用戶編號
UserName Varchar 25 Not null 用戶名稱
UserPW Varchar 50 Not null 用戶密碼
UserStyle Int 4 Not null 用戶類型

會員表(Menber)
欄位名 欄位類型 長度 主/外鍵 欄位值約束 對應中文名
MemberID Varchar 10 P Not null 會員編號
MemberCard Varchar 20 Not null 會員卡號
TotalCost Money 4 Not null 累積消費金額
RegDate Datetime 8 Not null 注冊日期

銷售表(Sale)
欄位名 欄位類型 長度 主/外鍵 欄位值約束 對應中文名
SaleID Varchar 10 P Not null 銷售編號
MerChID Varchar 10 F Not null 商品編號
SaleDate Datetime 8 Not null 銷售日期
SaleNum Int 4 Not null 銷售數量
SalePrice Money 4 Not null 銷售單額

交易表(Dealing)
欄位名 欄位類型 長度 主/外鍵 欄位值約束 對應中文名
DealingID Varchar 10 P Not null 交易編號
DealingPrice Money 4 Not null 交易金額
DealingDate Money 4 Not null 交易日期
MemberID Varchar 10 會員卡號
UserName Varchar 10 F Not null 用戶名稱

入庫紀錄表(Stock)
欄位名 欄位類型 長度 主/外鍵 欄位值約束 對應中文名
StockID Varchar 10 P Not null 入庫編號
MerchID Varchar 10 F Not null 入庫商品編號
MerchNum Int 4 Not null 入庫數量
MerchPrice Money 4 Not null 單額
TotalPrice Money 4 Not null 總額
StockDate Datetime 8 Datetime 入庫日期
PlanDate Datetime 8 Datetime 計劃進貨日期
StockState Int 4 Not null 入庫狀態

供貨商表(Provide)
欄位名 欄位類型 長度 主/外鍵 欄位值約束 對應中文名
ProvideID varchar 10 P Not null 供貨商編號
ProvideName Varchar 50 Not null 供貨商名稱
ProvideAddress Varchar 250 供貨商地址
ProvidePhone Varchar 25 供貨商電話

廠商表(Provide)
欄位名 欄位類型 長度 主/外鍵 欄位值約束 對應中文名
FactoryID varchar 10 P Not null 廠商編號
FactoryName Varchar 50 Not null 廠商名稱
FactoryAddress Varchar 250 廠商地址
FactoryPhone Varchar 25 廠商電話
6、物理設計文檔
/*----------創建資料庫----------*/
create database SuperMarketdb
on primary
(
name=SuperMarketdb,
filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SuperMarketdb.mdf',
size=100MB,
maxsize=200MB,
filegrowth=20MB
)
log on
(
name=SuperMarketlog,
filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SuperMarketdb.ldf',
size=60MB,
maxsize=200MB,
filegrowth=20MB
)
go

/*----------創建基本表----------*/
use [SuperMarketdb]
go
/*創建交易表*/
CREATE TABLE Dealing (
DealingID int identity(1,1) Primary key ,
DealingDate datetime NOT NULL ,
DealingPrice money NOT NULL ,
UserName varchar(25) NULL ,
MemberCard varchar(20) NULL
)
GO
/*創建廠商表*/
CREATE TABLE Factory (
FactoryID varchar(10) Primary key ,
FactoryName varchar(50) NOT NULL ,
FactoryAddress varchar(250) NULL ,
FactoryPhone varchar(50) NULL
)
GO
/*創建會員表*/
CREATE TABLE Member (
MemberID varchar(10) Primary key ,
MemberCard varchar(20) NOT NULL ,
TotalCost money NOT NULL ,
RegDate datetime NOT NULL
)
GO
/*創建商品信息表*/
CREATE TABLE MerchInfo (
MerchID int identity(1,1) Primary key ,
MerchName varchar(50) Unique NOT NULL ,
MerchPrice money NOT NULL ,
MerchNum int NOT NULL ,
CautionNum int NOT NULL ,
PlanNum int NOT NULL ,
BarCode varchar(20) Unique NOT NULL ,
SalesProPrice money NULL ,
SalesProDateS datetime NULL ,
SalesProDateE datetime NULL ,
AllowAbate int NOT NULL ,
AllowSale int NOT NULL ,
FactoryID int NOT NULL ,
ProvideID int NOT NULL
)
GO
/*創建供應商表*/
CREATE TABLE Provide (
ProvideID varchar(10) Primary key ,
ProvideName varchar(50) NOT NULL ,
ProvideAddress varchar(250) NULL ,
ProvidePhone varchar(25) NULL
)
GO
/*創建銷售表*/
CREATE TABLE Sale (
SaleID int identity(1,1) Primary key ,
MerChID int NOT NULL ,
SaleDate datetime NOT NULL ,
SaleNum int NOT NULL,
SalePrice money NOT NULL
)
GO
/*創建入庫表*/
CREATE TABLE Stock (
StockID int identity(1,1) Primary key ,
MerchID int NOT NULL ,
MerchNum int NOT NULL ,
MerchPrice money NULL ,
TotalPrice money NULL ,
PlanDate datetime NULL ,
StockDate datetime NULL,
StockState int NOT NULL
)
GO
/*創建用戶表*/
CREATE TABLE User (
UserID varchar(10) Primary key ,
UserName varchar(25) NOT NULL ,
UserPW varchar(50) NOT NULL ,
UserStyle int NOT NULL ,
)
GO

/*----------創建表間約束----------*/
/*商品信息表中廠商編號、供應商編號分別與廠商表、供應商表之間的外鍵約束*/
ALTER TABLE MerchInfo ADD
CONSTRAINT [FK_MerchInfo_Factory] FOREIGN KEY
(
[FactoryID]
) REFERENCES Factory (
[FactoryID]
),
CONSTRAINT [FK_MerchInfo_Provide] FOREIGN KEY
(
[ProvideID]
) REFERENCES Provide (
[ProvideID]
)
GO
/*銷售表中商品編號與商品信息表之間的外鍵約束*/
ALTER TABLE Sale ADD
CONSTRAINT [FK_Sale_MerchInfo] FOREIGN KEY
(
[MerChID]
) REFERENCES MerchInfo (
[MerchID]
) ON DELETE CASCADE
GO
/*入庫表中商品編號與商品信息表之間的外鍵約束*/
ALTER TABLE Stock ADD
CONSTRAINT [FK_Stock_MerchInfo] FOREIGN KEY
(
[MerchID]
) REFERENCES MerchInfo (
[MerchID]
) ON DELETE CASCADE
GO

/*----------創建索引----------*/
/*在交易表上建立一個以交易編號、交易日期為索引項的非聚集索引*/
CREATE nonclustered INDEX IX_Dealing ON Dealing(DealingID, DealingDate)
GO
/*在商品信息表上建立一個以商品編號為索引項的非聚集索引*/
CREATE nonclustered INDEX IX_MerchInfo ON MerchInfo(MerchID)
GO
/*在銷售表上建立一個以銷售編號、銷售日期為索引項的非聚集索引*/
CREATE nonclustered INDEX IX_Sale ON Sale(SaleID, SaleDate)
GO
/*在入庫表上建立一個以入庫編號、入庫日期、商品編號為索引項的非聚集索引*/
CREATE nonclustered INDEX IX_Stock ON Stock(StockID, StockDate, MerchID)
GO

/*----------創建視圖----------*/
/*創建用於查詢交易情況的視圖*/
CREATE VIEW v_Dealing
AS
SELECT DealingDate as 交易日期,
UserName as 員工名稱,
MemberCard as 會員卡號,
DealingPrice as 交易金額
FROM Dealing
GO
/*創建用於查詢進貨計劃的視圖*/
CREATE VIEW v_PlanStock
AS
SELECT Stock.StockID as SID,
MerchInfo.MerchName as 商品名稱,
MerchInfo.BarCode as 條形碼,
Factory.FactoryName as 廠商,
Provide.ProvideName as 供貨商,
Stock.MerchNum as 計劃進貨數量,
Stock.PlanDate as 計劃進貨日期
FROM Stock,MerchInfo,Provide,Factory
Where Stock.MerchID = MerchInfo.MerchID
and Provide.ProvideID=MerchInfo.ProvideID
and Factory.FactoryID=MerchInfo.FactoryID
and Stock.StockState=0
GO
/*創建用於查詢銷售明細記錄的視圖*/
CREATE VIEW v_Sale
AS
SELECT MerchInfo.MerchName as 商品名稱,
MerchInfo.BarCode as 條形碼,
MerchInfo.MerchPrice as 商品價格,
Sale.SalePrice as 銷售價格,
Sale.SaleNum as 銷售數量,
Sale.SaleDate as 銷售日期
FROM Sale INNER JOIN
MerchInfo ON Sale.MerChID = MerchInfo.MerchID
GO
/*創建用於查詢入庫情況的視圖*/
CREATE VIEW v_Stock
AS
SELECT MerchInfo.MerchName as 商品名稱,
MerchInfo.BarCode as 條形碼,
Factory.FactoryName as 廠商,
Provide.ProvideName as 供貨商,
Stock.MerchPrice as 入庫價格,
Stock.MerchNum as 入庫數量,
Stock.TotalPrice as 入庫總額,
Stock.StockDate as 入庫日期
FROM Stock,MerchInfo,Provide,Factory
Where Stock.MerchID = MerchInfo.MerchID
and Provide.ProvideID=MerchInfo.ProvideID
and Factory.FactoryID=MerchInfo.FactoryID
and Stock.StockState=1
GO

7、小結
和傳統管理模式相比較,使用本系統,毫無疑問會大大提高超市的運作效率,輔助提高超市的決策水平,管理水平,為降低經營成本, 提高效益,減少差錯,節省人力,減少顧客購物時間,增加客流量,提高顧客滿意度,增強超市擴張能力, 提供有效的技術保障。
由於開發者能力有限,加上時間倉促,本系統難免會出現一些不足之處,例如:
 本系統只適合小型超市使用,不能適合中大型超市使用;
 超市管理系統涉及范圍寬,要解決的問題多,功能復雜,實現困難,但由於限於時間,本系統只能做出其中的一部分功能;
對於以上出現的問題,我們深表歉意,如發現還有其它問題,希望老師批評指正。