Outline Data, Information & Knowledge Database DBMS Types of Models E-R Model
Data, Information & Knowledge
Knowledge Knowledge is what we know helps us know where things are It also contains our beliefs and expectations. It is from this “map” that we base our decisions, constantly updated You can’t currently store knowledge in anything other than the brain two sources that the brain uses to build this knowledge - information and data.
Data facts of the World description of the World. We can perceive this data with our senses, and then the brain can process this.
Information knowledge was limited by our direct experiences. can capture data in information, to be accessed at different times. The information can be lost, but the data can’t be.
The infogineering model
Why does it matter that people mix them up ? Data is always correct (I can’t be 29 years old and 62 years old at the same time) but information can be wrong (there could be two files on me, one saying I was born in 1981, and one saying I was born in 1948). Information captures data at a single point. The data changes over time. Mistake : information is always an accurate reflection of the data.
Database Collection of data ? not every collection of data is a database An organized collection of related data Eg ?
Why do we need a database? Keep records of our: Clients Staff Volunteers To keep a record of activities and interventions; Keep sales records; Develop reports; Perform research
DBMS A software package/ system to facilitate the creation and maintenance of a computerized database. A database's properties are determined by its supporting DBMS and vice-versa
Why DBMS ? Availability Efficient access Abstraction Protection or Security measures to prevent unauthorized access Reliable storage & recovery of 100s of GB Querying/updating interface and API Support for many concurrent users Backup and recovery services.
What is the ultimate purpose of a database management system? Is to transform Data Information Knowledge Action
Advancements Navigational pointers from one record to another. eg: hierarchical model, Network model Relational model search for data by content, rather than by following links Entity-relationship model to overcome the problems of Relational model as a modelling lang. Object database and the XML database : for multimedia, engg, documents etc.
Entity-Relationship Model for representation of real-world represents overall logical structure of information grouping of data elements inter-relationships between groups simple and easy-to-use permits top-down approach for controlling details useful as a tool for communication between designer and user during requirements analysis and conceptual design
Core concepts Entity Entity set Strong entity type Weak entity type ( discriminator / partial key) Attributes Simple and composite attributes Single valued and multi valued attributes Stored and derived attributes Null attribute Key attribute
Relationships Degree Cardinality Mapping cardinalities One to one One to many Many to one Many to many
Participation constraints Total participation Partial participation Keys Super key Candidate key Primary key Foreign key
Notations used in E-R Diagrams
Enhanced E-R
Contents Why EER Modelling? Inheritance Specialization Generalization
Why EER Modeling ? Emergence of new technologies Semantic data modeling concepts
Inheritance Employee Sub class Super class Inheritance Secretary Technician Engineer Manager Clerk Sub class Super class Inheritance
Specialization Define a set of subclasses of an entity type Establish additional specific attributes with each sub class Establish additional specific relationship types between each subclass and entity types or other sub classes
May have several specializations of the same superclass The set of subclasses is based upon some distinguishing characteristics of the entities in the superclass May have several specializations of the same superclass {PERMANENT_EMPLOYEE, TEMPORARY_EMPLOYEE} based on method of pay {FACULTY, CLERK, TECHNICIAN} based upon job type specific attributes Eg : TypingSpeed of SECRETARY specific relationship types Eg: HOURLY_EMPLOYEE can BELONG TO some TRADE UNIONs etc.
Example
Generalization Inverse process of specialization Identify the common features of several entity types Generalize them into a single super class Eg : Employee is a generalization of {SECRETARY, ENGINEER, TECHNICIAN}
Example
CONSTRAINTS & CHARACTERISTICS OF SPECIALIZATION & GENERALIZATION
Outline Types of specialization Constraints on specialization Specialization & Generalization Hierarchies Lattices Summary
Types of Specialization (1/2) Predicate defined Condition specified Conditions are specified on the values of some attributes in the superclass Defining predicate Eg: JobType = “Secretary”
Types Types of Specialization (2/2) (1/2) Attribute defined If all subclasses in a specialization have membership condition on same attribute of the superclass Defining attribute Eg: JobType User Defined No condition for determining the membership of the subclass Specified individually for each entity by the user
Example Job Type Defining attribute Defining predicate “Technician” “Secretary” “Engineer”
Constraints on specialization Disjointness Constraint Subclasses of the specialization must be disjoint An entity can be a member of at most one of the subclasses of the specialization Not disjoint Overlap Notation d O Disjointness Overlapping
Disjoint Rule A patient can either be outpatient or resident, but not both
Overlap rule A part may be both purchased and manufactured
Constraints on specialization Completeness Constraint Total every entity in the superclass must be a member of some subclass in the specialization/ generalization Shown in EER diagrams by a double line Eg: Employee {Hourly_Employee, Salaried_Employee} Partial allows an entity not to belong to any of the subclasses Shown in EER diagrams by a single line Eg: Employee need not be {Secretary, Technician, Engineer}
Total Specialization A patient must be either an outpatient or a resident patient
Partial Specialization A vehicle could be a car, a truck, or neither
Specialization Hierarchy & Lattice Every subclass has only one superclass single inheritance Lattice: A subclass can be subclass of more than one superclass multiple inheritance Same for generalization hierarchies or lattices Shared subclass: A subclass with more than one superclass
Example
Note In a lattice or hierarchy, a subclass inherits attributes not only of its direct superclass, but also of all its predecessor superclasses Specialization top down approach Generalization bottom up approach In practice, the combination of two processes is employed
Relationships of degree higher than two
Outline Binary or ternary relationships ? Constraints on n-ary relationships Aggregation Union / Category
Binary or ternary relationships ? On the basis of semantics of the situation Supply Project Supplier Part
Dividing into 3 binary relations Supplies Project Supplier Uses Can supply Part
Solution 1: Include the ternary relationship + 1 or more of the binary relationships (if they rep. diff. meanings & if all are needed for the appln.) Solution 2: Represent the ternary relationship as weak entity type with NO partial key & identifying relationships.
Constraints on n-ary relationships Cardinality Ratio Notation 1, M, N Min, Max Notation
Aggregation ER Model can’t represent relationships among relationships To represent relationship between a whole object & its component parts Relationships are treated as higher level entities
Example CAR Other Systems Chassis Drive-train (steel frame) Wheels Hub-Caps Tires Tubes represents IS-PART-OF (component) relationship Root class: CAR Component Classes: Chassis, Drive-Train, Other Systems, Wheels Root class: Wheels Component Classes: Tires, Tubes, Hub-Caps
Consider the ternary relationship works-on,
Suppose we want to record managers for tasks performed by an employee at a branch
E-R Diagram With Aggregation
Union / Category Engineering_Manager Engineer Manager Salaried Employee Need to model a single superclass/subclass relationship with more than one superclass subclass = collection of objects i.e. a subset of the “union” of distinct entity types
Example:
subset of the intersection of its superclasses Shared Sub class Category subset of the intersection of its superclasses shared subclass member must exist in all of its superclasses Attribute Inheritance : Total subset of the union of its superclasses category member must exist in any of its superclasses Attribute Inheritance : Selective
THANK YOU !!!