新聞中心
數(shù)據庫設計是數(shù)據庫系統(tǒng)開發(fā)的之一步,其主要目的是確定數(shù)據庫的數(shù)據結構,包括表的設計、屬性的設計和關系的設計。Oracle超市數(shù)據庫是一個典型的企業(yè)級應用系統(tǒng),其數(shù)據庫設計需具有良好的可擴展性和穩(wěn)定性,在業(yè)務逐漸壯大的情況下,數(shù)據庫能夠快速適應業(yè)務的發(fā)展需求。本文將介紹一種無法修改關系的oracle超市數(shù)據庫設計。

創(chuàng)新互聯(lián)建站總部坐落于成都市區(qū),致力網站建設服務有網站建設、做網站、網絡營銷策劃、網頁設計、網站維護、公眾號搭建、微信小程序、軟件開發(fā)等為企業(yè)提供一整套的信息化建設解決方案。創(chuàng)造真正意義上的網站建設,為互聯(lián)網品牌在互動行銷領域創(chuàng)造價值而不懈努力!
1. 數(shù)據庫概述
Oracle超市數(shù)據庫是一個在線銷售平臺,面向消費者提供正品保障的商品,為消費者提供優(yōu)質的商品,確保收貨省心、物美價廉。在該數(shù)據庫中,涉及到的數(shù)據包括商品數(shù)據、用戶數(shù)據、交易數(shù)據等。
2. 數(shù)據庫設計
在該數(shù)據庫設計中,將商品數(shù)據、用戶數(shù)據、交易數(shù)據分別設計為三個關系表,分別為商品表、用戶表和交易表。這三個表的主鍵分別為商品ID、用戶ID和交易ID。
2.1 商品表
商品表包含了所有的商品信息,主要屬性包括商品ID、商品名稱、商品類型、商品價格等。商品ID為該表的主鍵,一個商品只有一個主鍵,表示唯一的編號,商品ID的數(shù)據類型為int型。
2.2 用戶表
用戶表包含了所有的用戶信息,主要屬性包括用戶ID、用戶名、密碼、、郵箱等。用戶ID為該表的主鍵,一個用戶只能有一個主鍵,表示唯一的編號,用戶ID的數(shù)據類型為int型。
2.3 交易表
交易表包含了所有的交易信息,主要屬性包括交易ID、商品ID、用戶ID、交易時間、交易狀態(tài)等。交易ID為該表的主鍵,一個交易只能有一個主鍵,表示唯一的編號,交易ID的數(shù)據類型為int型。
2.4 視圖的設計
該數(shù)據庫中還設計一張視圖表,用于按需查詢數(shù)據。在該視圖表中,將商品表、用戶表、交易表按照商品ID、用戶ID和交易ID進行關聯(lián),便于用戶查看商品信息、用戶信息以及交易信息。
視圖表中的主要屬性包括商品ID、商品名稱、商品類型、商品價格、用戶名、、郵箱、交易時間、交易狀態(tài)等。在視圖表中查詢數(shù)據時,用戶只需提供商品ID、用戶ID或交易ID,便可以獲取相關信息。
3. 數(shù)據庫的性能優(yōu)化
在該數(shù)據庫設計中,考慮到數(shù)據查詢的效率問題,為了提升系統(tǒng)性能,對數(shù)據庫進行了合理的調優(yōu)。
3.1 數(shù)據庫緩存
為了避免每次查詢都需要從硬盤中讀取數(shù)據,可以使用內存中的數(shù)據緩存,將經常使用的數(shù)據放入緩存中,可以大幅度提升系統(tǒng)性能。
3.2 數(shù)據庫索引
為了提升數(shù)據查詢的效率,可以對數(shù)據庫中的關鍵屬性進行索引,加快數(shù)據查詢的速度。在本數(shù)據庫中,對商品ID、用戶ID和交易ID進行了索引,使得查詢速度更快。
3.3 數(shù)據庫分區(qū)
在數(shù)據庫系統(tǒng)中,如果數(shù)據量過大,會導致系統(tǒng)性能下降。因此,可以將數(shù)據進行分區(qū),在不同的分區(qū)上存儲不同的數(shù)據,以便提高系統(tǒng)性能。在本數(shù)據庫中,將商品表、用戶表和交易表進行了水平分區(qū),可以降低單個分區(qū)中數(shù)據的數(shù)量,提高數(shù)據查詢的效率。
4. 無法修改關系的設計
在經過上述性能優(yōu)化之后,該數(shù)據庫的性能明顯提高。但是,在該數(shù)據庫設計中,存在一個無法修改關系的設計問題。在商品表、用戶表和交易表中,主鍵分別是商品ID、用戶ID和交易ID。這些主鍵都表示唯一的編號,對這些編號進行修改,可能會破壞數(shù)據的一致性。
例如,在商品表中,一個商品只有唯一的商品ID,如果將該商品的ID修改了,同時在用戶表和交易表中存在該商品的記錄,那么修改后的商品ID可能會和用戶ID或交易ID產生沖突,導致數(shù)據庫的數(shù)據出現(xiàn)不一致的情況。
因此,在該數(shù)據庫設計中,需要保證商品ID、用戶ID和交易ID的唯一性,這樣可以避免在修改主鍵時可能產生的沖突。在實際應用中,如果需要修改這些主鍵屬性,可以考慮重新生成一個新的主鍵值,替換原有的值。
5.
本文介紹了一種無法修改關系的Oracle超市數(shù)據庫設計,該設計從商品表、用戶表和交易表出發(fā),將其設計為三個獨立的關系表,同時利用視圖表實現(xiàn)了數(shù)據查詢的需求。在數(shù)據庫性能優(yōu)化方面,采用了緩存、索引和分區(qū)等技術,提高了系統(tǒng)性能。但是,由于主鍵屬性的唯一性限制,導致在修改主鍵時可能會破壞數(shù)據的一致性,因此需要在實際應用中進行考慮。
成都網站建設公司-創(chuàng)新互聯(lián)為您提供網站建設、網站制作、網頁設計及定制高端網站建設服務!
Oracle數(shù)據庫安全性設計?大家給點建議
Oracle數(shù)據庫安全性設計建議一、 什么是安全的系統(tǒng) 安全性建設是一個長期并且卓絕的工作。作為一個符合標準的企業(yè)級系統(tǒng),我們認為稅務系統(tǒng)應該具備以下的安全性特點: 高可用性 對敏感數(shù)據的訪問控制能力。 監(jiān)測用戶行為的審計能力。 用戶帳號管理的有效性和擴充性 二、 從哪些方面作安全性檢查 一個企業(yè)級系統(tǒng)的安全性建設并不僅僅局限于軟件技術方面的設置和控制,甚至我們可以說,技術僅僅位于一個補充和提高現(xiàn)有安全性的地位上。通常,應該按照重要性依次進行如下的安全性檢查。 物理層面的控制 控制物理接觸是系統(tǒng)安全性建設的之一步,也是最會有成效,最應該優(yōu)先執(zhí)行的一步。 權威安全研究顯示,70% 的信息系統(tǒng)數(shù)據損失和攻擊都是由“內部人”(即具備某種系統(tǒng)及其數(shù)據訪問權限的用戶)造成和發(fā)起的。粗孝敗 比如,授權人員才可以進入機房,管理人員的密碼不要記錄在顯眼的地方,離開個人終端鎖定屏幕,等等,這些建議看上去似乎比較瑣碎。但是如果缺少了這些意識,即使我們運用了再好的安全性技術,再復雜的數(shù)據分離技術,當一個人可以接近需要保護的服務器,當一個人可以通過竊取的密碼接近需要保護的數(shù)據,那么一切的安全性建設都將是一個擺設。 千里之堤,毀于蟻穴。一個牢固的堤壩不會因為外界洪水的沖擊而倒塌,卻會崩壞于隱藏在自身內部的蛀蟲。 所以,更佳的方法是不要讓螞蟻靠近堤壩。 安全性流程慎亮建設 實施安全性建設之后,必須要有一個詳細周密而且行之有效的流程控制(Process Control)。其中行之有效是我們應該注意的。 有時候會聽到抱怨,在增強了安全性建設的系統(tǒng)中,維護人員由于分工過細,導致整個系統(tǒng)的應變能力下降,維護成本提高,管理效率降低。以前一個人可以在10分鐘內作好的修改,現(xiàn)在卻要途經3,4個人之手,耗時1-2天還不一定能夠做完。 過猶不及,建立一個符合企業(yè)自身需求的安全性流程是我們應該優(yōu)先考慮的。 普遍性的安全性措施 不僅僅是Oracle數(shù)據庫系統(tǒng),作為一個具有領先性的IT系統(tǒng),都應該包括以下的安全性措施。 1. 只安裝需要的軟件 每個軟件都有缺陷,對于Oracle數(shù)據庫軟件來說,自定義安裝,只選取需要的組件,少作少錯,這一點在安全性方面顯得尤為重要,一個具有潛在安全性漏洞的組件,如果它沒有被安裝。那它就不會影響整個系統(tǒng)。 2. 鎖定或者失效默認用戶 對于Oracle數(shù)據庫系統(tǒng)來說,安裝的時候會有一系列的默認用戶生成,應該在數(shù)據庫安裝完畢之后,經過功能篩選,鎖定或者失效這些用戶。 3. 修改可用用戶的默認密碼 不能鎖定或者失效的用戶,必須修改默認密碼。比如具有SYSDBA權限的SYS用戶和具有DBA權限的SYSTEM用戶,都應該修改默認密碼。至于密碼長度和復雜性的有效控制在后面將會談到。 4. 限制操作系統(tǒng)存取權限 Oracle數(shù)據庫系統(tǒng)是依存在操作系統(tǒng)之上的,如果操作系統(tǒng)巖顫被人侵入,那么通過修改配置文件等一系列方法,Oracle數(shù)據庫的安全性也將蕩然無存。 5. 定期更新廠家推出的安全性補丁 隨著時間的推移,廠家通常會推出一系列的安全性補丁來彌補現(xiàn)有系統(tǒng)的安全隱患。 對于Oracle數(shù)據庫而言,應該定期查看以下網址來獲取Oracle公司最新的安全性警告和解決方案。
Oracle數(shù)據庫本身的安全性建設
從總體上而言,Oracle數(shù)據庫是業(yè)界安全性方面最完備的數(shù)據庫產品。在數(shù)據庫安全性的國際標準中,Oracle通過了14項標準的測試,是所有數(shù)據庫產品中通過安全性標準最多、最全面的產品。Oracle在C2級的操作系統(tǒng)上(如商用UNIX,VMS操作系統(tǒng)),不僅滿足NCSC C2級安全標準,而且已經正式通過了NCSC C2標準的測試。在B1級的操作系統(tǒng)上不僅滿足NCSC B1級安全標準,而且已經通過了NCSC B1級標準的測試。
Oracle提供的主要安全性措施如下:
?8?9 身份認證功能(Authentication):識別訪問個體的身份
?8?9 數(shù)據訪問的機密性(Confidentialty):保證敏感數(shù)據訪問的機密性。
?8?9 數(shù)據完整性(Integrity):保證數(shù)據不被篡改。
?8?9 授權能力(Authorization):保證被授權用戶對數(shù)據的查詢和修改能力。
?8?9 訪問控制(Access Control):確定對指定數(shù)據的訪問能力。
?8?9 審計能判友力(Auditing):提供監(jiān)測用戶行為的能力。
?8?9 私有性(Privacy):提供對敏感數(shù)據訪問的私密性。
?8?9 高可用性(Availability):保證數(shù)據和系統(tǒng)提供不間斷服務的能力。
?8?9 代理管理能力(Delegated Administration):提供對用戶帳號的集中管理功能。
下面將就應用系統(tǒng)本身對于Oracle提供的安全性措施作更深入的探討。
$PageTitle= Oracle的安全性領域}
三、 Oracle的安全性領域
?8?5 Profile控制
Oracle利用profile機制來管理會話資源占用,同時也管理用戶密碼的安全策略。
通過profile我們可以實現(xiàn):
某個特定用戶最多只能占用系統(tǒng)百分之幾的CPU時間?
某個特定用戶連接到數(shù)據庫之后能存活多長時間?
某個特定用戶連接到數(shù)據庫之后多長時間處于非活躍狀態(tài)就將被系統(tǒng)中斷連接?
用戶登錄密碼輸入錯誤多少次之后就將自動鎖定用戶?
用戶密碼的長度和包含的字符必須符合什么樣的規(guī)則?
用戶密碼在多少天后將自動失效并要求設定新密碼?
?8?罩沖衡5 用戶權限控制 (Privilage)
Oracle通過角色(Role),權限(Privilage)等的一系列授予(Grant)和回收(Revoke)操作可以有效的進行用戶的權限控制。
通過權限控制我們可以實現(xiàn):
某個特定用戶只能讀取而不能修改另一個用戶的表數(shù)據。
某個特定用戶只能運行Oracle數(shù)據庫系統(tǒng)的幾個存儲過程或者函數(shù)。
某個特定用戶自己能夠擁有修改某些數(shù)據的權力,但是卻無法給其它不擁有這個權限的用戶授予修改該數(shù)據的權力。
某個特定用戶可以讀取數(shù)據但物做是無法創(chuàng)建新的表空間。
?8?5 虛擬專用數(shù)據庫(VPD)
虛擬專用數(shù)據庫 (VPD) 也稱為細粒度訪問控制,它提供強大的行級安全功能。它是在 Oracle8i 中推出的,已經受到廣泛的歡迎。
VPD 的工作方法是,通過透明地更改對數(shù)據的請求,基于一系列定義的標準向用戶提供表的局部視圖。在運行時,所有查詢都附加了謂詞,以便篩選出準許用戶看到的行。
也就是通過VPD的設置,我們可以做到行級安全性控制,特定的用戶即使對一張表有讀取權限,那么也只能看到符合自身權限的記錄。
注意,在Oracle10g版本中,VPD得到增強,已經可以實現(xiàn)字段級的安全性控制了。
實例及搭建步驟參看:利用VPD細粒度訪問策略實現(xiàn)行級安全性 Step By Step
?8?5 Orace Label Security
基于對由客戶提交的行級安全性的嚴格要求,Oracle Label Security(Oracle 數(shù)據庫企業(yè)版的選件之一)利用多級安全性概念解決了世界上和商業(yè)用戶在實際中遇到的數(shù)據安全和隱私問題。
OLS 通過利用數(shù)據敏感度標簽(例如“敏感”和“公司機密”)與用戶標簽授權,提供了完善的行級安全性控制。
OLS 使用政策概念來存儲標簽定義和授權。該政策可直接在數(shù)據庫中進行管理,或在 Oracle 身份管理中進行集中管理。
?8?5 Oracle Database Valut
通常數(shù)據庫管理員如果具有了DBA權限,那么就很難防止這樣的管理員查看應用程序數(shù)據。而Oracle Database Valut則解決了必須保護涉及合作伙伴、員工和顧客的敏感業(yè)務信息或隱私數(shù)據的客戶最為擔心的問題。
Oracle Database Vault 可防止高權限的應用程序 DBA 訪問其他的應用程序、執(zhí)行其權限之外的任務。Oracle Database Vault 可在不影響應用程序功能的前提下快速而高效地保護現(xiàn)有程序。
Oracle Database Vault 可通過下列方法解決一些最為常見的安全問題和內部威脅:
1. 限制 DBA 和其他授權用戶訪問應用程序數(shù)據。
2. 防止DBA 操縱數(shù)據庫和訪問其他應用程序。Oracle Database Vault 提供了強大的職責劃分控制功能,可防止擅自更改數(shù)據庫。比如說如果一個用戶具有 CREATE USER 權限,但不具備正確的用戶管理權限,則 Oracle Database Vault 將阻止該 DBA 創(chuàng)建新用戶。
3. 更好的控制何人、何時、何地可以訪問應用程序。如日期時間、數(shù)據庫客戶端在網絡上的位置之類的因素。
Oracle Database Valut是新的Oracle Database 10g企業(yè)版的選件。目前已經有Linux X86以及Solaris SPARC 64bit的版本可以下載使用了。
?8?5 用戶訪問審計
審計是Oracle安全性的另一個重要領域,我們還必須小心地計劃審計方案。有幾種方式可在Oracle中進行審計:
1. SQL審計命令(標準審計)
通過AUDIT語句我們可以對成功或者不成功的特定對象的讀取,更新操作進行審計。
標準審計只會記錄較少的跟蹤信息,比如發(fā)出該語句的用戶、時間、終端標識號等等。
該審計對于系統(tǒng)性能的影響更多地取決于對象的繁忙程度。
2. 用對象觸發(fā)器進行審計(也就是DML審計)
此類審計通常由客戶自行開發(fā)放置于特定數(shù)據庫對象上的觸發(fā)器,由于是自行開發(fā),所以相對于標準審計則能夠更自由地記錄更多感興趣的跟蹤信息。比如更新操作將某個字段從什么原始值更新到了什么新值。
該審計對于系統(tǒng)性能的影響更多地取決于對象的繁忙程度和觸發(fā)器的編寫水平。
3. 用系統(tǒng)級觸發(fā)器進行審計(記錄用戶登錄和退出)
當用戶登錄數(shù)據庫或者離開數(shù)據庫時,都可以通過自定義的觸發(fā)器來記錄用戶名稱,操作時間,終端標識號等信息。
由于觸發(fā)器觸發(fā)幾率小,所以該審計對于系統(tǒng)性能影響并不大。
4. 用LogMiner進行審計(也就是DML和DDL)
Oracle數(shù)據庫將所有的更新操作都記錄在重作日志中,而Oracle提供了LogMiner工具用于挖掘重作日志中的所有操作,相比起上述的各種審計方法來說,該種審計可能是信息最為完善,對于應用系統(tǒng)性能影響最小的方法。
此處稍微延展開來說一下,LogMiner是雙刃劍,既然可以用來審計,也就能夠被惡意使用作為數(shù)據竊取的工具。所以在數(shù)據本身的加密方面,Oracle同樣提供了多種解決方案,比如DBMS_OBFUSCATION_TOOLKIT,DBMS_CRYPTO和最新的透明數(shù)據加密,甚至在數(shù)據備份方面 Oracle也推出了Secure Backup來應對磁帶數(shù)據的加密,但是要注意到數(shù)據加密不應用作訪問控制的替代項,存儲加密的數(shù)據并不會在存儲介質本身提供額外的保護層,只是有助于在發(fā)生介質遭竊時保護諸如信用卡號之類的敏感數(shù)據。本文不再作更多的介紹。
5. 細精度審計(FGA)
細粒度審計 (FGA),是在 Oracle 9i 中引入的,能夠記錄 SCN 號和行級的更改以重建舊的數(shù)據,但是它們只能用于 select 語句,而不能用于 DML,如 update、insert 和 delete 語句。因此,對于 Oracle 數(shù)據庫 10g 之前的版本,使用觸發(fā)器雖然對于以行級跟蹤用戶初始的更改是沒有吸引力的選擇,但它也是唯一可靠的方法。
而Oracle10g種FGA功能的增強使其不但能夠支持select操作,同時也支持DML操作。在 Oracle 10g 中,審計已經從一個單純的“操作記錄者”成長為一個“事實記錄機制”,它能以一個非常詳細的級別來捕獲用戶的行為,這可以消除您對手動的、基于觸發(fā)器的審計的需要。它還結合了標準審計和 FGA 的跟蹤,這使其更易于跟蹤數(shù)據庫訪問,而不用考慮它是如何生成的。
通過細粒度審計我們可以記錄:
在早上九點到下午六點之間或在星期六和星期日對某個表進行了訪問。
使用了公司網絡外部的某個 IP 地址。
選定或更新了特定列。
使用了該列的特定值。
oracle超市數(shù)據庫設計的介紹就聊到這里吧,感謝你花時間閱讀本站內容,更多關于oracle超市數(shù)據庫設計,無法修改關系的oracle超市數(shù)據庫設計,Oracle數(shù)據庫安全性設計?大家給點建議的信息別忘了在本站進行查找喔。
香港云服務器機房,創(chuàng)新互聯(lián)(www.cdcxhl.com)專業(yè)云服務器廠商,回大陸優(yōu)化帶寬,安全/穩(wěn)定/低延遲.創(chuàng)新互聯(lián)助力企業(yè)出海業(yè)務,提供一站式解決方案。香港服務器-免備案低延遲-雙向CN2+BGP極速互訪!
文章題目:無法修改關系的oracle超市數(shù)據庫設計(oracle超市數(shù)據庫設計)
網站鏈接:http://m.fisionsoft.com.cn/article/djppoci.html


咨詢
建站咨詢
