《SQLserver數(shù)據(jù)庫應(yīng)用技術(shù)》期末課程設(shè)計(jì)_第1頁
《SQLserver數(shù)據(jù)庫應(yīng)用技術(shù)》期末課程設(shè)計(jì)_第2頁
《SQLserver數(shù)據(jù)庫應(yīng)用技術(shù)》期末課程設(shè)計(jì)_第3頁
《SQLserver數(shù)據(jù)庫應(yīng)用技術(shù)》期末課程設(shè)計(jì)_第4頁
《SQLserver數(shù)據(jù)庫應(yīng)用技術(shù)》期末課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、作者有話要說:如果看了這份文檔覺得有幫助的親,記得幫俺關(guān)注一下這個(gè)網(wǎng)址wwwqdmmcomMMWebaspx,沒事的時(shí)候點(diǎn)點(diǎn)就行的,更閑的時(shí)候留下些什么我更會(huì)感激不盡的,就當(dāng)作小小回報(bào)俺一下啦話說俺也是做了很久的,很累人的。謝謝謝如果看了文檔有幫助卻不幫俺的話,就別怪俺在你背后畫圈圈哦!SQL Sserver數(shù)據(jù)庫技術(shù)期末課程設(shè)計(jì)報(bào)告設(shè)計(jì)題目:小型書店管理系統(tǒng)專業(yè)班級(jí):計(jì)算機(jī)科學(xué)與技術(shù)學(xué) 號(hào): 姓 名: 陳 麗 目 錄概述3課題簡介3設(shè)計(jì)目的3設(shè)計(jì)內(nèi)容3需求分析4功能分析4數(shù)據(jù)流圖4數(shù)據(jù)字典5概念結(jié)構(gòu)設(shè)計(jì)6概念結(jié)構(gòu)設(shè)計(jì)的方法6概念結(jié)構(gòu)設(shè)計(jì)的步驟7抽象初步數(shù)據(jù):(此處與優(yōu)化后E-R圖得出的實(shí)體聯(lián)

2、系屬性很有可能不同)7邏輯設(shè)計(jì)階段10將ER模式轉(zhuǎn)換為以下關(guān)系模式:10用戶外模式設(shè)計(jì):11物理設(shè)計(jì)階段11建立小型書店管理系統(tǒng)11對(duì)各個(gè)基本表的建立(包括了各種完整性約束)12建立視圖13建立存儲(chǔ)過程15建立觸發(fā)器(另外5個(gè)表也建立相應(yīng)曾刪改觸發(fā)器,不過此處從略,詳情見附件源代碼)16建立索引(由于數(shù)據(jù)庫比較小,沒有必要建立索引)18實(shí)現(xiàn)數(shù)據(jù)庫(有附件源代碼和該數(shù)據(jù)庫源文件)18向基本表插入適量如下數(shù)據(jù)并顯示基本表信息18視圖顯示基本信息20執(zhí)行存儲(chǔ)過程完成目標(biāo)查詢21用普通查詢完成目標(biāo)查詢(兩次查詢同時(shí)顯示)22總結(jié)24概述課題簡介書店書目書種繁多,來源多樣,購買者眾多,圖書信息、供應(yīng)商信

3、息、客戶信息、銷售信息龐大,不易管理。因此,很有必要?jiǎng)?chuàng)建一個(gè)小型書店管理系統(tǒng),以便于書店對(duì)圖書的管理。 經(jīng)過三個(gè)多月的的學(xué)習(xí),我們對(duì)計(jì)算機(jī)方面的知識(shí)有了很大的提升,本著理論聯(lián)系實(shí)際的宗旨,通過李老師提供的這次軟件技術(shù)實(shí)踐的機(jī)會(huì),在指導(dǎo)教師的幫助下,歷經(jīng)二周時(shí)間,學(xué)生自行設(shè)計(jì)一個(gè)小型書店管理系統(tǒng)管理系統(tǒng),在下面的文章中,我將以這個(gè)小型書店管理系統(tǒng)系統(tǒng)為例,談?wù)勂溟_發(fā)過程和所涉及到的問題。設(shè)計(jì)目的應(yīng)用對(duì)數(shù)據(jù)庫系統(tǒng)原理的理論學(xué)習(xí),通過上機(jī)實(shí)踐的方式將理論知識(shí)與實(shí)踐更好的結(jié)合起來,鞏固所學(xué)知識(shí)。 數(shù)據(jù)庫應(yīng)用 課程實(shí)踐:實(shí)踐和鞏固在課堂教學(xué)中學(xué)習(xí)有關(guān)知識(shí),熟練掌握對(duì)于給定結(jié)構(gòu)的數(shù)據(jù)庫的創(chuàng)建、基本操作、程

4、序系統(tǒng)的建立和調(diào)試以及系統(tǒng)評(píng)價(jià)。 數(shù)據(jù)庫原理 軟件設(shè)計(jì)實(shí)踐:實(shí)踐和鞏固在課堂教學(xué)中學(xué)習(xí)的關(guān)于關(guān)系數(shù)據(jù)庫原理的有關(guān)知識(shí)和數(shù)據(jù)庫系統(tǒng)的建立方法,熟練掌握對(duì)于給定實(shí)際問題,為了建立一個(gè)關(guān)系數(shù)據(jù)庫信息管理系統(tǒng),必須得經(jīng)過系統(tǒng)調(diào)研、需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)、系統(tǒng)調(diào)試、維護(hù)以及系統(tǒng)評(píng)價(jià)的一般過程,為畢業(yè)設(shè)計(jì)打下基礎(chǔ)。設(shè)計(jì)內(nèi)容運(yùn)用基于E-R 模型的數(shù)據(jù)庫設(shè)計(jì)方法和關(guān)系規(guī)范化理論做指導(dǎo)完成從系統(tǒng)的分析到設(shè)計(jì)直至系統(tǒng)的最終實(shí)現(xiàn),開發(fā)小型書店管理系統(tǒng),完成小型書店管理系統(tǒng)的全部功能。首先做好需求分析,并完成數(shù)據(jù)流圖和數(shù)據(jù)字典。其次做概念分析,利用實(shí)體聯(lián)系的方法將需求分析的用戶需求抽象為信息結(jié)構(gòu),得到

5、E-R 圖。然后就是邏輯結(jié)構(gòu)設(shè)計(jì),將E-R 圖轉(zhuǎn)換為計(jì)算機(jī)系統(tǒng)所支持的邏輯模型需求分析功能分析首先,建立一些基本表(盡可能滿足3N),對(duì)大部分基本信息組合、存儲(chǔ);其次通過建立視圖實(shí)現(xiàn)對(duì)冗余數(shù)據(jù)的有必要保留(查詢并計(jì)算基本表屬性得到新的作為視圖屬性)并實(shí)現(xiàn)對(duì)以下基本信息的顯示。圖書信息:圖書名稱、訂購數(shù)量、訂購時(shí)間、訂購單價(jià)、金額、出版社名稱、作者名稱;供應(yīng)商名稱等;供應(yīng)商信息:供應(yīng)商名稱、地址、電話,聯(lián)系人;客戶信息:客戶編號(hào)、名稱、年齡、性別、累計(jì)購書金額等;銷售信息:時(shí)間、銷售名稱、數(shù)量、銷售單價(jià)、客戶編號(hào)、客戶名稱、金額等。在此基礎(chǔ)上進(jìn)行以下目標(biāo)查詢,由于有些查詢常用且較復(fù)雜,為了簡化其

6、應(yīng)用,所以將它們定義為存儲(chǔ)過程。查詢當(dāng)月書店銷售金額、營業(yè)金額;(存儲(chǔ)過程)查詢某種圖書庫存數(shù)量;(存儲(chǔ)過程)查詢當(dāng)月銷量最好的圖書信息;(存儲(chǔ)過程)按供應(yīng)商名稱查詢訂購信息;(普通查詢)查詢購買次數(shù)超過3次的客戶信息。(普通查詢)接著根據(jù)需要建立觸發(fā)器、存儲(chǔ)過程、索引,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的優(yōu)化。最后,進(jìn)行過程功能的驗(yàn)證。允許具有權(quán)限者對(duì)數(shù)據(jù)庫進(jìn)行數(shù)據(jù)更新和查詢等合法操作。數(shù)據(jù)流圖用流程圖來描述處理過程與數(shù)據(jù)的關(guān)系數(shù)據(jù)流圖如下:數(shù)據(jù)字典用數(shù)據(jù)字典來描述數(shù)據(jù)數(shù)據(jù)字典如下:數(shù)據(jù)項(xiàng):數(shù)據(jù)項(xiàng)名含義說明別名數(shù)據(jù)類型長度取值范圍取值含義與其他數(shù)據(jù)項(xiàng)的邏輯關(guān)系圖書編號(hào)唯一標(biāo)識(shí)每本書char8根據(jù)入庫時(shí)間先后編號(hào)有

7、時(shí)與客戶編號(hào)作為主碼圖書名稱唯一標(biāo)識(shí)每種書書名varchar30有時(shí)與供應(yīng)商組成主碼作者名稱每種書的作者姓名char8出版社名稱每種書的出版社名稱char12供應(yīng)商名稱唯一標(biāo)識(shí)供應(yīng)商char12地址供應(yīng)商的地址varchar50電話供應(yīng)商的電話char7聯(lián)系人通過聯(lián)系人書店與供應(yīng)商進(jìn)行溝通char8訂購時(shí)間每種書的訂購時(shí)間datetime應(yīng)與圖書稱與供應(yīng)商名稱作為的主碼直接關(guān)聯(lián)訂購單價(jià)從供應(yīng)商處進(jìn)貨每種書的每本價(jià)格int客戶編號(hào)唯一標(biāo)識(shí)客戶char8按購書先后編號(hào)有時(shí)與圖書編號(hào)作為主碼客戶名稱客戶姓名char8性別客戶性別char2女或男年齡客戶年齡int每年都要增加一歲的銷售時(shí)間每本書的銷售

8、時(shí)間datetime與圖書編號(hào)和客戶編號(hào)作為的主碼直接關(guān)聯(lián)銷售單價(jià)每本書的銷售價(jià)格int數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu)名稱含義說明組成每種書指具有相同書名的書的集合的基本信息圖書名稱、作者名稱、出版社名稱每本書指圖書編號(hào)唯一標(biāo)識(shí)的個(gè)體的歸屬圖書編號(hào)、圖書名稱供應(yīng)商供應(yīng)商的基本信息供應(yīng)商名稱、地址、電話、聯(lián)系人供應(yīng)基表每種書在何處訂購的具體情況圖書名稱、供應(yīng)商名稱、訂購單價(jià)、訂購時(shí)間客戶客戶的基本信息客戶編號(hào)、客戶名稱、性別、年齡銷售基表每本書被誰買的具體請(qǐng)況圖書編號(hào)、客戶編號(hào)、銷售單價(jià)、銷售時(shí)間數(shù)據(jù)流:此處從略數(shù)據(jù)存儲(chǔ):此處從略數(shù)據(jù)處理:此處從略概念結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)的方法設(shè)計(jì)概念結(jié)構(gòu)通常有四類方法:自

9、頂向下,自底向上,逐漸擴(kuò)張以及混合策略。本系統(tǒng)采用的是自底向上的方法。即首先定義全局的概念結(jié)構(gòu)的框架,然后逐步細(xì)化。根據(jù)自頂向下地進(jìn)行需求分析然后再自底向上地進(jìn)行概念設(shè)計(jì)。概念結(jié)構(gòu)設(shè)計(jì)的步驟第一步:抽象數(shù)據(jù);第二步:設(shè)計(jì)局部E-R圖;第三步:把各分E-R圖綜合成總體E-R圖,消除各種沖突;第四步:對(duì)總體E-R圖進(jìn)行優(yōu)化,消除冗余數(shù)據(jù)和冗余聯(lián)系;抽象初步數(shù)據(jù):(此處與優(yōu)化后E-R圖得出的實(shí)體聯(lián)系屬性很有可能不同)實(shí)體:圖書、供應(yīng)商、客戶聯(lián)系:圖書訂購關(guān)系、圖書銷售關(guān)系圖書與供應(yīng)商的關(guān)系是多對(duì)一的關(guān)系;圖書與客戶的關(guān)系是多對(duì)一的關(guān)系。屬性:圖書的屬性:圖書編號(hào)、圖書名稱、出版社名稱、作者名稱、供應(yīng)

10、商名稱;主碼為圖書編號(hào)供應(yīng)商的屬性:供應(yīng)商名稱、供應(yīng)商地址、電話、聯(lián)系人;主碼為供應(yīng)商名稱客戶的屬性:客戶編號(hào)、姓名、性別、年齡;主碼為客戶編號(hào)圖書訂購關(guān)系屬性:供應(yīng)商名稱、圖書編號(hào)、訂購時(shí)間、訂購單價(jià);主碼為供應(yīng)商名稱和圖書編號(hào)圖書銷售關(guān)系屬性:客戶編號(hào)、圖書編號(hào)、銷售時(shí)間、銷售單價(jià);主碼為客戶編號(hào)和圖書編號(hào)分E-R圖:圖書E-R圖:供應(yīng)商E-R圖:客戶E-R圖:初E-R圖:優(yōu)化后的總E-R圖:邏輯設(shè)計(jì)階段邏輯設(shè)計(jì)階段:將系統(tǒng)E-R模型轉(zhuǎn)換為關(guān)系模式,并對(duì)給出的關(guān)系模式進(jìn)行關(guān)系規(guī)范化處理(盡量滿足3NF),得到系統(tǒng)全部的關(guān)系模式,并標(biāo)明主鍵、外鍵此部分一律采用英文命名。然后進(jìn)行用戶外模式的設(shè)

11、計(jì),針對(duì)中國用戶,此處用中文命名。將ER模式轉(zhuǎn)換為以下關(guān)系模式:1)book(#bname, writer_name, press_name);主鍵:#bname2.) everybook (# bno, #bname) ;主鍵:#bno外鍵:#bname3) supplier (#supplier_name, address, telephone, contact) ;主鍵:#supplier_name4)customer (#cno, cname, sex, age);主鍵:#cno5)book_order(#bname, #supplier_name, #order_time, orde

12、r_price, order_count);主鍵: #bname, #supplier_name, #order_time6)book_sell(#bno, #cno, sell_time, sell_price);主鍵:#bno發(fā)現(xiàn)這六個(gè)關(guān)系模式3N都滿足。因?yàn)樵M中都是不可分割的數(shù)據(jù),且所有非主屬性完全依賴其主碼,且它的任何一個(gè)非主屬性都不傳遞于任何主關(guān)鍵字。用戶外模式設(shè)計(jì):基本信息視圖的建立:1.單本銷售情況(圖書編號(hào),圖書名稱客戶編號(hào),客戶名稱,銷售單價(jià),銷售時(shí)間);2.同種銷售情況(書名,銷售數(shù)量,銷售金額);3.客戶信息(客戶編號(hào),客戶名稱、性別,年齡,累計(jì)購書金額);4.供應(yīng)商信

13、息(供應(yīng)商名稱,地址,電話,聯(lián)系人);5.圖書訂購信息(圖書名稱,供應(yīng)商名稱,訂購時(shí)間,訂購數(shù)量,訂購單價(jià),訂購金額,出版社名稱,作者名稱);物理設(shè)計(jì)階段物理設(shè)計(jì)階段:為一個(gè)邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(存儲(chǔ)結(jié)構(gòu)與存取方法),數(shù)據(jù)庫的物理設(shè)計(jì)通常分為兩步:A、確定數(shù)據(jù)庫的物理結(jié)構(gòu);B、對(duì)物理結(jié)構(gòu)進(jìn)行時(shí)間和空間效率評(píng)價(jià)。建立小型書店管理系統(tǒng)創(chuàng)建數(shù)據(jù)庫 book_shop_management-創(chuàng)建小型書店管理系統(tǒng)create database book_shop_managementon primary(name=book_shop_management,filename=d:p

14、rogram filesmicrosoft sql servermssql.1mssqldatabook_shop_management.mdf,size=10mb,maxsize=unlimited,filegrowth=10%)log on(name=book_shop_management_log,filename=d:program filesmicrosoft sql servermssql.1mssqldatabook_shop_management_log.ldf,size=1mb,maxsize=5mb,filegrowth=3%)go截圖得:對(duì)各個(gè)基本表的建立(包括了各種完整

15、性約束)建立表 book-建立表bookcreate table book(#bname varchar(30) primary key,writer_name char(8),press_name char(12)建立表 everybook-建立表everybookcreate table everybook(#bno char(8) primary key,#bname varchar(30) not nullconstraint fk_everybook_bname foreign key references book(#bname)建立表 supplier-建立表suppliercr

16、eate table supplier(#supplier_name char(12) primary key,address varchar(50)not null,telephone char(7)not null,contact char(8) not null)建立表 customer-建立表customercreate table customer(#cno char(8) primary key,cname char(8)not null,sex char(2),age int,constraint ck_customer_sex check (sex in(男,女)建立表 boo

17、k_order-建立表book_ordercreate table book_order(#bname varchar(30),#supplier_name char(12),#order_time datetime,order_count int not null,order_price int not null,constraint pk_book_order primary key (#bname,#supplier_name,#order_time)建立表 book_sell-建立表book_sellcreate table book_sell(#bno char(8) primary

18、 key,#cno char(8) not null,sell_time datetime,sell_price int)建立視圖建立基本信息視圖:建立單本銷售情況視圖-建立單本銷售情況視圖create view view_單本銷售情況asselect book_sell.#bno as 圖書編號(hào),#bname as 圖書名稱,book_sell.#cno as 客戶編號(hào),cname as 客戶名稱,sell_time as 銷售時(shí)間,sell_price as 銷售單價(jià)from book_sell,customer,everybookwhere everybook.#bno=book_sel

19、l.#bnoand customer.#cno=book_sell.#cno建立同種銷售情況視圖-建立同種銷售情況視圖create view view_同種銷售情況asselect 圖書名稱 as 書名,count(圖書編號(hào)) as 銷售數(shù)量,sum(銷售單價(jià)) as 銷售金額from view_單本銷售情況group by 圖書名稱建立客戶信息視圖-建立客戶信息情況create view view_客戶信息select customer.#cno as 客戶編號(hào),cname as 客戶名稱,sex as 性別,age as 年齡,(select sum(sell_price) from bo

20、ok_sellgroup by #cno) as 累計(jì)購書金額from book_sell,customerwhere book_sell.#cno=customer.#cno建立供應(yīng)商視圖-建立供應(yīng)商視圖create view view_供應(yīng)商信息asselect #supplier_name as 供應(yīng)商名稱,address as 地址,telephone as 電話,contact as 聯(lián)系人from supplier建立訂購信息視圖-建立訂購信息視圖create view view_圖書訂購信息asselect book_order.#bname as 圖書名稱,#supplier_

21、name as 供應(yīng)商名稱,#order_time as 訂購時(shí)間,order_price as 訂購單價(jià),order_count as 訂購數(shù)量,(order_price*order_count) as 訂購金額,press_name as 出版社名稱,writer_name as 作者名稱from book,book_orderwhere book.#bname=book_order.#bname建立存儲(chǔ)過程某種圖書庫存查詢存儲(chǔ)過程create procedure sp_某種圖書庫存查詢-p1為要查詢的圖書名稱p1 varchar(30)asbegin select 訂購數(shù)-銷售數(shù)量as

22、庫存from (select sum(order_count) as 訂購數(shù),#bname as 書名from book_ordergroup by #bname) as x,view_同種銷售情況where x.書名=p1 and view_同種銷售情況.書名=p1endgo某段時(shí)間內(nèi)的銷售業(yè)績查詢存儲(chǔ)過程-建立本月業(yè)績查詢存儲(chǔ)過程-由于不知其它信息,此處將銷售金額與營業(yè)金額等同-營業(yè)金額=營業(yè)額=成本+利潤create procedure sp_查詢某段時(shí)間內(nèi)的業(yè)績-p1為起始時(shí)間,p2為結(jié)束時(shí)間p1 datetime,p2 datetimeasbeginselect sum(銷售單價(jià)) as 銷售金額from view_單本銷售情況where 銷售時(shí)間=p1 and 銷售時(shí)間=p1and 銷售時(shí)間=all(select count(圖書編號(hào)) from view_單本銷售情況where 銷售時(shí)間=p1and 銷售時(shí)間3)按供應(yīng)商名稱查詢訂購信息-按供應(yīng)商名稱查詢訂購信息sele

溫馨提示

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

評(píng)論

0/150

提交評(píng)論