180 likes | 272 Views
Discover the qualities needed in an information system to boost marketing and advertising efficiency in business operations. Learn about relational data models, databases, domains, types, relations, keys, and constraints.
E N D
Relational Data Models Matt Dube – Doctoral Student, Spatial Information Science and Engineering
Scenario • Consider you are running a business. You are in the realms of marketing, advertising, and customer service. Since you are running the business, your time is stretched so thin based on the economic conditions… • In regards to an information system, what qualities do you need to make your marketing and advertising operations more efficient?
What do I need and not need? • NEEDS: • Quick means for identification • Customer service • Required account data • Billing information • Differentiation • Strategic advertising • Information reduction • Only certain data important • Integrative • Larger scale company interaction • Purchase history • Who bought what? • TO AVOID: • Duplication • Resource allocation • Excessive table attributes • Difficulty in usage
Relational Data Model • OMG! • That is a lot to worry about. • Thankfully, these things have already been designed
Relational Databases • Definition of relation • Relations are tables that express data linkages • A set of operations on those relations • How to extract certain pieces from the relation • An algebra of relational operations • Most efficient ways to go about getting a particular result
Relations • Since relations are tables, they have rows and columns • Each relation has a unique name • Each column represents an attribute about an entity • Each row represents a tuple of attributes linked to a particular entity
Domain • Recall from mathematics what the domain is: • f(x) = y for x in X • X is the domain of the function • Domain is the set of possible values for a function • Domain in terms of a relational database is thus the relevant values to choose from for a particular attribute • Every attribute must have a domain, and that domain may differ for every attribute
Example Domains • Let’s figure out the following relevant domains: • United States • Alphabet • MaineStreet Student ID Numbers • GPA • Baseball Positions • Land Use Types • Square Root of X • Message: every single idea you can conceive of has a set domain
Domains vs. Types • Domain is the set of values that are permissible • Phone Numbers are ten digit numbers • Domains need not be unique to an attribute • Daytime Phone Numbers • Evening Phone Numbers • Type is the classification of an attribute • Number, String, Floating Point, etc. • Difference between these?
Mathematical Definition of a Relation • A relation R is a subset of the Cartesian product of all of its n attribute domains Di • Cartesian product: think of the plane • A relation is a subset of D1 X D2 X … X Dn-1 X Dn
The Set of Tuples • Recall that each row in a table is called a tuple • Since a relation is a table, it is a set of tuples • Important properties of tuples • All tuples are distinct • Order of tuples is not important, but can be imposed • Why are those properties important? Think in your disciplines…
Proof of Keys • Since all the tuples must be unique, there must be a unique identifier • Proof: • Select an arbitrary tupleA and a second arbitrary tupleB. Since each tuple is unique, there exists an attribute k such that A(k) ≠ B(k). Since A and B are arbitrary, all possible combinations of tuples are accounted for. Thus there exists a unique identifier (namely the whole tuple) to identify arbitrary A from arbitrary B.
Keys (continued) • A key suggests there is a smaller way to query the relation to get the desired tuple • What conditions do we want for keys? • Small (fewest attributes possible) • Relevant (sensible for the relation’s purpose) • Multiple keys might exist
Three Types of Keys • Candidate Key • A set of attributes known to be unique in the relation • Primary Key • Designer’s choice of the attribute identifier for its tuples • Composite Key • A key which involves more than one attribute
Constraints for Relations • Attribute names are unique • What if they weren’t? • Domain values must be atomic • Think terminal symbols • What if they weren’t? • Every relation must have at least one key • We already proved that
Wednesday • Relevant operators for relations • Constructing a relation out of code • HOMEWORK: Think of an example in your discipline where a relational data model could help. What attributes are important? What are their domains? What would you use to key the model? Why? • Bring to class on Wednesday to discuss (not collected)