1 / 25

CS1022 Computer Programming & Principles

CS1022 Computer Programming & Principles. Lecture 4.2 Relations (2). Plan of lecture. Equivalence relations Set partition Partial order Total order Database management systems. Equivalence relation. A relation R on A which is Reflexive ( x  A  ( x , x )  R ),

gotzon
Download Presentation

CS1022 Computer Programming & Principles

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS1022Computer Programming & Principles Lecture 4.2 Relations (2)

  2. Plan of lecture • Equivalence relations • Set partition • Partial order • Total order • Database management systems CS1022

  3. Equivalence relation • A relation R on A which is • Reflexive (x  A (x, x)  R), • Symmetric ((x, y)  R)  ((y, x)  R)), and • Transitive (((x, y)  Rand (y, z)  R)  (x, z)  R) is called an equivalence relation • Equivalence relation generalises/abstracts equality • Pairs share some common features • Example: • Relation “has same age” on a set of people – related people belong to “same age sub-group” • Natural way to split up elements (partition) CS1022

  4. Set partition (1) • Underlying set A of equivalence relation Rcan be split into disjoint (no intersection) sub-sets • Elements of subsets are all related and equivalent to each other • “Equivalent” is well-defined (and can be checked) • Very important concept • Underpins classification systems CS1022

  5. Set partition (2) • A partition of a set A is a collection of non-empty subsets A1, A2, , An, such that • A A1A2  An • i, j, 1 i  n, 1  j  n, i  j, AiAj   • Subsets Ai, 1 i  n, are blocks of the partition • Sample Venn diagram: 5 blocks • Blocks do not overlap • Their intersection is empty A A2 A1 A3 A4 A5 CS1022

  6. Set partition (3) • Subsets/partitions consist of related elements of A • Equivalence class Ex, of any x A, is the set Ex z A : zR x • Theorem: • Let R be an equivalence relation on a non-empty set A • The distinct equivalence classes form a partition of A • Proof in 4 parts: • Show that equivalent classes are non-empty subsets of A • Show that if xR y then Ex Ey • Show that A Ex1Ex2  Exn • Show that for any two Ex and Ey, ExEy   CS1022

  7. Set partition (4) • Example: relation R on R (real numbers) defined as xRy if, and only if, x y is an integer Is an equivalence relation. • Proof: • Since x x  0 for any real number x, then R is reflexive • If x y is an integer then y x  (x  y) is the negative of an integer, which is an integer, hence R is symmetric • If x y and y z are integers then x z  (x y) + (y z) is the sum of two integers, which is another integer, so R is transitive • Therefore R is an equivalence relation CS1022

  8. Set partition (5) • Our previous example is x  R, Ex  z  R : (z x) Z • We can obtain the following equivalence classes: E0  z  R : (z 0) Z  Z (all integers) E½ z R:(z ½)Z,1½,½,½,1½,2½,  E2 z  R:(z2)Z,12,2,1  2,2  2,  CS1022

  9. Partial order (1) • A relation R on A which is • Reflexive (x  A (x, x)  R), • Anti-symmetric ((x, y)  R) and (x  y))  ((y, x)  R)), and • Transitive (((x, y)  Rand (y, z)  R)  (x, z)  R) Is a partial order • Sets on which partial order is defined are “posets” • Partial orders help us defining precedence • Decide when an element precedes another • Establish an order among elements • Sample partial orders • “” on the set R of real numbers • “” on subsets of some universe set CS1022

  10. Partial order (2) • If R is a partial order on A and x R y, x  y, we call • x a predecessor of y • y a successor of y • An element may have many predecessors • If x is a predecessor of y and there is no z, x Rz and z Ry, then x is an immediate predecessor of y • We represent this as xy CS1022

  11. Partial order (3) • Immediate predecessors graphically represented as a Hasse diagram: • Vertices are elements of posetA • If xy, vertex x is placed below y and joined by edge • A Hasse diagram has complete information about original partial order • Provided we infer which elements are predecessors of others, by working our way upwards on chain of edges CS1022

  12. Partial order (4) • Example: relation “is a divisor of” on set A = 1, 2, 3, 6, 12, 18 • Defines a partial order • Table of predecessors & immediate predecessors 12 18 6 2 3 1 CS1022

  13. Total order • A total order on a set A is a partial ordering in which every pair of elements are related. • The Hasse diagram of a total order is a long chain • Examples of total orders: • Relation “” on Real numbers • Lexicographical ordering of words in a dictionary • In computing: • Sorting algorithms require total ordering of elements • Posets with minimal/maximal elements useful too CS1022

  14. Database management systems (1) • Data with lifespan • Data stored in variables only exist while program runs • Data shown on screen only exist while being shown • Some data must be persistent • It should be kept for hours, days, months or even years • Simple way to make data persistent: files • Data saved electronically on your hard-disk • Records (lines) contain numbers, strings, etc. • A “flat file” allows sequential processing of records: • To access line/record n, we must read previous n1 lines CS1022

  15. Database management systems (2) • Alternative to “flat files”: databases • Databases allow efficient access to records • We can directly access record n • We can search for records which meet some criteria • Database management system (DBMS) • Means to create and manage databases (notice plural) • Infra-structure to organise/store data, records • Means to access/query records • No need to create our own database systems • Existing solutions – stable technology, free, efficient, scale up • MySQL (www.mysql.com) • Trend: databases in the “cloud” (Amazon) CS1022

  16. Database management systems (3) • Data in DB must be thought out • Only data needed should be there • Same data should not appear in two (or more) places • If data can be obtained from other data, then it should not be stored (e.g., unit price and total batch price) • Challenge of database design/management • Selecting the “right” data • Organising data (what should go with what and where) • Deciding when to re-design databases (due to problems) CS1022

  17. Tables (1) • Data in DB stored as tables • Table T1: Personal details (student record system) • ID. Numbers should be unique • Names can be repeated (e.g., Smith) • Problems when listing students by name CS1022

  18. Tables (2) • A table with n columns A1, A2, , An is a subset of the Cartesian product A1  A2    An • All records should be members of the product CS1022

  19. Tables (3) • Table T2: Course results • Table is Cartesian product of • Names  Marks  Marks  Marks  Marks • Rows are elements • (Jones, B, C, B, D) • (Grant, C, B, A, C) CS1022

  20. Database operations • DBMS provides operations on tables to • Extract information • Modify tables and • Combine tables • Some of these operations are • Project • Join • Select CS1022

  21. Project operation • Selects columns of a table to form a new table • T3 = project(T1,{Name, Address}) yields CS1022

  22. Join operation • Takes two tables and joins their information • Puts together tuples which agree on attributes • join(T3, T2) yields CS1022

  23. Select operation • Extracts rows of a table which satisfy criteria • select(T1, (Sex = M and Marital Status = Married)) • Contrast with • T5 = {(I,N,S,D,M,A) : • (I,N,S,D,M,A)  T1 andS = M andM = Married} CS1022

  24. Summary You should now know: • What equivalence relations are • Definition of set partition • Partial and total order of a relation • Concepts of database management systems CS1022

  25. Further reading • R. Haggarty. “Discrete Mathematics for Computing”. Pearson Education Ltd. 2002. (Chapter 4) CS1022

More Related