Appendix C

Glossary

This book defines the following terms.

abstraction the ability to focus on essential aspects of an application while ignoring details.

alternate key a candidate key that is not chosen as a primary key. Thus each candidate key is either a primary key or an alternate key. An entity type can have any number of alternate keys. (See candidate key and primary key.)

antipattern a characterization of a common software flaw. An antipattern shows what not to do and how to fix it.

archetype a prominent abstraction that cuts across problem domains. This book's archetype models are small and focus on core concepts.

attribute a named property of an entity type that describes a value held by each entity of the entity type.

candidate key a combination of attributes that uniquely identifies each entity of an entity type. The combination must be minimal and not include any columns that are not needed for unique identification. No attribute in a candidate key can be null. (See alternate key and primary key.)

canonical model a submodel that provides a service for many applications. A canonical model is an abstract service that is not bound to a particular problem domain in contrast to a seed model.

cardinality the count of elements that are in a collection. (Contrast with multiplicity.)

Chen model a graphical approach to modeling originated by Peter Chen that shows entities and the relationships between them. The UML class model is based on the Chen model.

class model (of the UML) the data structure model of the UML.

constraint a boolean condition that governs the validity of a model. Entity types, attributes, and relationships can all have constraints.

data warehouse a database that takes the disjointed, functional applications of a business and integrates them, accumulating the history of past data. A data warehouse puts data in one database and stores data in a common format for reporting purposes.

database a permanent, self-descriptive store of data that is contained in one or more files. Self-description is what sets a database apart from ordinary files.

database management system the software for managing access to a database.

DBMS (acronym) database management system.

default value the value used to initialize an attribute.

denormalization the violation of normal forms. Developers should violate normal forms only for good cause, such as to increase performance for a bottleneck. (See normal form.)

dependent entity type an entity type that can exist only if some other entity type(s) also exist. Accordingly, the primary key of a dependent entity type incorporates one or more foreign keys. Also called a weak entity type. (Contrast with independent entity type.)

derived element an element that is defined in terms of other elements. Entity types, attributes, and relationships can all be derived.

design identity the ability to find data within a database. (Contrast with intrinsic identity.)

dimension (for a data warehouse) a basis for facts. (Contrast with fact.)

directed graph a set of nodes and a set of directed edges. Each directed edge originates at a source node and terminates at a target node (which may be the same as the source node). The nodes of a directed graph can have any number of edges.

discriminator an attribute that indicates the appropriate subtype record for each supertype record.

domain the set of possible values for an attribute.

entity a concept, abstraction, or thing that can be individually identified and has meaning for an application.

entity type a description of a group of entities with the same attributes, kinds of relationships, and intent.

entity type icon a reference to an entity type that is defined elsewhere in a model. An entity type icon does not display attributes and shows only the entity type name.

enumeration a data type that has a finite set of values.

existence-based identity the identification of individual entities for an entity type with an artificial field that has no application meaning. (Contrast with value-based identity.)

fact (for a data warehouse) a measure of the performance of a business. (Contrast with dimension.)

foreign key a reference to a primary key. It is the glue that binds tables. (See primary key.)

generalization an organization of entity types by their similarities and differences.

generic diagram a picture for viewing an underlying model.

hardcoded value the direct representation of a value with a row and a column of a database table. (Contrast with softcoded value)

homomorphism a mapping between two item description templates that expresses an analogy.

IDEF1X a standard notation for designing databases that specifies tables, keys, and indexes.

identifier one or more attributes that unambiguously differentiate an entity from all others.

identifying relationship a relationship that contributes to the primary key of a dependent entity type. (Contrast with non-identifying relationship.)

identity the means for distinguishing individual entities, so that they can be found.

independent entity type an entity type that can exist on its own. The primary key of an independent entity type does not include any foreign keys. Also called a strong entity type. (Contrast with dependent entity type.)

index a data structure that locates records according to attribute values. Indexes are also used to enforce uniqueness. Most relational DBMSs create indexes as a side effect of declaring primary keys and candidate keys.

inheritance the mechanism that implements generalization.

intrinsic identity the ability to find data with fields that have application meaning. (Contrast with design identity.)

item description the template that arises when a model concerns both an item and its description.

logical horizon the set of entity types reachable by one or more paths terminating in a combined multiplicity of one. The purpose of the logical horizon is to compute the entities that can be inferred from a starting entity.

master application an application that enforces the identity of occurrences of a critical concept and unifies its data across an organization's applications.

mathematical template See template.

metadata data that describes other data.

model an abstraction of some aspect of a problem. Most software models are expressed as graphical diagrams and by their form appeal to human intuition.

multiple inheritance a generalization for which an entity type inherits information from multiple supertypes. (Contrast with single inheritance.)

multiplicity the number of occurrences of one entity type that may connect to an occurrence of a related entity type. Multiplicity is a constraint on the size of a collection. (Contrast with cardinality.)

n-ary relationship a relationship involving three or more relationship ends.

non-identifying relationship a relationship that does not contribute to the primary key of an entity type. (Contrast with identifying relationship.)

normal form a guideline for relational database design that increases data consistency. (See denormalization.)

null a special value denoting that an attribute value is unknown or not applicable.

Object Constraint Language (OCL) a language for defining constraints within the UML. You can also use the OCL to navigate data models.

Object Management Group (OMG) a standards forum that is the owner of the UML.

OMG (acronym) Object Management Group.

ordered relationship a relationship that has an ordering imposed on a many end.

path a sequence of traversals of relationships and generalization levels.

pattern a model fragment that is profound and recurring. A pattern is a proven solution to a specified problem that has stood the test of time.

primary key a candidate key that is preferentially used for cross-table references. Normally, an entity type should have a primary key; an entity type can have at most one primary key. (See alternate key, candidate key, and foreign key.)

qualified relationship a relationship in which one or more attributes (called qualifiers) disambiguate the entities for a “many” relationship end.

qualifier an attribute that selects among the entities at a “many” relationship end.

referential integrity a database mechanism that ensures that data references really exist and that there are no dangling foreign keys.

relational database a database in which the data are perceived as tables.

relational DBMS a DBMS that manages tables of data and associated structures that increase the functionality and performance of tables.

relationship a physical or conceptual connection among entities.

relationship end an end of a relationship. A binary relationship has two ends, a ternary has three ends, and so forth.

relationship entity type a relationship that is also an entity type. Like a relationship, the occurrences of a relationship entity type derive identity from the related entity types. Like an entity type, a relationship entity type can have attributes and participate in relationships.

relationship type a description of a group of relationships with similar structure and meaning.

reverse engineering the process of examining implementation artifacts and inferring the underlying logical intent.

role one end of a relationship.

scenario the execution of a state diagram for an entity of the state diagram's entity type.

schema the structure of the data in a database.

seed model a model that is specific to a problem domain. A seed model provides a starting point for applications from its problem domain.

single inheritance a generalization in which an entity type inherits information from only one supertype. (Contrast with multiple inheritance.)

softcoded value a piece of data that is stored in a generic structure that transcends individual entity types. (Contrast with hardcoded value.)

SQL the standard language for interacting with a relational database.

star schema represents data as facts that are bound to dimensions. (See data warehouse, dimension, and fact.)

state diagram a diagram that specifies the permissible states for the entities of an entity type and the stimuli that cause changes of state.

strong entity type an entity type that can exist on its own. The primary key of a strong entity type does not include any foreign keys. Also called an independent entity type. (Contrast with weak entity type.)

structured field a field that is composed from constituent pieces with a specified grammar. Structured fields are synthetic but when parsed the pieces have meaning. Many structured fields are backed by standard protocols.

subject area a group of elements (entity types, relationships, and generalizations) with a common theme that is a portion of a larger model.

subtype an entity type that adds specific attributes and relationships for a generalization. (Contrast with supertype.)

supertype the entity type that holds common attribute and relationships for a generalization. (Contrast with subtype.)

surrogate identity the identification of an entity via another entity with which it is closely related.

template an abstract model fragment that is useful for a variety of applications and is devoid of application content. Templates are driven by deep data structures that often arise in database models.

ternary relationship a relationship among three relationship ends that cannot be restated as binary relationships.

traversal the navigation of a database via foreign-key-to-primary-key bindings.

tree a set of nodes that connect from child to parent. A node can have many child nodes; each node in a tree has one parent node except for the node at the tree's top. There are no cycles — that means at most one path connects any two nodes.

trigger a database command that executes upon the occurrence of a specified event and satisfaction of a condition.

tuning (of a database) the definition of ancillary database structures for the purpose of speeding performance. These ancillary structures have no effect on the semantics of the database structure and solely are intended for boosting performance. Physical clustering and indexes are common tuning techniques.

UML (acronym, trademark of the OMG) Unified Modeling Language.

undirected graph a set of nodes and a set of edges. Each edge connects two nodes (which may be the same). The nodes of an undirected graph can have any number of edges.

Unified Modeling Language (trademark of the OMG) a suite of models that is often used for software development.

universal antipattern an antipattern that should be avoided for all applications.

user-defined field an anonymous field in a table that is used to store miscellaneous data. Vendors often include a few anonymous fields in important application tables.

value-based identity the use of some combination of real-world attributes to identify each record in a table. (Contrast with existence-based identity.)

value metadata affiliated data for a value of an entity. For example, a value may have a data source, unit of measure, default value, and time of entry.

view a table that a relational DBMS dynamically computes from a query that is stored in the database.

weak entity type an entity type that can exist only if some other entity type(s) also exist. Accordingly, the primary key of a weak entity type incorporates one or more foreign keys. Also called a dependent entity type. (Contrast with strong entity type.)

XML (acronym for extensible Markup Language). XML provides a language that combines data with metadata that defines the data's structure.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset