最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

超市進(jìn)銷存之openGauss數(shù)據(jù)庫的應(yīng)用與實踐

2023-02-15 10:04 作者:Gauss松鼠會  | 我要投稿

一、背景

數(shù)字經(jīng)濟時代,數(shù)據(jù)處理需求大規(guī)模增長,數(shù)據(jù)庫在充分挖掘數(shù)據(jù)資產(chǎn)價值、賦能產(chǎn)業(yè)數(shù)字化轉(zhuǎn)型、推進(jìn)數(shù)字經(jīng)濟生態(tài)建設(shè)過程中發(fā)揮著重大作用。

經(jīng)營管理一家超市,無論是商品的管理、商品采購的管理還是商品銷售的管理,如果單純依靠純?nèi)斯す芾?,不僅工作量巨大,且容還容易出錯,造成不可預(yù)估的損失等。

基于此,數(shù)據(jù)庫的選擇與設(shè)計就尤為重要。

二、目的

本文以零售行業(yè)為場景,設(shè)計數(shù)據(jù)庫模型,并使用openGauss數(shù)據(jù)庫構(gòu)建零售業(yè)務(wù)場景下的超市進(jìn)銷存數(shù)據(jù)庫。通過對數(shù)據(jù)庫中對象(表、數(shù)據(jù)類型、視圖、約束、存儲過程、用戶等)的創(chuàng)建,掌握openGauss數(shù)據(jù)庫基礎(chǔ)SQL語法,并通過對表中數(shù)據(jù)的增刪改查,模擬零售行業(yè)下的業(yè)務(wù)實現(xiàn)。

、什么是“進(jìn)銷存”,什么是超市進(jìn)銷存管理系統(tǒng)?

進(jìn)銷存軟件概念起源于上世紀(jì)80年代,由于電算化的普及,計算機管理的廣泛推廣,不少企業(yè)對于倉庫貨品的進(jìn)貨,存貨,出貨管理,有了強烈的訴求,基于此,進(jìn)銷存軟件的發(fā)展從此便開始了。

進(jìn)入90年代以后,隨著進(jìn)銷存軟件的應(yīng)用面越來越廣,出現(xiàn)了許多從功能上,從用途上,更為全面的進(jìn)銷存系統(tǒng),從單純的貨品數(shù)量管理,擴展為貨品的流程管理,進(jìn)銷存軟件對每一批貨品的來源、存放、去向,都作了詳細(xì)的記錄,隨后即延伸為財務(wù)進(jìn)銷存一體化的管理模式。

進(jìn)銷存是指企業(yè)管理過程中采購(進(jìn))——入庫(存)——銷售(銷)的動態(tài)管理過程。主要可以分為如下兩條線:

1)?商品流通企業(yè)的進(jìn)銷存是從商品的采購(進(jìn))——入庫(存)——銷售(銷)的動態(tài)管理過程。

2)工業(yè)企業(yè)的進(jìn)銷存是從原材料的采購(進(jìn))——入庫(存)——領(lǐng)料加工——產(chǎn)品入庫(存)——銷售(銷)的動態(tài)管理過程。

四、什么是openGauss數(shù)據(jù)庫?

openGauss是一個數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)庫是結(jié)構(gòu)化的數(shù)據(jù)集合。它可以是任何數(shù)據(jù),購物清單、圖片庫或公司網(wǎng)絡(luò)中的大量信息。數(shù)據(jù)庫管理系統(tǒng)可以對數(shù)據(jù)庫進(jìn)行統(tǒng)一的管理和控制,以保證數(shù)據(jù)庫的安全性和完整性。由于計算機非常擅長處理大量數(shù)據(jù),因此數(shù)據(jù)庫管理系統(tǒng)可以作為獨立程序使用,也可以作為其他應(yīng)用程序的一部分在計算中發(fā)揮著核心作用。??

openGauss數(shù)據(jù)庫是關(guān)系型的。關(guān)系型數(shù)據(jù)庫是指采用了關(guān)系模型來組織數(shù)據(jù)的數(shù)據(jù)庫,其以行和列的形式存儲數(shù)據(jù)。行和列被稱為表,一組表組成了數(shù)據(jù)庫。關(guān)系模型可以簡單理解為二維表格模型,而一個關(guān)系型數(shù)據(jù)庫就是由二維表及其之間的關(guān)系組成的一個數(shù)據(jù)組織。? ?

openGauss的SQL部分代表 “結(jié)構(gòu)化查詢語言”。SQL是最常用的用于訪問和處理數(shù)據(jù)庫的標(biāo)準(zhǔn)計算機語言。根據(jù)系統(tǒng)的編程環(huán)境,用戶可以直接輸入SQL、將SQL語句嵌入到以另一種語言編寫的代碼中,或者使用包含SQL語法的特定語言 API。openGauss支持標(biāo)準(zhǔn)的SQL92/SQL99/SQL2003/SQL2011規(guī)范

、應(yīng)用與實踐(模擬超市進(jìn)銷存系統(tǒng))

說明:以庫表涉及到的字段類型、sql語句等均是基于openGauss數(shù)據(jù)庫進(jìn)行的。

1、超市進(jìn)銷存數(shù)據(jù)庫表設(shè)計

本次設(shè)計僅從最基本的核心表設(shè)計出發(fā),完成最基本的進(jìn)銷存管理任務(wù),具體涉及如下幾張核心表,如遇臨時表或者視圖或者存儲過程,則均以SQL的形式實現(xiàn):

1、?用戶管理表User_info

2、?供應(yīng)商信息表(supplier_info)

3、?訂貨單信息表(order_info

4、?進(jìn)貨信息表(Purchase_goods_info)

5、?倉庫信息表(warehouse_info

6、?商品信息表(goods_info)

7、?出庫信息表(Outwarehouse_info)

8、?銷售清單信息表(sell_list_info)

9、?銷售信息表(sell_info)

10、?客戶管理表(customer_info)

2、創(chuàng)建數(shù)據(jù)庫表

前置條件:已成功安裝openGauss數(shù)據(jù)庫。

2.1、創(chuàng)建超市(零售行業(yè))數(shù)據(jù)庫(retail_db)。

切換到omm用戶,以操作系統(tǒng)用戶omm登錄數(shù)據(jù)庫主節(jié)點。

啟動數(shù)據(jù)庫。

?使用gsql工具登陸數(shù)據(jù)庫。

創(chuàng)建數(shù)據(jù)庫retail_db。

連接retail_db數(shù)據(jù)庫。

創(chuàng)建名為retail_db的schema,并設(shè)置retail_db為當(dāng)前的schema。

將默認(rèn)搜索路徑設(shè)為retail_db。

2.2、創(chuàng)建用戶管理表User_info

在SQL編輯框中輸入如下語句,創(chuàng)建用戶管理表user_info。

刪除表 user_info

創(chuàng)建表 user_info

?2.3、創(chuàng)建供應(yīng)商信息表(supplier_info)

在SQL編輯框中輸入如下語句,創(chuàng)建表supplier_info

刪除表 supplier_info

創(chuàng)建表 supplier_info

2.4、創(chuàng)建訂貨單信息表(order_info

在SQL編輯框中輸入如下語句,創(chuàng)建表order_info

刪除表 order_info

創(chuàng)建表 order_info

2.5、創(chuàng)建進(jìn)貨信息表(Purchase_goods_info)

在SQL編輯框中輸入如下語句,創(chuàng)建表purchase_goods_info

刪除表 Purchase_goods_info

創(chuàng)建表 Purchase_goods_info

2.6、創(chuàng)建倉庫信息表(warehouse_info

在SQL編輯框中輸入如下語句,創(chuàng)建表warehouse_info

刪除表 warehouse_info

創(chuàng)建表 warehouse_info

2.7、創(chuàng)建商品信息表(goods_info)

在SQL編輯框中輸入如下語句,創(chuàng)建表goods_info

刪除表 goods_info

創(chuàng)建表 goods_info

2.8、創(chuàng)建出庫信息表(Outwarehouse_info)

在SQL編輯框中輸入如下語句,創(chuàng)建表outwarehouse_info

刪除表 outwarehouse_info

創(chuàng)建表 outwarehouse_info

2.9、創(chuàng)建銷售清單信息表(sell_list_info)

在SQL編輯框中輸入如下語句,創(chuàng)建表sell_list_info

刪除表 sell_list_info

創(chuàng)建表 sell_list_info

2.10、創(chuàng)建銷售信息表(sell_info)

在SQL編輯框中輸入如下語句,創(chuàng)建表sell_info

刪除表 sell_info

創(chuàng)建表 sell_info

2.11、創(chuàng)建客戶管理表(customer_info)

在SQL編輯框中輸入如下語句,創(chuàng)建表customer_info

刪除表 customer_info

創(chuàng)建表 customer_info

3、手工插入數(shù)據(jù)

示例(模擬初始化部分表):

3.1 對user_info表進(jìn)行插入數(shù)據(jù)操作,在SQL編輯框中輸入如下語句:

3.2 對supplier_info表進(jìn)行插入數(shù)據(jù)操作,在SQL編輯框中輸入如下語句:

3.3 對warehouse _info表進(jìn)行插入數(shù)據(jù)操作,在SQL編輯框中輸入如下語句:

3.4 對sell_list_info表進(jìn)行插入數(shù)據(jù)操作,在SQL編輯框中輸入如下語句:

4、添加約束

現(xiàn)實場景中,銷售清單信息表(sell_list_info)中的商品售價不可能為負(fù)數(shù),因此針對表中金額的屬性,增加大于0的約束條件。

為銷售清單信息表(sell_list_info)的 sell_goods_amount字段增加大于0的約束條件:

嘗試手工插入一條金額小于0的記錄:

5創(chuàng)建視圖

視圖是一個虛擬表,是sql的查詢結(jié)果,其內(nèi)容由查詢定義。對于來自多張關(guān)聯(lián)表的復(fù)雜查詢,就不得不使用十分復(fù)雜的SQL語句進(jìn)行查詢,造成極差的體驗感。使用視圖之后,可以極大的簡化操作,使用視圖不需要關(guān)心相應(yīng)表的結(jié)構(gòu)、關(guān)聯(lián)條件等。

場景:創(chuàng)建一視圖,統(tǒng)計2023-01-16這一天所有銷售商品的銷售總數(shù)量和總銷售額,以及其對應(yīng)的倉庫編號和供應(yīng)商編號(倉庫和供應(yīng)商可進(jìn)一步關(guān)聯(lián)),并按銷售總數(shù)量降序排列。

使用視圖進(jìn)行查詢

6、創(chuàng)建存儲過程

存儲過程是能夠完成特定功能的SQL語句集。用戶可以進(jìn)行反復(fù)調(diào)用,從而減少SQL語句的重復(fù)編寫數(shù)量,提高工作效率。

場景:定義一個定時任務(wù),將每天各個收銀臺生成的銷售數(shù)據(jù)定時同步到生產(chǎn)表。假定超市有5個收銀臺, 對應(yīng)5個結(jié)構(gòu)完全相同的基礎(chǔ)表和一個生產(chǎn)表(這樣設(shè)計的目的之一是防止瓶頸或鎖表),然后在每天銷售工作結(jié)束后,啟動定時任務(wù)。

基礎(chǔ)表結(jié)構(gòu)(1-5):

生產(chǎn)表結(jié)構(gòu)(實際場景可設(shè)計成分區(qū)表,按天存儲)

--定義存儲過程(在SQL編輯框中輸入如下語句,最后輸入“/” 執(zhí)行)

示例截圖:

--調(diào)用存儲過程

7、新建用戶并授權(quán)訪問

假設(shè)新增了一個管理用戶,該用戶想訪問零售數(shù)據(jù)庫(retail_db),則該員工需要向sys申請?zhí)砑酉嚓P(guān)權(quán)限,具體操作如下:

7.1? 連接數(shù)據(jù)庫后,進(jìn)入SQL命令界面。創(chuàng)建用戶user002,密碼為openGauss@123。

7.2??給用戶user002授予retail_db數(shù)據(jù)庫下的訂貨單信息表(order_info)的查詢和插入權(quán)限:

7.3 退出數(shù)據(jù)庫:

7.4 新用戶連接數(shù)據(jù)庫

用gsql登錄數(shù)據(jù)庫,使用新用戶連接。使用操作系統(tǒng)omm用戶在新的窗口登陸并執(zhí)行以下命令,并輸入對應(yīng)的密碼:

7.5 訪問order_info數(shù)據(jù)庫的表order_info:

、總結(jié)

超市進(jìn)銷存管理系統(tǒng)是一個龐大復(fù)雜的系統(tǒng),進(jìn)銷存軟件涉及的模塊也是非常之多,主要包括前端的交互(銷售過程管理)、后端的管理(客戶管理、用戶管理、貨品采購管理、貨品入庫/出庫管理、財務(wù)總賬管理、維護(hù)管理、優(yōu)化改進(jìn)管理等等),甚至可以上升到后臺整個企業(yè)的管理(ERP)。 由此可以延伸到整個物理架構(gòu)設(shè)計、邏輯架構(gòu)設(shè)計、數(shù)據(jù)管理(治理)方案、數(shù)據(jù)存儲策略等。??

本文設(shè)計僅從最基本的核心表設(shè)計出發(fā),使用openGauss數(shù)據(jù)庫,完成最基本的超市進(jìn)銷存管理任務(wù),其他更多細(xì)節(jié),歡迎交流。


超市進(jìn)銷存之openGauss數(shù)據(jù)庫的應(yīng)用與實踐的評論 (共 條)

分享到微博請遵守國家法律
安平县| 车致| 雷山县| 贺兰县| 大渡口区| 遵义县| 赤水市| 遵义市| 盘山县| 汉阴县| 天全县| 竹溪县| 双桥区| 榕江县| 石屏县| 金乡县| 闸北区| 涿州市| 湄潭县| 朝阳县| 绥江县| 溧水县| 手机| 耒阳市| 石楼县| 军事| 乐清市| 临高县| 蛟河市| 寿光市| 福泉市| 武安市| 民丰县| 和静县| 德化县| 云林县| 盐源县| 齐齐哈尔市| 淳化县| 固原市| 闵行区|