knowledge-kitchen
/
course-notes
class: center, middle # Exam 1 Review Database Design --- # Agenda 1. [Overview](#overview) 1. [Plain Text Data Formats](#text) 1. [Data Munging](#munging) 1. [Spreadsheets](#spreadsheets) 1. [SQL](#sql) 1. [Normalization & Entity-Relationship Diagrams](#normalization) 1. [Conclusions](#conclusions) --- name: overview # Overview --- template: overview ## Format The exam will be composed of two parts: -- - A Google Form, similar to a Quiz (30%) -- - A GitHub Classroom repository, similar to an assignment (70%) --- template: overview ## Time Start anytime and submit anytime within a 24 hour window. --- template: overview ## Topics covered The topics covered on the exam: -- - Do you really need a slide about this? --- template: overview name: markdown-code-block ## Entering responses in GitHub repository The GitHub repository asks you to enter your responses to specific questions into a `README.md` file. --- template: markdown-code-block - A placeholder **code block** is given for each question where you must enter your responses. ![Rendered Markdown code block](../assets/exams/markdown_code_block_rendered.png) --- template: markdown-code-block - In the raw Markdown code, this code block looks like this: ![Raw Markdown code block](../assets/exams/markdown_code_block_raw.png) --- template: markdown-code-block - You _must_ enter your response within the code block. ![Raw Markdown code block](../assets/exams/markdown_code_block_filled.png) -- - Do not modify anything outside of the code blocks. --- name: text # Plain Text Data Formats -- template: text ## Key points Main topics: -- - common formats: CSV, JSON, XML, HTML, fixed-width column -- - structured data vs unstructured data -- - fixed schema vs loose schema -- - nesting values within values --- name: munging # Data Munging -- template: munging ## Key points Main topics: -- - common data problems -- - reading/writing text files in standard Python -- - character encoding -- - useful modules: csv, json, Beautiful Soup, pandas (it exists) --- name: spreadsheets # Spreadsheets -- template: spreadsheets ## Key points Main topics: -- - row/column structure -- - import/export CSV -- - formulas -- - simple aggregate statistics -- - more complex statistics with one or more criteria -- - advanced: pivot tables and charts --- name: sql # SQL -- template: sql ## Key points Main topics: -- - terminology: tables, records, fields -- - dot functions -- - primary key/foreign key -- - SQL CRUD tasks -- - simple aggregate statistics -- - more complex grouping, ordering -- - joins: inner and outer --- name: normalization # Normalization & Entity-Relationship Diagrams -- template: normalization ## Key points Main topics: -- - the purpose of normalization and E-R diagramming -- - first through fourth normal forms -- - symbols in E-R Diagrams -- - cardinality --- name: conclusions # Conclusions -- Thank you. Good luck.