国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

書店銷售管理系統(tǒng)----數(shù)據(jù)庫原理及應(yīng)用綜合實驗

這篇具有很好參考價值的文章主要介紹了書店銷售管理系統(tǒng)----數(shù)據(jù)庫原理及應(yīng)用綜合實驗。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

枯木逢春猶再發(fā),人無兩度再少年??

系統(tǒng)主要模塊如下:
(1) 書店銷售管理系統(tǒng)設(shè)計與實現(xiàn)—圖書入庫管理及查詢統(tǒng)計
圖書入庫管理:維護(hù)入庫圖書信息(如圖書編號、書名、作者、價格、圖書分類、出版社等)。自動計算庫存。
圖書查詢統(tǒng)計:按圖書分類,出版社、書名、作者等條件查詢圖書的詳細(xì)信息。支持模糊查詢。
(2) 書店銷售管理系統(tǒng)設(shè)計與實現(xiàn)—銷售管理
銷售管理:銷售過的圖書都記錄在銷售列表中,方便統(tǒng)計收入。圖書銷售后,實時記錄圖書庫存,按每天統(tǒng)計銷售額、按每個月或季度統(tǒng)計銷售額并生成報表,并能根據(jù)銷售數(shù)量統(tǒng)計生成暢銷書名單。
(3) 書店銷售管理系統(tǒng)設(shè)計與實現(xiàn)—書店會員管理
書店會員管理:提供會員信息的維護(hù)功能,可設(shè)置會員等級,不同級別的會員享受不同的折扣,可以變更折扣額度。

目錄

一、數(shù)據(jù)字典

? 1.圖書實體表
? 2.會員實體表
? 3. 會員類型表
? 4. 銷售實體表
? 5. 銷售明細(xì)實體表

二、概念模型設(shè)計

? 1. 圖書基本信息E-R圖
? 2. 會員實體E-R圖
? 3.會員類型E-R圖
? 4.銷售實體E-R圖
? 5.銷售明細(xì)E-R圖
? 6.總體E-R圖

三、邏輯結(jié)構(gòu)設(shè)計

? 邏輯模型圖

四、物理結(jié)構(gòu)設(shè)計

? 設(shè)計與實現(xiàn)
?? 表的創(chuàng)建
?? 數(shù)據(jù)插入

五、SQL查詢

? 1. 分組統(tǒng)計、模糊查詢
? 2. 天銷售額
? 3. 天銷售榜前三
? 4.月銷售額
? 5. 月銷售榜前三
? 6.自動計算庫存,支付金額(觸發(fā)器)

一、數(shù)據(jù)字典

1. 圖書實體表
字段名 別名 數(shù)據(jù)類型 長度 約束
圖書編號 bookIsbn 字符型 20位 主碼
圖書名稱 bookName 字符型 20位 not null
作者 bookAuthor 字符型 20位 not null
圖書類別 bookType 字符型 20位 not null
價格 bookPrice 浮點型 \ not null
出版社 bookPublisher 字符型 20位 not null
庫存 bookCount 整型 \ not null
2.會員實體表
字段名 別名 數(shù)據(jù)類型 長度 約束
會員id vipId 字符型 20位 主碼
會員等級 vipLevel 整型 \ 外鍵
會員名字 vipName 字符型 20位 not null
會員性別 vipSex 字符型 20位 not null
會員年齡 vipAge 字符型 20位 not null
會員電話 vipTel 字符型 20位 not null
3. 會員類型表
字段名 別名 數(shù)據(jù)類型 長度 約束
會員等級 vipId 字符型 20位 主鍵
會員等級名 vipName 字符型 20位 not null
會員等級折扣 vipLevelDisCount float \ not null
4. 銷售實體表
字段名 別名 數(shù)據(jù)類型 長度 約束
銷售單號 saleId 字符型 20位 主鍵
會員ID vipId 字符型 20位 外鍵
銷售日期 saleDate 日期型 \ not null
5. 銷售明細(xì)實體表
字段名 別名 數(shù)據(jù)類型 長度 約束
銷售明細(xì)id saleDetailId 字符型 20位 主鍵
銷售單號 saleId 字符型 20位 外鍵
圖書編號 bookIsbn 字符型 20位 外鍵
銷售數(shù)量 bookSaleCount 整型 \ not null

二、概念模型設(shè)計

1. 圖書基本信息E-R圖

書店銷售管理系統(tǒng)----數(shù)據(jù)庫原理及應(yīng)用綜合實驗

2. 會員實體E-R圖

書店銷售管理系統(tǒng)----數(shù)據(jù)庫原理及應(yīng)用綜合實驗

3.會員類型E-R圖

書店銷售管理系統(tǒng)----數(shù)據(jù)庫原理及應(yīng)用綜合實驗

4.銷售實體E-R圖

書店銷售管理系統(tǒng)----數(shù)據(jù)庫原理及應(yīng)用綜合實驗

5.銷售明細(xì)E-R圖

書店銷售管理系統(tǒng)----數(shù)據(jù)庫原理及應(yīng)用綜合實驗

6.總體E-R圖

書店銷售管理系統(tǒng)----數(shù)據(jù)庫原理及應(yīng)用綜合實驗

三、邏輯結(jié)構(gòu)設(shè)計

E-R圖向關(guān)系模型的轉(zhuǎn)換(主鍵用下劃線標(biāo)出)

圖書(圖書編號,圖書名稱,作者,圖書類別,價格,出版社,庫存)

會員(會員id,會員等級,會員名字,會員性別,會員年齡,會員電話)

會員類型(會員等級,會員等級名,會員等級折扣)

銷售(銷售單號,會員ID,銷售日期)

銷售明細(xì)(銷售明細(xì)id,銷售單號,圖書編號,銷售數(shù)量)

邏輯模型圖

書店銷售管理系統(tǒng)----數(shù)據(jù)庫原理及應(yīng)用綜合實驗

四、物理結(jié)構(gòu)設(shè)計

書店銷售管理系統(tǒng)----數(shù)據(jù)庫原理及應(yīng)用綜合實驗

設(shè)計與實現(xiàn)

1. 創(chuàng)建book表
/*==============================================================*/
/* Table: book                                                  */
/*==============================================================*/
create table book (
   bookIsbn             char(20)             not null,
   bookName             char(20)             null,
   bookAuthor           char(20)             null,
   bookType             char(20)             null,
   bookPrice            float                null,
   bookPublisher        char(20)             null,
   bookCount            int                  null,
   constraint PK_BOOK primary key nonclustered (bookIsbn)
)

2.創(chuàng)建會員表

/*==============================================================*/
/* Table: vip                                                   */
/*==============================================================*/
create table vip (
   vipId                char(20)             not null,
   vipLevel             int                  null,
   vipName              char(20)             null,
   vipSex               char(20)             null,
   vipAge               char(20)             null,
   vipTel               char(20)             null,
   constraint PK_VIP primary key nonclustered (vipId)
)

3.創(chuàng)建會員類型表

/*==============================================================*/
/* Table: vipType                                               */
/*==============================================================*/
create table vipType (
   vipLevel             int                  not null,
   vipLevelName         char(20)             null,
   vipLevelDisCount     float                null,
   constraint PK_VIPTYPE primary key nonclustered (vipLevel)
)

4.創(chuàng)建銷售實體表

/*==============================================================*/
/* Table: sale                                                  */
/*==============================================================*/
create table sale (
   saleId               char(20)             not null,
   vipId                char(20)             null,
   saleDate             datetime             null,
   constraint PK_SALE primary key nonclustered (saleId)
)

5.創(chuàng)建銷售明細(xì)表

/*==============================================================*/
/* Table: saleDetail                                            */
/*==============================================================*/
create table saleDetail (
   saleDetailId         char(20)             not null,
   saleId               char(20)             null,
   bookIsbn             char(20)             null,
   bookSaleCount        int                  null,
   constraint PK_SALEDETAIL primary key nonclustered (saleDetailId)
)

6.創(chuàng)建表整體腳本如下:

/*==============================================================*/
/* DBMS name:      Microsoft SQL Server 2012                    */
/* Created on:     2022/11/18 8:12:35                           */
/*==============================================================*/


if exists (select 1
   from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')
   where r.fkeyid = object_id('sale') and o.name = 'FK_SALE_BUY_VIP')
alter table sale
   drop constraint FK_SALE_BUY_VIP
go

if exists (select 1
   from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')
   where r.fkeyid = object_id('saleDetail') and o.name = 'FK_SALEDETA_RELATIONS_SALE')
alter table saleDetail
   drop constraint FK_SALEDETA_RELATIONS_SALE
go

if exists (select 1
   from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')
   where r.fkeyid = object_id('saleDetail') and o.name = 'FK_SALEDETA_RELATIONS_BOOK')
alter table saleDetail
   drop constraint FK_SALEDETA_RELATIONS_BOOK
go

if exists (select 1
   from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')
   where r.fkeyid = object_id('vip') and o.name = 'FK_VIP_參照_VIPTYPE')
alter table vip
   drop constraint FK_VIP_參照_VIPTYPE
go

if exists (select 1
            from  sysobjects
           where  id = object_id('SysManageUser')
            and   type = 'U')
   drop table SysManageUser
go

if exists (select 1
            from  sysobjects
           where  id = object_id('book')
            and   type = 'U')
   drop table book
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('sale')
            and   name  = 'buy_FK'
            and   indid > 0
            and   indid < 255)
   drop index sale.buy_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('sale')
            and   type = 'U')
   drop table sale
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('saleDetail')
            and   name  = 'Relationship_4_FK'
            and   indid > 0
            and   indid < 255)
   drop index saleDetail.Relationship_4_FK
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('saleDetail')
            and   name  = 'Relationship_6_FK'
            and   indid > 0
            and   indid < 255)
   drop index saleDetail.Relationship_6_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('saleDetail')
            and   type = 'U')
   drop table saleDetail
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('vip')
            and   name  = '參照_FK'
            and   indid > 0
            and   indid < 255)
   drop index vip.參照_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('vip')
            and   type = 'U')
   drop table vip
go

if exists (select 1
            from  sysobjects
           where  id = object_id('vipType')
            and   type = 'U')
   drop table vipType
go

/*==============================================================*/
/* Table: SysManageUser                                         */
/*==============================================================*/
create table SysManageUser (
   SMUId                char(20)             not null,
   SMUName              char(20)             null,
   SMUPassword          char(20)             null,
   SMUType              char(20)             null,
   constraint PK_SYSMANAGEUSER primary key nonclustered (SMUId)
)
go

/*==============================================================*/
/* Table: book                                                  */
/*==============================================================*/
create table book (
   bookIsbn             char(20)             not null,
   bookName             char(20)             null,
   bookAuthor           char(20)             null,
   bookType             char(20)             null,
   bookPrice            float                null,
   bookPublisher        char(20)             null,
   bookCount            int                  null,
   constraint PK_BOOK primary key nonclustered (bookIsbn)
)
go

/*==============================================================*/
/* Table: sale                                                  */
/*==============================================================*/
create table sale (
   saleId               char(20)             not null,
   vipId                char(20)             null,
   saleDate             datetime             null,
   constraint PK_SALE primary key nonclustered (saleId)
)
go

/*==============================================================*/
/* Index: buy_FK                                                */
/*==============================================================*/
create index buy_FK on sale (
vipId ASC
)
go

/*==============================================================*/
/* Table: saleDetail                                            */
/*==============================================================*/
create table saleDetail (
   saleDetailId         char(20)             not null,
   saleId               char(20)             null,
   bookIsbn             char(20)             null,
   bookSaleCount        int                  null,
   constraint PK_SALEDETAIL primary key nonclustered (saleDetailId)
)
go

/*==============================================================*/
/* Index: Relationship_6_FK                                     */
/*==============================================================*/
create index Relationship_6_FK on saleDetail (
bookIsbn ASC
)
go

/*==============================================================*/
/* Index: Relationship_4_FK                                     */
/*==============================================================*/
create index Relationship_4_FK on saleDetail (
saleId ASC
)
go

/*==============================================================*/
/* Table: vip                                                   */
/*==============================================================*/
create table vip (
   vipId                char(20)             not null,
   vipLevel             int                  null,
   vipName              char(20)             null,
   vipSex               char(20)             null,
   vipAge               char(20)             null,
   vipTel               char(20)             null,
   constraint PK_VIP primary key nonclustered (vipId)
)
go

/*==============================================================*/
/* Index: 參照_FK                                                 */
/*==============================================================*/
create index 參照_FK on vip (
vipLevel ASC
)
go

/*==============================================================*/
/* Table: vipType                                               */
/*==============================================================*/
create table vipType (
   vipLevel             int                  not null,
   vipLevelName         char(20)             null,
   vipLevelDisCount     float                null,
   constraint PK_VIPTYPE primary key nonclustered (vipLevel)
)
go

alter table sale
   add constraint FK_SALE_BUY_VIP foreign key (vipId)
      references vip (vipId)
go

alter table saleDetail
   add constraint FK_SALEDETA_RELATIONS_SALE foreign key (saleId)
      references sale (saleId)
go

alter table saleDetail
   add constraint FK_SALEDETA_RELATIONS_BOOK foreign key (bookIsbn)
      references book (bookIsbn)
go

alter table vip
   add constraint FK_VIP_參照_VIPTYPE foreign key (vipLevel)
      references vipType (vipLevel)
go
向book表中插入數(shù)據(jù):
INSERT INTO [dbo].[book] ([bookIsbn], [bookName], [bookAuthor], [bookType], [bookPrice], [bookPublisher], [bookCount]) VALUES (N'isbn2103001         ', N'戀人拍賣行          ', N'Tom                 ', N'社會科學(xué)            ', N'12', N'商務(wù)印書館          ', N'15')
GO
INSERT INTO [dbo].[book] ([bookIsbn], [bookName], [bookAuthor], [bookType], [bookPrice], [bookPublisher], [bookCount]) VALUES (N'isbn2103002         ', N'俄狄浦斯王          ', N'Kit                 ', N'工具書              ', N'3', N'人民出版社          ', N'11')
GO
INSERT INTO [dbo].[book] ([bookIsbn], [bookName], [bookAuthor], [bookType], [bookPrice], [bookPublisher], [bookCount]) VALUES (N'isbn2103003         ', N'至尊女王爺          ', N'xiaoming            ', N'工具書              ', N'7', N'中華書局            ', N'16')
GO
INSERT INTO [dbo].[book] ([bookIsbn], [bookName], [bookAuthor], [bookType], [bookPrice], [bookPublisher], [bookCount]) VALUES (N'isbn2103004         ', N'天是紅塵岸          ', N'zhaoyun             ', N'專業(yè)書              ', N'14', N'商務(wù)印書館          ', N'7')
GO
INSERT INTO [dbo].[book] ([bookIsbn], [bookName], [bookAuthor], [bookType], [bookPrice], [bookPublisher], [bookCount]) VALUES (N'isbn2103005         ', N'逐日追風(fēng)劍          ', N'huatuo              ', N'小說                ', N'1', N'商務(wù)印書館          ', N'2')
GO
INSERT INTO [dbo].[book] ([bookIsbn], [bookName], [bookAuthor], [bookType], [bookPrice], [bookPublisher], [bookCount]) VALUES (N'isbn2103006         ', N'雪中悍刀行          ', N'machao              ', N'兒童讀物            ', N'4', N'商務(wù)印書館          ', N'3')
GO
INSERT INTO [dbo].[book] ([bookIsbn], [bookName], [bookAuthor], [bookType], [bookPrice], [bookPublisher], [bookCount]) VALUES (N'isbn2103007         ', N'神級大魔頭          ', N'sunbin              ', N'小說                ', N'6', N'商務(wù)印書館          ', N'14')
GO
INSERT INTO [dbo].[book] ([bookIsbn], [bookName], [bookAuthor], [bookType], [bookPrice], [bookPublisher], [bookCount]) VALUES (N'isbn2103008         ', N'宿主請留步          ', N'shangguan           ', N'工具書              ', N'13', N'人民出版社          ', N'93')
GO
INSERT INTO [dbo].[book] ([bookIsbn], [bookName], [bookAuthor], [bookType], [bookPrice], [bookPublisher], [bookCount]) VALUES (N'isbn2103009         ', N'巴黎圣母院          ', N'zhouyu              ', N'工具書              ', N'11', N'人民出版社          ', N'3')
GO
INSERT INTO [dbo].[book] ([bookIsbn], [bookName], [bookAuthor], [bookType], [bookPrice], [bookPublisher], [bookCount]) VALUES (N'isbn2103010         ', N'徐霞客游記          ', N'xiaoqiao            ', N'社會科學(xué)            ', N'19', N'人民出版社          ', N'12')
GO
INSERT INTO [dbo].[book] ([bookIsbn], [bookName], [bookAuthor], [bookType], [bookPrice], [bookPublisher], [bookCount]) VALUES (N'isbn2103011         ', N'喧嘩與騷動          ', N'baili               ', N'社會科學(xué)            ', N'10', N'人民出版社          ', N'18')
GO
INSERT INTO [dbo].[book] ([bookIsbn], [bookName], [bookAuthor], [bookType], [bookPrice], [bookPublisher], [bookCount]) VALUES (N'isbn2103012         ', N'蘇菲的世界          ', N'make                ', N'社會科學(xué)            ', N'8', N'人民出版社          ', N'5')
GO

向vipType表中插入數(shù)據(jù)

INSERT INTO [dbo].[vipType] ([vipLevel], [vipLevelName], [vipLevelDisCount]) VALUES (N'0', N'普通會員            ', N'0.95')
GO
INSERT INTO [dbo].[vipType] ([vipLevel], [vipLevelName], [vipLevelDisCount]) VALUES (N'1', N'一級會員            ', N'0.9')
GO
INSERT INTO [dbo].[vipType] ([vipLevel], [vipLevelName], [vipLevelDisCount]) VALUES (N'2', N'二級會員            ', N'0.85')
GO
INSERT INTO [dbo].[vipType] ([vipLevel], [vipLevelName], [vipLevelDisCount]) VALUES (N'3', N'三級會員            ', N'0.8')
GO
INSERT INTO [dbo].[vipType] ([vipLevel], [vipLevelName], [vipLevelDisCount]) VALUES (N'4', N'四級會員            ', N'0.75')
GO
INSERT INTO [dbo].[vipType] ([vipLevel], [vipLevelName], [vipLevelDisCount]) VALUES (N'5', N'五級會員            ', N'0.7')
GO
INSERT INTO [dbo].[vipType] ([vipLevel], [vipLevelName], [vipLevelDisCount]) VALUES (N'6', N'六級會員            ', N'0.65')
GO
INSERT INTO [dbo].[vipType] ([vipLevel], [vipLevelName], [vipLevelDisCount]) VALUES (N'7', N'七級會員            ', N'0.6')
GO

向vip表中插入數(shù)據(jù)

INSERT INTO [dbo].[vip] ([vipId], [vipLevel], [vipName], [vipSex], [vipAge], [vipTel]) VALUES (N'v001                ', N'7', N'張三豐              ', N'男                  ', N'21                  ', N'19907078888         ')
GO
INSERT INTO [dbo].[vip] ([vipId], [vipLevel], [vipName], [vipSex], [vipAge], [vipTel]) VALUES (N'v002                ', N'6', N'楊暖昕              ', N'女                  ', N'22                  ', N'19803038888         ')
GO
INSERT INTO [dbo].[vip] ([vipId], [vipLevel], [vipName], [vipSex], [vipAge], [vipTel]) VALUES (N'v003                ', N'0', N'凌秋子              ', N'男                  ', N'36                  ', N'17806069999         ')
GO
INSERT INTO [dbo].[vip] ([vipId], [vipLevel], [vipName], [vipSex], [vipAge], [vipTel]) VALUES (N'v004                ', N'4', N'李楠                ', N'男                  ', N'18                  ', N'17806068888         ')
GO
INSERT INTO [dbo].[vip] ([vipId], [vipLevel], [vipName], [vipSex], [vipAge], [vipTel]) VALUES (N'v005                ', N'6', N'文春雪              ', N'男                  ', N'36                  ', N'18808089999         ')
GO
INSERT INTO [dbo].[vip] ([vipId], [vipLevel], [vipName], [vipSex], [vipAge], [vipTel]) VALUES (N'v006                ', N'3', N'陸亦思              ', N'男                  ', N'46                  ', N'17801010000         ')
GO
INSERT INTO [dbo].[vip] ([vipId], [vipLevel], [vipName], [vipSex], [vipAge], [vipTel]) VALUES (N'v007                ', N'1', N'代迎海              ', N'男                  ', N'18                  ', N'13109787777         ')
GO
INSERT INTO [dbo].[vip] ([vipId], [vipLevel], [vipName], [vipSex], [vipAge], [vipTel]) VALUES (N'v008                ', N'2', N'白紫玉              ', N'男                  ', N'17                  ', N'13120200897         ')
GO
INSERT INTO [dbo].[vip] ([vipId], [vipLevel], [vipName], [vipSex], [vipAge], [vipTel]) VALUES (N'v009                ', N'6', N'韓若初              ', N'女                  ', N'26                  ', N'17809271234         ')
GO

向sale表中插入數(shù)據(jù)

INSERT INTO [dbo].[sale] ([saleId], [vipId], [saleDate]) VALUES (N'saleid010           ', N'v001                ', N'2020-12-01 04:06:21.000')
GO
INSERT INTO [dbo].[sale] ([saleId], [vipId], [saleDate]) VALUES (N'saleid009           ', N'v002                ', N'2020-01-03 08:15:12.000')
GO
INSERT INTO [dbo].[sale] ([saleId], [vipId], [saleDate]) VALUES (N'saleid001           ', N'v001                ', N'2020-12-01 04:06:21.000')
GO
INSERT INTO [dbo].[sale] ([saleId], [vipId], [saleDate]) VALUES (N'saleid002           ', N'v002                ', N'2020-01-03 08:15:12.000')
GO
INSERT INTO [dbo].[sale] ([saleId], [vipId], [saleDate]) VALUES (N'saleid003           ', N'v005                ', N'2020-01-05 02:45:00.000')
GO
INSERT INTO [dbo].[sale] ([saleId], [vipId], [saleDate]) VALUES (N'saleid004           ', N'v009                ', N'2020-01-06 02:45:00.000')
GO
INSERT INTO [dbo].[sale] ([saleId], [vipId], [saleDate]) VALUES (N'saleid005           ', N'v007                ', N'2020-01-06 02:45:00.000')
GO
INSERT INTO [dbo].[sale] ([saleId], [vipId], [saleDate]) VALUES (N'saleid006           ', N'v003                ', N'2020-01-06 02:45:00.000')
GO
INSERT INTO [dbo].[sale] ([saleId], [vipId], [saleDate]) VALUES (N'saleid007           ', N'v004                ', N'2020-02-27 00:00:00.000')
GO
INSERT INTO [dbo].[sale] ([saleId], [vipId], [saleDate]) VALUES (N'saleid008           ', N'v001                ', N'2020-03-11 00:00:00.000')
GO

向saleDetail表中插入數(shù)據(jù)

INSERT INTO [dbo].[saleDetail] ([saleDetailId], [saleId], [bookIsbn], [bookSaleCount]) VALUES (N'HAWGPIXSQBPRW6IA1TD4', N'saleid001           ', N'isbn2103001         ', N'19')
GO
INSERT INTO [dbo].[saleDetail] ([saleDetailId], [saleId], [bookIsbn], [bookSaleCount]) VALUES (N'52SU70BURCAMS50F5QFD', N'saleid001           ', N'isbn2103004         ', N'9')
GO
INSERT INTO [dbo].[saleDetail] ([saleDetailId], [saleId], [bookIsbn], [bookSaleCount]) VALUES (N'7FVQ0GKT5G9QB0P6TUA4', N'saleid001           ', N'isbn2103003         ', N'2')
GO
INSERT INTO [dbo].[saleDetail] ([saleDetailId], [saleId], [bookIsbn], [bookSaleCount]) VALUES (N'C6VNTSXDUCOQKE37ER14', N'saleid001           ', N'isbn2103002         ', N'1')
GO
INSERT INTO [dbo].[saleDetail] ([saleDetailId], [saleId], [bookIsbn], [bookSaleCount]) VALUES (N'UKA4710SMLJKWSQO389H', N'saleid002           ', N'isbn2103009         ', N'1')
GO
INSERT INTO [dbo].[saleDetail] ([saleDetailId], [saleId], [bookIsbn], [bookSaleCount]) VALUES (N'970CM5NUN54WDHXNUYQ8', N'saleid002           ', N'isbn2103001         ', N'2')
GO
INSERT INTO [dbo].[saleDetail] ([saleDetailId], [saleId], [bookIsbn], [bookSaleCount]) VALUES (N'P6G5AHGVYCGJBHD8NU9L', N'saleid002           ', N'isbn2103006         ', N'2')
GO
INSERT INTO [dbo].[saleDetail] ([saleDetailId], [saleId], [bookIsbn], [bookSaleCount]) VALUES (N'WX1RIJJMQYACA4Y3FL69', N'saleid001           ', N'isbn2103004         ', N'15')
GO
INSERT INTO [dbo].[saleDetail] ([saleDetailId], [saleId], [bookIsbn], [bookSaleCount]) VALUES (N'YF9G7JP86C3OVSE1AQR4', N'saleid003           ', N'isbn2103007         ', N'3')
GO
INSERT INTO [dbo].[saleDetail] ([saleDetailId], [saleId], [bookIsbn], [bookSaleCount]) VALUES (N'UPH2K75GBCQI68W3NLXC', N'saleid006           ', N'isbn2103006         ', N'11')
GO
INSERT INTO [dbo].[saleDetail] ([saleDetailId], [saleId], [bookIsbn], [bookSaleCount]) VALUES (N'V7OLOUXQ5WM9AIF96NSS', N'saleid005           ', N'isbn2103003         ', N'17')
GO
INSERT INTO [dbo].[saleDetail] ([saleDetailId], [saleId], [bookIsbn], [bookSaleCount]) VALUES (N'5Q6MB5S4HA3Y0TNC HO ', N'saleid004           ', N'isbn2103002         ', N'8')
GO
INSERT INTO [dbo].[saleDetail] ([saleDetailId], [saleId], [bookIsbn], [bookSaleCount]) VALUES (N'VWLWUACJQ36G0N7SVSCN', N'saleid002           ', N'isbn2103005         ', N'8')
GO
INSERT INTO [dbo].[saleDetail] ([saleDetailId], [saleId], [bookIsbn], [bookSaleCount]) VALUES (N'8MFJ3SREX7OJ9D0GC69U', N'saleid006           ', N'isbn2103001         ', N'2')
GO
INSERT INTO [dbo].[saleDetail] ([saleDetailId], [saleId], [bookIsbn], [bookSaleCount]) VALUES (N'ELK8E2O5E0W4Q4YHA0QK', N'saleid004           ', N'isbn2103007         ', N'7')
GO
INSERT INTO [dbo].[saleDetail] ([saleDetailId], [saleId], [bookIsbn], [bookSaleCount]) VALUES (N'1                   ', N'saleid001           ', N'isbn2103008         ', N'1')
GO
INSERT INTO [dbo].[saleDetail] ([saleDetailId], [saleId], [bookIsbn], [bookSaleCount]) VALUES (N'2                   ', N'saleid001           ', N'isbn2103008         ', N'6')
GO
INSERT INTO [dbo].[saleDetail] ([saleDetailId], [saleId], [bookIsbn], [bookSaleCount]) VALUES (N'ELK8E2O5t68UQ4YHA0QK', N'saleid005           ', N'isbn2103007         ', N'2')
GO
INSERT INTO [dbo].[saleDetail] ([saleDetailId], [saleId], [bookIsbn], [bookSaleCount]) VALUES (N'PA31CORBOML5W9MPLP88', N'saleid007           ', N'isbn2103001         ', N'2')
GO
INSERT INTO [dbo].[saleDetail] ([saleDetailId], [saleId], [bookIsbn], [bookSaleCount]) VALUES (N'D16V7L1PD 19JI7GGDJN', N'saleid007           ', N'isbn2103002         ', N'1')
GO
INSERT INTO [dbo].[saleDetail] ([saleDetailId], [saleId], [bookIsbn], [bookSaleCount]) VALUES (N'CPQKT SXWO LEL10 KFW', N'saleid008           ', N'isbn2103011         ', N'1')
GO
INSERT INTO [dbo].[saleDetail] ([saleDetailId], [saleId], [bookIsbn], [bookSaleCount]) VALUES (N'28N9LUIDU37HAWMCFC3 ', N'saleid008           ', N'isbn2103012         ', N'1')
GO

SQL查詢

1.圖書查詢統(tǒng)計:按圖書分類,出版社、書名、作者等條件查詢圖書的詳細(xì)信息。支持模糊查詢。
select bookType '圖書分類' from book group by bookType;
select bookpublisher '出版社' from book group by bookpublisher;
select * from book where booktype like'%工具%';
select * from book where bookPublisher like '%商務(wù)印書館%'
select * from book where bookname like '%王%'
2.天銷售額(這里的銷售額我算的是銷售數(shù)量,也有人說是算銷售金額)
select
  book.bookname,
  sum(booksalecount) day_sale_count
from
  (
		select
		  bookisbn,
		  booksalecount
		from
		  saledetail
		where
		  saleid in(
				select
				  saleid
				from
				  sale
				where
				  datepart(year, saledate) = 2020
				  and datepart(month, saledate) = 1
				  and datepart(day, saledate) = 6
		  )
  ) t1
  left join book on book.bookIsbn = t1.bookisbn
group by
  book.bookname;

書店銷售管理系統(tǒng)----數(shù)據(jù)庫原理及應(yīng)用綜合實驗

3.天銷售榜前三
select
  top 3 book.bookname,
  sum(booksalecount) sale_count
from
  (
    select
      bookisbn,
      booksalecount
    from
      saledetail
    where
      saleid in(
        select
          saleid
        from
          sale
        where
          datepart(year, saledate) = 2020
          and datepart(month, saledate) = 1
          and datepart(day, saledate) = 6
      )
  ) t1
  left join book on book.bookIsbn = t1.bookisbn
group by
  book.bookname
order by
  sale_count desc;

書店銷售管理系統(tǒng)----數(shù)據(jù)庫原理及應(yīng)用綜合實驗

4.月銷售額
select
  book.bookname,
  sum(booksalecount) book_count
from
(
    select
      bookisbn,
      booksalecount
    from
      saledetail
    where
      saleid in (
        select
          saleid
        from
          sale
        where
          datepart(year, saledate) = 2020
          and datepart(month, saledate) = 1
      )
  ) t1
  left join book on book.bookisbn = t1.bookisbn
group by
  book.bookname;

書店銷售管理系統(tǒng)----數(shù)據(jù)庫原理及應(yīng)用綜合實驗

5.月銷售榜前三
select
  top 3 book.bookname,
  sum(booksalecount) book_count
from
(
    select
      bookisbn,
      booksalecount
    from
      saledetail
    where
      saleid in (
        select
          saleid
        from
          sale
        where
          datepart(year, saledate) = 2020
          and datepart(month, saledate) = 1
      )
  ) t1
  left join book on book.bookisbn = t1.bookisbn
group by
  book.bookname
order by
  book_count desc;

書店銷售管理系統(tǒng)----數(shù)據(jù)庫原理及應(yīng)用綜合實驗

6.自動計算庫存,支付金額(觸發(fā)器)
create trigger auto_update_bookcount_money on saleDetail
after insert
as
begin
	declare @booksalecount int;
	declare @bookisbn char(20);
	declare @bookcount int;
	select @bookisbn=bookisbn from inserted;
	select @booksalecount=bookSaleCount from inserted;
	select @bookcount=bookcount from book where bookisbn=@bookisbn;
	if(@booksalecount>@bookcount)
		begin
			print('購買數(shù)量:'+convert(varchar,@booksalecount)+', 庫存量:'+convert(varchar,@bookcount)+'。 庫存不足,訂單支付失??!')
			rollback transaction;
		end
	else
		begin
			declare @newCount int
			update book set bookcount=(bookcount-@booksalecount) where bookisbn=@bookisbn;
			select @newCount=bookcount from book where bookisbn=@bookisbn;
			declare @saleId char(20);
			select @saleId=saleId,@bookIsbn=bookIsbn,@bookSaleCount=bookSaleCount from inserted;
			declare @bookPrice float;
			declare @bookName char(20);
			select @bookPrice=bookPrice,@bookName=bookName from book where bookIsbn=@bookIsbn;
			declare @vipId char(20);
			select @vipId=vipId from sale where saleId=@saleId;
			declare @vipName char(20);
			declare @vipLevel int;
			select @vipName=vipName,@vipLevel=vipLevel from vip where vipId=@vipId
			declare @vipLevelDiscount float;
			select @vipLevelDiscount=vipLevelDisCount from vipType where vipLevel=@vipLevel
			print(convert(varchar(6),@vipName)+'購買《'+convert(varchar(10),@bookName)+'》的消費金額為:'+convert(varchar,@bookSaleCount*@bookPrice*@vipLevelDiscount)+',  購買數(shù)量:'+convert(varchar,@bookSaleCount)+',  單價:'+convert(varchar,@bookPrice)+', 會員等級:'+convert(varchar,@vipLevel)+',  會員折扣:'+convert(varchar,@vipLevelDiscount)+', 更新后的庫存量為:'+convert(varchar,@newCount))
		end
end

向銷售明細(xì)表中插入一條數(shù)據(jù)測試,庫存量和金額是否正確。

insert into saledetail values('3','saleid001','isbn2103002',1);

說明:銷售明細(xì)id為3,這條銷售明細(xì)屬于saleid001銷售id,售出的書id是isbn2103002,數(shù)量是1。

書店銷售管理系統(tǒng)----數(shù)據(jù)庫原理及應(yīng)用綜合實驗
書店銷售管理系統(tǒng)----數(shù)據(jù)庫原理及應(yīng)用綜合實驗
書店銷售管理系統(tǒng)----數(shù)據(jù)庫原理及應(yīng)用綜合實驗文章來源地址http://www.zghlxwxcb.cn/news/detail-457692.html

到了這里,關(guān)于書店銷售管理系統(tǒng)----數(shù)據(jù)庫原理及應(yīng)用綜合實驗的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 數(shù)據(jù)庫管理系統(tǒng)(基于前端+后端+數(shù)據(jù)庫)

    數(shù)據(jù)庫管理系統(tǒng)(基于前端+后端+數(shù)據(jù)庫)

    ??庫存管理系統(tǒng) 包括模塊: (1)基本信息管理。 (2)商品入庫管理。 (3)商品出庫管理。 (4)商品查詢管理。 (5)查看商品目錄。 實訓(xùn)步驟: 開發(fā)環(huán)境:html , css , js , python,Mysql,pycharm 需求分析: 和其他數(shù)據(jù)庫系統(tǒng)相比, MySQL 有點與眾不同,它的架構(gòu)可以在多種

    2024年02月04日
    瀏覽(28)
  • 數(shù)據(jù)庫應(yīng)用:數(shù)據(jù)庫管理系統(tǒng)與安裝MySQL數(shù)據(jù)庫

    數(shù)據(jù)庫應(yīng)用:數(shù)據(jù)庫管理系統(tǒng)與安裝MySQL數(shù)據(jù)庫

    目錄 一、理論 1.數(shù)據(jù)庫管理系統(tǒng) 2.關(guān)系型數(shù)據(jù)庫 3.數(shù)據(jù)庫 4.MySQL數(shù)據(jù)庫 5.MySQL部署 二、實驗 1.yum安裝MySQL 2.編譯安裝MySQL 3.配置MySQL數(shù)據(jù)庫的Tab補全? 三、問題 1.數(shù)據(jù)庫登錄報錯 2.數(shù)據(jù)庫密碼復(fù)雜度報錯 3.數(shù)據(jù)庫連接報錯 四、總結(jié) (1)概念 數(shù)據(jù)庫管理系統(tǒng)(Database Management

    2024年02月13日
    瀏覽(29)
  • 數(shù)據(jù)庫系統(tǒng)課程設(shè)計(高校成績管理數(shù)據(jù)庫系統(tǒng)的設(shè)計與實現(xiàn))

    數(shù)據(jù)庫系統(tǒng)課程設(shè)計(高校成績管理數(shù)據(jù)庫系統(tǒng)的設(shè)計與實現(xiàn))

    目錄 1、需求分析 1 1.1 數(shù)據(jù)需求描述 1 1.2 系統(tǒng)功能需求 3 1.3 其他性能需求 4 2、概念結(jié)構(gòu)設(shè)計 4 2.1 局部E-R圖 4 2.2 全局E-R圖 5 2.3 優(yōu)化E-R圖 6 3、邏輯結(jié)構(gòu)設(shè)計 6 3.1 關(guān)系模式設(shè)計 6 3.2 數(shù)據(jù)類型定義 6 3.3 關(guān)系模式的優(yōu)化 8 4、物理結(jié)構(gòu)設(shè)計 9 4.1 聚簇設(shè)計 9 4.2 索引設(shè)計 9 4.3 分區(qū)設(shè)

    2024年02月03日
    瀏覽(29)
  • MySQL數(shù)據(jù)庫:數(shù)據(jù)庫管理系統(tǒng)與安裝MySQL數(shù)據(jù)庫

    MySQL數(shù)據(jù)庫:數(shù)據(jù)庫管理系統(tǒng)與安裝MySQL數(shù)據(jù)庫

    目錄 一、理論 1.數(shù)據(jù)庫管理系統(tǒng) 2.關(guān)系型數(shù)據(jù)庫 3.數(shù)據(jù)庫 4.MySQL數(shù)據(jù)庫 5.MySQL部署 二、實驗 1.yum安裝MySQL 2.編譯安裝MySQL 3.配置MySQL數(shù)據(jù)庫的Tab補全? 三、問題 1.數(shù)據(jù)庫登錄報錯 2.數(shù)據(jù)庫密碼復(fù)雜度報錯 3.數(shù)據(jù)庫連接報錯 四、總結(jié) (1)概念 數(shù)據(jù)庫管理系統(tǒng)(Database Management

    2024年02月12日
    瀏覽(28)
  • 數(shù)據(jù)庫系統(tǒng)課設(shè)--人事管理系統(tǒng)

    數(shù)據(jù)庫系統(tǒng)課設(shè)--人事管理系統(tǒng)

    目錄 前言 一,課程設(shè)計的目的 二,總體設(shè)計 1 系統(tǒng)需求分析 1.1 系統(tǒng)功能分析 1.2 系統(tǒng)功能模塊設(shè)計(劃分) 1.3 與其它系統(tǒng)的關(guān)系 1.4 數(shù)據(jù)流程圖 2 數(shù)據(jù)庫設(shè)計 2.1 數(shù)據(jù)庫需求分析 2.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計 2.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計 2.4 數(shù)據(jù)庫的建立 2.4.1 數(shù)據(jù)庫的建立 2.4.2 初始

    2024年02月06日
    瀏覽(28)
  • MySQL數(shù)據(jù)庫設(shè)計作業(yè) ——《網(wǎng)上書店系統(tǒng)》數(shù)據(jù)庫設(shè)計實驗報告

    MySQL數(shù)據(jù)庫設(shè)計作業(yè) ——《網(wǎng)上書店系統(tǒng)》數(shù)據(jù)庫設(shè)計實驗報告

    普通用戶:可以進(jìn)行最基礎(chǔ)的登陸操作,可瀏覽圖書、按類別查詢圖書、查看 圖書的詳細(xì)信息,還可以注冊成為會員。 會員:需要填寫詳細(xì)信息(真實姓名、性別、手機號、地址、郵箱等),可瀏覽圖書、按類別查詢圖書、查看圖書的詳細(xì)信息,在此基礎(chǔ)上,還可以訂購圖

    2024年02月04日
    瀏覽(33)
  • 學(xué)生信息管理系統(tǒng)(數(shù)據(jù)庫)

    學(xué)生信息管理系統(tǒng)(數(shù)據(jù)庫)

    要求實現(xiàn)功能: (1)學(xué)生、課程、教師等信息的錄入和維護(hù),一門課只由一位教師上,一位教師可上多門課 (2)學(xué)生進(jìn)行選課,一學(xué)期約20學(xué)分 (3)教師在每門課結(jié)束后給出學(xué)生成績,不及格則補考后記錄補考成績 (4)能明細(xì)查詢某學(xué)生的選課情況及某課程的選修學(xué)生情

    2024年02月03日
    瀏覽(31)
  • 網(wǎng)吧管理系統(tǒng)數(shù)據(jù)庫設(shè)計

    網(wǎng)吧管理系統(tǒng)數(shù)據(jù)庫設(shè)計

    摘? 要:網(wǎng)吧管理系統(tǒng)是為解決大型網(wǎng)吧面臨的復(fù)雜電腦管理業(yè)務(wù)流程和繁瑣的客戶服務(wù)、信息處理業(yè)務(wù)而開發(fā)的管理系統(tǒng)。它主要包含系統(tǒng)管理、會員管理、日常管理、查詢管理、統(tǒng)計報表五個模塊。數(shù)據(jù)庫設(shè)計過程中主要進(jìn)行了分析網(wǎng)吧電腦使用業(yè)務(wù)方面的需求,進(jìn)行概

    2024年02月08日
    瀏覽(25)
  • 梅西生涯數(shù)據(jù)管理系統(tǒng)(Python+數(shù)據(jù)庫)

    梅西生涯數(shù)據(jù)管理系統(tǒng)(Python+數(shù)據(jù)庫)

    用 Tkinter + MySQL 實現(xiàn)簡單的數(shù)據(jù)分析系統(tǒng),一起來看看吧! 本篇博客主要分為兩大部分,一部分主要是對數(shù)據(jù)庫的操作,另一部分主要是使用Python進(jìn)行一些程序設(shè)計與數(shù)據(jù)分析。 代碼下載地址:https://download.csdn.net/download/m0_68111267/88029856 python tkinter mysql 1. 導(dǎo)入數(shù)據(jù) 以下是My

    2024年02月08日
    瀏覽(25)
  • 數(shù)據(jù)庫系統(tǒng)實現(xiàn) 大學(xué)生宿舍管理系統(tǒng)

    目錄 目錄 第一章緒論 1.1項目研究的背景 第二章可行性分析與需求分析 2.1可行性分析 2.1.1操作可行性 2.1.2技術(shù)可行性 2.1.3設(shè)計可行性 2.2需求分析 2.2.1處理對象分析 2.2.2功能需求分析 2.2.3安全性與完整性分析 第三章系統(tǒng)設(shè)計 3.1系統(tǒng)架構(gòu)圖 3.2 E-R圖 3.3 數(shù)據(jù)結(jié)構(gòu) 3.3.1 用戶信息結(jié)

    2024年02月06日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包