"Relations for Relationships"
|
|
- May Leonard
- 5 years ago
- Views:
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 [talking head] This lecture we study theory design and implementation. Programmers have two roles to play here. In one role, they
More informationDatabase 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 informationRelational 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 informationIntroduction 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 informationTowards 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 informationCS233: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)
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 information6.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 informationChapter 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 informationCOSC344 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 informationLecture 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 informationPropositional 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 informationSOFTWARE 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 informationCS103 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 informationSTABILITY 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 informationRELATIONAL 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 informationRelational 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 informationCS 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 informationHandout 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 informationM359: 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 informationMIDTERM 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 information6. 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 informationRelational 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 informationFormal 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 informationDatabase 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 informationDatabase 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 informationCS211 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 informationER 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 informationUncertain 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 informationRelational 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 informationLecture 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 informationDatabase 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 informationM359 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 informationTutorial 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 information6.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 informationKnowledge 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 informationRelational 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 informationDOWNLOAD 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 informationER 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 informationInstructor: 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 informationCS252: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 informationEntity 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 informationUnderstanding 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 informationIntroduction 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 informationIt 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 informationRelational 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 informationJoint 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 informationMITOCW 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 informationCS317 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 informationAn 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 informationDATABASE 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 informationAlgebraic 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 informationCS 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 informationTable : 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 informationMathematical 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 information6.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 informationCS 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 informationCombinatorics 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)
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 informationCPS122 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 information3 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 informationCSCI 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 informationEDMS. 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 informationDATA 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 informationDatabase 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 informationSemantics 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 informationSOFTWARE 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 informationEntity 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 informationFundamentals, 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 informationITCS 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 informationNormalisation 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 informationDatabase 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 information4. 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 informationChapter 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 informationRAQUEL 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 informationPublication 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 informationChapter 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 informationEECS-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 informationIncomplete 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 informationDatabase 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 information3.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 informationLecturer 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 informationChapter 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 informationThe 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 informationHigh 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 informationRelational 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 informationCourse 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 informationMITOCW 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 information8) 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 informationThe 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 informationChapter 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 informationRelational 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 informationRecursively 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 informationThe 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 informationSafe 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 informationCS403- 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 informationTrombone 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 informationLecture 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 informationFinal 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 informationLecture 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