當前位置:首頁 » 操作系統 » 超市資料庫系統設計

超市資料庫系統設計

發布時間: 2023-08-23 23:50:07

資料庫sql 的課程設計怎麼做,要借哪些書看,求大神指教

  • IT行業,資料庫確實是一門相當重要的課程。但是在大學裡面,對待資料庫原理及應用這么課程以及其課程設計的重視程度就相差很大了,各個學校要求也不一樣。如果是要學好,那確實要下工夫;如果只是完成課程設計,交差了事,其實相當簡單。

  • 既然是課程設計,也算是個小小的項目,既然是項目,也就離不開需求分析、資料庫設計、部署實現等環節。當然,這個小小的項目只需要前面的部分:需求和資料庫設計,資料庫設計是重點。

  • 需求分析就不用多說,和所有其他項目一樣,無非就是用戶需求,功能需求,系統需求等,找任何一本關於需求分析的書都是可以,除了那些個空話之外,更多的是要根據設計需要進行分析。

  • 資料庫設計就比較復雜一點,首先得把資料庫原理搞清楚,比如:符合什麼樣的範式,怎麼畫ER圖,如何理解用例圖。在設計資料庫之前,有一系列的分析要做:面向對象分析,用例分析,類和對象分析等等。分析到位是資料庫設計成功的重要保障。分析完成之後才是設計,比如:邏輯結構設計,關系模式設計,存取方法設計,存儲結構設計,數據完整性設計,參考完整性設計,Check約束,Default約束,觸發器設計,視圖設計,存儲過程設計,許可權設計等。這些都完成了,最後一步才是寫SQL代碼實現這些設計,創建資料庫及相關的數據表,關聯,視圖,觸發器,存儲過程等一些列的看得見的資料庫參數。

  • 上面說的比較理論,也比較籠統。我想我可以用一個簡單例子告訴你我要表達的意思。例子很簡單,其中很多地方都不是太好,不過或許可以給你一個直觀的思路。

資料庫應用課程設計報告書


網上超市管理系統

成 績:

學 號:

姓 名:

指導教師:


20 年 月 日


目錄

任務書......................................... (3)

1. 需求調查、分析................................. (4)

1.1.企業介紹.................................... (4)

1.2.需求調查及分析.............................. (5)

2. 面向對象分析和設計............................. (7)

2.1. 用例分析 (7)

2.2.類和對象設計 (12)

3. 邏輯結構設計.................................. (15)

3.1. 類和對象向關系模式轉換............................................ (15)

3.2. 關系模式優化 (16)

4. 資料庫物理結構設計............................ (16)

4.1. 存取方法設計 (16)

4.2. 存儲結構設計 (17)

5. 資料庫完整性設計.............................. (17)

5.1. 主鍵及唯一性索引 (17)

5.2. 參照完整性設計 (18)

5.3. Check約束 (18)

5.4. Default約束 (18)

5.5. 觸發器設計 (19)

6. 資料庫視圖設計................................ (19)

7. 資料庫存儲過程設計............................ (20)

8. 許可權設計...................................... (20)

9. 總結.......................................... (21)

Ⅱ 商場數據倉庫ETL系統架構設計

商場數據倉庫ETL系統架構設計

基於CWM的商場數據倉庫ETL系統架構的編碼實現擬採用java語言。之所以選擇Java語言,不僅因為它是一種簡單的、面向對象的、分布式的語言,並且具有平台無關性和安全性等優點,下面一起就和我來了解了解!

一、ETL 概述

ETL是數據抽取(Extract)、轉換(Transform)、載入(Load)的簡寫,它是指:將各種異構數據源中的數據抽取出來,並將不同數據源的數據進行轉換和整合,得出一致性的數據,然後載入到數據倉庫中。ETL工具,是數據倉庫系統的重要組成部分;是影響數據倉庫系統成敗的關鍵。

獲取ETL工具有兩個途徑:利用現有商品化ETL工具,雖然能縮短系統的開發周期,但存在投資成本大,軟體的針對性、通用性、兼容性差的問題。自行設計開發一個標准通用的ETL工具,提高ETL的實用價值,降低項目實施的成本和風險,具有重要的意義。

由於數據倉庫和數據源系統在數據格式、數據模型等方面存在很大差異,客觀上形成數據倉庫ETL實現過程很大的難度。在ETL的工作過程中,每步都和數據倉庫元數據密切相關。

按照傳統的定義,元數據(Metadata)是關於數據的數據。元數據支撐了數據倉庫開發應用的全過程,成為數據從數據源到數據倉庫的橋梁。

數據抽取階段,沒有相應的映射規則,就無法知道需要抽取什麼樣的數據;在將源數據存儲格式轉換為目標數據存儲格式時,需要知道源存儲格式和目標存儲格式的信息,以及相應的存儲格式之間的轉換規則;在數據載入階段,需要知道目標數據倉庫的數據結構和相關信息。所有這些信息,都需要元數據提供。

由此可見,ETL過程自始至終都需要元數據的支持和控制。正因為如此,要解決ETL開發中的問題,應當從相關的元數據著手。

二、關於CWM 及其提供的工作機制

CWM(Common Warehouse Metamodel 公共倉庫元模型)是 國際對象管理集團OMG推出的數據倉庫元數據管理規范。CWM的主要目的是在分布異構環境下,使數據倉庫工具、工作平台和元數據存儲庫之間易於進行數據倉庫元數據的交換。

CWM基於以下三個工業標准制定:

1.UML(Unified Modeling Language統一建模語言)

作為目前最為風行的建模語言,UML用於描述一般數據倉庫架構的元模型。

2.MOF (Meta Object Facility 元對象工具)

MOF是OMG元模型和元數據的存儲標准,用以定義存儲庫的結構、對外介面和交換格式的映射規則。

3.XMI (XML Metadata Interchange,XML元數據交換)

XMI是基於XML的元數據交換。定義如何用XML表示基於MOF的元數據,使元數據以XML文件流的方式進行交換。

基於上列三個標准,CWM為數據倉庫工具之間共享元數據,制定了一整套關於模式、語法和語義的規范。主要包括:

(1)CWM元模型(Metamodel):描述數據倉庫系統共享的元模型。它由一系列子元模型構成。

(2)CWM XML:CWM元模型的XML表示。

(3)CWM DTD:DW/BI共享元數據的交換格式。

(4)CWM IDL:DW/BI共享元數據的應用程序訪問介面。

基於CWM的數據倉庫元數據轉換和管理模型可用圖1表示。從圖1不難理解,元資料庫也是基於CWM標准,通過CWM元模型映射構建。CWM 以UML 的元模型為基礎,針對數據倉庫領域的應用,使用特定的元類、元關系,將來自各異構數據源和數據倉庫各個組件中的元數據,通過CWM XML、CWM DTD、CWM IDL 三個規范,轉化為XML 文檔。為數據倉庫元數據管理提供了滿足元數據交換所需的語法和語義規范的、方便元數據交換和元數據存儲的XML文件。

三、基於CWM的數據倉庫ETL系統架構

1.基於CWM的ETL系統架構

在研究ETL和CWM的基礎上,設計出基於CWM的數據倉庫ETL過程的系統架構。

2.系統架構的結構分析

(1)ETL子系統結構

ETL子系統結構由五個模塊組成。即:系統調度模塊、元數據管理模塊、數據抽取模塊、數據轉換模塊和數據裝載模塊。其中,數據抽取模塊負責將超市業務系統的原始數據進行抽取並保存到臨時資料庫中;數據轉換模塊負責對抽取出來的數據進行清洗、轉換和計算匯總;數據裝載模塊負責將經過清洗、轉換的、符合目標數據模型的數據裝載到目標資料庫中。以上三個模塊的活動被系統調度模塊統一調度,結合元數據管理模塊對整個ETL過程進行統一控制,用以實現ETL各步驟的定時觸發、正常執行和異常控制等過程。

(2)CWM對系統元數據的規范

整個架構以CWM元模型庫為基礎,通過CWM工作機制,把各個層次的元數據規范化後,存儲在元資料庫中,再由元數據管理模塊支撐並控制整個架構的運行。

(3)建立集中式元資料庫

為了便於對數據倉庫的元數據進行有效管理,按照通用的元數據管理標准建立一個集中式的元資料庫。在所建元資料庫中,通過建立“信息模型”的方法對元數據進行分類,並建立分類存儲的、通用的信息目錄。把技術元數據和商業元數據存儲在不同的信息目錄中。便於適應不同的服務目標、不同的元數據結構的存儲和管理。元數據信息目錄面向數據倉庫的應用程序。應用程序可以通過訪問該目錄,使用、存儲、管理元數據;用戶也可以通過該目錄,對元數據進行瀏覽、查詢和使用。整個架構,都集中在元數據的統一控制之下。

四、CWM對ETL提供的技術支持分析

1.CWM元模型結構

由於系統架構建立在CWM元模型基礎之上,CWM通過對元數據的統一規范和管理,實現了對整個架構的.支持。

為了便於分析CWM對ETL子系統中各個模塊的支持,圖3給出了CWM元模型結構示意圖。在CWM的總體結構中,可分為5個層次,由若干互不相同但又緊密相關的子元模型包構成。圖中灰色部分是CWM對ETL子系統有著直接聯系和支撐CWM元模型包。

2.對數據抽取模塊的支持

在CWM的資源層中,五個元模型分別對五種不同的數據源進行了建模。五種數據源格式分別是:面向對象的數據格式、關系型數據格式、記錄型數據格式、多維數據格式和XML數據格式。這五個元模型所描述的數據格式相當齊全,利用它們,可以把商場常用的、歷史遺留的數據源都描述出來。從而得到各種不同格式的數據源的元數據,為ETL對數據源的抽取過程提供了支持。

3.對數據轉換模塊的支持

ETL的核心還是在於“T”這個過程,也就是轉換過程。而抽取和裝載一般可以作為轉換的輸入和輸出,因此,我們重點研究了CWM對數據轉換過程的支持。

在CWM分析層中,轉換包對ETL過程進行了詳細的描述。轉換包的主要作用是:將一次轉換活動的數據源和目標准數據關聯起來,同時支持“黑盒”和“白盒”轉換,可將一組轉換組成一個邏輯單元。一次轉換可以將一組源對象轉換成一組目標對象。數據對象集合可以是任何模型元素,但通常是表、欄位或者內存對象。

CWM管理層中的數據倉庫操作包,記錄了數據倉庫的三個重要事件。其中的轉換執行事件定義了記錄轉換活動結果的類。在轉換完成之後,轉換活動的結果可被活動執行類和步驟執行類記錄。這個記錄行為是對發生在數據倉庫操作包中的一個內部事件、或者其他類似方式的回應,為每個轉換執行記錄開始、結束時間,各種進展和結果的指標。便於需要時查詢。

4.對數據調度模塊的支持

系統調度模塊負責對ETL過程進行統一調度和異常控制,保證ETL正常運行。在CWM的管理層中,數據倉庫處理包描述了數據倉庫處理(實際上就是轉換過程)的調度方面的信息。在數據倉庫處理包中,定義了能夠觸發轉換活動執行的一系列事件。這些事件控制了數據轉換過程的調度。

5.對數據裝載模塊的支持

數據裝載模塊負責將經過清洗、轉換的、符合目標數據模型的數據裝載到目標資料庫中。在CWM的支持下,完成了對源數據的抽取和轉換,在系統元數據的控制下,把正確的數據載入到數據倉庫中,就是一件極其簡單的事了。

總之,CWM為ETL 提供的技術支持,為ETL各個功能模塊的實現奠定了基礎。為系統架構的實施提供了條件。同時,也保證了ETL子系統的通用性和可擴展性。

;

Ⅲ 超市資料庫維護工作有哪些

一、備份系統數據
SYBASE 系統的備份與恢復機制保證了在系統失敗時重新獲取數據的可能性。SQL Server 提供了兩種不同類型的恢
復機制:一類是系統自動完成的恢復,這種措施在每次系統啟動時都自動進行,保證了在系統癱瘓前完成的事務都
寫到資料庫設備上,而未完成的事務都被回退;另一類是人工完成的恢復,這是通過 DUMP 和 LOAD 命令來執行人
工備份和恢復工作。因此定期備份事務日誌和資料庫是一項十分重要的日常維護工作。

1、備份資料庫

每一個資料庫都應在創建之後卸出,從而提供一個裝入基點。在此之後按排定的時間周期表卸出。比如每周五卸出
資料庫。對一般資料庫系統卸出資料庫周期建議為每周一次。
除了按計劃周期卸出資料庫之外,還需在每次運行沒有日誌的操作後卸出資料庫。例如:
·每次強制地運行了 DUMP TRAN WITH NO_LOG (因為資料庫的磁碟空溢出);
·每次用 sp_dboption 允許 select into/bulk 做快速拷貝,或用 SELECT INTO 命令創建一個永久性的表,
或使用了 WRITETEXT 命令。
卸出資料庫的命令為:

DUMP DATABASE database_name
TO mp_device

database_name 是要卸出的資料庫名稱,mp_device 是卸出設備的名稱。用系統過程 sp_helpdevice 可以獲得
設備的信息。
下面一條命令用來卸出資料庫 my_db :

DUMP DATABASE my_db
TO db_bk_dev

2、備份事務日誌

如果事務日誌與資料庫放在同一個設備上,則事務日誌不應與資料庫分開備份。master 資料庫和小於 4M 的用戶
資料庫就是這種情況。一般資料庫系統的資料庫和日誌分別放在不同的設備上,因此,可以用 DUMP TRAN 命令單
獨備份日誌。
備份事務日誌的周期直接影響數據的恢復程度,因此建議每天備份。
備份事務日誌的命令格式為:

DUMP TRANsaction database_name
[TO mp_device]
[WITH TRUNCATE_ONLY|WITH NO_LOG|WITH NO_TRUNCATE]

其中 database_name 是要備份事務的資料庫名稱,mp_device 是備份設備名稱,僅當包含了 WITH
TRUNCATE_ONLY 或 WITH NO_LOG 子句時,才可以備份到設備。
注意:如果總是用 DUMP DATEBASE (備份資料庫及其日誌),而不用 DUMP TRAN ,事務日誌將不會刷新,而變得
非常龐大。
對於 master 資料庫和小型資料庫每次運行 DUMP DATEBASE 之後應當運行 DUMP TRANsaction 命令刷新日誌 。
下面一條命令備份資料庫 db160 的事務日誌到備份設備上:

DUMP TRANsaction db160
TO db_log_bk_dev
WITH TRUNCATE_ONLY

3、備份資料庫及其日誌間的相互作用

在至少卸出一次資料庫前,卸出事務日誌是毫無意義的。下圖顯示了備份資料庫及其日誌間的關系

如果在星期二下午5:01出現非硬體故障,需要做的所有工作是裝入磁帶5(參見下一節:數據恢復),由於磁帶5
是下午5:00剛備份的,因此只有備份和裝入之間的一分鍾內的數據損失。
但是,如果在星期二下午4:49失效會怎麼樣呢?在這種情況下,要裝入磁帶1(在星期五下午5:00的卸出)。然
後,依次裝入磁帶2,3以及4。這樣,系統將恢復到星期二上午10:00點的狀態,星期二的大部分工作丟失了。此
例顯示了經常卸出事務的重要性。

二、萬一系統失敗時恢復資料庫系統

如果用戶資料庫存儲的設備失效,從而資料庫被破壞或不可存取,通過裝入最新的資料庫備份以及後來的事務日誌
備份可以恢復資料庫。假設當前的事務日誌存在於一個並沒有毀壞的設備上,帶著 WITH NO_TRUNCATE 選項的
DUMP TRANsaction 命令卸出它。
要恢復資料庫按如下步驟去做:
1、如果日誌存在於一個分離的設備上,用帶著 NO_TRUNCATE 選項的 DUMP TRANsaction 命令卸出被毀壞的或者不
可存取的用戶資料庫事務日誌。
2、用下面的查詢檢查設備分配已毀壞資料庫的設備使用情況。必須為同一目的賦同樣的空間塊。
下面的查詢顯示了分配給資料庫 mydb 設備使用和尺寸情況:

SELECT segmap,size FROMsysusages
WHERE dbid =
( SELECT dbid FROM sysdatabases WHERE name = 「mydb」)

3、檢查查詢的輸出。在 segmap 列的 『3』代表數據分配,『4』代表日誌分配。size 列代表 2K 數據塊的數
目。注意此信息的次序、使用和尺寸部分。例如,輸出為:

segmapSize
--------------------
310240//實際尺寸為:20M
35120//實際尺寸為:10M
45120//實際尺寸為:10M
31024//實際尺寸為:2M
42048//實際尺寸為:4M

4、用 DROP DATABASE 命令刪除毀壞設備上的資料庫。如果系統報錯,用DBCC DBREPAIR 命令的 DROPDB 選項。
5、刪除資料庫後,用 sp_dropdevice 刪除毀壞了的設備。
6、用 DISK INIT 初始化新的資料庫設備。
7、重建資料庫。用 CREATE DATABASE 命令從老的 sysusages 表拷貝所有的行,並包含第一邏輯設備。
對上例,命令為:

CREATE DATABASE mydb
ON datadev1=20,datadev2=10
LOG ON logdev1=10

8、用 ALTER DATABASE 命令重建其餘入口。在此例中,在datadev1上分配更多的空間,命令為:

ALTER DATABASE mydb ON datadev1=2

9、用 LOAD DATABASE 重新裝入資料庫,然後用 LOAD TRAN 裝入前面卸出的日誌。
LOAD DATABASE 命令語法是:

LOAD DATABASE database_name
FROM mp_device

LOAD TRANsaction 命令的語法是:

LOAD TRANsaction database_name
FROM mp_device

卸出資料庫和事務日誌的預設許可權歸資料庫所有者,且可以傳遞給其他用戶;裝載資料庫和事務的許可權也歸資料庫
所有者,但不能傳遞。

二、產生用戶信息表,並為信息表授權;
系統維護人員的另一個日常事務是為用戶創建新的信息表,並為之授權。創建表以及為表授權的方法已經在講過,
在此只將有關命令語法寫出來。
·創建表的命令為:

CREATE TABLE table_name
( column_1 datatype [NULL | NOT NULL | IDENTITY],
column_2 ……

go

ALTER TABLE table_name
ADD PRIMARY KEY (column_list)
go

·刪除表的命令格式為:

DROP TABLE table_name
go

·為表授權的命令格式為:

GRANT {ALL|permission_list}
ON table_name TO user_name
go

·收回許可權的命令格式為

REVOKE {ALL|permission_list}
ON table_name FROM user_name
go

三、監視系統運行狀況,及時處理系統錯誤;
系統管理員的另一項日常工作是監視系統運行情況。主要有以下幾個方面:
1、監視當前用戶以及進程的信息
使用系統過程:sp_who
說明:該命令顯示當前系統所有注冊用戶及進程信息,如下表是某系統的信息。

---------------------------------------------------------------

2SleepingNULL0MasterNETWORK HANDLE
3SleepingNULL0MasterDEADLOCK TUNE
4SleepingNULL0MasterMIRROR HANDLER

SLEEP
從左向右依次顯示:進程號、當前狀態、注冊用戶名、主機名、佔用塊數、資料庫名以及當前命令。
如果監視時發現進程總數接近最大連接數(用系統過程:sp_configure 「user conn」 查看)時,應下掉不活動
或無關進程,以保證系統正常運做;另外亦可監視非法用戶或用戶使用不屬於自己使用范圍的資料庫等情況。
2、監視目標佔用空間情況
使用系統過程:sp_spaceused
說明:該過程顯示行數、數據頁數以及當前資料庫中由某個目標或所有目標所佔用的空間。如下表是某資料庫日誌
表的信息:

NameRow_totalreserveddataIndex_sizeunused
------------------------------------------------------------
SyslogsNot avail32KB32KB0KBNot avail

日常要監視的主要目標有:用戶資料庫、資料庫日誌表(syslogs)以及計費原始數據表等。如果發現佔用空間過
大,對日誌表要進行轉儲;對其他目標則應擴充空間或清楚垃圾數據。
3、監視 SQL Server 統計數字
使用系統過程:sp_monitor
說明:sp_monitor 顯示SQL Server 的歷史統計數字,下表是某系統的統計數字:

Last_runCurrent_runSeconds
---------------------------------------------------------------
May 13 2000 1:27PMMay 13 2000 3:01PM5678
CPU_busyIO_busyIdle
---------------------------------------------------------------
16(6)-0%0(0)-0%5727(5672)-99%
Packets_receivedPackets_sentPacket_errors
---------------------------------------------------------------
21(17)100(97)0(0)
Total_readTotal_writeTotal_errorsConnections
--------------------------------------------------------
785(366)311(113)0(0)3(2)

上表依次給出該系統本次運行統計的上一次時間、本次時間、間隔秒數、CPU佔用、IO佔用、收發包情況、系統讀
入寫出情況等信息

四、保證系統數據安全,周期更改用戶口令;
為保證系統數據的安全,系統管理員必須依據系統的實際情況,執行一系列的安全保障措施。其中,周期性的更改
用戶口令是比較常用且十分有效的措施。
更改用戶口令是通過調用系統過程sp_password 來實現的。Sp_password 的語法為:
sp_password caller_password,new_password [,loginame]
其中caller_password 是登錄口令(老口令),new_password是新口令,loginame是登錄名稱。

Ⅳ Java超市商品計價系統需要掌握資料庫那些知識

建立資料庫表。
1、首先是建立資料庫表。2、實現主頁面。3、實現用戶注冊。4、實現用戶登錄。5、主菜單之關於。6、主菜單之商品類別管理。7、主菜單之商品管理。8、退出。
針對GUI界面寫的簡易計算器,實現加減乘除功能以及計算器標准型和科學型之間的轉換,有興趣可以看看Java混合計算器以及界面切換.這次寫的超市管理系統,實現的功能有賬戶的注冊、登錄,超市商品類別的添加、修改和刪除以及商品的添加、修改和刪除的功能。用戶注冊之後把注冊信息導入資料庫。用戶登錄時候查詢用戶表,方可登錄進去。商品類別和商品的增加也如注冊信息一樣,把信息導入商品類別表和商品表。

Ⅳ 小型超市信息管理系統的資料庫應該建哪些表

基本的要包括用戶表,庫存表(商品信息表),台帳表。完善一點可以再加上供貨商,參數等幾個表

Ⅵ 超市購物系統 設計sql資料庫,需要哪些欄位(對超市購物不了解)需要幾個表,簡單點的就好

商品表
庫存表

銷售匯總表 ( 日期、時間、收銀機、流水號、總金額)
銷售明細表 ( 收銀機、流水號、商品編號、商品數量)
付款方式表 ( 收銀機、流水號、付款方式[現金、卡...]、付款金額 )

Ⅶ 現要設計一個超市管理系統(java web)的資料庫,分別有哪些表

你說的太寬泛了吧。。表這東西能多能少,看怎麼設計了。比如,用戶表,員工表,商品價格表,類別表、安全級、存放信息啊、總之啊,超市那麼多東西,發揮想像力吧。。

熱點內容
matlab粒子群優化演算法 發布:2025-03-07 08:13:49 瀏覽:247
編譯原理翻譯 發布:2025-03-07 08:08:01 瀏覽:591
安卓光遇測試服為什麼伺服器錯誤 發布:2025-03-07 08:05:53 瀏覽:548
火狐緩存文件夾 發布:2025-03-07 08:05:51 瀏覽:110
代碼編程庫 發布:2025-03-07 08:05:09 瀏覽:180
js遠程腳本 發布:2025-03-07 07:54:31 瀏覽:3
linux修改用戶目錄 發布:2025-03-07 07:46:24 瀏覽:459
六個文件夾名稱 發布:2025-03-07 07:45:28 瀏覽:852
華威隨身網路的密碼是什麼 發布:2025-03-07 07:43:07 瀏覽:667
我的世界伺服器生存怎麼改創造 發布:2025-03-07 07:39:53 瀏覽:791