目錄
1.設計任務
1.1系統(tǒng)開發(fā)的背景?
1.2系統(tǒng)開發(fā)的意義?
1.3系統(tǒng)所應用的模塊
2.需求分析
2.1功能分析
2.2數據流圖
2.3數據字典
3.概念結構設計
4.邏輯結構設計
5.物理結構設計
5.1基本表
5.2視圖
6.數據庫實施
6.1 建立數據庫表
6.2建立視圖
7.數據庫操作
目錄
1.1系統(tǒng)開發(fā)的背景?
1.2系統(tǒng)開發(fā)的意義?
1.3系統(tǒng)所應用的模塊
2.需求分析
2.1功能分析
2.2數據流圖
2.3數據字典
3.概念結構設計
4.邏輯結構設計
5.物理結構設計
5.1基本表
5.2視圖
6.數據庫實施
6.1 建立數據庫表
6.2建立視圖
7.數據庫操作
7.1建立數據庫和數據表
7.2數據庫操作
7.2.1 INSERT、DELETE和UPDATE語句
7.2.2 SELECT語句
7.2.3創(chuàng)建視圖
7.2.4存儲過程
7.2.5觸發(fā)器
8.總結與體會
參考文獻
7.1建立數據庫和數據表
7.2數據庫操作
7.2.1 INSERT、DELETE和UPDATE語句
7.2.2 SELECT語句
7.2.3創(chuàng)建視圖
7.2.4存儲過程
7.2.5觸發(fā)器
8.總結與體會
1.設計任務
1.1系統(tǒng)開發(fā)的背景?
隨著社會的不斷進步,汽車銷售行業(yè)的競爭也愈來愈激烈,要想在競爭中取得優(yōu)勢,必須在經營管理、產品服務等方面提高管理意識。如何利用先進的管理手段,提高銷售信息的管理水平,是每一個汽車銷售4S店管理者所面臨的重大問題。傳統(tǒng)手工的銷售管理記錄,管理過于繁瑣而復雜,執(zhí)行效率低,并且易于出錯。通過汽車銷售管理系統(tǒng),我們可以做到信息的規(guī)范管理和快速查詢,實現了銷售汽車信息管理的系統(tǒng)化、規(guī)范化和自動化,這樣不僅減少了管理工作量,還提高了管理效率,降低了管理成本。?
1.2系統(tǒng)開發(fā)的意義?
汽車銷售管理系統(tǒng)是汽車4S店經營管理中不可缺少的部分,使用計算機作為管理的核心,能有效的提高管理效率,具有手工操作無法比擬的性能,查詢方便、對汽車銷售的情況一目了然、對客戶信息能夠長期的保存。這些優(yōu)點正是開發(fā)本系統(tǒng)的意義所在,因此它的內容對于經營的決策者和管理者來說都至關重要。
1.3系統(tǒng)所應用的模塊
綜合應用數據庫系統(tǒng)相關知識設計該數據庫,主要模塊內容包括:
(1)需求分析,分析該系統(tǒng)需要完成的功能模塊以及系統(tǒng)所涉及的全部數據實體,每個數據實體的屬性名一覽表以及數據實體間的聯系等,該階段要求使用數據流圖、數據字典;
(2)概念結構設計,對用戶需求進一步抽象、歸納,使用E-R模型來描述;
(3)邏輯結構設計,將概念結構轉化為DBMS支持的數據模型,并進行優(yōu)化,要求滿足第三范式;
(4)物理結構設計,為邏輯數據模型選取一個最適合應用環(huán)境的物理結構,選擇數據庫產品,確定數據庫實體屬性(字段)、數據類型、長度、精度確定;
(5)數據庫實施,建立數據庫結構,創(chuàng)建數據庫表、視圖等,創(chuàng)建數據表時需要包含主碼、外碼、唯一性約束、非空約束、檢查約束、默認值約束等完整性約束的定義;
(6)數據庫操作。
2.需求分析
2.1功能分析
(1)基礎信息管理
廠商信息的管理:查詢、增、刪、改;車型信息的管理:查詢、增、刪、改;客戶信息的管理:查詢、增、刪、改。
(2)進貨管理
車輛采購信息的管理:查詢、增、刪、改;車輛入庫信息的管理:查詢、增、刪、改。
(3)銷售管理
車輛銷售:客戶可以根據自己的需求,選擇不同型號和顏色的車型;收益統(tǒng)計:廠商按照所出售的車輛數量及價格進行統(tǒng)計。
(4)倉庫管理
庫存車輛:員工對已有車輛進行詳細管理;倉庫明細:庫存各種類型車輛的詳細信息;進銷存統(tǒng)計:員工對車輛的出售與進貨進行統(tǒng)計。
(5)系統(tǒng)維護
數據安全管理,系統(tǒng)管理員對該數據庫出現的問題進行管理;維護管理:根據車輛銷售情況及時更改數據庫;權限管理:規(guī)定該數據庫訪問的權限。
2.2數據流圖
訂貨系統(tǒng)流程圖如圖2.1所示:
圖2.1 訂貨系統(tǒng)流程圖
查詢訂單數據流程圖如圖2.2所示:
圖2.2 查詢訂單數據流程圖
訂單處理數據流程圖如圖2.3所示:
圖2.3 訂單處理數據流程圖?
開訂單數據流程圖如圖2.4所示:
圖2.4 開訂單數據流程圖
2.3數據字典
表2.1 數據項
編號 |
數據項名稱 |
說明部分 |
編號 |
數據項名稱 |
說明部分 |
1 |
客戶姓名 |
文本類型 長度為20字符串 |
2 |
客戶編號 |
文本類型 長度為10字符串 |
3 |
客戶性別 |
字符串類型 男、女 |
4 |
客戶電話 |
整數類型 |
5 |
客戶年齡 |
整數類型 |
6 |
客戶地址 |
文本類型 長度為20字符串 |
7 |
車輛編號 |
文本類型 長度為10字符串 |
8 |
廠商編號 |
文本類型 長度為10字符串 |
9 |
車輛名稱 |
文本類型 長度為20字符串 |
10 |
車輛類型 |
文本類型 長度為10字符串 |
11 |
車輛顏色 |
文本類型 長度為10字符串 |
12 |
座位數 |
整數類型 1——10 |
13 |
價格 |
整數類型 |
14 |
廠商名稱 |
文本類型 長度為20字符串 |
15 |
廠商編號 |
文本類型 長度為10字符串 |
16 |
廠商電話 |
整數類型 |
17 |
廠商地址 |
文本類型 長度為20字符串 |
18 |
生產車輛總數 |
整數類型 |
19 |
訂單號 |
整數類型 |
20 |
訂貨日期 |
時間類型 |
21 |
交貨日期 |
時間類型 ****/**/** |
22 |
訂單地址 |
文本類型 長度為20字符串 |
23 |
倉庫地址 |
文本類型 長度為20字符串 |
24 |
倉庫編號 |
文本類型 長度為10字符串 |
25 |
進貨車輛總數 |
整數類型 |
26 |
出貨車輛總數 |
整數類型 |
27 |
庫存車輛總數 |
整數類型 |
28 |
車輛總成本 |
浮點類型 |
29 |
利潤 |
浮點類型 |
30 |
保修期限 |
時間類型 |
31 |
出售車倆總數 |
整數類型 |
32 |
獲取總金額 |
浮點類型 |
表2.2 數據結構
編號 |
數據結構名稱 |
屬性 |
1 |
客戶 |
客戶姓名,編號,性別,年齡,電話,地址 |
2 |
車輛 |
車輛編號,名稱,類型,顏色,座位數,價格,廠商名 |
3 |
廠商 |
廠商名稱,廠商編號,地址,電話,生產車輛數 |
4 |
訂單 |
訂單號,客戶編號,訂貨日期,交貨日期,地址,訂單狀態(tài) |
5 |
倉庫 |
倉庫編號,地址,進貨車輛總數,出貨車輛總數,庫存車輛總數 |
6 |
車輛銷售 |
車輛編號,廠商號,出售車輛總數,車輛總成本,利潤 |
7 |
訂貨 |
客戶編號,廠商編號,車輛編號,買車時間,保修期限 |
表2.3 數據流
編號 |
數據流名 |
輸入 |
輸出 |
1 |
變更客戶 |
變更信息 |
客戶信息 |
2 |
查詢客戶 |
客戶編號 |
客戶信息 |
3 |
變更廠商 |
變更信息 |
廠商信息 |
4 |
查詢廠商 |
廠商編號 |
廠商信息 |
5 |
變更車輛 |
變更信息 |
車輛信息 |
6 |
查詢車輛 |
車輛編號 |
車輛信息 |
7 |
變更訂單 |
變更信息 |
訂單信息 |
8 |
查詢訂單 |
訂單號 |
訂單信息 |
9 |
變更倉庫 |
變更信息 |
倉庫信息 |
10 |
查詢倉庫 |
倉庫編號 |
倉庫信息 |
11 |
變更車輛銷售 |
變更信息 |
車輛銷售信息 |
12 |
查詢車輛銷售 |
車輛銷售總數 |
利潤 |
13 |
結賬 |
車輛編號 |
購買信息 |
14 |
提交訂貨請求 |
客戶編號,車輛編號,價格,廠商編號 |
車輛信息 |
15 |
獲得訂貨請求 |
訂貨信息 |
車輛編號,廠商編號,客戶編號 |
16 |
提交訂單信息 |
車輛編號,廠商編號 |
訂單信息 |
17 |
預定車輛 |
車輛編號 |
車輛信息 |
18 |
付款 |
車輛編號 |
車輛信息,廠商信息 |
表2.4 數據存儲
數據存儲名 |
輸入數據流 |
輸出信息流 |
客戶信息 |
變更客戶 |
查詢客戶 提交訂貨請求 |
車輛信息 |
變更車輛 |
查詢車輛 獲得訂貨請求 |
廠商信息 |
變更廠商 |
查詢廠商 提交訂貨請求 |
車輛銷售信息 |
變更車輛銷售 |
查詢廠商,提交訂貨請求,提交訂貨信息,提交訂單信息 |
訂單信息 |
變更訂單 |
結賬,提交訂貨請求 |
訂貨信息 |
提交訂貨請求,提交訂單信息 |
結賬,獲得訂單請求 |
表2.5 處理過程
處理過程名 |
輸入數據流 |
輸出信息流 |
客戶登記 |
終端 |
變更車輛、變更廠商 |
訂貨 |
終端 |
提交訂貨請求 獲得訂貨請求 |
訂貨 |
提交訂貨請求 |
提交訂貨信息 |
訂單 |
提交訂貨信息 |
提交訂單信息 |
客戶結賬 |
結賬 |
3.概念結構設計
使用概念結構設計對用戶需求進一步抽象、歸納。
其總E-R模型如圖3.1所示:
圖3.1 概念結構設計總E-R圖
4.邏輯結構設計
系統(tǒng)中的實體有:客戶,車輛,倉庫,廠商;
關系模式如下:
客戶(客戶編號,客戶姓名,客戶電話,客戶地址,客戶性別,客戶年齡)
車輛(車輛編號,車輛名稱,廠商編號,價格)
廠商(廠商編號,廠商名稱,廠商地址,生產車輛總數,進貨價格)
倉庫(倉庫編號,廠商編號,進貨車輛數,出貨車輛數,庫存車輛數)
5.物理結構設計
5.1基本表
表5.1 客戶基本表K
屬性名稱 |
屬性名 |
類型 |
長度 |
說明 |
客戶編號 |
K_NO |
CHAR |
20 |
主碼:公司統(tǒng)一編號,具有唯一性 |
客戶姓名 |
K_NAME |
CHAR |
20 |
客戶名稱 |
客戶性別 |
K_SEX |
CHAR |
2 |
客戶性別 |
客戶年齡 |
K_AGE |
INT |
18--100 |
|
客戶電話 |
K_TEL |
INT |
||
客戶地址 |
K_ADD |
CHAR |
20 |
客戶所在地址 |
表5.2 車輛基本表CAR
屬性中文名稱 |
屬性名 |
類型 |
長度 |
說明 |
車輛編號 |
CAR_NO |
CHAR |
10 |
主碼:廠商統(tǒng)一編號,具有唯一性 |
車輛名稱 |
CAR_NAME |
CHAR |
20 |
車輛名稱 |
廠商編號 |
CS_NO |
CHAR |
10 |
文本類型、有唯一性 |
價格 |
PRICE |
FLOAT |
表5.3 廠商基本表CS
屬性中文名稱 |
屬性名 |
類型 |
長度 |
說明 |
廠商編號 |
CS_NO |
CHAR |
10 |
主碼:廠商統(tǒng)一編號,具有唯一性 |
廠商名稱 |
CS_NAME |
CHAR |
20 |
文本類型、有唯一性 |
廠商地址 |
CS_ADD |
CHAR |
10 |
|
生產車輛總數 |
CAR_AMOUNT |
INT |
||
進貨價格 |
INT_PRICE |
FLOAT |
表5.4 倉庫基本表CK
屬性中文名稱 |
屬性名 |
類型 |
長度 |
說明 |
倉庫編號 |
CK_NO |
CHAR |
10 |
主碼:廠商統(tǒng)一編號,具有唯一性 |
廠商編號 |
CS_NO |
CHAR |
10 |
|
進貨車輛數 |
INT_AMOUNT |
INT |
倉庫開始進車輛數量 |
|
出貨車輛數 |
OUT_AMOUNT |
INT |
倉庫已賣出車輛數量 |
|
庫存車輛總數 |
REMAIN_AMOUNT |
INT |
倉庫現存有車輛數量 |
表5.5 車輛銷售基本表CX
屬性中文名稱 |
屬性名 |
類型 |
長度 |
說明 |
車輛編號 |
CAR_NO |
CHAR |
10 |
外碼:參照車輛表的車型號 |
廠商編號 |
CS_NO |
CHAR |
10 |
外碼:依照廠商表的廠商編號 |
出售車輛數 |
SALE_AMOUNT |
INT |
||
車輛總成本 |
CAR_MONEY |
FLOAT |
車輛進貨的成本 |
|
獲取總金額 |
H_MONEY |
FLOAT |
表5.6 訂單表D
屬性中文名稱 |
屬性名 |
類型 |
長度 |
說明 |
訂單號 |
D_NO |
CHAR |
10 |
訂單所屬的類別 |
客戶編號 |
K_NO |
CHAR |
20 |
外碼:參照客戶表的客戶編號 |
廠商編號 |
CS_NO |
CHAR |
10 |
外碼:依據廠商表中的廠商編號 |
訂貨日期 |
D_DATA |
DATE |
訂貨時間 |
|
交貨日期 |
H_DATA |
DATE |
交貨期限 |
|
訂單地址 |
D_ADD |
CHAR |
10 |
5.2視圖
(1)廠商(廠商號,廠商名)
從廠商基本表導出
(2)進銷存統(tǒng)計(倉庫號,進貨車輛數,出貨車輛數)
從倉庫基本表導出
(3)所有車輛銷售信息(車型號,廠商號)
從車輛和廠商基本表導出
(4)付款(車型號,廠商號,車輛名,價格)
從車輛表、廠商表導出
(5)訂單生成視圖,訂單(訂單號,客戶號,訂貨日期,交貨日期,地址)
從訂單表、客戶表導出
(6)收益統(tǒng)計信息(車型號,出售車輛數,車輛總成本,獲取總金額,利潤)
從車輛表、車輛銷售表導出
6.數據庫實施
將汽車管理系統(tǒng)的數據庫名稱設為QCXS,數據庫只有一個數據文件和一個日志文件,保存在默認路徑下。
創(chuàng)建數據庫命令為
CREATE DATABASE QCXS
為數據庫中基本表建立的索引如下所述。
(1)?基本表K ,CAR ,CS ,CK ,D的主碼分別是K_NO,CAR_NO,CS_NO,CK_NO , D_NO的值唯一,且經常出現在連接、查詢條件和操作中出現,建立唯一性索引。
(2)車輛銷售基本表CX和訂單表D 的屬性CAR_NAME和D_NO 經常在查詢條件中出現,考慮建立索引。
6.1 建立數據庫表
(1)客戶信息登記表的建立
CREATE TABLE K
(K_NO CHAR(20)PRIMARY KEY,
K_NAME CHAR(20),
K_SEX CHAR(2),
K_AGE TINYINT,
K_TEL CHAR(11),
K_ADD CHAR(20))
(2)車輛信息表的建立
CREATE TABLE CAR
(CAR_NO CHAR(10)PRIMARY KEY,
CAR_NAME CHAR(20),
CS_NO CHAR(10),
PRICE FLOAT)
(3)廠商信息表的建立
CREATE TABLE CS
(CS_NO CHAR(10)PRIMARY KEY,
CS_NAME CHAR(20),
CS_ADD CHAR(10),
CAR_AMOUNT INT)
(4)倉庫信息表的建立
CREATE TABLE CK
(CK_NO CHAR(10)PRIMARY KEY,
CS_NO CHAR(10),
INT_AMOUNT INT,
OUT_AMOUNT INT,
REMAIN_AMOUNT INT)
(5)車輛銷售表的建立
CREATE TABLE CX
(CAR_NO CHAR(10),
CS_NO CHAR(10),
SALE_AMOUNT INT,
CAR_MONEY FLOAT,
H_MONEY FLOAT)
(6)訂單信息記錄表的建立
CREATE TABLE D
(D_NO CHAR(10)PRIMARY KEY,
K_NO CHAR(20),
CS_NO CHAR(10),
D_DATA DATE,
H_DATA DATE,
D_ADD CHAR(10))
6.2建立視圖
(1)客戶基本信息視圖
用于查詢客戶基本信息的視圖定義如下:
CREATE VIEW 客戶基本視圖
AS
SELECT K_NO,K_NAME,K_SEX,K_AGE,K_TEL,K_ADD
FROM K
WITH CHECK OPTION
GO
(2)車輛基本信息視圖
用于查詢車輛基本信息的視圖定義如下:
CREATE VIEW 車輛基本視圖
AS
SELECT CAR_NO,CAR_NAME,CS_NO,PRICE
FROM CAR
WHERE CAR_NO='BMW001'
WITH CHECK OPTION
GO
(3)訂單基本信息視圖
用于查詢訂單基本信息的視圖定義如下
CREATE VIEW DView(訂單號,客戶編號,廠商編號,訂貨日期,交貨日期,訂單地址)
AS
SELECT D_NO, K_NO, CS_NO, D_DATA, H_DATA, D_ADD
FROM D
(4)車輛銷售基本信息視圖
CREATE VIEW 車輛銷售視圖
AS
SELECT CAR_NO,COUNT(H_MONEY)符合條件的編號
FROM CX
WHERE H_MONEY>10000000
GROUP BY CAR_NO
WITH CHECK OPTION
GO
(5)倉庫基本信息試視圖
CREATE VIEW 倉庫基本視圖
AS
SELECT CK_NO,CS_NO,INT_AMOUNT,OUT_AMOUNT,REMAIN_AMOUNT
FROM CK
WHERE CK_NO='CK1'
WITH CHECK OPTION
GO
(6)廠商基本信息視圖
CREATE VIEW 廠商基本視圖
AS
SELECT CS_NO,CS_NAME,CS_ADD,CAR_AMOUNT,INT_PRICE
FROM CS
WHERE CS_NO='C1'
WITH CHECK OPTION
GO
7.數據庫操作
7.1建立數據庫和數據表
create database QCXS
on
(name=QCXS,
filename='D:\sql\QCXS.mdf',
size=10MB,
maxsize=30MB,
filegrowth=5MB)
log on
(name=xxgl_log,
filename='D:\sql\QCXS_log.ldf',
size=4MB,
maxsize=10MB,
filegrowth=2MB)
USE QCXS
GO
CREATE TABLE K
(K_NO CHAR(20)PRIMARY KEY,
K_NAME CHAR(20),
K_SEX CHAR(2),
K_AGE TINYINT,
K_TEL CHAR(11),
K_ADD CHAR(20)
)
CREATE TABLE CAR
(CAR_NO CHAR(10)PRIMARY KEY,
CAR_NAME CHAR(20),
CS_NO CHAR(10),
PRICE FLOAT
)
CREATE TABLE CS
(CS_NO CHAR(10)PRIMARY KEY,
CS_NAME CHAR(20),
CS_ADD CHAR(10),
CAR_AMOUNT INT,
INT_PRICE FLOAT
)
CREATE TABLE CK
(CK_NO CHAR(10)PRIMARY KEY,
CS_NO CHAR(10),
INT_AMOUNT INT,
OUT_AMOUNT INT,
REMAIN_AMOUNT INT
)
CREATE TABLE CX
(CAR_NO CHAR(10),
CS_NO CHAR(10),
SALE_AMOUNT INT,
CAR_MONEY FLOAT,
H_MONEY FLOAT
)
CREATE TABLE D
(D_NO CHAR(10)PRIMARY KEY,
K_NO CHAR(20),
CS_NO CHAR(10),
D_DATA DATE,
H_DATA DATE,
D_ADD CHAR(10)
)
7.2數據庫操作
7.2.1 INSERT、DELETE和UPDATE語句
(1)INSERT 插入數據
INSERT INTO K VALUES
('K1','吳剛','男','53','13400000001','深圳市'),
('K2','楊維','女','35','13400000002','上海市'),
('K3','劉桂','男','44','13400000003','商丘市'),
('K4','程勇','男','48','13400000004','鄭州市'),
('K5','馬飛','男','39','13400000005','蘇州市'),
('K6','冷星','女','42','13400000006','吉林市'),
('K7','TINA','女','38','13400000007','開封市'),
('K8','TOM','男','41','13400000008','信陽市'),
('K9','陸貴山','男','46','13400000009','南陽市'),
('K10','徐洪水','男','29','13400000010','濮陽市')
INSERT INTO CAR VALUES
('BMW001','寶馬z4','C1','488800'),
('BMW002','寶馬x6','C2','766900'),
('BMW003','寶馬x7','C3','1000000'),
('BMW004','寶馬i4','C4','449900'),
('BMW005','寶馬3系','C5','293900'),
('BMW006','寶馬i3','C6','349900'),
('BMW007','寶馬m3','C7','849900'),
('BMW008','寶馬m4','C8','879900'),
('BMW009','寶馬6系GT','C9','583900'),
('BMW010','寶馬5系','C10','428900')
INSERT INTO CS VALUES
('C1','寶馬1廠','蘇州市','80','400000'),
('C2','寶馬2廠','揚州市','100','700000'),
('C3','寶馬3廠','吉林市','54','800000'),
('C4','寶馬4廠','南京市','120','350000'),
('C5','寶馬5廠','武漢市','58','200000'),
('C6','寶馬6廠','鄭州市','46','290000'),
('C7','寶馬7廠','北京市','150','750000'),
('C8','寶馬8廠','開封市','101','800000'),
('C9','寶馬9廠','上海市','65','500000'),
('C10','寶馬10廠','商丘市','85','350000')
INSERT INTO CK VALUES
('CK1','C1','51','30','21'),
('CK2','C2','60','40','20'),
('CK3','C3','40','25','15'),
('CK4','C4','80','55','25'),
('CK5','C5','40','22','18'),
('CK6','C6','20','12','8'),
('CK7','C7','55','32','23'),
('CK8','C8','63','43','20'),
('CK9','C9','41','23','18'),
('CK10','C10','30','22','8')
INSERT INTO CX VALUES
('BMW001','C1','30','12000000','14664000'),
('BMW002','C2','40','28000000','30676000'),
('BMW003','C3','15','12000000','15000000'),
('BMW004','C4','12','4200000','6748500'),
('BMW005','C5','22','4400000','6465800'),
('BMW006','C6','10','2900000','3499000'),
('BMW007','C7','22','16500000','18697800'),
('BMW008','C8','18','14400000','15838200'),
('BMW009','C9','16','8000000','9342400'),
('BMW010','C10','30','10500000','12867000')
INSERT INTO D VALUES
('DD0001','K7','C2','2022.2.2','2022.4.20','開封市'),
('DD0002','K1','C4','2021.4.20','2022.6.18','深圳市'),
('DD0003','K3','C5','2021.5.20','2021.10.1','商丘市'),
('DD0004','K2','C9','2021.9.18','2021.12.10','上海市'),
('DD0005','K10','C7','2021.5.30','2021.6.30','濮陽市'),
('DD0006','K4','C6','2022.1.12','2022.4.20','鄭州市'),
('DD0007','K5','C1','2022.2.18','2022.5.2','蘇州市'),
('DD0008','K8','C3','2022.1.25','2022.3.3','信陽市'),
('DD0009','K9','C10','2022.3.18','2022.4.20','南陽市'),
('DD0010','K6','C8','2022.3.14','2022.5.1','吉林市')
(2)DELETE 刪除數據
--刪除客戶基本表K中客戶編號為K1的客戶信息
DELETE FROM K
WHERE K_NO='K1'
--刪除客戶基本表K中指定客戶姓名的客戶信息
DELETE FROM K
WHERE K_NAME='馬飛'
--刪除客戶基本表K中指定客戶電話的客戶信息
DELETE FROM K
WHERE K_TEL='13400000006'
(3)UPDATE 更新數據
--更新客戶基本表K中的客戶電話信息
UPDATE K
SET K_TEL='13400000000'
WHERE K_NAME='馬飛'
--更新客戶基本表K中的客戶地址信息
UPDATE K
SET K_ADD='江蘇省'
WHERE K_NO='K2'
7.2.2 SELECT語句
(1)基本查詢
--查詢車輛基本表CAR中的車輛編號,車輛名稱,廠商編號
SELECT CAR_NO,CAR_NAME,CS_NO
FROM CAR
--查詢車輛基本表CAR中所有信息
SELECT * FROM CAR
--查詢廠商基本表CS所有信息
SELECT * FROM CS
(2)多表查詢
--查詢生產車輛名稱為寶馬z4的廠商地址
SELECT CS_ADD
FROM CAR INNER JOIN CS
ON CS.CS_NO=CAR.CS_NO
WHERE CAR_NAME='寶馬z4'
--查詢廠商名稱為寶馬4廠的出貨車輛數
SELECT OUT_AMOUNT
FROM CS INNER JOIN CK
ON CS.CS_NO=CK.CS_NO
WHERE CS_NAME='寶馬4廠'
7.2.3創(chuàng)建視圖
(1)創(chuàng)建視圖
--創(chuàng)建客戶的基本視圖
CREATE VIEW 客戶基本視圖
AS
SELECT K_NO,K_NAME,K_SEX,K_AGE,K_TEL,K_ADD
FROM K
WITH CHECK OPTION
GO
--創(chuàng)建車輛編號為BMW001的基本視圖
CREATE VIEW 車輛基本視圖
AS
SELECT CAR_NO,CAR_NAME,CS_NO,PRICE
FROM CAR
WHERE CAR_NO='BMW001'
WITH CHECK OPTION
GO
--創(chuàng)建廠商編號為C1的基本視圖
CREATE VIEW 廠商基本視圖
AS
SELECT CS_NO,CS_NAME,CS_ADD,CAR_AMOUNT,INT_PRICE
FROM CS
WHERE CS_NO='C1'
WITH CHECK OPTION
GO
--創(chuàng)建倉庫編號為CK1的基本視圖
CREATE VIEW 倉庫基本視圖
AS
SELECT CK_NO,CS_NO,INT_AMOUNT,OUT_AMOUNT,REMAIN_AMOUNT
FROM CK
WHERE CK_NO='CK1'
WITH CHECK OPTION
GO
--創(chuàng)建獲取總金額大于10000000的基本視圖
CREATE VIEW 車輛銷售視圖
AS
SELECT CAR_NO,COUNT(H_MONEY)符合條件的編號
FROM CX
WHERE H_MONEY>10000000
GROUP BY CAR_NO
WITH CHECK OPTION
GO
(2)修改視圖
--修改視圖“客戶基本視圖”,插入一條數據
INSERT INTO 客戶基本視圖
VALUES('K11','吳伍','男','53','13400000011','深圳市')
SELECT * FROM 客戶基本視圖
--修改視圖“客戶基本視圖”,修改指定信息
UPDATE 客戶基本視圖
SET K_AGE='50'
WHERE K_NO='K8'
SELECT * FROM 客戶基本視圖
--修改視圖“客戶基本視圖”,刪除指定信息
DELETE
FROM 客戶基本視圖
WHERE K_NO='K6'
SELECT * FROM 客戶基本視圖
7.2.4存儲過程
(1)創(chuàng)建存儲過程
CREATE PROCEDURE CSSS
@CS_NO CHAR(10)
AS
SELECT *
FROM CS
WHERE CS_NO='C2'
GO
(2)修改存儲過程
ALTER PROC CSSS
@CS_NO CHAR(20)
AS
SELECT *
FROM CS
WHERE CS_NO='C2'
GO
(3)查看存儲過程
--查看存儲過程一般信息
SP_HELP CSSS
--查看存儲過程文本信息
SP_HELPTEXT CSSS
(4)刪除存儲過程
DROP PROCEDURE CSSS
7.2.5觸發(fā)器
(1)創(chuàng)建觸發(fā)器
CREATE TRIGGER CHELIANGCFQ
ON CAR
FOR
INSERT,UPDATE
AS
PRINT '對車輛表進行數據的插入或修改'
(2)查看觸發(fā)器
--查看觸發(fā)器一般信息
SP_HELPTEXT CHELIANGCFQ
--查看觸發(fā)器文本信息
SP_HELP CHELIANGCFQ
(3)修改觸發(fā)器
ALTER TRIGGER CHELIANGCFQ
ON CAR
FOR
INSERT,UPDATE
AS
PRINT '你執(zhí)行的添加或修改操作無效!'
(4)刪除觸發(fā)器
DROP TRIGGER CHELIANGCFQ
8.總結與體會
時光飛逝,一轉眼,一個學期又進尾聲了,本學期的能力拓展強化訓練也完成了。
俗話說“好的開始是成功的一半”。說起課程設計,該小組最重要的就是做好設計的預習,認真的研究老師給的題目,選一個自己有興趣的題目。其次,老師對實驗的講解要一絲不茍的去聽去想,因為只有都明白了,做起設計就會事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設計,到頭來一點收獲也沒有。最后,要重視數據庫的模塊化,修改的方便,也要注重程序的調試,掌握其方法。
當然,這其中也有很多問題,第一、不夠細心比如由于粗心大意,由于對課本理論的不熟悉導致編程出現錯誤。第二,是在學習態(tài)度上,這次課程設計是對我的學習態(tài)度的一次檢驗。對于這次課程設計,我的第一大心得體會就是作為一名工程技術人員,要求具備的首要素質絕對應該是嚴謹。該小組這次課程設計所遇到的多半問題多數都是由于他們不夠嚴謹。
從開始得到老師給定課題時的一臉茫然到老師講解后內容的初步了解再到他們通過查資料、與同學共同探討、經過老師指導后,自己設計并寫出這份課程報告,心中充滿了成就感。通過課程設計還拓寬了知識面,學到了很多課本上沒有的知識,報告只有自己去做能加深對知識的理解,任何困難只有自己通過努力去克服才能收獲成功的喜悅。本次課程設計還讓同學們明白了理論聯系實際的重要性,只有通過實際的動手才能加深對于理論知識的理解。在做課程設計的過程中讓同學們發(fā)現他們對課本知識的理解不夠深刻,掌握的不太牢靠,以后需要努力地溫習以前的知識。
參考文獻
[1]劉金嶺,馮萬利.數據庫系統(tǒng)及應用教程——SQL Server 2008[M].北京: 清華大學出版社,2019.
[2]劉衛(wèi)國,奎曉燕.數據庫技術與應用——SQL Server 2008 [M].北京:人民郵電出版社,2019.
[3]熊光華.計算機數據庫系統(tǒng)在企業(yè)管理中的應用[J].計算機產品與流通,2020(05):14.
[4]諶林,鄭泓楠.分布式數據庫查詢處理和優(yōu)化算法[J].中外企業(yè)家,2020(15):145.
[5]王福超,牛長春.基于加密數據庫的快速查詢方法研究[J].網絡安全技術與應用,2020(04):40-42.
[6]馮小潔.以體系結構為中心的數據庫設計方法及應用[J].中國教育信息化,2020(05):89-93.
[7]丁紅艷.基于計算機軟件工程的數據庫編程技術[J].科學技術創(chuàng)新,2020(06):90-91.
[8]毛義華,水悅瑤,方燕翎,李書明.新型研發(fā)機構發(fā)展脈絡及發(fā)展趨勢研究——基于Citespace的可視化分析[J].經營與管理,2020(05):10-17.
[9]諶林,鄭泓楠.分布式數據庫查詢處理和優(yōu)化算法[J].中外企業(yè)家,2020(15):145.
[10]薛建中.多類型數據庫存儲與訪問的實現[J].電腦編程技巧與維護,2020(03):103-105.
[11]姜亮,王曉龍,金鑫,劉強.計算機軟件開發(fā)與數據庫管理中的問題與應對策略[J].計算機產品與流 通,2020(03):19.
[12]胡強.MySQL數據庫常見問題分析與研究[J].電腦編程技巧與維護,2019(12):91-92.
[13]翁平.Oracle數據庫性能及優(yōu)化分析[J].信息與電腦(理論版),2019(03):163-164
[14]王冬雪,韓灝,李鴻鵠.基于Access數據庫的SQL注入攻擊研究[J].計算機與網絡,2018,44(19):68-71.文章來源:http://www.zghlxwxcb.cn/news/detail-401819.html
附主要代碼如下:文章來源地址http://www.zghlxwxcb.cn/news/detail-401819.html
create database QCXS
on
(name=QCXS,
filename='D:\sql\QCXS.mdf',
size=10MB,
maxsize=30MB,
filegrowth=5MB)
log on
(name=xxgl_log,
filename='D:\sql\QCXS_log.ldf',
size=4MB,
maxsize=10MB,
filegrowth=2MB)
USE QCXS
GO
CREATE TABLE K
(K_NO CHAR(20)PRIMARY KEY,
K_NAME CHAR(20),
K_SEX CHAR(2),
K_AGE TINYINT,
K_TEL CHAR(11),
K_ADD CHAR(20)
)
CREATE TABLE CAR
(CAR_NO CHAR(10)PRIMARY KEY,
CAR_NAME CHAR(20),
CS_NO CHAR(10),
PRICE FLOAT
)
CREATE TABLE CS
(CS_NO CHAR(10)PRIMARY KEY,
CS_NAME CHAR(20),
CS_ADD CHAR(10),
CAR_AMOUNT INT,
INT_PRICE FLOAT
)
CREATE TABLE CK
(CK_NO CHAR(10)PRIMARY KEY,
CS_NO CHAR(10),
INT_AMOUNT INT,
OUT_AMOUNT INT,
REMAIN_AMOUNT INT
)
CREATE TABLE CX
(CAR_NO CHAR(10),
CS_NO CHAR(10),
SALE_AMOUNT INT,
CAR_MONEY FLOAT,
H_MONEY FLOAT
)
CREATE TABLE D
(D_NO CHAR(10)PRIMARY KEY,
K_NO CHAR(20),
CS_NO CHAR(10),
D_DATA DATE,
H_DATA DATE,
D_ADD CHAR(10)
)
INSERT INTO K VALUES
('K1','吳剛','男','53','13400000001','深圳市'),
('K2','楊維','女','35','13400000002','上海市'),
('K3','劉桂','男','44','13400000003','商丘市'),
('K4','程勇','男','48','13400000004','鄭州市'),
('K5','馬飛','男','39','13400000005','蘇州市'),
('K6','冷星','女','42','13400000006','吉林市'),
('K7','TINA','女','38','13400000007','開封市'),
('K8','TOM','男','41','13400000008','信陽市'),
('K9','陸貴山','男','46','13400000009','南陽市'),
('K10','徐洪水','男','29','13400000010','濮陽市')
INSERT INTO CAR VALUES
('BMW001','寶馬z4','C1','488800'),
('BMW002','寶馬x6','C2','766900'),
('BMW003','寶馬x7','C3','1000000'),
('BMW004','寶馬i4','C4','449900'),
('BMW005','寶馬3系','C5','293900'),
('BMW006','寶馬i3','C6','349900'),
('BMW007','寶馬m3','C7','849900'),
('BMW008','寶馬m4','C8','879900'),
('BMW009','寶馬6系GT','C9','583900'),
('BMW010','寶馬5系','C10','428900')
INSERT INTO CS VALUES
('C1','寶馬1廠','蘇州市','80','400000'),
('C2','寶馬2廠','揚州市','100','700000'),
('C3','寶馬3廠','吉林市','54','800000'),
('C4','寶馬4廠','南京市','120','350000'),
('C5','寶馬5廠','武漢市','58','200000'),
('C6','寶馬6廠','鄭州市','46','290000'),
('C7','寶馬7廠','北京市','150','750000'),
('C8','寶馬8廠','開封市','101','800000'),
('C9','寶馬9廠','上海市','65','500000'),
('C10','寶馬10廠','商丘市','85','350000')
INSERT INTO CK VALUES
('CK1','C1','51','30','21'),
('CK2','C2','60','40','20'),
('CK3','C3','40','25','15'),
('CK4','C4','80','55','25'),
('CK5','C5','40','22','18'),
('CK6','C6','20','12','8'),
('CK7','C7','55','32','23'),
('CK8','C8','63','43','20'),
('CK9','C9','41','23','18'),
('CK10','C10','30','22','8')
INSERT INTO CX VALUES
('BMW001','C1','30','12000000','14664000'),
('BMW002','C2','40','28000000','30676000'),
('BMW003','C3','15','12000000','15000000'),
('BMW004','C4','12','4200000','6748500'),
('BMW005','C5','22','4400000','6465800'),
('BMW006','C6','10','2900000','3499000'),
('BMW007','C7','22','16500000','18697800'),
('BMW008','C8','18','14400000','15838200'),
('BMW009','C9','16','8000000','9342400'),
('BMW010','C10','30','10500000','12867000')
INSERT INTO D VALUES
('DD0001','K7','C2','2022.2.2','2022.4.20','開封市'),
('DD0002','K1','C4','2021.4.20','2022.6.18','深圳市'),
('DD0003','K3','C5','2021.5.20','2021.10.1','商丘市'),
('DD0004','K2','C9','2021.9.18','2021.12.10','上海市'),
('DD0005','K10','C7','2021.5.30','2021.6.30','濮陽市'),
('DD0006','K4','C6','2022.1.12','2022.4.20','鄭州市'),
('DD0007','K5','C1','2022.2.18','2022.5.2','蘇州市'),
('DD0008','K8','C3','2022.1.25','2022.3.3','信陽市'),
('DD0009','K9','C10','2022.3.18','2022.4.20','南陽市'),
('DD0010','K6','C8','2022.3.14','2022.5.1','吉林市')
--刪除客戶基本表K中客戶編號為K1的客戶信息
DELETE FROM K
WHERE K_NO='K1'
SELECT * FROM K
--刪除客戶基本表K中指定客戶姓名的客戶信息
DELETE FROM K
WHERE K_NAME='馬飛'
SELECT * FROM K
--刪除客戶基本表K中指定客戶電話的客戶信息
DELETE FROM K
WHERE K_TEL='13400000006'
SELECT * FROM K
--重新添加客戶基本表K中的新用戶
INSERT INTO K VALUES
('K1','吳剛','男','53','13400000001','深圳市'),
('K13','馬東','男','39','13400000005','蘇州市'),
('K6','冷星','女','42','13400000006','吉林市')
SELECT * FROM K
--更新客戶基本表K中的客戶電話信息
UPDATE K
SET K_TEL='13400000000'
WHERE K_NAME='馬東'
SELECT * FROM K
--更新客戶基本表K中的客戶地址信息
UPDATE K
SET K_ADD='江蘇省'
WHERE K_NO='K2'
SELECT * FROM K
--查詢車輛基本表CAR中的車輛編號,車輛名稱,廠商編號
SELECT CAR_NO,CAR_NAME,CS_NO
FROM CAR
--查詢車輛基本表CAR中所有信息
SELECT * FROM CAR
--查詢廠商基本表CS所有信息
SELECT * FROM CS
--查詢生產車輛名稱為寶馬z4的廠商地址
SELECT CS_ADD
FROM CAR INNER JOIN CS
ON CS.CS_NO=CAR.CS_NO
WHERE CAR_NAME='寶馬z4'
--查詢廠商名稱為寶馬4廠的出貨車輛數
SELECT OUT_AMOUNT
FROM CS INNER JOIN CK
ON CS.CS_NO=CK.CS_NO
WHERE CS_NAME='寶馬4廠'
--創(chuàng)建客戶的基本視圖
CREATE VIEW 客戶基本視圖
AS
SELECT K_NO,K_NAME,K_SEX,K_AGE,K_TEL,K_ADD
FROM K
WITH CHECK OPTION
GO
SELECT * FROM 客戶基本視圖
--創(chuàng)建車輛編號為BMW001的基本視圖
CREATE VIEW 車輛基本視圖
AS
SELECT CAR_NO,CAR_NAME,CS_NO,PRICE
FROM CAR
WHERE CAR_NO='BMW001'
WITH CHECK OPTION
GO
SELECT * FROM 車輛基本視圖
--創(chuàng)建廠商編號為C1的基本視圖
CREATE VIEW 廠商基本視圖
AS
SELECT CS_NO,CS_NAME,CS_ADD,CAR_AMOUNT,INT_PRICE
FROM CS
WHERE CS_NO='C1'
WITH CHECK OPTION
GO
SELECT * FROM 廠商基本視圖
--創(chuàng)建倉庫編號為CK1的基本視圖
CREATE VIEW 倉庫基本視圖
AS
SELECT CK_NO,CS_NO,INT_AMOUNT,OUT_AMOUNT,REMAIN_AMOUNT
FROM CK
WHERE CK_NO='CK1'
WITH CHECK OPTION
GO
SELECT * FROM 倉庫基本視圖
--創(chuàng)建獲取總金額大于10000000的基本視圖
CREATE VIEW 車輛銷售視圖
AS
SELECT CAR_NO,COUNT(H_MONEY)符合條件的編號
FROM CX
WHERE H_MONEY>10000000
GROUP BY CAR_NO
WITH CHECK OPTION
GO
SELECT * FROM 車輛銷售視圖
--修改視圖“客戶基本視圖”,插入一條數據
INSERT INTO 客戶基本視圖
VALUES('K11','吳伍','男','53','13400000011','深圳市')
SELECT * FROM 客戶基本視圖
--修改視圖“客戶基本視圖”,修改指定信息
UPDATE 客戶基本視圖
SET K_AGE='50'
WHERE K_NO='K8'
SELECT * FROM 客戶基本視圖
--修改視圖“客戶基本視圖”,刪除指定信息
DELETE
FROM 客戶基本視圖
WHERE K_NO='K6'
SELECT * FROM 客戶基本視圖
--創(chuàng)建存儲過程
CREATE PROCEDURE CSSS
@CS_NO CHAR(10)
AS
SELECT *
FROM CS
WHERE CS_NO='C2'
GO
--修改存儲過程
ALTER PROC CSSS
@CS_NO CHAR(20)
AS
SELECT *
FROM CS
WHERE CS_NO='C2'
GO
--查看存儲過程一般信息
SP_HELP CSSS
--查看存儲過程文本信息
SP_HELPTEXT CSSS
--刪除存儲過程
DROP PROCEDURE CSSS
--創(chuàng)建觸發(fā)器
CREATE TRIGGER CHELIANGCFQ
ON CAR
FOR
INSERT,UPDATE
AS
PRINT '對車輛表進行數據的插入或修改'
--查看觸發(fā)器一般信息
SP_HELPTEXT CHELIANGCFQ
--查看觸發(fā)器文本信息
SP_HELP CHELIANGCFQ
--修改觸發(fā)器
ALTER TRIGGER CHELIANGCFQ
ON CAR
FOR
INSERT,UPDATE
AS
PRINT '你執(zhí)行的添加或修改操作無效!'
--刪除觸發(fā)器
DROP TRIGGER CHELIANGCFQ
到了這里,關于數據庫--汽車銷售管理系統(tǒng)【課程設計】的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!