CS 445 Introduction to Database Systems

CS 445 Introduction to Database Systems

CS 445 Introduction to Database Systems TTh 2:45-4:20pm Chadd Williams CS445 08/12/19 Pacific University 1 Overview ● Practical introduction to databases – theory + hands on projects ● Topics – Relational Model ● Relational Algebra/Calculus/ Theory – Database Design ● ER Diagrams – Structured Query Language (SQL) – Web accessible databases / Architecture / Model-View-Controller – Non-structured Data (NoSQL) ● There will be a number of lab days for hands on work CS445 08/12/19 Pacific University 2 Syllabus ● Database Management Systems (3rd), Ramakrishnan & Gehrke ● Design Docs 8 pts Grades: First DB Assignment MySQL DB 12 pts Midterm 1 15% Design Docs 25 pts Midterm 2 15% MySQL DB 30 pts Final 20% Big DB Assignment Homework/Labs/Quizzes 10% Web Interface 15 pts Database Projects 40% Presentations 10 pts ● Quizzes: frequent, unannounced, open-note quizzes will be given ● Late Policy: No late assignments accepted ● Grade Complaints: one paragraph summary of why the grade is wrong, within one week of receiving the graded material ● http://zeus.cs.pacificu.edu/chadd/cs445f19 CS445 08/12/19 Pacific University 3 Database Projects ● All database projects are to be done using MariaDB – https://mariadb.org/ – http://www.apachefriends.org/ (XAMPP) LAMP – PHP 7 for web projects ● Tools – dbeaver – CodeLite ● First DB Assignment – Learn to use MySQL & SQL ● Big Database Project – You (and a friend) design, document, and implement a database – Build a web-based front end – 5 minute presentation of your design / 7-10 minute presentation of your final design and implementation CS445 08/12/19 Pacific University 4 ● Linux skills are a must – ssh cat – cp less – mv diff – cd tar – scp – geany If you don't have your zeus – ls password, see me soon! Refresh: http://zeus.cs.pacificu.edu/chadd/cs300f18/Assignments/BasicLinuxExercise.pdf CS445 08/12/19 Pacific University 5 Introduction to Databases ● Read Chapter 1 ● What's a database? – DBMS? Review Questions at the end of each chapter are great ● exam and quiz Why do we use one? study guides. ● Who uses one? ● How do we model the data? CS445 08/12/19 Pacific University 6 Basic Database Usage Scenario Webserver PHP The Database User CS445 08/12/19 Pacific University 7 More Complicated Database Usage Scenario PHP Webserver The Database Application Server User CS445 08/12/19 Pacific University 8 Database Trends ● SQL / RDBMS – relational database systems – entities are related to other entities – relationships my optionally have attributes – strict structure of data (tables, (rows, columns, datatypes)) – SQL: Structured Query Language – Very powerful and expressive ● ad-hoc queries – ACID: strict guarantees of correctness ● Atomicity, Consistency, Isolation, Durability – Online Analytical Processing (OLAP) ● business intelligence ● complex queries / ad hoc queries ● structured data – originally: poor performance on web scale data CS445 08/12/19 Pacific University 9 Database Trends ● NoSQL – built for web data – Online Transaction Processing (OLTP) ● poorly defined ● availability, speed, concurrency, recoverability ● high throughput/insert or update intensive ● web services ● often no ad-hoc queries – Schema-less (collection of fields) – built for big data / lots of text data (document store, graphs) – Availability/Scalability/Low Latency – Distributed (Consistency/Availability/Partition Tolerance (2)) – may sacrifice consistency CS445 08/12/19 Pacific University 10 Database Trends ● NewSQL – Relational data model – Make SQL scalable like NoSQL – Maintain ACID – non-locking concurrency (reads and writes don’t conflict) – high per node performance – scale-out, shared nothing architecture – Online Transaction Processing (OLTP) – VoltDB – MySQL Cluster database engine CS445 08/12/19 Pacific University 11 Why not just use a text file/file system/XML? ● Data Independence ● Efficient Data Access ● Data Integrity and Security ● Data Administration ● Concurrent Access/Crash Recovery ● Reduced Application Development Time (page 9) CS445 08/12/19 Pacific University 12 Storing data in the DB ● Data Models ● Semantic Data Model (high level) – Entity-Relationship (ER) Model ● Entity: ● Relationship: ● Relational Data Model (low level) ● Schema ● Constraints/Integrity CS445 08/12/19 Pacific University 13 Relational Databases ● Well defined structure of data – schema ● Flexible queries NoSQL databases schema queries CS445 08/12/19 Pacific University 14 What's inside a Relational database? ● Tables ● Indexes/Keys ● Data CS445 08/12/19 Pacific University 15 How do we access the data? ● Query Language – Structured Query Language (SQL) – What types of queries can we run? CS445 08/12/19 Pacific University 16 What about multiple users? ● Transactions ● Concurrency CS445 08/12/19 Pacific University 17 Dirty Details ● Figure 1.3 page 20 CS445 08/12/19 Pacific University 18 Car Dealership ● Work in pairs ● You have 15 minutes then we will discuss CS445 08/12/19 Pacific University 19.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    19 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us