<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 297,  comments - 1618,  trackbacks - 0
    文:阿蜜果
    日期:2015-6-25
    請勿轉(zhuǎn)載

    6.1物理數(shù)據(jù)模型簡介

    6.1.1 PDM的概念

         PDM模型依賴于使用者想要使用的數(shù)據(jù)庫管理系統(tǒng)(DBMS)的類型,使用者可以在Power Designer中使用不同的DBMS類型。PDM模型的示意圖如下圖所示:


    PDM模型的示意圖

       在上圖中:

      (1)可操作的PDM:可以使用PDM模型設(shè)計(jì)一個可操作的數(shù)據(jù)庫,通常情況,在數(shù)據(jù)建模時,物理模型建模在CDM模型或LDM模型建模之后,它將細(xì)化一個實(shí)際的數(shù)據(jù)庫實(shí)現(xiàn)的細(xì)節(jié),以便適應(yīng)性能和物理限制。

      (2)商業(yè)智能PDM:可以使用PDM模型來設(shè)計(jì)數(shù)據(jù)環(huán)境的結(jié)構(gòu),包括:

    Ø 數(shù)據(jù)倉庫或數(shù)據(jù)集市數(shù)據(jù)庫:包括可操作的數(shù)據(jù)庫中填入的數(shù)據(jù),以及可能需要在聯(lián)機(jī)分析處理數(shù)據(jù)庫中使用的所有信息??梢允褂?/span>PDM模型來設(shè)計(jì)數(shù)據(jù)倉庫或數(shù)據(jù)集市數(shù)據(jù)庫,這些數(shù)據(jù)庫通常包括存儲了非常大型的數(shù)據(jù),可以為OLAP數(shù)據(jù)庫中多重結(jié)構(gòu)的預(yù)覽的數(shù)據(jù)庫表定義類型。

    Ø 多維的OLAP數(shù)據(jù)庫:這通常是封裝了數(shù)據(jù),首先被聚集在數(shù)據(jù)倉庫和數(shù)據(jù)集市(雖然有時是直接從操作數(shù)據(jù)庫傳輸),并促進(jìn)組織的信息查詢通過不同的工具。業(yè)務(wù)分析師使用OLAP數(shù)據(jù)庫發(fā)送查詢,并從數(shù)據(jù)庫中現(xiàn)有的不同維度的信息檢索業(yè)務(wù),使用者可以使用PDM多維圖表來設(shè)計(jì)OLAP數(shù)據(jù)庫中不同維度和不同web的內(nèi)容。

    Power Designer支持DBMS,超過50種,例如Oracle、MySQLMicrosoft SQL Server、DB2Informix等常見的DBMS,Power Designer支持的DBMS如下圖所示:



    Power Designer支持的DBMS列表

    6.1.2 PDM的作用

           PDM模型的主要作用:

       (1)可以完成多種常用數(shù)據(jù)庫的物理模型設(shè)計(jì);

       (2)可以根據(jù)當(dāng)前的PDM模型設(shè)計(jì)生成SQL腳本或數(shù)據(jù)庫;

       (3)可以逆向從SQL腳本或連接數(shù)據(jù)庫生成PDM模型;

       (4)可以轉(zhuǎn)換為XML模型、OOM模型、CDM模型或LDM模型;

       (5)可以簡便的從一個數(shù)據(jù)庫移植到另一個數(shù)據(jù)庫;

       (6)可以方便的從一種DBMS類型變更為另一種DBMS類型;

       (7)可以預(yù)估數(shù)據(jù)庫的規(guī)模;

       (8)可以定義測試數(shù)據(jù);

       (9)可以定制生成標(biāo)準(zhǔn)的模型報(bào)告。

    6.1.3 PDM的基本術(shù)語

    CDM模型的實(shí)體、屬性、主標(biāo)識符、候選標(biāo)識符、聯(lián)系和域等基本術(shù)語相對應(yīng),PDM模型中包括表、字段、主鍵、候選鍵、外鍵和域等基本術(shù)語。另外,PDM模型還具有與數(shù)據(jù)庫管理系統(tǒng)相關(guān)的索引、視圖、存儲過程、存儲函數(shù)、觸發(fā)器、參照和序列等。

    1、表

           表是存儲數(shù)據(jù)庫信息的基本單位,它以行和列的方式表示數(shù)據(jù),它主要包括如下對象:

         1)列:某個表的命名屬性,用于描述表的特征。

    2)索引:基于表的一種特殊的數(shù)據(jù)結(jié)構(gòu),它在邏輯上基于鍵的值排序,常用于提高查詢速度。

    3)鍵:可以是列或列的組合,用來唯一標(biāo)識表的唯一行。每個鍵將創(chuàng)建一個唯一索引或者一個目標(biāo)庫的唯一約束。

    4觸發(fā)器:表的一個SQL代碼段,存儲在數(shù)據(jù)庫中,當(dāng)嘗試對相關(guān)的表視圖做修改或查詢操作時觸發(fā)器被自動被調(diào)用。

    2、列

           列通常被稱為字段,它用于表示一行數(shù)據(jù)中特別的一個數(shù)據(jù)項(xiàng)。當(dāng)定義一列時,必須指定namecode屬性,而且需要選擇數(shù)據(jù)類型,可以從眾多數(shù)據(jù)類型中選擇,也可將某列綁定到域。

    3、主鍵、候選鍵和外鍵

           一個鍵可以是某一個列或列的組合,它唯一的標(biāo)識表中的一行。每個鍵會創(chuàng)建一個唯一索引,或者到指定數(shù)據(jù)庫的一個唯一的約束。

           PDM模型支持如下三種鍵:

       (1)主鍵:可以由某一個列或多個列組成主鍵,在表中主鍵能唯一標(biāo)識某行。需要注意的是,一個表只能有一個主鍵。

       (2)候選鍵:可以由某列或多個列組成候選鍵,在表中候選鍵能唯一標(biāo)識某行??梢园ǘ鄠€候選鍵,而且不能與主鍵列一致。

       (3)外鍵:可以由某列或多個列組成外鍵鍵,外鍵的值需要是另一個表的主鍵或候選鍵。

    4、索引

       基于表的一種特殊的數(shù)據(jù)結(jié)構(gòu),它在邏輯上基于鍵的值排序,常用于提高查詢速度。一般在一些訪問有規(guī)律,而且對時間要求高的列上創(chuàng)建索引,索引在包含唯一值的一到多個列上最為高效。

       索引分為如下三種類型:

       (1)唯一索引:不會有兩條索引具有相同鍵值。

       (2)非唯一索引:可能有多條索引具有相同鍵值,不對索引列的屬性值進(jìn)行唯一性約束。

       (3)復(fù)合索引:在多個列上創(chuàng)建的索引。

    5、默認(rèn)值

           默認(rèn)值指的是數(shù)據(jù)庫系統(tǒng)中某個列或某個域的默認(rèn)值。例如為會員表的“state”(狀態(tài))字段設(shè)定默認(rèn)值為0。

    6、域

           域幫助識別模型中信息的類型。它定義某個列或?qū)嶓w屬性的有效值。使用域有利于列或?qū)嶓w屬性的標(biāo)準(zhǔn)化,它提取不同表中某些相同列的共性。

       在PDM模型中,域定義時可以包括如下信息:

       (1)數(shù)據(jù)類型、數(shù)據(jù)長度和精度;

       (2)檢查參數(shù);

       (3)業(yè)務(wù)規(guī)則;

       (4)強(qiáng)制性約束。    

    7、視圖

           視圖是從查詢一個表或多個表數(shù)據(jù)的一種特定方式,它是一個表或多個表的列的集合。

    視圖又被稱為虛擬表,視圖并不在數(shù)據(jù)庫中以存儲的數(shù)據(jù)值集形式存在,數(shù)據(jù)庫中僅僅只有存儲視圖的定義,從數(shù)據(jù)庫系統(tǒng)內(nèi)部來看,視圖是由一張或多張表中的數(shù)據(jù)組成的,從數(shù)據(jù)庫系統(tǒng)外部來看,視圖就如同一張表一樣,對表能夠進(jìn)行的一般操作都可以應(yīng)用于視圖,例如查詢,插入,修改和刪除操作等。

       視圖的優(yōu)點(diǎn):

       (1)安全性:通過視圖用戶只能查看和修改其所能看到的數(shù)據(jù),其它數(shù)據(jù)庫或表既不可見也不可以訪問。如果某一用戶想要訪問視圖的結(jié)果集,必須為其授予訪問權(quán)限。視圖所引用表的訪問權(quán)限與視圖權(quán)限的設(shè)置互不影響。

       (2)簡化用戶對數(shù)據(jù)的操作:在定義視圖時,視圖本身就是一個復(fù)雜查詢的結(jié)果集,這樣在每一次執(zhí)行相同的查詢時,不必重新寫這些復(fù)雜的查詢語句,只要一條簡單的查詢視圖語句即可??梢娨晥D向用戶隱藏了表與表之間的復(fù)雜的連接操作。

    3)定制數(shù)據(jù)視圖能夠?qū)崿F(xiàn)讓不同的用戶以不同的方式看到不同或相同的數(shù)據(jù)集。因此,當(dāng)有許多不同水平的用戶共用同一數(shù)據(jù)庫時,這顯得極為重要。

    4)合并切分?jǐn)?shù)據(jù):在有些情況下,由于表中數(shù)據(jù)量太大,故在表的設(shè)計(jì)時常將表進(jìn)行水平切分或垂直切分,但表的結(jié)構(gòu)的變化卻對應(yīng)用程序產(chǎn)生不良的影響。如果使用視圖就可以重新保持原有的表結(jié)構(gòu)關(guān)系,從而使外模式保持不變,原有的應(yīng)用程序仍可以通過視圖來重載數(shù)據(jù)。

    8、存儲過程

           存儲過程是在大型數(shù)據(jù)庫管理系統(tǒng)中,一組為了完成特定功能的SQL語句集,經(jīng)編譯后存儲在數(shù)據(jù)庫管理系統(tǒng)中,用戶通過指定存儲過程的名字并給出輸入?yún)?shù)(如果該存儲過程帶有參數(shù))來執(zhí)行存儲過程。存儲過程是數(shù)據(jù)庫中的一個重要對象,一個設(shè)計(jì)良好的數(shù)據(jù)庫應(yīng)用程序可以用到存儲過程。

       存儲過程的優(yōu)點(diǎn):

          1)安全性:參數(shù)化的存儲過程可以防止SQL注入式攻擊,而且可以將Grant、Deny以及Revoke權(quán)限應(yīng)用于存儲過程。

       (2)重復(fù)使用:存儲過程可以重復(fù)使用,從而可以減少數(shù)據(jù)庫開發(fā)人員的工作量。

       (3)提高性能:存儲過程在創(chuàng)建的時候在進(jìn)行了編譯,將來使用的時候不再重新翻譯。一般的SQL語句每執(zhí)行一次就需要編譯一次,所以使用存儲過程提高了效率。

       (4)減少網(wǎng)絡(luò)流量:存儲過程位于服務(wù)器上,調(diào)用的時候只需要傳遞存儲過程的名稱以及參數(shù),因此降低了網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量。

       存儲過程的缺點(diǎn):

       (1)調(diào)試問題:調(diào)試比較麻煩,但是某些工具軟件可以彌補(bǔ)這個缺點(diǎn)。

       (2)移植問題:存儲過程代碼可能與相應(yīng)數(shù)據(jù)庫系統(tǒng)和版本相關(guān),如果存在換數(shù)據(jù)庫系統(tǒng)類型的可能性,可能造成移植工作量的大幅增加。

       (3)重新編譯問題:因?yàn)榇鎯^程代碼是運(yùn)行前編譯的,如果帶有引用關(guān)系的對象發(fā)生改變時,受影響的存儲過程、包將需要重新編譯(不過也可以設(shè)置成運(yùn)行時自動編譯)。

    9、存儲函數(shù)

           存儲函數(shù)與存儲函數(shù)類似,兩者的唯一區(qū)別是存儲函數(shù)總是向調(diào)用者返回?cái)?shù)據(jù),而存儲過程則不返回?cái)?shù)據(jù)。

    10、觸發(fā)器

           觸發(fā)器與存儲過程類似,觸發(fā)器是存儲在數(shù)據(jù)庫管理系統(tǒng)中為完成某個特定功能而編寫的程序塊。觸發(fā)器與存儲過程的區(qū)別在于,存儲過程需要顯式調(diào)用,而觸發(fā)器可以由特定事件自動觸發(fā),它是隱式調(diào)用。

           觸發(fā)器一般分為以下幾類:

           1DML觸發(fā)器:由DML語句觸發(fā),例如INSERTUPDATEDELETE語句。按照觸發(fā)時間,DML觸發(fā)器又被分為BEFORE觸發(fā)器和AFTER觸發(fā)器,分別表示在DML事件發(fā)生之前還是發(fā)生之后調(diào)用觸發(fā)器。又可分為語句觸發(fā)器和行級觸發(fā)器,前者針對某一條語句觸發(fā)一次,而后者針對語句所影響的每一行都觸發(fā)一次。例如某條DELETE語句刪除某個表的50行數(shù)據(jù),針對該DELETE事件的語句級觸發(fā)器將被觸發(fā)一次,而行級觸發(fā)器將被觸發(fā)50次。

           2DDL觸發(fā)器:由DDL語句觸發(fā),例如CREATE、ALTERDROP語句。按照觸發(fā)時間,DDL觸發(fā)器又被分為BEFORE觸發(fā)器和AFTER觸發(fā)器。

       (3)替代觸發(fā)器:用于執(zhí)行一個替代操作來代替觸發(fā)事件的操作。例如針對INSERT事件的INSTEAD OF觸發(fā)器,當(dāng)出現(xiàn)INSERT語句時,該語句不會被執(zhí)行,而是執(zhí)行INSTEAD OF觸發(fā)器中定義的語句。該類觸發(fā)器只能創(chuàng)建在視圖上,而且不能指定BEFOREAFTER處罰時間選項(xiàng)。

           4)系統(tǒng)事件觸發(fā)器:發(fā)生在數(shù)據(jù)庫啟動或關(guān)閉等系統(tǒng)事件時觸發(fā)器,例如數(shù)據(jù)庫服務(wù)器的啟動或關(guān)閉、用戶的登錄和退出,或者數(shù)據(jù)庫服務(wù)錯誤等。

    11、檢查參數(shù)

           檢查參數(shù)是對數(shù)據(jù)保證有效性的一系列條件的集合。

    有三種類型的檢查參數(shù):

       (1)標(biāo)準(zhǔn)檢查參數(shù):可用在列和實(shí)體屬性中,指定數(shù)據(jù)列的范圍,例如指定數(shù)據(jù)的最大值和最小值等。

       (2)附加檢查參數(shù):可用在列和實(shí)體屬性中,使用SQL表達(dá)式來限制,可使用具化的標(biāo)準(zhǔn)參數(shù)值,例如%MINMAX%%LISTVAL%%RULES%等變量。

           3)驗(yàn)證規(guī)則:可用在表、實(shí)體、列或?qū)嶓w屬性中,用于指定業(yè)務(wù)規(guī)則。

    12、業(yè)務(wù)規(guī)則

           業(yè)務(wù)規(guī)則是具體業(yè)務(wù)的規(guī)則,可以按照政府約定、客戶需求或內(nèi)部指導(dǎo)文件進(jìn)行指定。例如客戶等級分為6個等級。在設(shè)計(jì)的過程中,可以將這些約定細(xì)化,例如約定1表示普通客戶……6表示高級大客戶等。

           業(yè)務(wù)規(guī)則指引或文檔化模型的創(chuàng)建過程。例如“會員只能屬于一個區(qū)域”的規(guī)則能夠幫助設(shè)計(jì)人員創(chuàng)建會員和區(qū)域的關(guān)聯(lián)關(guān)系。

           業(yè)務(wù)規(guī)則不好被圖形化,Power Designer中的業(yè)務(wù)規(guī)則使用信息對圖形模型進(jìn)行補(bǔ)充。例如某些規(guī)則指定表格公式或有效性規(guī)則,這些技術(shù)表達(dá)式無法使用圖形表示出來。

    13、完整性約束

       數(shù)據(jù)庫完整性是指數(shù)據(jù)庫中數(shù)據(jù)的正確性、有效性和相容性。數(shù)據(jù)庫完整性由各種各樣的完整性約束來保證,因此可以說數(shù)據(jù)庫完整性設(shè)計(jì)就是數(shù)據(jù)庫完整性約束的設(shè)計(jì)。數(shù)據(jù)庫完整性約束可以通過DBMS應(yīng)用程序來實(shí)現(xiàn),基于DBMS的完整性約束作為模式的一部分存入數(shù)據(jù)庫中。

       完整性約束分為如下三類:

      (1)實(shí)體完整性:指表中行的完整性。主要用于保證操作的記錄非空、唯一且不重復(fù)。即實(shí)體完整性要求每個表有且僅有一個主鍵,每一個主鍵值必須唯一,而且不允許為NULL或重復(fù)。

      (2)參照完整性:若屬性組F是關(guān)系模式R1的主鍵,同時F也是關(guān)系模式R2的外鍵,則在R2的關(guān)系中,F的取值只允許兩種可能:空值或等于R1關(guān)系中某個主鍵值。

      (3)用戶自定義完整性:包括列的值域、列類型和列有效規(guī)則(如小數(shù)位數(shù))等約束,是由確定關(guān)系結(jié)構(gòu)時所定義的字段的屬性決定的。例如,百分制成績的取值范圍在0~100之間等。

    14、用戶

       為了保護(hù)數(shù)據(jù)庫中各類數(shù)據(jù)的安全,不同的數(shù)據(jù)庫管理系統(tǒng)提供了不同的安全管理措施。例如:用戶(Usser)、用戶組(Group)、角色(Role)、系統(tǒng)權(quán)限(System Privilege)和對象權(quán)限(Object Premission)等,以此保障數(shù)據(jù)庫管理系統(tǒng)的安全。

       用戶(User)是指能連接到數(shù)據(jù)庫的一個用戶。用戶可以歸屬于一個特定的用戶組(Group)或角色(Role),也可以歸屬于一個公共用戶組。

       用戶可以同時擁有系統(tǒng)權(quán)限(System Privilege)和對象權(quán)限(Object Premission),用戶的權(quán)限是這兩類權(quán)限的合集。系統(tǒng)權(quán)限指的是用戶針對某一類數(shù)據(jù)庫對象或數(shù)據(jù)庫管理的操作權(quán)利,例如創(chuàng)建表、創(chuàng)建數(shù)據(jù)庫、連接數(shù)據(jù)庫和刪除數(shù)據(jù)庫等。對象權(quán)限是指用戶對某個數(shù)據(jù)庫對象的操作權(quán)利,例如對“會員表”的查詢、插入、刪除和更新操作權(quán)限等。

    15、同義詞

      同義詞(Synonyms)又稱為數(shù)據(jù)庫對象的別名(Alias),同義詞與其源對象具有相同的對象屬性,一個數(shù)據(jù)庫對象可以有多個同義詞。
    posted on 2015-06-24 14:57 阿蜜果 閱讀(2787) 評論(0)  編輯  收藏 所屬分類: database 、架構(gòu)師之路
    <2015年6月>
    31123456
    78910111213
    14151617181920
    21222324252627
    2829301234
    567891011

          生活將我們磨圓,是為了讓我們滾得更遠(yuǎn)——“圓”來如此。
          我的作品:
          玩轉(zhuǎn)Axure RP  (2015年12月出版)
          

          Power Designer系統(tǒng)分析與建模實(shí)戰(zhàn)  (2015年7月出版)
          
         Struts2+Hibernate3+Spring2   (2010年5月出版)
         

    留言簿(263)

    隨筆分類

    隨筆檔案

    文章分類

    相冊

    關(guān)注blog

    積分與排名

    • 積分 - 2294068
    • 排名 - 3

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲熟妇av一区二区三区漫画| 日本不卡在线观看免费v| 亚洲自偷自偷图片| 久久成人18免费网站| 亚洲五月午夜免费在线视频| 色噜噜狠狠色综合免费视频| 亚洲AV无码专区日韩| 免费播放国产性色生活片| 亚洲国产精品人人做人人爱| 人妻仑乱A级毛片免费看| 久久夜色精品国产亚洲av| 久久国产精品免费| 亚洲爆乳精品无码一区二区三区 | 一区二区三区在线免费| 亚洲天堂在线视频| 国产精品免费AV片在线观看| 内射干少妇亚洲69XXX| 无码少妇一区二区浪潮免费| 久久久久亚洲AV无码去区首| 在线精品亚洲一区二区三区| XXX2高清在线观看免费视频| 亚洲av无码成人黄网站在线观看| 99热免费在线观看| 精品国产日韩久久亚洲| 国产片免费在线观看| 插鸡网站在线播放免费观看| 亚洲日本中文字幕| 成人免费无码大片a毛片软件| 理论亚洲区美一区二区三区 | 亚洲成A人片在线观看无码不卡 | 亚洲an天堂an在线观看| 99在线视频免费观看视频| 特级毛片全部免费播放| 亚洲av日韩av天堂影片精品| 无码永久免费AV网站| WWW免费视频在线观看播放| 久久精品国产亚洲AV蜜臀色欲| 亚洲国产精品人人做人人爱| 国产精成人品日日拍夜夜免费| 亚洲精华国产精华精华液好用| 亚洲午夜福利在线观看|