Download presentation
Presentation is loading. Please wait.
Published byHoratio Mills Modified over 6 years ago
1
ER Modeling Exercise Consider a set of courses, both at grad and undergrad level. Each course has at least one section. Each section is taught by only one instructor (who can teach more than one section). Students (grads and undergrads), who may also be instructors for other courses, may attend only one section of (possibly several) courses in their respective level (instructors may attend any courses). Each student will have a mark for the courses taken, which will have an average mark of their own. Courses may not be offered every term. Feel free to add attributes as you wish (keys are necessary though).
2
ER Modeling Exercise Consider a set of courses, both at grad and undergrad level. Each course has at least one section. Each section is taught by only one instructor (who can teach more than one section). Students (grads and undergrads), who may also be instructors for other courses, may attend only one section of (possibly) several courses in their respective level (instructors may attend any courses). Each student will have a mark for the courses taken, which will have an average mark of their own. Courses may not be offered every term.
3
ER Modeling Exercise Consider a set of courses, both at grad and undergrad level. Each course has at least one section. Each section is taught by only one instructor (who can teach more than one section). Students (grads and undergrads), who may also be instructors for other courses, may attend only one section of (possibly) several courses in their respective level (instructors may attend any courses). Each student will have a mark for the courses taken, which will have an average mark of their own. Courses may not be offered every term.
4
ER Modeling Exercise Consider a set of courses, both at grad and undergrad level. Each course has at least one section. Each section is taught by only one instructor (who can teach more than one section). Students (grads and undergrads), who may also be instructors for other courses, may attend only one section of (possibly) several courses in their respective level (instructors may attend any courses). Each student will have a mark for the courses taken, which will have an average mark of their own. Courses may not be offered every term.
5
ER Modeling Exercise Consider a set of courses, both at grad and undergrad level. Each course has at least one section. Each section is taught by only one instructor (who can teach more than one section). Students (grads and undergrads), who may also be instructors for other courses, may attend only one section of (possibly) several courses in their respective level (instructors may attend any courses). Each student will have a mark for the courses taken, which will have an average mark of their own. Courses may not be offered every term.
6
ER Modeling Exercise Consider a set of courses, both at grad and undergrad level. Each course has at least one section. Each section is taught by only one instructor (who can teach more than one section). Students (grads and undergrads), who may also be instructors for other courses, may attend only one section of (possibly several) courses in their respective level (instructors may attend any courses). Each student will have a mark for the courses taken, which will have an average mark of their own. Courses may not be offered every term.
7
Relational Databases Basic concepts Advantages Industry standard
Data model: organize data as tables A relational database is a set of tables Advantages Simple concepts Solid mathematical foundation set theory Powerful query languages Efficient query optimization strategies Design theory Industry standard Relational model SQL language
8
Relational Model Relation Tabular structure of data where
A relation R with attributes A={A1, A2, …, An} defined over n domains D={D1, D2, ..., Dn} (not necessarily distinct) is a time varying set of n-tuples <d1, d2, ..., dn> such that d1D1d2D2dnDnandA1D1A2D2 AnDn Tabular structure of data where R is the table heading attributes are table columns each tuple is a row
9
Relation Schemes and Instances
Relational scheme A relation scheme is the definition; i.e., a set of attributes A relational database scheme is a set of relation schemes: i.e., a set of sets of attributes Relation instance (simply relation) A relation is an instance of a relation scheme a relation r over a relation scheme R = {A1, ..., An} is a subset of the Cartesian product of the domains of all attributes, i.e., r D(A1) D(A2) … D(An)
10
Domains A domain is a set of acceptable values for a variable.
Example : Names (strings with no numbers), Salary ranges Simple/Composite domains Address = Street name+street number+city+province+ postal code Domain compatibility Binary operations (e.g., comparison to one another, addition, etc) can be performed on them. Full support for domains is not provided in many current relational DBMSs
11
Relation Schemes Underlined attributes are relation keys. Tabular form
EMP(ENO, ENAME, TITLE, SAL) PROJ (PNO, PNAME, BUDGET) WORKS(ENO,PNO, RESP, DUR) Underlined attributes are relation keys. Tabular form EMP ENO ENAME TITLE SAL PROJ PNO PNAME BUDGET WORKS ENO PNO RESP DUR
12
Example Relation Instances
EMP WORKS ENO ENAME TITLE ENO PNO RESP DUR E1 J. Doe Elect. Eng. E1 P1 Manager 12 E2 M. Smith Syst. Anal. E2 P1 Analyst 24 E3 A. Lee Mech. Eng. E2 P2 Analyst 6 E4 J. Miller Programmer E3 P3 Consultant 10 E5 B. Casey Syst. Anal. E3 P4 Engineer 48 E6 L. Chu Elect. Eng. E4 P2 Programmer 18 E7 R. Davis Mech. Eng. E5 P2 Manager 24 E6 P4 Manager 48 E8 J. Jones Syst. Anal. E7 P3 Engineer 36 E7 P5 Engineer 23 E8 P3 Manager 40 PROJ PNO PNAME BUDGET P1 Instrumentation 150000 P2 Database Develop. 135000 P3 CAD/CAM 250000 P4 Maintenance 310000 P5 CAD/CAM 500000
13
Properties Based on the set theory All attribute values are atomic
no ordering among attributes and tuples no duplicate tuples allowed value-oriented: tuples are identified by the attributes values All attribute values are atomic no repeating groups Degree number of attributes Cardinality number of tuples
14
Integrity Constraints
Key Constraints Key: a set of attributes that uniquely identifies tuples Candidate key: a minimum set of attributes that form a key Primary key: a designated candidate key Data Constraints Functional dependency, multivalued dependency, join dependency check constraints Others Null constraints Referential constraints
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.