O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Database ManagementSystems: Basic Concepts
Definitions• Data: known facts that can be recorded• Database: a collection of data     • represents some aspect of the re...
DBMSs provide...• Facilities to:  – Define – specify data types, structures &    constraints for the data to be stored in ...
Popular Examples• Company Databases  – employees, departments, projects …• Airline Reservation Systems  – flights, fares, ...
Schemas & Instances• Important to distinguish between  – database schema: the description of the    database  – database: ...
Financial Records  (Company, Type, Name, Date, Amt, NumShares, Broker)Company    Type     Name Date        Amt     NumShar...
Database States• Empty State -- database is empty when we  first define the database schema• Initial State -- database is ...
DBMS Languages• DDL: Data Definition Language  – used to define/change the structure of the    database• DML: Data Manipul...
Classification of DBMSs• Data Model Classification  – relational, network, hierarchical, object-    oriented …• Number of ...
Data Model• A collection of concepts that can be used  to define the structure (data, data types,  relations and constrain...
Entity-Relationship Model
Entity-Relationship Model• Most popular conceptual model for  database design• Basis for many other models• Describes the ...
Database requirements• We must convert the written database  requirements into an E-R diagram• Need to determine the entit...
The Pieces• Objects  – Entity (including weak entities)  – Attribute  – Relationship• “Structural” Constraints  – Cardinal...
Entities• Entity – basic object of the E-R model  – Represents a “thing” with an independent    existence  – Can exist phy...
Entity and Entity Types                            Name               Number                  TopicEntity Type            ...
Attributes• Each entity has a set of associated properties  that describes the entity. These properties are  known as attr...
Attributes (cont’d)Simple        Professor      Start Date                                          First              Pro...
Attributes (cont’d)Single         Professor    Employee ID#Multi-Valued   Professor       Email                  3753 X1
Attributes (cont’d)Stored          Professor      Start DateDerived         Professor    Years Teaching                   ...
Attributes (cont’d)• NULL attributes have no value  – not 0 (zero)  – not a blank string• Attributes can be “nullable” whe...
Primary Keys  Professor                 Employee ID• Employee ID is the primary key• Primary keys must be unique for the  ...
Relationships• defines a set of associations between  various entities• can have attributes to define them• are limited by...
Relationships (cont’d)Section      part of     Course              3753 X1
Participation• Defines if the existence of an entity depends on  it being related to another entity with a  relationship t...
Cardinality• The number of relationships that an entity  may participate in.  – 1:1, 1:N, N:M, M:1                 N      ...
Weak entity• Weak entities do not have key attributes of their  own.• Weak entities cannot exist without another a  relati...
Weak Entity (cont’d)    Section ID             Section   DescriminatorIdentifying Relationship    part of                 ...
Acadia Teaching DatabaseDesign an E-R schema for a database to store info about professors,  courses and course sections i...
Visual View of the DatabaseEmployee ID   Start Date     Years Teaching                Section ID          Room            ...
University DB Case Study• Maintain the following information about  undergraduate students:  – Name, address, student numb...
University Case Study (cont’d)• Maintain information about departments  – Name, code (CS, Phy), office phone, and faculty ...
University Case Study (cont’d)• Maintain information about faculty:  – Name, rank, employee number, salary, office    numb...
Address      StreetNumber                      N                 M              Section            Enrolled               ...
Extended E-R Model• E-R model is sufficient for traditional  database applications• Nontraditional applications (CAD,  mul...
IS-A Relationship     Name      Employee          S.S.N.                 IS-A  Staff         Faculty       Teaching Assist...
Specialization & Generalization • Specialization   – process of taking an entity and creating     several specialized subc...
Specialization constraints• Specializations can be predicate-defined  or attribute-defined or user-defined• Disjointness c...
Predicate-defined subclass• An attribute value is used to determine the  members of a subclass• Not all members of every s...
Predicate-defined subclass Pension         Person              S.S.N.Plan Type                                     Note: n...
Attribute-defined subclass• There is one defining attribute for all  subclasses• Each member of the superclass can be  ass...
Attribute-defined subclassJobtype           Employee                     S.S.N.                         Jobtype           ...
User-defined subclass• When there is no condition to automatically  determine membership in a subclass, it must  be done a...
Disjointness constraint• Specifies that an entity can be a member  of at most one subclass• There can be no overlap betwee...
Disjoint constraint     Name       Employee          S.S.N.                    d  Staff                        Teaching As...
Overlap• Entities are able to belong to more than  one subclass• Notation is an o inside of a circle                    37...
OverlapJobtype   Employee               S.S.N.                           A staff member may             o              als...
Completeness Constraint• May be total or partial• for total, every entity in the superclass  must belong to a subclass• fo...
Partial Pension    Person       S.S.N.Plan Type              dStaff                      FacultyRank                      ...
TotalJobtype   Employee          S.I.N.             o Staff    Students         Faculty Rank       Year            Rank   ...
Hierarchies and Lattices• Hierarchies  – a tree-like structure where each subclass    belongs to only one superclass• Latt...
Lattice         name         Person                         o                  student #          Employee                ...
3753 X1
Union Types and Lattice• Lattice  – Subset of the Intersection of the superclasses.  – A shared subclass (Teaching Assista...
3753 X1
Relationships of Higher Degreeq   Relationship types of degree 2 are called binaryq   Relationship types of degree 3 are c...
TERNARY RELATIONSHIPS               © The Benjamin/Cummings Publishing Company, Inc. 1994, Elmasri/Navathe, Fundamentals o...
TERNARY RELATIONSHIP-                  Instance Diagram  SUPPLIER             SUPPLY      PROJECT      s1   q             ...
Problem with constraints on      higher order relationship types                                 m                        ...
TERNARY VS. BINARY                              RELATIONSHIPS               © The Benjamin/Cummings Publishing Company, In...
The (min,max) notation for       higher order relationship type                constraints                        (1,2)   ...
Próximos SlideShares
Carregando em…5
×

Introduction er & eer

  • Seja o primeiro a comentar

Introduction er & eer

  1. 1. Database ManagementSystems: Basic Concepts
  2. 2. Definitions• Data: known facts that can be recorded• Database: a collection of data • represents some aspect of the real world • logically coherent collection (not a random collection) • designed, built & populated for a specific purpose• Database Management System: the software that manages the data
  3. 3. DBMSs provide...• Facilities to: – Define – specify data types, structures & constraints for the data to be stored in the database – Construct – store the data – Manipulate – pose queries to retrieve specific data, update data or generate reports based on the data
  4. 4. Popular Examples• Company Databases – employees, departments, projects …• Airline Reservation Systems – flights, fares, customers, reservations ..• Library Databases – authors, titles, publishers, videos …• Bank Databases – accounts, customers ...
  5. 5. Schemas & Instances• Important to distinguish between – database schema: the description of the database – database: the stored data
  6. 6. Financial Records (Company, Type, Name, Date, Amt, NumShares, Broker)Company Type Name Date Amt NumShares BrokerTrimark Mutual Trimark 01/01/84 49.75 100 C. Harris Fund Fund AGF Mutual Foreign 01/01/94 62.25 1000 C. Harris Fund Equity
  7. 7. Database States• Empty State -- database is empty when we first define the database schema• Initial State -- database is first populated or loaded with data• Current State -- snapshot in time 3753 7
  8. 8. DBMS Languages• DDL: Data Definition Language – used to define/change the structure of the database• DML: Data Manipulation Language – used to query the database, insert data, change data or delete data 3753 8
  9. 9. Classification of DBMSs• Data Model Classification – relational, network, hierarchical, object- oriented …• Number of users – single user or multi-user• Number of Sites – centralized vs distributed• Cost of the DBMS 3753 9
  10. 10. Data Model• A collection of concepts that can be used to define the structure (data, data types, relations and constraints) of a database.• Examples: – Entity Relationship model – Relational Model – hierarchical & network models – object-data models
  11. 11. Entity-Relationship Model
  12. 12. Entity-Relationship Model• Most popular conceptual model for database design• Basis for many other models• Describes the data in a system and how that data is related• Describes data as entities, attributes and relationships 3753 X1
  13. 13. Database requirements• We must convert the written database requirements into an E-R diagram• Need to determine the entities, attributes and relationships. – nouns = entities – adjectives = attributes – verbs = relationships 3753 X1
  14. 14. The Pieces• Objects – Entity (including weak entities) – Attribute – Relationship• “Structural” Constraints – Cardinality – Participation 3753 X1
  15. 15. Entities• Entity – basic object of the E-R model – Represents a “thing” with an independent existence – Can exist physically or conceptually • a professor, a student, a course• Entity type – used to define a set of entities with the same properties. 3753 X1
  16. 16. Entity and Entity Types Name Number TopicEntity Type Course Number: 3753Entity Name: Database Management Systems Topic: Introduction to DBMSs 3753 X1
  17. 17. Attributes• Each entity has a set of associated properties that describes the entity. These properties are known as attributes.• Attributes can be: – Simple or Composite – Single or Multi-valued – Stored or Derived – NULL 3753 X1
  18. 18. Attributes (cont’d)Simple Professor Start Date First ProfessorComposite Name Last 3753 X1
  19. 19. Attributes (cont’d)Single Professor Employee ID#Multi-Valued Professor Email 3753 X1
  20. 20. Attributes (cont’d)Stored Professor Start DateDerived Professor Years Teaching 3753 X1
  21. 21. Attributes (cont’d)• NULL attributes have no value – not 0 (zero) – not a blank string• Attributes can be “nullable” where a null value is allowed, or “not nullable” where they must have a value. 3753 X1
  22. 22. Primary Keys Professor Employee ID• Employee ID is the primary key• Primary keys must be unique for the entity in question 3753 X1
  23. 23. Relationships• defines a set of associations between various entities• can have attributes to define them• are limited by: – Participation – Cardinality Ratio 3753 X1
  24. 24. Relationships (cont’d)Section part of Course 3753 X1
  25. 25. Participation• Defines if the existence of an entity depends on it being related to another entity with a relationship type. – Partial – Total Section part of Course 3753 X1
  26. 26. Cardinality• The number of relationships that an entity may participate in. – 1:1, 1:N, N:M, M:1 N 1 Section part of Course 3753 X1
  27. 27. Weak entity• Weak entities do not have key attributes of their own.• Weak entities cannot exist without another a relationship to another entity.• A partial key is the portion of the key that comes from the weak entity. The rest of the key comes from the other entity in the relationship.• Weak entities always have total participation as they cannot exist without the identifying relationship. 3753 X1
  28. 28. Weak Entity (cont’d) Section ID Section DescriminatorIdentifying Relationship part of Number Course 3753 X1
  29. 29. Acadia Teaching DatabaseDesign an E-R schema for a database to store info about professors, courses and course sections indicating the following:• The name and employee ID number of each professor• The salary and email address(es) for each professor• How long each professor has been at the university• The course sections each professor teaches• The name, number and topic for each course offered• The section and room number for each course section• Each course section must have only one professor• Each course can have multiple sections 3753 X1
  30. 30. Visual View of the DatabaseEmployee ID Start Date Years Teaching Section ID Room 1 N Professor teaches Section Email N Salary First Name Part of Last 1 Number Course Topic Name
  31. 31. University DB Case Study• Maintain the following information about undergraduate students: – Name, address, student number, date of birth, year of study, degree program (BA, BSc, BCS), concentration (Major, Honours, etc) and department of concentration. • Note: An address is composed of a street, city, province and postal code; the student number is unique for each student 3753 X1
  32. 32. University Case Study (cont’d)• Maintain information about departments – Name, code (CS, Phy), office phone, and faculty members• Maintain information about courses: – Course number (3753), title, description, prerequisites.• Maintain information about course sections: – Section (A, B, C), term (X1), slot #, instructor 3753 X1
  33. 33. University Case Study (cont’d)• Maintain information about faculty: – Name, rank, employee number, salary, office number, phone number and email address. – Note: employee number is unique• Maintain a program of study for the current year for each student: – i.e. courses that each student is enrolled in 3753 X1
  34. 34. Address StreetNumber N M Section Enrolled Student Number City Term Name Province Slot N N 1 Teaches DOB Postal Code Has Salary Name 1 N Faculty NumberNumber Prereq Office 1 N Title Course M Phone Start Date Head MemberDescription Email 1 1 End Date Code Rank N 1 Name Offer Dept Phone
  35. 35. Extended E-R Model• E-R model is sufficient for traditional database applications• Nontraditional applications (CAD, multimedia) have more complex requirements• Can extend traditional E-R diagrams with semantic data modeling concepts 3753 X1
  36. 36. IS-A Relationship Name Employee S.S.N. IS-A Staff Faculty Teaching AssistantPosition Rank Student # 3753 X1
  37. 37. Specialization & Generalization • Specialization – process of taking an entity and creating several specialized subclasses • Generalization – process of taking several related entities and creating a general superclass • We will talk mainly of specialization, but most information will also apply to generalization 3753 X1
  38. 38. Specialization constraints• Specializations can be predicate-defined or attribute-defined or user-defined• Disjointness constraint – specialization is disjoint or overlapping• Completeness constraint – specialization is total or partial 3753 X1
  39. 39. Predicate-defined subclass• An attribute value is used to determine the members of a subclass• Not all members of every subclass can be determined by the attribute value• In the following example, the Pension Plan type can be used to determine faculty from staff, but has no effect on students or those who opted out of the pension plan. 3753 X1
  40. 40. Predicate-defined subclass Pension Person S.S.N.Plan Type Note: not all d employees included Staff Faculty Position Rank 3753 X1
  41. 41. Attribute-defined subclass• There is one defining attribute for all subclasses• Each member of the superclass can be assigned to the appropriate subclass based on this one attribute 3753 X1
  42. 42. Attribute-defined subclassJobtype Employee S.S.N. Jobtype d “Faculty” “Staff” “Student”Staff Students FacultyRank Year Rank 3753 X1
  43. 43. User-defined subclass• When there is no condition to automatically determine membership in a subclass, it must be done at the discretion of the user. 3753 X1
  44. 44. Disjointness constraint• Specifies that an entity can be a member of at most one subclass• There can be no overlap between the subclasses• We use the notation of a d in a circle to symbolize that the subclasses are disjoint 3753 X1
  45. 45. Disjoint constraint Name Employee S.S.N. d Staff Teaching Assistant FacultyPosition Rank Student # 3753 X1
  46. 46. Overlap• Entities are able to belong to more than one subclass• Notation is an o inside of a circle 3753 X1
  47. 47. OverlapJobtype Employee S.S.N. A staff member may o also be a studentStaff Students FacultyRank Year Rank 3753 X1
  48. 48. Completeness Constraint• May be total or partial• for total, every entity in the superclass must belong to a subclass• for partial, entities in the superclass do not need to be part of any subclass• notation for total and partial are the same as in a regular E-R diagram – single and double lines 3753 X1
  49. 49. Partial Pension Person S.S.N.Plan Type dStaff FacultyRank Rank 3753 X1
  50. 50. TotalJobtype Employee S.I.N. o Staff Students Faculty Rank Year Rank 3753 X1
  51. 51. Hierarchies and Lattices• Hierarchies – a tree-like structure where each subclass belongs to only one superclass• Lattices – a graph-like structure where a subclass can belong to more than one superclass 3753 X1
  52. 52. Lattice name Person o student # Employee Studentsalary Teaching Assistant course 3753 X1
  53. 53. 3753 X1
  54. 54. Union Types and Lattice• Lattice – Subset of the Intersection of the superclasses. – A shared subclass (Teaching Assistant) is the subclass in two distinct superclass relatioships• Union Types – Subset of the unoin of distinct Entity Types 3753 X1
  55. 55. 3753 X1
  56. 56. Relationships of Higher Degreeq Relationship types of degree 2 are called binaryq Relationship types of degree 3 are called ternary and of degree n are called n-aryq In general, an n-ary relationship is not equivalent to n binary relationshipsChapter 3-56
  57. 57. TERNARY RELATIONSHIPS © The Benjamin/Cummings Publishing Company, Inc. 1994, Elmasri/Navathe, Fundamentals of Database Systems, Second EditionChapter 3-57
  58. 58. TERNARY RELATIONSHIP- Instance Diagram SUPPLIER SUPPLY PROJECT s1 q r1 j q 1 s2 q r2 j q 2 r3 PART r4 j q 3 r5 p1 q p2 q r6 p3 q r7Chapter 3-58
  59. 59. Problem with constraints on higher order relationship types m n p What does it mean to put m:n:p on the three arms of the relationship ? It is essentially meaningless.Chapter 3-59
  60. 60. TERNARY VS. BINARY RELATIONSHIPS © The Benjamin/Cummings Publishing Company, Inc. 1994, Elmasri/Navathe, Fundamentals of Database Systems, Second EditionChapter 3-60
  61. 61. The (min,max) notation for higher order relationship type constraints (1,2) (1,3) (1,5) A Teacher can offer min 1 and max 2 Offerings A Course may have 1 to 3 Offerings A Student may enroll in from 1 to 5 OfferingsChapter 3-61

    Seja o primeiro a comentar

    Entre para ver os comentários

  • pikasat

    Sep. 17, 2015

Vistos

Vistos totais

2.264

No Slideshare

0

De incorporações

0

Número de incorporações

1

Ações

Baixados

37

Compartilhados

0

Comentários

0

Curtir

1

×