Set Theory as a Framework for Relational Databases
A set can be a collection of any type of object, ranging from people to places to things. Basic set theory includes the study of subsets, proper subsets, finite and infinite sets, and the logical operations on them. Set theory plays a foundational role in mathematical processes and ideas and also has connections to computer engineering, programming, and databases.
The relational database model, originally invented by computer scientist Edgar F. Codd in 1969, is based on ideas from set theory. A simple database is a collection of records stored in tables. A relational database also includes relationships stored across multiple tables. One can run queries on the relational database to request specific information with set theory operators, such as union and intersection.
Post 1: Initial Response
Imagine you are responsible for your organization’s analytic tasks, and you are currently brainstorming how to query a relational database of marketing information for the organization. You want to test your understanding of how you might relate the database tables with the use of set theory, and particularly subsets. To carry out your test, complete each of the following:
To define two sets, set A and set B, first conduct an online browsing trial, in which you spend 10–20 minutes looking at different websites, such as for national news, social media, sports, hobbies, recipes, etc. Let set A represent exactly three distinct company names from any online advertisements you saw during your browsing trial. Let set B represent at least three distinct company names for any online retailers you have purchased from in the past year.
To prepare to use your algorithm, answer the following questions:
How many elements are in set A? This is what you will set as m = ___.
How many elements are in set B? This is what you will set as n = ___.
What are your first and last elements of A? Show these as a = ____ and a[m] = ___.*
What are your first and last elements of B? Show these as b = ____ and b[n] = ___.*
*Note: Recognize that there are other elements you will cycle through as you trace the algorithm. While you are not required to list all elements in this form, you will need to use them, in addition to the first and last elements, as you complete your trace.
Using your sets A and B along with what you just outlined to prepare, determine an algorithm that you can use to see whether A ⊆ B.
State the algorithm that you would use to compare these sets.
Based on your algorithm, did you find that A ⊆ B or that A ⊈ B? Explain. If A ⊈ B, how are they related (e.g., disjoint, intersecting)?