AIS Test 2

in modeling enterprise systems, our goal is to create _________ of the business in a form that is _________ _________

a representation of the business in a form that is computer-readable

Three things that make a model a "good" model are:

1. resemble their underlying reality as completely as possible
2. can be expressed at different levels of precision
3. can be broken down into smaller pieces for closer examinations of some features and aggregated for holistic views

Difference between token level symbol and type level symbol

token level representation has a different symbol for each specific instance in reality
type level representation uses one symbol for multiple instances of specified type

Pattern Based Thinking

Even when we don't have knowledge about something in reality, if we have knowledge (either first-hand or second-hand) about something similar in reality (and we know it is similar) we can apply our knowledge of the familiar object or situation to the unfa

What is a stereotypical constellation of entities

An object pattern.
in other words, a group of entities and relationships between them that we expect to exist in the underlying reality

The REA Ontology is...

The REA Ontology is a combination of
patterns that together enable us to model enterprises and understand and work with existing enterprise models

What is an Ontology?

an ontology is an attempt to define what things exist in the world in general; a bunch of metaphysics dealing with the nature of being

What is an enterprise ontology

an attempt to define what kinds of things in enterprises need to be represented

Each resource inflow must be matched to an economic ________ event

"there must be an event within the process to "use it up

Each resource outflow must be matched to an economic ________ event

"There must be an event within the process to obtain or produce it

Duality relationships are the glue that binds a firm's separate economic events together into ...

rational ECONOMIC processes

UML stands for

Unified Modeling Language

Classes are

Sets of real world objects - things that have a separate existence, either physical or conceptual

Associations are

relationships between classes

Association class is used for _________________ associations with attirubutes


You should put keys of participating classes in the association class (True/False)


Associations with Association Classes are common (True/False)

You SHOULD NOT have an association with an association class

Attributes of an Association Class must depend on ___________ of the classes participating in the association

primary keys

Primary Key attribute...

uniquely and universally identifies each instance of a class or association

Derivable attributes are

1. Static: will not change if new data is entered into the system
2. Volatile: will change if new data is entered into the system

The two components of a multiplicity are

- Minimum:
(0 = optional participation or 1= mandatory participation)
- Maximum:
(1= one-time only participation or *= as many times as needed, i.e. no restrictions)


expresses the minimum amount of times one instance of a class must participate in an association with the related class
0 = optional participation
1 = mandatory participation


expresses the maximum amount of times one instance of a class must participate in an association with the related class
1 = One-Time only participation
* = As many times as needed (no restrictions)

Can one instance of Class A exist in the database without a related instance of Class B?

If yes, Min A = 0 (optional)
If no, Min A = 1 (mandatory)

Can one instance of Class A exist in the database be associated with more than one instance of Class B?

If yes, Max A = * (many)
If no, Max A = 1 (one)

A relational database consists of...

tables (relations) that are linked together via the use of primary and foreign keys

A Foreign Key in a table is

a PRIMARY KEY from a DIFFERENT Table that has been posted into the table to create a link between two tables

Relational Databases are made up of

Rows: called the table extension or tuples
(Order does not matter)
Columns: called the table intension or schema
(Order does not matter, data format does)

Entity Integrity

a primary key in a table must not contain a null value

Referential Integrity

A value for a foreign key must be either
- null
- match exactly a value for the primary key in the table from which it was posted


the pairing of a CANDIDATE KEY (an attribute value that could be used as a primary key for some class) attribute value with another attribute value
Because facts consist of pairs of ACTUAL DATA VALUES, one must consider the likely data entry possibiliti

Facts are found in ____________ of the database tables

Extensions (Rows)

Repeating Group

Another violation of the one-fact, one-place rule occurs when multiple facts are stored in one place (Example: Degree Earned)

The ultimate goal of converting conceptual models to relational models is...

make as few tables as necessary, but avoid redundancy (repeating groups or one fact, multiple places), and minimize null values

Step 1: Create a separate table to represent each class in the conceptual model

1. each attribute of the class becomes a column in the relational table
2. each instance (member) of the class becomes a row in the relational table
3. Association classes also become tables with a composite primary key

Steps 2 - 5 involve...

determining whether each association requires its own table separate table or should be posted as a foreign key
*Redundancy and Load are important determinants (avoiding redundancy ALWAYS takes precedence)
Redundancy: one fact in multiple places or multip

Multiplicities communicate some of the information regarding

Redundancy and Load

The general rule is that when a class has a maximum multiplicity of "many", the table for that class should

not have a foreign key. Thus avoiding "repeating groups" redundancy

If a class has mandatory participation and "at most one" participation then the table for that class

will have a foreign key (unless the other class has THE SAME MULTIPLICITIES). This avoids null values in the foreign key column

If a class has optional participation, the table for that class may or may not have a foreign key depending on the load.
High load means
Low load means

high load means foreign key
low load means separate table

Step 2 involves

creating a separate table for each many-many association in the conceptual model

Step 3 involves

multiplicity pattern consisting of 1..1 - 1..1. Are the two classes conceptually separate or should they be combined?
If they should remain separate then
3A. Post the primary key from ONE CLASS table into
the other Class table
3B. It doesn't matter which

Step 4

For remaining 1..1 associations (everything containing a 1..1 except for the multiplicity pattern 1..1 - 1..1), the table for that class will have a foreign key

Attributes of an association class must be placed

in the association class' table

Association classes are always connected to ______________ associations



Economic Events


the causal association between the economic increment and decrement events that make up an economic exchange


links economic events and resources or resource types


links economic events and agents (both internal and external)


the association between an agent and a resource such that the agent either has physical control over the resource or controls access to the resource. Such a relationship is separate from any event involving the resource. (if an event involves a resource a


an association between an internal agent and an external agent that is separate from any event in which they might both participate. Example: a salesperson may be assigned to a territory that includes customer number 123. That relationship exists even if


Links internal agent to another internal agent, independent of their mutual participation in an event

Relationship between a
and an
is a


To describe instances of an association, we need to use

characteristics of both of the related

An association class represents

a relationship in which there can be only one link between the related entities
(Example: a student can enroll in each course only one time
Student = A class
Course = A class
Grade Earned = Association Class)

A Reified Association

represents a relationship in which there can be multiple links between the related entities

Each table in a relational model (relation) represents either a

class or an association between classes

in a relational database table represent

attributes of the class or association

in a relational database table represent

the specific instances that are members of the classes or associations