450 likes | 604 Views
Exam 1 Review. Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2008. Database System. Database: A collection of related data. Data: Known facts that can be recorded and have an implicit meaning. Database Management System (DBMS):
E N D
Exam 1 Review Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2008
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: • Self-describing of a DB • Insulation between programs and data • Support of multiple views of the data • 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
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.
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
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.
In some cases, the same entity type participates more than once in a relationship type in different roles Example Employee and supervised Recursive Relationship
Relationship example • Consider a relationship type work_for between the two entities type EMPLOYEE and DEPARTMENT • Each relationship instance in the relationship set associates one EMPLOYEE entity and one DEPARTMENT entity
Constrains on Relationship types • Sometimes if we want to describe “each employee must work for exactly one department”, then we would like to describe this constrain in the schema • The cardinality ratio for a binary relationship specifies the max number of relationship instances that an entity can participate in. • For example---in the Works_for binary relationship, DEPARTMENT:EMPLOYEE is of cardinality ration 1:N, meaning each department can be related to any number of employees, but an employee can only be related to one department
cardinality ratio • The possible cardinality ratio for binary relationships are 1:1, 1:N, N:1, M:N • Example: • 1:1 Manages relationship between employee and department • M:N an employee can work on several projects and a project can have several employees
Participation Constrain • The participation constrain specifies whether the existence of an entity depends on its being related to another entity via the relationship type • There are two types of participation constrains: • Total • Partial
Participation Constrain • For example • If a company policy states that every employee must work for a department, then it’s total • Not every Employee is a Manager, so this relationship is partial
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, 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
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 ORa BANK • A shared subclass such as ENGINEERING_MANAGER inherits ALL the attributes of its superclasses