"Relations for Relationships"

Size: px
Start display at page:

Download ""Relations for Relationships""

Transcription

1 M359 An explanation from Hugh Darwen "Relations for Relationships" This note might help those who have struggled with M359's so-called "relation for relationship" method of representing, in a relational database design, something that is shown as a relationship in an E-R model. Preamble It is useful to reflect on why the term relation was introduced by logicians, long before the idea of relational databases came about for the formal construct that M359 is (almost) all about. And the reason is indeed the close connection in English between the words relation and relationship. The following definitions are from the Shorter Oxford English Dictionary (SOED): relation n. 2 The existence or effect of a connection, correspondence, or contrast between things; the particular way in which one thing stands in connection with another; any connection or association conceivable as naturally existing between things. relationship n. The state or fact of being related; a connection, an association,... If you read about relations in any introductory text on logic, you will probably find that the term is used specifically for what we now call binary relations relations of degree two, i.e., having two attributes in our terminology. And familial relationships such as "a is a parent of b", "a is a sibling of b" and so on are often used as examples. Reminder: "a is a parent of b" is an example of a predicate in two variables (a and b). The corresponding relation is the set of all pairs of a and b values that satisfy the predicate. Such a pair satisfies the predicate if the result of substituting them for the variables in the predicate is a true statement (a true proposition). But some relations involve more than two things. For example, that I am your tutor on M359 involves two people (me and you) and a course: three things altogether. Aside: Moreover, the relation here irreducibly involves all three things: that t is s's tutor on course c doesn't always follow from the facts that t teaches c, s studies c, and t is somehow eligible to be s's tutor. (If it did, you would have two tutors this year on M359 and the fact that I am your tutor could be expressed via three smaller relations, "Hugh teaches M359", "<you> are studying M359", and "Hugh and <you> are in the same region".) End of aside. It was E.F. Codd's great insight that gave us the notion that the way we normally record facts in databases can conveniently be represented in the form of n-ary relations. And he was among the first to note that n could even be less than 2, even though it can hardly be said that a relation of degree 1 1 is "a connection, correspondence or contrast between things". But the point I want to make is that 1 Relations of degree 0 also exist in the theory, but alas Codd didn't notice them and so they don't appear in many texts on the subject (including M359). There are only two such relations, because there is only one 0-tuple (the tuple with no attributes and therefore no values at all). A relation of degree 0 is either empty or contains just that 0-tuple. Page 1 of 7

2 every relation that is of degree 2 or more does indeed represent a relationship between (or among) things. But not all relationships (in the general sense) are represented in E-R models by relationships (in the E-R sense). Some are represented by attributes in the E-R sense of that term, not the relational sense, though the two senses are almost identical. That an attribute represents a special case of a relationship is shown by the following alternative representation of the Nurse entity type shown in the Hospital conceptal data model: StaffNo Identifies Nurse IsCalled NurseName Here each attribute has become an entity type. That NurseName is an attribute of Nursee is indicated by the IsCalled relationship; similarly, Identifies indicates that StaffNo is an attribute of Nurse. Of course, not every E-R relationship can be represented by an attribute. In fact, only those that satisfy the following conditions can be: The entity type to which the attribute is to belong (Nurse in my example) must have mandatory participation (indicated by a blob). That's because an attribute requires every entity of the type in question to have a value for that attribute. There must be no crow's foot on the entity type that is to become an attribute. That's because an attribute requires every entity of the type to which it belongs to have exactly one value for that attribute. The entity type that is to become an attribute must not participate in any other relationships. And that means it cannot have any attributes either. The big point arising from this observation is that, really, every relation in a relational design is a "relation for relationship(s)"! 2 Foreign key placement and "relation for relationship" So, what is the real distinction being made between the two methods foreign key placement and "relation for relationship" that M359 teaches for representing an E-R relationship? Well, the distinction lies in a very important observation that comes up towards the end of Block 2 when we study normal forms and their relevance to database design issues. The observation is that, wherever a relational design RD1 includes an n-ary relation r where n is greater than 2, it might be possible to replace r by two or more relations, each of degree less than n, such that the resulting design RD2 is logically equivalent to RD1 (i.e., RD2 is capable of representing exactly the same information 2 Codd, in his 1970 paper, used the term "relationship" to distinguish his notion of relation from the older mathematical notion in which the order in which the attributes appear has significance. Having pointed out the distinction, he then used the mathematical term anyway in the rest of the paper. Well, otherwise we wouldn't have had the useful adjective, "relational"! Page 2 of 7

3 as RD1). In such cases, we might need to consider the advantages and disadvantages of each design in deciding which one to plump for, and that is what I'll now do. Staying with the Hospital example, consider Doctor, the entity type shown as Doctor(StaffNo, DoctorName, Position). If we ignore the connection to Specalist, we might represent it in a relational design by relation Doctor Here is a predicate for Doctor: The doctor with staff number StaffNo is called DoctorName and has position Position. But note how that sentence uses elision to combine two sentences, logically joined together by "and", into a single sentence. If we were to write this single sentence in symbolic logic and than translate it back into English, word for word, we would arrive at The doctor with staff number StaffNo is called DoctorName and the doctor with staff number StaffNo has position Position. Also note very carefully that as a consequence of this design, every doctor whose existence is recognised by the database must have a staff number, a name, and a position exactly one of each, in fact. Now, I can take that longwinded version of the predicate and write it as two separate sentences, replacing the word "and" by a full stop, like this: (a) The doctor with staff number StaffNo is called DoctorName. (b) the doctor with staff number StaffNo has position Position. On the basis of a relation for each predicate, that would lead us to this alternative design: relation DoctorN relation DoctorP You should be able to see easily that this design is capable of representing exactly the same information as the single Doctor relation. Every tuple in Doctor can be split into two, so long as each resulting portion includes a copy of the primary key value (StaffNo). We can express this observation using relational algebra, as follows: DoctorN = project Doctor over StaffNo, DoctorName DoctorP = project Doctor over StaffNo, Position Doctor = DoctorN join DoctorP Page 3 of 7

4 But if the second design is to be truly logically equivalent to the first, then it must faithfully enforce the same constraints as the first. Implicit in the first design is a constraint I have already mentioned, that every doctor whose existence is recognised by the database has exactly one each of a staff number, a name, a position and a specialism. That constraint would have to be stated explicitly in the second design, as follows: relation DoctorN foreign key StaffNo references DoctorP relation DoctorP foreign key StaffNo references DoctorN So, on the assumption that the single Doctor relation really does meet our requirements, we would probably prefer that design to the more complicated DoctorN/DoctorP one (and it is actually problematical in the current state of our technology because few, if any, implementations provide adequate support for "referential cycles" like the simple one illustrated here you would need to be able to insert tuples into both relations simultaneously to avoid violating those foreign key constraints). But supposing the requirements turn out to have been incorrectly stated, because the assumption that every doctor has a position is not after all a safe one. In that case the following small revision of the second design is not merely preferred it is a necessary consequence! All I do is remove the foreign key constraint from DoctorN. relation DoctorN relation DoctorP foreign key StaffNo references DoctorN Representing E-R relationships in a relational design Now consider the relationship HeadedBy that connects Doctor entities to Team entities in the Hospital E-R model. The Team entity type is given as Team(TeamCode, TelephoneNo). We could represent it by the following relation: relation Team TeamCode TeamCodes TelephoneNo Phonenos primary key TeamCode whose predicate is, simply Page 4 of 7

5 The team with team code TeamCode can be contacted by phone on TelephoneNo. Because a Team entity is identified by a TeamCode value, the HeadedBy relationship is necessarily represented by pairs (2-tuples) of (Head, TeamCode) values constituting the relation for the predicate "The team TeamCode is headed by the doctor Head". I'll now show how the two ways in which "foreign key" method results from combining this predicate with an existing one, and how the "relation for relationship" method arises from not combining it with any other predicate. Foreign key placement method We can use and to combine the "headed by" predicate with the predicate for Team to give The team with team code TeamCode can be contacted by phone on TelephoneNo and is headed by the doctor Head. The relation for that combined predicate would be {Design 1 - correct} relation Team TeamCode TeamCodes TelephoneNo Phonenos Head StaffNumbers primary key TeamCode foreign key Head references Doctor Here we are using the foreign key placement method, where the Team relation acquires an extra attribute, Head, to represent the relationship. Note the inference that every team has to have a head, and in fact exactly one head. If that is the case (and indeed it is, if we are to believe the E-R diagram), then Design 1 is correct and could be chosen. Alternatively, we might consider combining the "headed by" predicate with that for Doctor, yielding The doctor with staff number StaffNo is called DoctorName, has position Position, specialises in Specialism, and heads the team HeadOf. for which the corresponding relation would be {Design 2 - incorrect!} relation Doctor HeadOf TeamCodes foreign key HeadOf references Team Again we are using the foreign key method but here Doctor is the target of the placement. Note the inference, now, that every doctor has to be the head of some team and in fact exactly one team. The E-R diagram tells us that this is not the case, so Design 2 would be incorrect and cannot be chosen. Page 5 of 7

6 In case you are aware of SQL's concept of null, please note very carefully that no such concept forms part of relational database theory. The concept is illogical and unsound. Relational theory, however, is logical and therefore sound, which proves that null is not part of it! More to the point, relational theory is firmly rooted in classical logic, with its two truth values, true and false. SQL admits a third truth value, unknown, and that lies at the root of most of the problems introduced by null. In SQL, where null is admitted, Design 2 can be considered, but that would not be a wise choice. Finally, we don't have to combine the "headed by" predicate with either of the other two. We can just take it as it is, in which case the relation for it would be {Design 3 - correct!} relation HeadedBy Head StaffNumbers TeamCode TeamCodes primary key TeamCode foreign key Head references Doctor foreign key TeamCode references Team This is the "relation for relationship" method. Although I have marked Design 3 "correct", as things stand it is now possible not only for a doctor to exist who heads no team (as required by the E-R model) but also for a team to exist that nobody heads (contrary to the requirements of the E-R model). If we adopt Design 3, therefore, we must also add a foreign key constraint to the relation Team, referencing HeadedBy, to force every team to be headed by somebody; but we might prefer Design 1, for exactly the same reason as that which leads us to choose the Doctor relation in preference to the DoctorN/DoctorP design. Note, however, that Design 3 is rather more flexible than Design 1, in the face of possible changes in requirements. If it becomes possible for a team to have several joint heads, we would have to replace Design 1 by Design 3, with possible knock-on effects for applications. With Design 3 all we would need to do is change the primary key of HeadedBy to include both attributes. 1:1 relationships and alternate keys Actually, Design 1 and Design 3 are still incomplete. Notice that they both allow several different teams to have the same head, contrary to the E-R model, whose diagram shows HeadedBy to be 1:1. Exercise: make sure you understand fully why this is so! To complete the design we need to add the following constraint, to Team in Design 1 and to HeadedBy in Design 3: alternate key Head An alternate key specification has exactly the same semantics as primary key. Page 6 of 7

7 Conclusion In conclusion, then, we can state categorically that the relation for relationship method is never logically incorrect and is in fact required whenever any of the following conditions holds (examples are given from the Hospital conceptual data model): there is a circle at each end of the relationship line (e.g., Supervises); there is a crow's foot at each end (no examples in Hospital); there is a crow's foot at one end only but there is also a circle at that end (e.g., ConsistOf). In all other cases the foreign key placement method can be used, and might even be preferred, so long as the attribute 3 in question is placed in the relation corresponding to the entity type at the end showing a blob. If there is a blob at each end, then it must be placed in the relation corresponding to the entity type at the end showing a crow's foot. If there is a blob at each end and the relationship is 1:1, then the attribute can be placed in either relation (but not both!). END 3 Or attributes, when composite keys are involved it is convenient to discuss these issues in terms of singleton keys only, without any loss of generality. Page 7 of 7

Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5

Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5 Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5 [talking head] This lecture we study theory design and implementation. Programmers have two roles to play here. In one role, they

More information

Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No.

Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. # 3 Relational Model Hello everyone, we have been looking into

More information

Relational Data Model

Relational Data Model Relational Data Model 1. Relational data model Information models try to put the real-world information complexity in a framework that can be easily understood. Data models must capture data structure

More information

Introduction to Relational Databases. Introduction to Relational Databases cont: Introduction to Relational Databases cont: Relational Data structure

Introduction to Relational Databases. Introduction to Relational Databases cont: Introduction to Relational Databases cont: Relational Data structure Databases databases Terminology of relational model Properties of database relations. Relational Keys. Meaning of entity integrity and referential integrity. Purpose and advantages of views. The relational

More information

Towards a Logical Reconstruction of Relational Database Theory

Towards a Logical Reconstruction of Relational Database Theory Towards a Logical Reconstruction of Relational Database Theory On Conceptual Modelling, Lecture Notes in Computer Science. 1984 Raymond Reiter Summary by C. Rey November 27, 2008-1 / 63 Foreword DB: 2

More information

CS233:HACD Introduction to Relational Databases Notes for Section 4: Relational Algebra, Principles and Part I 1. Cover slide

CS233:HACD Introduction to Relational Databases Notes for Section 4: Relational Algebra, Principles and Part I 1. Cover slide File: CS233-HACD-Notes4.doc Printed at: 16:15 on Friday, 28 October, 2005 CS233:HACD Introduction to Relational Databases Notes for Section 4: Relational Algebra, Principles and Part I 1. Cover slide In

More information

(Refer Slide Time 3:31)

(Refer Slide Time 3:31) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 5 Logic Simplification In the last lecture we talked about logic functions

More information

6.001 Notes: Section 8.1

6.001 Notes: Section 8.1 6.001 Notes: Section 8.1 Slide 8.1.1 In this lecture we are going to introduce a new data type, specifically to deal with symbols. This may sound a bit odd, but if you step back, you may realize that everything

More information

Chapter 4. The Relational Model

Chapter 4. The Relational Model Chapter 4 The Relational Model Chapter 4 - Objectives Terminology of relational model. How tables are used to represent data. Connection between mathematical relations and relations in the relational model.

More information

COSC344 Database Theory and Applications. σ a= c (P) Lecture 3 The Relational Data. Model. π A, COSC344 Lecture 3 1

COSC344 Database Theory and Applications. σ a= c (P) Lecture 3 The Relational Data. Model. π A, COSC344 Lecture 3 1 COSC344 Database Theory and Applications σ a= c (P) S P Lecture 3 The Relational Data π A, C (H) Model COSC344 Lecture 3 1 Overview Last Lecture Database design ER modelling This Lecture Relational model

More information

Lecture 03. Spring 2018 Borough of Manhattan Community College

Lecture 03. Spring 2018 Borough of Manhattan Community College Lecture 03 Spring 2018 Borough of Manhattan Community College 1 2 Outline 1. Brief History of the Relational Model 2. Terminology 3. Integrity Constraints 4. Views 3 History of the Relational Model The

More information

Propositional Logic. Part I

Propositional Logic. Part I Part I Propositional Logic 1 Classical Logic and the Material Conditional 1.1 Introduction 1.1.1 The first purpose of this chapter is to review classical propositional logic, including semantic tableaux.

More information

SOFTWARE ENGINEERING DESIGN I

SOFTWARE ENGINEERING DESIGN I 2 SOFTWARE ENGINEERING DESIGN I 3. Schemas and Theories The aim of this course is to learn how to write formal specifications of computer systems, using classical logic. The key descriptional technique

More information

CS103 Spring 2018 Mathematical Vocabulary

CS103 Spring 2018 Mathematical Vocabulary CS103 Spring 2018 Mathematical Vocabulary You keep using that word. I do not think it means what you think it means. - Inigo Montoya, from The Princess Bride Consider the humble while loop in most programming

More information

STABILITY AND PARADOX IN ALGORITHMIC LOGIC

STABILITY AND PARADOX IN ALGORITHMIC LOGIC STABILITY AND PARADOX IN ALGORITHMIC LOGIC WAYNE AITKEN, JEFFREY A. BARRETT Abstract. Algorithmic logic is the logic of basic statements concerning algorithms and the algorithmic rules of deduction between

More information

RELATIONAL DATA MODEL

RELATIONAL DATA MODEL RELATIONAL DATA MODEL EGCO321 DATABASE SYSTEMS KANAT POOLSAWASD DEPARTMENT OF COMPUTER ENGINEERING MAHIDOL UNIVERSITY RELATIONAL DATA STRUCTURE (1) Relation: A relation is a table with columns and rows.

More information

Relational Model. Rab Nawaz Jadoon DCS. Assistant Professor. Department of Computer Science. COMSATS IIT, Abbottabad Pakistan

Relational Model. Rab Nawaz Jadoon DCS. Assistant Professor. Department of Computer Science. COMSATS IIT, Abbottabad Pakistan Relational Model DCS COMSATS Institute of Information Technology Rab Nawaz Jadoon Assistant Professor COMSATS IIT, Abbottabad Pakistan Management Information Systems (MIS) Relational Model Relational Data

More information

CS 377 Database Systems

CS 377 Database Systems CS 377 Database Systems Relational Data Model Li Xiong Department of Mathematics and Computer Science Emory University 1 Outline Relational Model Concepts Relational Model Constraints Relational Database

More information

Handout 9: Imperative Programs and State

Handout 9: Imperative Programs and State 06-02552 Princ. of Progr. Languages (and Extended ) The University of Birmingham Spring Semester 2016-17 School of Computer Science c Uday Reddy2016-17 Handout 9: Imperative Programs and State Imperative

More information

M359: Relational Databases: theory and practice Notes to accompany slides on Relational Algebra

M359: Relational Databases: theory and practice Notes to accompany slides on Relational Algebra File: M359-Notes-on-RA.doc Printed at: 17:43 on Monday, 11 April, 2011 1. Cover slide M359: Relational Databases: theory and practice Notes to accompany slides on Relational Algebra Hugh Darwen An algebra

More information

MIDTERM EXAMINATION Spring 2010 CS403- Database Management Systems (Session - 4) Ref No: Time: 60 min Marks: 38

MIDTERM EXAMINATION Spring 2010 CS403- Database Management Systems (Session - 4) Ref No: Time: 60 min Marks: 38 Student Info StudentID: Center: ExamDate: MIDTERM EXAMINATION Spring 2010 CS403- Database Management Systems (Session - 4) Ref No: 1356458 Time: 60 min Marks: 38 BC080402322 OPKST 5/28/2010 12:00:00 AM

More information

6. Relational Algebra (Part II)

6. Relational Algebra (Part II) 6. Relational Algebra (Part II) 6.1. Introduction In the previous chapter, we introduced relational algebra as a fundamental model of relational database manipulation. In particular, we defined and discussed

More information

Relational Model History. COSC 416 NoSQL Databases. Relational Model (Review) Relation Example. Relational Model Definitions. Relational Integrity

Relational Model History. COSC 416 NoSQL Databases. Relational Model (Review) Relation Example. Relational Model Definitions. Relational Integrity COSC 416 NoSQL Databases Relational Model (Review) Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Relational Model History The relational model was proposed by E. F. Codd

More information

Formal Methods of Software Design, Eric Hehner, segment 1 page 1 out of 5

Formal Methods of Software Design, Eric Hehner, segment 1 page 1 out of 5 Formal Methods of Software Design, Eric Hehner, segment 1 page 1 out of 5 [talking head] Formal Methods of Software Engineering means the use of mathematics as an aid to writing programs. Before we can

More information

Database Management

Database Management Database Management - 2011 Model Answers 1. a. A data model should comprise a structural part, an integrity part and a manipulative part. The relational model provides standard definitions for all three

More information

Database Management System (15ECSC208) UNIT I: Chapter 2: Relational Data Model and Relational Algebra

Database Management System (15ECSC208) UNIT I: Chapter 2: Relational Data Model and Relational Algebra Database Management System (15ECSC208) UNIT I: Chapter 2: Relational Data Model and Relational Algebra Relational Data Model and Relational Constraints Part 1 A simplified diagram to illustrate the main

More information

CS211 Lecture: Database Design

CS211 Lecture: Database Design CS211 Lecture: Database Design Objectives: last revised November 21, 2006 1. To introduce the anomalies that result from redundant storage of data 2. To introduce the notion of functional dependencies

More information

ER Modeling ER Diagram ID-Dependent and Weak Entities Pg 1

ER Modeling ER Diagram ID-Dependent and Weak Entities Pg 1 ER Modeling ER Diagram ID-Dependent and Weak Entities Pg 1 ER Diagram ID-Dependent and Weak Entities Ray Lockwood Points: An ID-dependent entity is an entity whose identifier (key) includes the identifier

More information

Uncertain Data Models

Uncertain Data Models Uncertain Data Models Christoph Koch EPFL Dan Olteanu University of Oxford SYNOMYMS data models for incomplete information, probabilistic data models, representation systems DEFINITION An uncertain data

More information

Relational model continued. Understanding how to use the relational model. Summary of board example: with Copies as weak entity

Relational model continued. Understanding how to use the relational model. Summary of board example: with Copies as weak entity COS 597A: Principles of Database and Information Systems Relational model continued Understanding how to use the relational model 1 with as weak entity folded into folded into branches: (br_, librarian,

More information

Lecture 03. Fall 2017 Borough of Manhattan Community College

Lecture 03. Fall 2017 Borough of Manhattan Community College Lecture 03 Fall 2017 Borough of Manhattan Community College 1 2 Outline 1 Brief History of the Relational Model 2 Terminology 3 Integrity Constraints 4 Views 3 History of the Relational Model The Relational

More information

Database System Concepts Ebooks Free

Database System Concepts Ebooks Free Database System Concepts Ebooks Free Database System Concepts by Silberschatz, Korth and Sudarshan is now in its 6th edition and is one of the cornerstone texts of database education. It presents the fundamental

More information

M359 Block4 - Lecture11 Eng/ Waleed Omar. Database life cycle

M359 Block4 - Lecture11 Eng/ Waleed Omar. Database life cycle Database life cycle EXERCISE 3.3 What is the principal difference between a conceptual data model and the relational representation of the conceptual data model? SOLUTION The conceptual data model describes

More information

Tutorial 2: Relational Modelling

Tutorial 2: Relational Modelling Tutorial 2: Relational Modelling Informatics 1 Data & Analysis Week 4, Semester 2, 2014 2015 This worksheet has three parts: tutorial Questions, followed by some Examples and their Solutions. Before your

More information

6.001 Notes: Section 6.1

6.001 Notes: Section 6.1 6.001 Notes: Section 6.1 Slide 6.1.1 When we first starting talking about Scheme expressions, you may recall we said that (almost) every Scheme expression had three components, a syntax (legal ways of

More information

Knowledge representation Semantic networks and frames

Knowledge representation Semantic networks and frames Knowledge representation Semantic networks and frames CmSc310 Artificial Intelligence 1. Introduction: What is knowledge? The science that studies various issues about knowledge is called epistemology.

More information

Relational Model History. COSC 304 Introduction to Database Systems. Relational Model and Algebra. Relational Model Definitions.

Relational Model History. COSC 304 Introduction to Database Systems. Relational Model and Algebra. Relational Model Definitions. COSC 304 Introduction to Database Systems Relational Model and Algebra Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Relational Model History The relational model was

More information

DOWNLOAD PDF INSIDE RELATIONAL DATABASES

DOWNLOAD PDF INSIDE RELATIONAL DATABASES Chapter 1 : Inside Microsoft's Cosmos DB ZDNet Inside Relational Databases is an excellent introduction to the topic and a very good resource. I read the book cover to cover and found the authors' insights

More information

ER Modeling Data Modeling and the Entity-Relationship (ER) Diagram Pg 1

ER Modeling Data Modeling and the Entity-Relationship (ER) Diagram Pg 1 ER Modeling Data Modeling and the Entity-Relationship (ER) Diagram Pg 1 Data Modeling and the Entity-Relationship (ER) Diagram Ray Lockwood Points: The Entity-Relationship (ER) Diagram is seen by various

More information

Instructor: Craig Duckett. Lecture 04: Thursday, April 5, Relationships

Instructor: Craig Duckett. Lecture 04: Thursday, April 5, Relationships Instructor: Craig Duckett Lecture 04: Thursday, April 5, 2018 Relationships 1 Assignment 1 is due NEXT LECTURE 5, Tuesday, April 10 th in StudentTracker by MIDNIGHT MID-TERM EXAM is LECTURE 10, Tuesday,

More information

CS252:HACD Fundamentals of Relational Databases Notes for Section 9: Database Design Issues, Part II

CS252:HACD Fundamentals of Relational Databases Notes for Section 9: Database Design Issues, Part II File: CS252-HACD-Notes9.doc Printed at: 16:15 on Wednesday, 29 September, 2010 1. Cover slide CS252:HACD Fundamentals of Relational Databases Notes for Section 9: Database Design Issues, Part II Now at

More information

Entity Relationship Diagram (ERD): Basics

Entity Relationship Diagram (ERD): Basics Entity Relationship Diagram (ERD): Basics CIS 3730 Designing and Managing Data J.G. Zheng Fall 2010 Overview: 3 Level Database Design Creating an Entity Relationship Diagram (ERD) and associated data dictionary

More information

Understanding Recursion

Understanding Recursion Understanding Recursion sk, rob and dbtucker (modified for CS 536 by kfisler) 2002-09-20 Writing a Recursive Function Can we write the factorial function in AFunExp? Well, we currently don t have multiplication,

More information

Introduction to Sets and Logic (MATH 1190)

Introduction to Sets and Logic (MATH 1190) Introduction to Sets and Logic () Instructor: Email: shenlili@yorku.ca Department of Mathematics and Statistics York University Dec 4, 2014 Outline 1 2 3 4 Definition A relation R from a set A to a set

More information

It Might Be Valid, But It's Still Wrong Paul Maskens and Andy Kramek

It Might Be Valid, But It's Still Wrong Paul Maskens and Andy Kramek Seite 1 von 5 Issue Date: FoxTalk July 2000 It Might Be Valid, But It's Still Wrong Paul Maskens and Andy Kramek This month, Paul Maskens and Andy Kramek discuss the problems of validating data entry.

More information

Relational Model. IT 5101 Introduction to Database Systems. J.G. Zheng Fall 2011

Relational Model. IT 5101 Introduction to Database Systems. J.G. Zheng Fall 2011 Relational Model IT 5101 Introduction to Database Systems J.G. Zheng Fall 2011 Overview What is the relational model? What are the most important practical elements of the relational model? 2 Introduction

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

MITOCW watch?v=kz7jjltq9r4

MITOCW watch?v=kz7jjltq9r4 MITOCW watch?v=kz7jjltq9r4 PROFESSOR: We're going to look at the most fundamental of all mathematical data types, namely sets, and let's begin with the definitions. So informally, a set is a collection

More information

CS317 File and Database Systems

CS317 File and Database Systems CS317 File and Database Systems Lecture 3 Relational Model & Languages Part-1 September 7, 2018 Sam Siewert More Embedded Systems Summer - Analog, Digital, Firmware, Software Reasons to Consider Catch

More information

An Evolution of Mathematical Tools

An Evolution of Mathematical Tools An Evolution of Mathematical Tools From Conceptualization to Formalization Here's what we do when we build a formal model (or do a computation): 0. Identify a collection of objects/events in the real world.

More information

DATABASE MANAGEMENT SYSTEM SHORT QUESTIONS. QUESTION 1: What is database?

DATABASE MANAGEMENT SYSTEM SHORT QUESTIONS. QUESTION 1: What is database? DATABASE MANAGEMENT SYSTEM SHORT QUESTIONS Complete book short Answer Question.. QUESTION 1: What is database? A database is a logically coherent collection of data with some inherent meaning, representing

More information

Algebraic Specifications

Algebraic Specifications Object-Oriented Design Lecture 2 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 11, 2007 Algebraic Specifications Last time I said a word about the abstraction barrier, separating the clients from the implementors.

More information

CS Reading Packet: "Entity-relationship modeling, part 1"

CS Reading Packet: Entity-relationship modeling, part 1 CS 325 - Reading Packet: "Entity-relationship modeling, part 1" p. 1 CS 325 - Reading Packet: "Entity-relationship modeling, part 1" NOTE: you are required to follow course standards for ERDs, regardless

More information

Table : IEEE Single Format ± a a 2 a 3 :::a 8 b b 2 b 3 :::b 23 If exponent bitstring a :::a 8 is Then numerical value represented is ( ) 2 = (

Table : IEEE Single Format ± a a 2 a 3 :::a 8 b b 2 b 3 :::b 23 If exponent bitstring a :::a 8 is Then numerical value represented is ( ) 2 = ( Floating Point Numbers in Java by Michael L. Overton Virtually all modern computers follow the IEEE 2 floating point standard in their representation of floating point numbers. The Java programming language

More information

Mathematical Logic Prof. Arindama Singh Department of Mathematics Indian Institute of Technology, Madras. Lecture - 37 Resolution Rules

Mathematical Logic Prof. Arindama Singh Department of Mathematics Indian Institute of Technology, Madras. Lecture - 37 Resolution Rules Mathematical Logic Prof. Arindama Singh Department of Mathematics Indian Institute of Technology, Madras Lecture - 37 Resolution Rules If some literals can be unified, the same algorithm should be able

More information

6.001 Notes: Section 31.1

6.001 Notes: Section 31.1 6.001 Notes: Section 31.1 Slide 31.1.1 In previous lectures we have seen a number of important themes, which relate to designing code for complex systems. One was the idea of proof by induction, meaning

More information

CS 252: Fundamentals of Relational Databases: SQL5

CS 252: Fundamentals of Relational Databases: SQL5 CS 252: Fundamentals of Relational Databases: SQL5 Dr. Alexandra I. Cristea http://www.dcs.warwick.ac.uk/~acristea/ Careful study of these notes is best left until most of the lectures on CS252 have been

More information

Combinatorics Prof. Dr. L. Sunil Chandran Department of Computer Science and Automation Indian Institute of Science, Bangalore

Combinatorics Prof. Dr. L. Sunil Chandran Department of Computer Science and Automation Indian Institute of Science, Bangalore Combinatorics Prof. Dr. L. Sunil Chandran Department of Computer Science and Automation Indian Institute of Science, Bangalore Lecture - 5 Elementary concepts and basic counting principles So, welcome

More information

(Refer Slide Time: 06:01)

(Refer Slide Time: 06:01) Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 28 Applications of DFS Today we are going to be talking about

More information

CPS122 Lecture: From Python to Java last revised January 4, Objectives:

CPS122 Lecture: From Python to Java last revised January 4, Objectives: Objectives: CPS122 Lecture: From Python to Java last revised January 4, 2017 1. To introduce the notion of a compiled language 2. To introduce the notions of data type and a statically typed language 3.

More information

3 February 2011 CSE-3421M Test #1 p. 1 of 14. CSE-3421M Test #1. Design

3 February 2011 CSE-3421M Test #1 p. 1 of 14. CSE-3421M Test #1. Design 3 February 2011 CSE-3421M Test #1 p. 1 of 14 CSE-3421M Test #1 Design Sur / Last Name: Given / First Name: Student ID: Instructor: Parke Godfrey Exam Duration: 75 minutes Term: Winter 2011 Answer the following

More information

CSCI 403: Databases 13 - Functional Dependencies and Normalization

CSCI 403: Databases 13 - Functional Dependencies and Normalization CSCI 403: Databases 13 - Functional Dependencies and Normalization Introduction The point of this lecture material is to discuss some objective measures of the goodness of a database schema. The method

More information

EDMS. Architecture and Concepts

EDMS. Architecture and Concepts EDMS Engineering Data Management System Architecture and Concepts Hannu Peltonen Helsinki University of Technology Department of Computer Science Laboratory of Information Processing Science Abstract

More information

DATA MODELS FOR SEMISTRUCTURED DATA

DATA MODELS FOR SEMISTRUCTURED DATA Chapter 2 DATA MODELS FOR SEMISTRUCTURED DATA Traditionally, real world semantics are captured in a data model, and mapped to the database schema. The real world semantics are modeled as constraints and

More information

Database Fundamentals

Database Fundamentals Database Fundamentals presented to NYPHP May 22, 2007 by Kenneth Downs Secure Data Software, Inc. ken@secdat.com www.secdat.com www.andromeda project.org Pre Relational In the bad old days, every program

More information

Semantics via Syntax. f (4) = if define f (x) =2 x + 55.

Semantics via Syntax. f (4) = if define f (x) =2 x + 55. 1 Semantics via Syntax The specification of a programming language starts with its syntax. As every programmer knows, the syntax of a language comes in the shape of a variant of a BNF (Backus-Naur Form)

More information

SOFTWARE ENGINEERING Prof.N.L.Sarda Computer Science & Engineering IIT Bombay. Lecture #10 Process Modelling DFD, Function Decomp (Part 2)

SOFTWARE ENGINEERING Prof.N.L.Sarda Computer Science & Engineering IIT Bombay. Lecture #10 Process Modelling DFD, Function Decomp (Part 2) SOFTWARE ENGINEERING Prof.N.L.Sarda Computer Science & Engineering IIT Bombay Lecture #10 Process Modelling DFD, Function Decomp (Part 2) Let us continue with the data modeling topic. So far we have seen

More information

Entity Attribute STUDENT TABLE tuples single domain

Entity Attribute STUDENT TABLE tuples single domain Objectives Computer Science 202 Database Systems: Relational Database Model To learn the basic relational database components and concepts. To become familiar with the relational table's components and

More information

Fundamentals, Design, and Implementation, 9/e Copyright 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e by David M.

Fundamentals, Design, and Implementation, 9/e Copyright 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e by David M. Chapter 5 Database Design Elements of Database Design Fundamentals, Design, and Implementation, 9/e Chapter 5/2 The Database Design Process Create tables and columns from entities and attributes Select

More information

ITCS 3160 DATA BASE DESIGN AND IMPLEMENTATION

ITCS 3160 DATA BASE DESIGN AND IMPLEMENTATION ITCS 3160 DATA BASE DESIGN AND IMPLEMENTATION JING YANG 2010 FALL Class 3: The Relational Data Model and Relational Database Constraints Outline 2 The Relational Data Model and Relational Database Constraints

More information

Normalisation Chapter2 Contents

Normalisation Chapter2 Contents Contents Objective... 64 Superkey & Candidate Keys... 65 Primary, Alternate and Foreign Keys... 65 Functional Dependence... 67 Using Instances... 70 Normalisation Introduction... 70 Normalisation Problems...

More information

Database Management System 9

Database Management System 9 Database Management System 9 School of Computer Engineering, KIIT University 9.1 Relational data model is the primary data model for commercial data- processing applications A relational database consists

More information

4. Entity Relationship Model

4. Entity Relationship Model 4. Entity Relationship Model a) ER-Model: Used to construct conceptual data model, representing the structure and constraints of a database, which is not dependent on a software (like DBMS) or any data

More information

Chapter 3. The Relational database design

Chapter 3. The Relational database design Chapter 3 The Relational database design Chapter 3 - Objectives Terminology of relational model. How tables are used to represent data. Connection between mathematical relations and relations in the relational

More information

RAQUEL s Relational Operators

RAQUEL s Relational Operators Contents RAQUEL s Relational Operators Introduction 2 General Principles 2 Operator Parameters 3 Ordinary & High-Level Operators 3 Operator Valency 4 Default Tuples 5 The Relational Algebra Operators in

More information

Publication Data. Reading Options. Licence and permissions ISBN Mark Jago, 2007

Publication Data. Reading Options. Licence and permissions ISBN Mark Jago, 2007 Running Head The World is all that is the case http//www.humanities-ebooks.co.uk Philosophy Insights General Editor: Mark ddis Formal Logic Mark Jago What makes an argument valid? For advice on use of

More information

Chapter Summary. Mathematical Induction Recursive Definitions Structural Induction Recursive Algorithms

Chapter Summary. Mathematical Induction Recursive Definitions Structural Induction Recursive Algorithms Chapter Summary Mathematical Induction Recursive Definitions Structural Induction Recursive Algorithms Section 5.1 Sec.on Summary Mathematical Induction Examples of Proof by Mathematical Induction Mistaken

More information

EECS-3421a: Test #1 Design

EECS-3421a: Test #1 Design 2016 October 12 EECS-3421a: Test #1 1 of 14 EECS-3421a: Test #1 Design Electrical Engineering & Computer Science Lassonde School of Engineering York University Family Name: Given Name: Student#: EECS Account:

More information

Incomplete Information: Null Values

Incomplete Information: Null Values Incomplete Information: Null Values Often ruled out: not null in SQL. Essential when one integrates/exchanges data. Perhaps the most poorly designed and the most often criticized part of SQL:... [this]

More information

Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No.

Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. # 13 Constraints & Triggers Hello and welcome to another session

More information

3.1 Constructions with sets

3.1 Constructions with sets 3 Interlude on sets Sets and functions are ubiquitous in mathematics. You might have the impression that they are most strongly connected with the pure end of the subject, but this is an illusion: think

More information

Lecturer 2: Spatial Concepts and Data Models

Lecturer 2: Spatial Concepts and Data Models Lecturer 2: Spatial Concepts and Data Models 2.1 Introduction 2.2 Models of Spatial Information 2.3 Three-Step Database Design 2.4 Extending ER with Spatial Concepts 2.5 Summary Learning Objectives Learning

More information

Chapter 2 & 3: Representations & Reasoning Systems (2.2)

Chapter 2 & 3: Representations & Reasoning Systems (2.2) Chapter 2 & 3: A Representation & Reasoning System & Using Definite Knowledge Representations & Reasoning Systems (RRS) (2.2) Simplifying Assumptions of the Initial RRS (2.3) Datalog (2.4) Semantics (2.5)

More information

The three faces of homotopy type theory. Type theory and category theory. Minicourse plan. Typing judgments. Michael Shulman.

The three faces of homotopy type theory. Type theory and category theory. Minicourse plan. Typing judgments. Michael Shulman. The three faces of homotopy type theory Type theory and category theory Michael Shulman 1 A programming language. 2 A foundation for mathematics based on homotopy theory. 3 A calculus for (, 1)-category

More information

High Performance Computing Prof. Matthew Jacob Department of Computer Science and Automation Indian Institute of Science, Bangalore

High Performance Computing Prof. Matthew Jacob Department of Computer Science and Automation Indian Institute of Science, Bangalore High Performance Computing Prof. Matthew Jacob Department of Computer Science and Automation Indian Institute of Science, Bangalore Module No # 09 Lecture No # 40 This is lecture forty of the course on

More information

Relational Theory and Data Independence: Unfinished Business. Logical Data Independence and the CREATE VIEW Statement.

Relational Theory and Data Independence: Unfinished Business. Logical Data Independence and the CREATE VIEW Statement. Relational Theory and Data Independence: Unfinished Business. Dr. Tom Johnston Much has been made of the data independence that relational technology is said to provide. And indeed, much has been accomplished

More information

Course on Database Design Carlo Batini University of Milano Bicocca Part 5 Logical Design

Course on Database Design Carlo Batini University of Milano Bicocca Part 5 Logical Design Course on Database Design Carlo atini University of Milano icocca Part 5 Logical Design 1 Carlo atini, 2015 This work is licensed under the Creative Commons Attribution NonCommercial NoDerivatives 4.0

More information

MITOCW watch?v=sdw8_0rdzuw

MITOCW watch?v=sdw8_0rdzuw MITOCW watch?v=sdw8_0rdzuw PROFESSOR: Directed acyclic graphs are a special class of graphs that really have and warrant a theory of their own. Of course, "directed acyclic graphs" is lot of syllables,

More information

8) A top-to-bottom relationship among the items in a database is established by a

8) A top-to-bottom relationship among the items in a database is established by a MULTIPLE CHOICE QUESTIONS IN DBMS (unit-1 to unit-4) 1) ER model is used in phase a) conceptual database b) schema refinement c) physical refinement d) applications and security 2) The ER model is relevant

More information

The Java Type System (continued)

The Java Type System (continued) Object-Oriented Design Lecture 5 CSU 370 Fall 2007 (Pucella) Friday, Sep 21, 2007 The Java Type System (continued) The Object Class All classes subclass the Object class. (By default, this is the superclass

More information

Chapter 2 Introduction to Relational Models

Chapter 2 Introduction to Relational Models CMSC 461, Database Management Systems Spring 2018 Chapter 2 Introduction to Relational Models These slides are based on Database System Concepts book and slides, 6th edition, and the 2009 CMSC 461 slides

More information

Relational Database: The Relational Data Model; Operations on Database Relations

Relational Database: The Relational Data Model; Operations on Database Relations Relational Database: The Relational Data Model; Operations on Database Relations Greg Plaxton Theory in Programming Practice, Spring 2005 Department of Computer Science University of Texas at Austin Overview

More information

Recursively Enumerable Languages, Turing Machines, and Decidability

Recursively Enumerable Languages, Turing Machines, and Decidability Recursively Enumerable Languages, Turing Machines, and Decidability 1 Problem Reduction: Basic Concepts and Analogies The concept of problem reduction is simple at a high level. You simply take an algorithm

More information

The Entity-Relationship Model. Overview of Database Design

The Entity-Relationship Model. Overview of Database Design The Entity-Relationship Model Chapter 2, Chapter 3 (3.5 only) Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Overview of Database Design Conceptual design: (ER Model is used at this stage.)

More information

Safe Stratified Datalog With Integer Order Does not Have Syntax

Safe Stratified Datalog With Integer Order Does not Have Syntax Safe Stratified Datalog With Integer Order Does not Have Syntax Alexei P. Stolboushkin Department of Mathematics UCLA Los Angeles, CA 90024-1555 aps@math.ucla.edu Michael A. Taitslin Department of Computer

More information

CS403- Database Management Systems Solved MCQS From Midterm Papers. CS403- Database Management Systems MIDTERM EXAMINATION - Spring 2010

CS403- Database Management Systems Solved MCQS From Midterm Papers. CS403- Database Management Systems MIDTERM EXAMINATION - Spring 2010 CS403- Database Management Systems Solved MCQS From Midterm Papers April 29,2012 MC100401285 Moaaz.pk@gmail.com Mc100401285@gmail.com PSMD01 CS403- Database Management Systems MIDTERM EXAMINATION - Spring

More information

Trombone players produce different pitches partly by varying the length of a tube.

Trombone players produce different pitches partly by varying the length of a tube. Trombone players produce different pitches partly by varying the length of a tube. 7 Variables A variable is a connection between a name and a value.* That sounds simple enough, but some complexities arise

More information

Lecture 3: Recursion; Structural Induction

Lecture 3: Recursion; Structural Induction 15-150 Lecture 3: Recursion; Structural Induction Lecture by Dan Licata January 24, 2012 Today, we are going to talk about one of the most important ideas in functional programming, structural recursion

More information

Final Solution. CS510, Fall 2012, Drexel University Ariel Stolerman

Final Solution. CS510, Fall 2012, Drexel University Ariel Stolerman CS510 Final Solution 1 Ariel Stolerman Final Solution CS510, Fall 2012, Drexel University Ariel Stolerman 1) There is a refinement of the algorithm called the algorithm. Assume that you are given a heuristic

More information

Lecture 6,

Lecture 6, Lecture 6, 4.16.2009 Today: Review: Basic Set Operation: Recall the basic set operator,!. From this operator come other set quantifiers and operations:!,!,!,! \ Set difference (sometimes denoted, a minus

More information