資源描述:
《powerdesigner設(shè)計技巧》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、在PowerDesigner中設(shè)計物理模型2——約束在PowerDesigner中設(shè)計概念模型在概念模型中主要有以下幾個操作和設(shè)置的對象:實體(Entity)、實體屬性(Attribute)、實體標識(Identifiers)、關(guān)系(Relationship)、繼承(Inheritance)、關(guān)聯(lián)(Association)、關(guān)聯(lián)連接(AssociationLink)。實體實體就是我們抽象出的對象,比如:一個選課系統(tǒng)中,學生、教師、班級、課程等等都是實體。實體屬性就是一個實體中所包含的簡單屬性,比如學生實體,具有學號、姓名、生日、性別等屬性。另外實體還有個標識用于唯一
2、的標識出每個實體實例,比如學生實體中就可用將學生的學號作為該實體的標識。標識可用是一個實體屬性也可以是多個屬性的結(jié)合。在PD中新建一個新的概念模型,系統(tǒng)將出現(xiàn)一個工具欄如下,用于在設(shè)計面板中設(shè)計模型。單擊Entity圖標,然后在設(shè)計主面板中單擊一次便可添加一個實體。再單擊鼠標圖標,即可切換回一般鼠標的模式。雙擊已經(jīng)添加的實體,彈出實體屬性設(shè)置對話框,在General中可以設(shè)置實體的Name和Code等屬性,如圖所示:切換到Attributes選項卡可以設(shè)置實體的屬性Name、Code、DataType等,右邊還有3個復(fù)選框,M表示不能為空,P表示是標識屬性,D表示在
3、模型圖中是否顯示,如果在設(shè)置屬性時直接選中StudentID的P復(fù)選框,系統(tǒng)將會自動生成該Student實體的一個Identifier。如果不希望系統(tǒng)自動生成而是手動設(shè)置的話,那么切換到Identifiers選項卡,添加一行Identifier,然后單擊左上角的“屬性”按鈕,然后彈出的標識屬性設(shè)置對話框中單擊“添加行”按鈕,選擇該標識中使用的屬性。例如將學號設(shè)置為學生實體的標識,具體操作如圖所示:整個設(shè)置好的實體如圖所示:關(guān)系關(guān)系用于表示一個實體與另外一個實體之間的對應(yīng)關(guān)系,分為一對一(1:1),一對多(1:n),多對一(n:1),多對多(m:n)4種對應(yīng)關(guān)系,一對
4、多和多對一其實就是方向相反,所以實際上就是一對一、一對多和多對多。?????最最常用的就是一對多,比如班級實體和學生實體就是一對多關(guān)系,一個班級有多個學生,一個學生只會屬于一個班級。在設(shè)計面板中添加一個Class實體,然后單擊工具欄的Relationship按鈕,然后在Class實體上單擊一下,再到Student上單擊一下,就可以在Class和Student之間建立一對多關(guān)系,如圖:系統(tǒng)默認會給該關(guān)系一個命名Relationship_1,切換到鼠標指針模式,雙擊Relationship_1,即可打開關(guān)系的屬性窗口,可以在General選項卡中修改該關(guān)系的Name、C
5、ode等,如圖:切換到Cardinalities選項卡,上面可以修改是一對多還是多對多之類的關(guān)系,下面的Rolename沒有多大的意義,就是在模型中顯示文字,多的一方有0,n和1,n兩種,也就是說一個班級可以對應(yīng)多個學生,那么一個班級中最少是沒有學生還是要至少存在一個學生,同樣的一的一方有0,1和1,1兩種,就是說一個學生是可以不屬于任何班級呢還是必須屬于某一個存在的班級,這里我們都選至少是1,所以最終的設(shè)置界面如圖:繼承在概念模型中的繼承與在OO模型中的繼承是一回事,就是要抽象出一個實體,其他實體繼承該實體后就擁有該實體的屬性。同樣以選課系統(tǒng)為例,現(xiàn)在有學生實體,
6、有教師實體,其他他們都是人,具有人的屬性,所以我們可以抽象出一個人的實體,人具有性別、生日、名字等屬性,教師具有職稱、工號等屬性這是學生沒有的,所以不能放在人實體中,學生具有學號屬性是教師沒有的。??這里只是概念模型,在DBMS中是沒有繼承這種說法的,所以在接下來的邏輯模型和物理模型中,系統(tǒng)就會將繼承轉(zhuǎn)換為實際的實體和表。這里只是概念模型,所以才有繼承的說法。關(guān)聯(lián)(Association)我也不知道這個翻譯成中文用哪個詞比較好,就暫且用“關(guān)聯(lián)”吧。Association也是一種實體間的連接,在Merise模型方法學理論中,Association是一種用于連接分別代表
7、明確定義的對象的不同實體,這種連接僅僅通過另一個實體不能很明確地表達,而通過“事件(Event)”連接來表示。也就是說,實體和實體之間存在著關(guān)系(多對多),但是這種關(guān)系還存在其他的屬性,這些屬性如果如果作為一個明確的實體的實體來表示又不是很合適,所以就使用了Association來表達,這種關(guān)系之間一般是一個“事件”虛實體,也就是說是一個動詞對應(yīng)的實體。前面說的可能還是太抽象,以實際的例子來說明:現(xiàn)在有了學生實體,有課程實體,一個學生可以選擇多門課程,一門課程有多個學生來上課,所以之間就存在一個“選課”的Association,其中記錄了學生選課的時間、選課的狀