




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1 概述1.1課題簡(jiǎn)介書店書目書種繁多,來源多樣,購(gòu)買者眾多,圖書信息、供應(yīng)商信息、客戶信息、銷售 信息龐大, 不易管理。因此,很有必要?jiǎng)?chuàng)建一個(gè)小型書店管理系統(tǒng),以便于書店對(duì)圖書的管 理。1.2設(shè)計(jì)目的應(yīng)用對(duì)數(shù)據(jù)庫(kù)系統(tǒng)原理的理論學(xué)習(xí), 通過上機(jī)實(shí)踐的方式將理論知識(shí)與實(shí)踐更好的結(jié)合 起來,鞏固所學(xué)知識(shí)。數(shù)據(jù)庫(kù)應(yīng)用 課程實(shí)踐:實(shí)踐和鞏固在課堂教學(xué)中學(xué)習(xí)有關(guān)知識(shí),熟練掌握對(duì)于給定結(jié) 構(gòu)的數(shù)據(jù)庫(kù)的創(chuàng)建、基本操作、程序系統(tǒng)的建立和調(diào)試以及系統(tǒng)評(píng)價(jià)。數(shù)據(jù)庫(kù)原理 軟件設(shè)計(jì)實(shí)踐:實(shí)踐和鞏固在課堂教學(xué)中學(xué)習(xí)的關(guān)于關(guān)系數(shù)據(jù)庫(kù)原理的有 關(guān)知識(shí)和數(shù)據(jù)庫(kù)系統(tǒng)的建立方法, 熟練掌握對(duì)于給定實(shí)際問題, 為了建立一個(gè)關(guān)系數(shù)據(jù)
2、庫(kù)信 息管理系統(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ǔ)。1.3設(shè)計(jì)內(nèi)容運(yùn)用基于 E-R 模型的數(shù)據(jù)庫(kù)設(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),得到 E-R 圖。然后就是邏輯結(jié)構(gòu)設(shè)計(jì),將 E-R 圖轉(zhuǎn)換為計(jì)算機(jī)系統(tǒng)所支持的邏輯模型2 需求分析2.1功能分析首先,建立一些基本表(盡可能滿足 3N ,對(duì)大部分基
3、本信息組合、存儲(chǔ);其次通過 建立視圖實(shí)現(xiàn)對(duì)冗余數(shù)據(jù)的有必要保留 (查詢并計(jì)算基本表屬性得到新的作為視圖屬性 并 實(shí)現(xiàn)對(duì)以下基本信息的顯示。圖書信息:圖書名稱、訂購(gòu)數(shù)量、訂購(gòu)時(shí)間、訂購(gòu)單價(jià)、金額、出版社名稱、作者名稱; 供應(yīng)商名稱等;供應(yīng)商信息:供應(yīng)商名稱、地址、電話,聯(lián)系人;客戶信息:客戶編號(hào)、名稱、年齡、性別、累計(jì)購(gòu)書金額等;銷售信息:時(shí)間、銷售名稱、數(shù)量、銷售單價(jià)、客戶編號(hào)、客戶名稱、金額等。在此基礎(chǔ)上進(jìn)行以下目標(biāo)查詢, 由于有些查詢常用且較復(fù)雜, 為了簡(jiǎn)化其應(yīng)用, 所以將 它們定義為存儲(chǔ)過程。查詢當(dāng)月書店銷售金額、營(yíng)業(yè)金額; (存儲(chǔ)過程查詢某種圖書庫(kù)存數(shù)量; (存儲(chǔ)過程查詢當(dāng)月銷量最好的
4、圖書信息; (存儲(chǔ)過程按供應(yīng)商名稱查詢訂購(gòu)信息; (普通查詢查詢購(gòu)買次數(shù)超過 3次的客戶信息。 (普通查詢接著根據(jù)需要建立觸發(fā)器、存儲(chǔ)過程、索引,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的優(yōu)化。最后,進(jìn)行過程 功能的驗(yàn)證。允許具有權(quán)限者對(duì)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)更新和查詢等合法操作。數(shù)據(jù)流圖用流程圖來描述處理過程與數(shù)據(jù)的關(guān)系數(shù)據(jù)流圖如下: 圖 2,1 數(shù)據(jù)流圖數(shù)據(jù)字典用數(shù)據(jù)字典來描述數(shù)據(jù) 數(shù)據(jù)字典如下:數(shù)據(jù)項(xiàng): 數(shù)據(jù)結(jié)構(gòu): 概念結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)的方法設(shè)計(jì)概念結(jié)構(gòu)通常有四類方法:自頂向下,自底向上,逐漸擴(kuò)張以及混合策略。本系統(tǒng) 采用的是自底向上的方法。 即首先定義全局的概念結(jié)構(gòu)的框架, 然后逐步細(xì)化。 根據(jù)自頂向 下地進(jìn)行需求分
5、析然后再自底向上地進(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)系 :圖書訂購(gòu)關(guān)系、圖書銷售關(guān)系圖書與供應(yīng)商的關(guān)系是多對(duì)一的關(guān)系;圖書與客戶的關(guān)系是多對(duì)一的關(guān)系。屬性 :圖書的屬性:圖書編號(hào)、圖書名稱、出版社名稱、作者名稱、供應(yīng)商名稱; 主碼為圖書編號(hào)供應(yīng)商的屬性:供應(yīng)商名稱、供應(yīng)商地址、電話、聯(lián)系人;主碼為供應(yīng)商名稱客戶的屬性:客戶編號(hào)、姓
6、名、性別、年齡;主碼為客戶編號(hào)圖書訂購(gòu)關(guān)系屬性:供應(yīng)商名稱、圖書編號(hào)、訂購(gòu)時(shí)間、訂購(gòu)單價(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è)計(jì),針對(duì)中國(guó)用戶,此處用中文命名。將 E R 模式轉(zhuǎn)換為以下關(guān)系模式
7、: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, order_price, order_count;主鍵:#bname, #supp
8、lier_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ì)購(gòu)書金額 ;4. 供應(yīng)商信息(供應(yīng)商名稱,地址,電話,聯(lián)系人 ;5. 圖書訂購(gòu)信息(圖書名稱
9、,供應(yīng)商名稱,訂購(gòu)時(shí)間,訂購(gòu)數(shù)量,訂購(gòu)單價(jià),訂購(gòu)金額, 出版社名稱,作者名稱 ;物理設(shè)計(jì)階段物理設(shè)計(jì)階段:為一個(gè)邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu) (存儲(chǔ)結(jié)構(gòu)與存取 方法 ,數(shù)據(jù)庫(kù)的物理設(shè)計(jì)通常分為兩步:A 、確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu); B 、對(duì)物理結(jié)構(gòu)進(jìn)行 時(shí)間和空間效率評(píng)價(jià)。建立小型書店管理系統(tǒng)創(chuàng)建數(shù)據(jù)庫(kù) book_shop_management-創(chuàng)建小型書店管理系統(tǒng)create database book_shop_managementon primary (name ='book_shop_management',filename ='d:program
10、filesmicrosoft sql servermssql.1mssqldata book_shop_management.mdf',size =10mb ,maxsize =unlimited ,filegrowth =10%log on (name ='book_shop_management_log',filename ='d:program filesmicrosoft sqlservermssql.1mssqldatabook_shop_management_log.ldf',size =1mb ,maxsize =5mb ,filegrow
11、th =3%go截圖得: 對(duì)各個(gè)基本表的建立(包括了各種完整性約束建立表 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(
12、#bname建立表 supplier-建立表 suppliercreate table supplier(#supplier_name char (12 primary key ,address varchar (50not null,telephone char (7not null,contact char (8 not null建立表 customer-建立表 customercreate table customer(#cno char (8 primary key ,cname char (8not null,sex char (2,age int ,constraint ck_cu
13、stomer_sex check (sex in(' 男 ' , ' 女 ' 建立表 book_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建立表 b
14、ook_sell-建立表 book_sellcreate table book_sell(#bno char (8 primary key ,#cno char (8 not null,sell_time datetime ,sell_price int 建立視圖建立基本信息視圖:11/22 6/30/2016建立單本銷售情況視圖-建立單本銷售情況視圖create view view_單本銷售情況asselect book_sell. #bno as 圖書編號(hào) , #bname as 圖書名稱 ,book_sell. #cno as 客戶編號(hào) , cname as 客戶名稱 ,sell_tim
15、e as 銷售時(shí)間 , sell_price as 銷售單價(jià)from book_sell, customer , everybookwhere everybook. #bno=book_sell. #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 vi
16、ew_客戶信息select customer. #cno as 客戶編號(hào) ,cname as 客戶名稱 ,sex as 性別 ,age as 年齡 ,(select sum (sell_price from book_sellgroup by #cno as 累計(jì)購(gòu)書金額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 電話 ,
17、12/22 6/30/2016contact as 聯(lián)系人from supplier建立訂購(gòu)信息視圖-建立訂購(gòu)信息視圖create view view_圖書訂購(gòu)信息asselect book_order. #bname as 圖書名稱 ,#supplier_name as 供應(yīng)商名稱 ,#order_time as 訂購(gòu)時(shí)間 ,order_price as 訂購(gòu)單價(jià) ,order_count as 訂購(gòu)數(shù)量 ,(order_price*order_count as 訂購(gòu)金額 ,press_name as 出版社名稱 ,writer_name as 作者名稱from book, book_ord
18、erwhere book. #bname=book_order. #bname建立存儲(chǔ)過程某種圖書庫(kù)存查詢存儲(chǔ)過程create procedure sp_某種圖書庫(kù)存查詢-p1為要查詢的圖書名稱p1 varchar (30asbeginselect 訂購(gòu)數(shù) -銷售數(shù)量 as 庫(kù)存from (select sum (order_count as 訂購(gòu)數(shù) , #bname as 書名from book_ordergroup by #bname as x, view_同種銷售情況where x. 書名 =p1 and view_同種銷售情況 . 書名 =p1endgo某段時(shí)間內(nèi)的銷售業(yè)績(jī)查詢存儲(chǔ)過程
19、-建立本月業(yè)績(jī)查詢存儲(chǔ)過程-由于不知其它信息,此處將銷售金額與營(yíng)業(yè)金額等同-營(yíng)業(yè)金額 =營(yíng)業(yè)額 =成本 +利潤(rùn)create procedure sp_查詢某段時(shí)間內(nèi)的業(yè)績(jī)-p1為起始時(shí)間 ,p2為結(jié)束時(shí)間p1 datetime , p2 datetime13/22 6/30/2016asbeginselect sum (銷售單價(jià) as 銷售金額 from view_單本銷售情況where 銷售時(shí)間 >=p1 and 銷售時(shí)間 <=p2endgo某段時(shí)間內(nèi)的銷售最好圖書信息查詢存儲(chǔ)過程-建立某段時(shí)間內(nèi)銷售最好圖書信息查詢存儲(chǔ)過程create procedure sp_查詢某段時(shí)間內(nèi)銷
20、售最好的圖書信息p1 datetime , p2 datetimeasbeginselect #bname as 圖書名稱 ,writer_name as 作者名稱 ,press_name as 出版社名稱from (select 圖書名稱 as 書名 ,count (圖書編號(hào) as 銷售數(shù)量from view_單本銷售情況where 銷售時(shí)間 >=p1and 銷售時(shí)間 <=p2group by 圖書名稱 as x, bookwhere #bname=書名and 銷售數(shù)量 >=all(select count (圖書編號(hào) from view_單本銷售情況where 銷售時(shí)間
21、>=p1and 銷售時(shí)間 <=p2group by 圖書名稱 endgo建立觸發(fā)器(另外 5個(gè)表也建立相應(yīng)曾刪改觸發(fā)器,不過此 處從略,詳情見附件源代碼建立一個(gè) customer 的操作審核表,并建立相關(guān)觸發(fā)器,當(dāng)向 customer 中插入、更新或刪除 記錄時(shí),生成一條操作記錄插入到該操作審核表中,內(nèi)容包括客戶編號(hào)、客戶名稱、操作方 式(插入 /更新 /刪除和操作時(shí)間-建一個(gè)操作審核表create table customer_operate(客戶編號(hào) char (8not null,客戶名稱 char (8not null,操作方式 char (4not null,14/22
22、6/30/2016操作時(shí)間 datetime not null-建立相關(guān)觸發(fā)器create trigger trigger_customer_inserton customerfor insertasbegindeclare p1 char (8, p2 char (8set p1=(select #cno from insertedset p2=(select cname from insertedprint 'insert:'select *from insertedinsert into customer_operate values (p1, p2, ' 插入
23、' , getdate (endgocreate trigger trigger_customer_deleteon customerfor deleteasbegindeclare p1 char (8, p2 char (8set p1=(select #cno from deletedset p2=(select cname from deletedprint 'deleted:'select *from deletedinsert into customer_operate values (p1, p2, ' 刪除 ' , getdate (en
24、dgocreate trigger trigger_customer_updateon customerfor updateasbegindeclare p1 char (8, p2 char (8set p1=(select #cno from deletedset p2=(select cname from deletedprint 'inserted:'select *from insertedprint 'deleted:'select *from deletedinsert into customer_operate values (p1, p2, &
25、#39; 修改 ' , getdate (end15/22 6/30/2016go建立索引(由于數(shù)據(jù)庫(kù)比較小,沒有必要建立索引實(shí)現(xiàn)數(shù)據(jù)庫(kù)(有附件源代碼和該數(shù)據(jù)庫(kù)源文件過程功能驗(yàn)證向基本表插入適量如下數(shù)據(jù)并顯示基本表信息everybook book book_sell customer 16/22 6/30/2016 注:此處插入數(shù)據(jù)應(yīng)當(dāng) book 在 everybook 之前插入數(shù)據(jù)(外鍵截圖得: 17/22 6/30/201618/22 6/30/2016視圖顯示基本信息-用顯示視圖基本信息select * from view_單本銷售情況 select * from view_供應(yīng)
26、商信息 select * from view_客戶信息 select * from view_同種銷售信息 select * from view_圖書訂購(gòu)信息截圖得:19/22 6/30/2016 執(zhí)行存儲(chǔ)過程完成目標(biāo)查詢某種圖書庫(kù)存查詢exec sp_某種圖書庫(kù)存查詢 ' 烈火如歌 '本月業(yè)績(jī)查詢exec sp_查詢某段時(shí)間內(nèi)的業(yè)績(jī) '2013-7-1' , '2013-7-31'本月銷售最好圖書信息查詢exec sp_查詢某段時(shí)間內(nèi)銷售最好的圖書信息 '2013-7-1' , '2013-7-31'截圖得: 用普通查詢完成目標(biāo)查詢(兩次查詢同時(shí)顯示訂購(gòu)超 3次客戶信息查詢-訂購(gòu)超次客戶信息查詢select *from view_客戶信息where 客戶編號(hào) =any(select #cno from book_sellgroup by #cnohaving count (*>3按供應(yīng)商名稱查詢訂購(gòu)信息-按供應(yīng)商名稱查詢訂購(gòu)信息select *from view_圖書訂購(gòu)信息o
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030中國(guó)惡心藥行業(yè)項(xiàng)目調(diào)研及市場(chǎng)前景預(yù)測(cè)評(píng)估報(bào)告
- 2025至2030運(yùn)動(dòng)和能量飲料行業(yè)發(fā)展趨勢(shì)分析與未來投資戰(zhàn)略咨詢研究報(bào)告
- 2025至2030中國(guó)數(shù)碼噴印產(chǎn)業(yè)前景預(yù)判與投融資趨勢(shì)預(yù)測(cè)報(bào)告
- 2025至2030中國(guó)自助火鍋行業(yè)發(fā)展分析及競(jìng)爭(zhēng)策略與趨勢(shì)預(yù)測(cè)報(bào)告
- 2025至2030中國(guó)自動(dòng)寵物(貓和狗)廁所和和垃圾箱行業(yè)市場(chǎng)占有率及投資前景評(píng)估規(guī)劃報(bào)告
- 2025至2030中國(guó)臀部夾板行業(yè)發(fā)展趨勢(shì)分析與未來投資戰(zhàn)略咨詢研究報(bào)告
- 2025至2030中國(guó)腐植酸類生物刺激劑行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 2025至2030中國(guó)胰膽管塑料支架行業(yè)發(fā)展趨勢(shì)分析與未來投資戰(zhàn)略咨詢研究報(bào)告
- 電子競(jìng)技項(xiàng)目負(fù)責(zé)人職責(zé)說明
- 2025至2030中國(guó)聚縮醛樹脂行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 2025年高考真題-英語(yǔ)(全國(guó)一卷) 含答案
- 頁(yè)巖氣儲(chǔ)層表征評(píng)價(jià)技術(shù)進(jìn)展及其未來發(fā)展趨勢(shì)分析
- 統(tǒng)編版高中政治必修三《政治與法治》期末復(fù)習(xí):選擇題刷題練習(xí)題(含答案解析)
- 2025-2030年中國(guó)線纜設(shè)備行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 兒童情商課件
- 2025年湖北荊門市交通旅游投資集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 食品產(chǎn)品溯源管理制度
- 2024年遼陽(yáng)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)附答案
- 護(hù)士思想政治教育
- 陜投集團(tuán)招聘真題2024
- 國(guó)家開放大學(xué)漢語(yǔ)言文學(xué)本科《古代詩(shī)歌散文專題》期末紙質(zhì)考試第三大題簡(jiǎn)答題庫(kù)2025春期版
評(píng)論
0/150
提交評(píng)論