Database Chapter 2
collaboration diagram
A UML diagram to display interactions among objects. It does not show time as a separate dimension. It is used to model processes.
derived class
A class that is created as an extension of another class. The programmer need only define the new attributes and methods. All others are inherited from the higher-level classes. See inheritance.
table
A collection of data for one class or entity. It consists of columns for each attribute and a row of data for each specific entity or object.
primary key
A column or set of columns that identify a particular row in a table. In non- relational DBMSs, the primary key defines how the data will be stored and retrieved.
binary large object (BLOB)
A data domain for undefined, large chunks of data. A BLOB (or simple object) type can hold any type of data, but the programmer is often responsible for displaying, manipulating, and searching the data.
class
A descriptor for a set of objects with similar structure, behavior, and relationships. That is, a class is the model description of the business entity. A business model might have an Employee class, where one specific employee is an object in that class.
attribute
A feature or characteristic of an entity. An attribute will become a column in a data table. Employee attributes might include name, address, date hired, and phone.
method
A function or operation that a class can perform. For example, a Customer class would generally have an AddNew method that is called whenever a new customer object is added to the database.
class diagram
A graph of classes connected through relationships. It is designed to show the static structure of the model. Similar to the entity-relationship diagram.
class hierarchy
A graph that highlights the inheritance relationships between classes.
null
A missing (or currently unassigned) value.
generalization association
A relationship among classes that begins with a generic class. More detailed classes are derived from it and inherit the properties and methods of the higher level classes.
reflexive association
A relationship from one class back to itself. Most commonly seen in business in an Employee class, where some employees are managers over other employees.
composition association
A relationship in which an object is composed of a collection of other objects. For example, a bicycle is built from components. In UML, it is indicated with a small filled diamond on the association end.
Unified Modeling Language (UML)
A standardized modeling language for designing and documenting computer and business systems.
rapid application development (RAD)
A systems design methodology that attempts to reduce development time through efficiency and overlapping stages.
data type
A type of data that can be held by a column. Each DBMS has predefined system domains (integer, float, string, etc.). Some systems support user-defined domains that are named combinations of other data types.
n-ary association
An association among three or more classes. It is drawn as a diamond on a UML class diagram. The term comes from extending English terms: unary means one, binary means two, ternary means four; so N-ary means many.
relationship
An association between two or more entities. See association.
property
An attribute or feature of an entity that we wish to track. The term is often applied in an object-oriented context. See attribute.
entity
An item in the real world that we wish to identify and track.
association
Connections between classes or entities. Generally, they represent business rules. For example, an order can be placed by one customer. It is important to identify whether the association is one-to-one, one-to-many, or many-to-many.
association role
In UML the point where an association attaches to a class. It can be named, and generally shows multiplicity, aggregation, or composition.
polymorphism
In a class hierarchy each new class inherits methods from the prior classes. Through polymorphism you can override those definitions and assign a new method (with the same name) to the new class.
inheritance
In object-oriented design, the ability to define new classes that are derived from higher-level classes. New classes inherit all prior properties and methods, so the programmer only needs to define new properties and methods.
encapsulation
In object-oriented programming, the technique of defining attributes and methods within a common class. For example, all features and capabilities of an Employee class would be located together. Other code objects can use the properties and methods but only by referencing the Employee object.
multiplicity
The UML term for signifying the quantities involved in an association. It is displayed on an association line with a minimum value, an ellipses (...), and a maximum value or asterisk (*) for many. For example, a customer can place from zero to many orders, so the multiplicity is (0...*).
aggregation
The generic name for several SQL functions that operate across the selected rows. Common examples include SUM, COUNT, and AVERAGE.
relational database
The most popular type of DBMS. All data is stored in tables (sometimes called relations). Tables are logically connected by the data they hold (e.g., through the key values). Relational databases should be designed through data normalization.
data normalization
The process of creating a well-behaved set of tables to efficiently store data, minimize redundancy, and ensure data integrity. See first, second, and third normal form.