1. Trang chủ
  2. » Công Nghệ Thông Tin

Database Modeling & Design Fourth Edition- P12 ppsx

5 299 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 176,37 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Figure 3.7 illustrates the notation with the music industry example at a very high level.. The music industry is illustrated in Figure 3.8 with the classes listed.. The Media Figure 3.8

Trang 1

Figure 3.5 illustrates another example of a ary relationship The

n-ary relationship may be clarified by specifying roles next to the partici-pating classes A Student is an enrollee in a class, associated with a given Room location, scheduled Day, and meeting Time

The concept of a primary key arises in the context of database design Often, each row of a table is uniquely identified by the values contained in one or more columns designated as the primary key Objects in software are not typically identified in this fashion As a result, UML does not have an icon representing a primary key However, UML is extensible The meaning of an element in UML may be extended

Figure 3.5 UML n-ary relationship (parallel to Figure 2.7)

Figure 3.6 UML constructs illustrating primary keys

Day

Course Student

Time Room

scheduled day location

meeting time

Car

«pk» vin mileage color Primary key as a stereotype

Composition example with primary keys

Invoice

«pk» inv_num customer_id inv_date

LineItem

«pk» inv_num

«pk» line_num description amount

1 *

Trang 2

with a stereotype Stereotypes are depicted with a short natural language

word or phrase, enclosed in guillemets: « and » We take advantage of this extensibility, using a stereotype «pk» to designate primary key attributes Figure 3.6 illustrates the stereotype mechanism The vin attribute is specified as the primary key for Cars This means that a given vin identifies a specific Car A noteworthy rule of thumb for primary keys: when a composition relationship exists, the primary key of the part includes the primary key of the owning object The second diagram

in Figure 3.6 illustrates this point

3.1.3 Example from the Music Industry

Large database schemas may be introduced with high-level diagrams Details can be broken out in additional diagrams The overall goal is to present ideas in a clear, organized fashion UML offers notational varia-tions and organizational mechanism You will sometimes find that there are multiple ways of representing the same material in UML The decisions you make with regard to your representation depend in part

on your purpose for a given diagram Figures 3.7 through 3.10 illus-trate some of the possibilities, with an example drawn from the music industry

Packages may be used to organize classes into groups Packages may

themselves also be grouped into packages The goal of using packages is

to make the overall design of a system more comprehensible One use for packages is to represent a schema You can then show multiple sche-mas concisely Another use for packages is to group related classes together within a schema, and present the schema clearly Given a set of classes, different people may conceptualize different groupings The divi-sion is a design decidivi-sion, with no right or wrong answer Whatever deci-sions are made, the result should enhance readability The notation for a package is a folder icon, and the contents of a package can be optionally shown in the body of the folder If the contents are shown, then the name of the package is placed in the tab If the contents are elided, then the name of the package is placed in the body of the icon

Figure 3.7 Example of related packages

Trang 3

If the purpose is to illustrate the relationships of the packages, and the classes are not important at the moment, then it is better to illustrate with the contents elided Figure 3.7 illustrates the notation with the music industry example at a very high level Music is created and placed

on Media The Media is then Distributed There is an association between Music and Media, and between Media and Distribution

Let us look at the organization of the classes The music industry is illustrated in Figure 3.8 with the classes listed The Music package con-tains classes that are responsible for creating the music Examples of Groups are the Beatles and the Bangles Sarah McLachlan and Sting are Artists Groups and Artists are involved in creating the music We will look shortly at the other classes and how they are related The Media

Figure 3.8 Example illustrating classes grouped into packages

Figure 3.9 Relationships between classes in the music package

Distribution

Studio Publisher RetailStore

Media

MusicMedia Album CD Track

Music

Group Artist Composer Lyricist Musician Instrument Song Rendition

Artist

Instrument Song

Group

0 *

1 *

1 *

2 *

1

*

*

*

*

Rendition

Musician

0 *

1 *

Trang 4

package contains classes that physically hold the recordings of the music The Distribution package contains classes that bring the media to you

The contents of a package can be expanded into greater detail The relationships of the classes within the Music package are illustrated in Figure 3.9 A Group is an aggregation of two or more Artists As indicated

by the multiplicity between Artist and Group, [0 *], an Artist may or may not be in a Group, and may be in more than one Group Compos-ers, Lyricists, and Musicians are different types of Artists A Song is asso-ciated with one or more Composers A Song may not have any Lyricist,

or any number of Lyricists A Song may have any number of Renditions

A Rendition is associated with exactly one Song A Rendition is associ-ated with Musicians and Instruments A given Musician-Instrument combination is associated with any number of Renditions A specific Rendition-Musician combination may be associated with any number of Instruments A given Rendition-Instrument combination is associated with any number of Musicians

A system can be understood more easily by shifting focus to each package in turn We turn our attention now to the classes and relation-ships in the Media package, shown in Figure 3.10 The associated classes from the Music and Distribution packages are also shown, detailing how the Media package is related to the other two packages The Music Media

Figure 3.10 Classes of the media package and related classes

Studio Music Media

Rendition

Producer

Track

Publisher Group

Artist

Trang 5

is associated with the Group and Artist classes, which are contained in the Music package shown in Figure 3.8 The Music Media is also associ-ated with the Publisher, Studio, and Producer classes, which are con-tained in the Distribution package shown in Figure 3.8 Albums and CDs are types of Music Media Albums and CDs are both composed of Tracks Tracks are associated with Renditions

UML has a full suite of diagram types, each of which fulfills a need for

describing a view of the design UML activity diagrams are used to specify

the activities and the flow of control in a process The process may be a workflow followed by people, organizations, or other physical things Alternatively, the process may be an algorithm implemented in software The syntax and the semantics of the UML constructs are the same, regardless of the process described Our examples draw from workflows that are followed by people and organizations, since these are more use-ful for the logical design of databases

3.2.1 Activity Diagram Notation Description

Activity diagrams include notation for nodes, control flow, and organi-zation The icons we are describing here are outlined in Figure 3.11 The notation is further clarified by example in Section 3.2.2

The nodes include initial node, final node, and activity node Any

pro-cess begins with control residing in the initial node, represented as a solid black circle The process terminates when control reaches a final node, represented as a solid black circle surrounded by a concentric cir-cle (i.e., a bull’s-eye) Activity nodes are states where specified work is processed For example, an activity might be named “Generate quote.” The name of an activity is typically a descriptive verb or short verb phrase, written inside a lozenge shape Control resides in an activity until that activity is completed Then control follows the outgoing flow

Control flow icons include flows, decisions, forks, and joins A flow is

drawn with an arrow Control flows in the direction of the arrow Deci-sion nodes are drawn as a hollow diamond with multiple outgoing

flows Each flow from a decision node must have a guard condition A

guard condition is written in brackets next to the flow Control flows in exactly one direction from a decision node, and only follows a flow if the guard condition is true The guard conditions associated with a

Ngày đăng: 05/07/2014, 05:20