Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
CS 101 – Nov. 9 Text software issues (continued) – Readability – Fonts • Database concepts – Relationships – Queries Readability • First, need to measure: – Words per sentence – Syllables per word • How to Write Plain English by Flesch: 206.835 – 84.6*spw– 1.015*wps 90’s = fifth grade 30’s = college level Fonts • Font = style of printing – Typeface – Point size – Ex. Times 10, Helvetica 12 • Fonts can be distinguished by – Sarif or sans sarif – Proportional or non-proportional Font types • Sarif = has feet • Sans sarif = no feet – Look at: i, h, n, r, … (but not t!) • Proportional = width of characters changes • Non-proportional = all have same width Access review • Purpose: Manage data • Parts of a database – If your database has only 1 table, you are better off using Excel • Relationship between tables? – – – – None One-to-one One-to-many (most common) Many-to-many Table design • What fields to we need? – Age? store birth date – GPA? store credits and quality points – What year? store date of admission • Store data in its smallest parts (e.g. address) • Calculated fields don’t belong in table! Queries • Usually we ask about info from 2+ tables. • By default, a query will perform an operation called a Cartesian Product, which gives all possible combinations. • Ex. Name and City tables: Name Bob Mary Ken City Miami Pittsburgh Cartesian Product • Given 2 sets, find all possible ordered pairs. – Analogously for more than 2 sets. • Great example: choosing a menu. – Appetizer – Entrée – Dessert • Unfortunately, most DB queries are not like this! We get too many results. Relationships • We want to tell Access that there is a relationship between the tables, so we can create meaningful query. • One-to-many is most common – “Each city has one or more employees.” – Now, query will return 3 results instead of 6: Miami Pittsburgh Bob Mary Ken One-to-One Empl # Name Position Empl # Salary 101 Smith Welder 102 18,000 102 Jones carpenter 101 17,000 • Can be useful if some information is confidential. • What if we didn’t have any relationship? 1-1 Query • When you combine tables that have a 1-1 relationship: Access will look for fields that are the same, and use this as a filter. – In previous example, we’ll have 2 results instead of 4. Employee 101’s information Employee 102’s information – Let’s look at another example. • What happens when we “join” these 1-1 tables? First name Bob Bob Bob Alice First name Bob Elena Alice Last name Fuller Daniels Daniels Andrews Position accountant cashier accountant gardener Last name Salary Daniels 51,000 Carlson 21,000 Andrews 81,000 City Chicago Greenville Indianapolis Greenville Birthday 7/1/67 9/1/89 8/1/78 First name Last name Position City Bob Fuller accountant Chicago Bob Daniels cashier Greenville Bob Daniels accountant Indianapolis Alice Andrews gardener Greenville First name Last name Salary Birthday Bob Daniels 51,000 7/1/67 Elena Carlson 21,000 9/1/89 Alice Andrews 81,000 8/1/78 First Last Bob Daniels Bob Daniels Position City Salary cashier Greenville 51,000 accountant Indianapolis 51,000 Alice Andrews gardener Greenville 81,000 Birthday 7/1/67 7/1/67 8/1/78 Relationship summary • When you have 2+ tables, there is almost always a relationship • They share one field in common. – Can you tell what it is? • Ex. Customers & Orders • Ex. Publishers & books • Ex. Students & Class roster Example One-many Relationships • Referential integrity – Keep related records consistent – Cascade delete: allow deletion of “one” – Cascade update: allow update of “one” • For example, changing someone’s CustomerID. Many-to-many • Ex. Customers to products • Implement as 2 one-to-one • “Order details” table • Think of possible queries based on the 5 tables given in handout.