Exam 1 Review Dr. Bernard Chen Ph.D. University of Central Arkansas
Database System Database: A collection of related data. Data: Known facts that can be recorded and have an implicit meaning. Database Management System (DBMS): A software package/ system to facilitate the creation and maintenance of a computerized database. Database System: DBMS + Database
Database V.S. File In the database approach, a single repository of data is maintained that is defined once then accessed by various users The major differences between DB and File are: 1. Self-describing of a DB 2. Insulation between programs and data 3. Support of multiple views of the data 4. Sharing of data and multiuser transaction processing
Self-describing nature of a database system Database system contains not only the database itself but also a complete definition of the database structure and constrains The information stored in the catalog is called Meta-data (data about data), and it describes the structure of the primary database.
Categories of data models High-level or Conceptual data models: Provide concept that are close to the way many users perceive data Low-level or Physical data model: Provide concepts that describe the details of how data is stored in the computer
Conceptual data models It uses concepts such as entities, attributes and relationships. Entity represents a real-world object or concept, such as employee or project Attribute represents some property of interest that further describes an entity, such as employee’s name or salary Relation among two or more entities represents an association among two or more entitles
Example of a Database Schema
Schemas and Database State The data in the database at a particular moment in time is called a database state The distinction between database schema and database state is very important When we define a new database, we specify its database schema only to the DBMS At this point, the corresponding database state is the empty state with no data We get the initial state of the database when the database is first loaded From then on, every time an update operation is applied to the database, we get another database state
Three-Schema Architecture Defines DBMS schemas at three levels: Internal schema at the internal level to describe physical storage structures and access paths (e.g indexes). Conceptual schema at the conceptual level to describe the structure and constraints for the whole database for a community of users. External schemas at the external level to describe the various user views.
The three-schema architecture
Centralized DBMS Architecture A centralized DBMS in which all the DBMS functionality, application program execution, and user interface processing were carried out on a single machine The client/server architecture was developed to deal with computer environment in which a large number of PCs, workstation, file server… This is called two-tire architectures because the software components are distributed over two systems: client and server The emergence of the Web changed the roles of client and server, leading to the three-tier architecture
A Physical Centralized Architecture
Logical two-tier client server architecture
Three-tier client-server architecture
Entities and Attributes The most basic object that the ER model represents is an entity An entity maybe an object with a physical existence (a person, a car, house…) or it maybe an object with conceptual existence (a company, a job, or a course) Each entity has Attributes --- the particular properties that describe it
Attributes Several types of attribute occur in the ER model Simple vs. Composite Single value vs. Multi-value Stored vs. Derived
Composite vs. Simple Attributes Composite attributes can be divided into smaller subparts. For example: Address attribute of the EMPLOYEE entity can be further subdivided into street_address, city, state, zip_code Simple attributes can not be further divisible For example, street_address can be subdivided into Number, street, and apt# The value of composite attribute is the concatenation of the values of its constituent simple attributes
Single value vs. Multi-value Most attributes have a single value for a particular entity; such attribute are called single-valued In some cases an attribute can have a set of value for the same entity --- for example, colors attribute for a car, or a college_degree for a person Such attributes are called multivalued A multivalued attribute may have lower and upper bonds to constrain the number of values allowed for each entity
Stored vs. Derived In some cases, two (or more) attribute calues are related --- for example, the Age and Birth_date of a person The Age attribute is called a derived attribute and is said to be derived from the Birth_date attribute, which is called a stored value
Key Attributes An important constrain on the entities of an entity type is the KEY on attributes An attribute of an entity type for which each entity must have a unique value is called a key attribute of the entity type. For example, SSN of EMPLOYEE.
Relationship The initial design is typically not complete Refining the initial design by introducing relationships ER model has three main concepts: Entities (and their entity types and entity sets) Attributes (simple, composite, multivalued) Relationships (and their relationship types and relationship sets)
Recursive Relationship In some cases, the same entity type participates more than once in a relationship type in different roles Example Employee and supervised
ER DIAGRAM
Weak Entity Types Entity types do not have key attribute of their own are called weak entity types In contrast, regular entity types that do have key attribute are called strong entity types A weak entity type normally has a partial key, which is the set of attributes that can uniquely identify weak entities that are related to the same owner entity
Weak Entity Type Weak entity types can sometimes be represented as complex attributes Complex Attributes: combination of composite and multi-valued attributes In the example, we could specify a multi-valued attribute Dependents for EMPLOYEE, which is a composite attribute with component attributes Name, Birthday, Sex and Relationship
Subclasses, Superclasses and Inheritance We call each of these subgroupings a subclass of the EMPLOYEE entity type, and the EMPLOYEE entity type is called the superclass for each of these subclasses. These are called superclass/subclass (as well as simply class/subclass) relationships: EMPLOYEE/SECRETARY EMPLOYEE/TECHNICIAN EMPLOYEE/MANAGER … These are also called IS-A relationships SECRETARY IS-A EMPLOYEE, TECHNICIAN IS-A EMPLOYEE, ….
Subclasses and Superclasses
Subclasses, Superclasses and Inheritance An important concept associated with subclasses is that of type inheritance An entity that is member of a subclass inherits All attributes of the entity as a member of the superclass All relationships of the entity as a member of the superclass
Constraints on Specialization and Generalization Two basic constraints can apply to a specialization/generalization: Disjointness Constraint: Specifies that the subclasses of the specialization must be disjoint: an entity can be a member of at most one of the subclasses of the specialization Completeness Constraint: If not disjoint, specialization is overlapping
Displaying an attribute-defined specialization in EER diagrams
Example of overlapping total Specialization
Constraints on Specialization and Generalization Completeness Constraint: Total specifies that every entity in the superclass must be a member of some subclass in the specialization/generalization Shown in EER diagrams by a double line Partial allows an entity not to belong to any of the subclasses Shown in EER diagrams by a single line In general, a superclass that was identified through the generalization process usually total, because the superclass is derived from the subclasses and hence contains only the entities that are in the subclass
Specialization/Generalization Hierarchies, Lattices A subclass may itself have further subclasses specified on it Hierarchy has a constraint that every subclass has only one superclass (called single inheritance); this is basically a tree structure In a lattice, a subclass can be subclass of more than one superclass (called multiple inheritance)
Union All of the superclass/subclass relationships we have seen so far origin from a single superclass Sometimes we may need more than one superclass In this case, the subclass will represent a collection of objects that is a subset of the UNION of distinct entity types We call such a subclass a UNION TYPE
UNION Attribute inheritance works more selectively in the case of UNION. For example, OWNER entity inherits attributes of a COMPANY, a PERSON OR a BANK A shared subclass such as ENGINEERING_MANAGER inherits ALL the attributes of its superclasses
Two categories (UNION types): OWNER, REGISTERED_VEHICLE