introduction to database systems cs2300: file structures...

18
CS2300: File Structures and Introduction to Database Systems Doug McGeehan

Upload: others

Post on 04-Apr-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to Database Systems CS2300: File Structures anddjmvfb/courses/cs2300/static/media... · 2018-11-28 · – Elmasri, R. and Navathe, S., Fundamentals of Database Systems,

CS2300: File Structures and Introduction to Database Systems

Doug McGeehan

Page 2: Introduction to Database Systems CS2300: File Structures anddjmvfb/courses/cs2300/static/media... · 2018-11-28 · – Elmasri, R. and Navathe, S., Fundamentals of Database Systems,

Classroom Courtesy

• Please have your phones on silent during class

• Please don’t distract yourself or others by playing with your laptop / phones

Page 3: Introduction to Database Systems CS2300: File Structures anddjmvfb/courses/cs2300/static/media... · 2018-11-28 · – Elmasri, R. and Navathe, S., Fundamentals of Database Systems,

What is a database?

What is a database system?

Why this course?

Page 4: Introduction to Database Systems CS2300: File Structures anddjmvfb/courses/cs2300/static/media... · 2018-11-28 · – Elmasri, R. and Navathe, S., Fundamentals of Database Systems,

4

What is a Database?

• Database:– A collection of related data.

• Data:– Known facts that can be recorded and have an

implicit meaning.• Mini-world:

– Some part of the real world about which data is stored in a database.

4

Page 5: Introduction to Database Systems CS2300: File Structures anddjmvfb/courses/cs2300/static/media... · 2018-11-28 · – Elmasri, R. and Navathe, S., Fundamentals of Database Systems,

5

Databases are ubiquitous in our lives

Page 6: Introduction to Database Systems CS2300: File Structures anddjmvfb/courses/cs2300/static/media... · 2018-11-28 · – Elmasri, R. and Navathe, S., Fundamentals of Database Systems,

6

What is a Database System? • Database Management System (DBMS)

– A software package/ system to facilitate the creation and maintenance of a computerized database

– Data Definitions (data types, structures, constraints) – Data Constructions (storing data on some storage medium)– Data Manipulations (querying, update, report generation)

• Database System– The DBMS software together with the data itself.

Sometimes, the applications are also included.

6

Page 7: Introduction to Database Systems CS2300: File Structures anddjmvfb/courses/cs2300/static/media... · 2018-11-28 · – Elmasri, R. and Navathe, S., Fundamentals of Database Systems,

7

Database SystemsYou and your Mom each take $100 from the same account but different ATM’s at about the same time.

$ -100 ? or

$ -200 ?

Page 8: Introduction to Database Systems CS2300: File Structures anddjmvfb/courses/cs2300/static/media... · 2018-11-28 · – Elmasri, R. and Navathe, S., Fundamentals of Database Systems,

Course Goal

• Understand the foundations on which today’s workis built– Existing database systems– Abstract thinking about real world modeling with Databases– How data is stored on commercial storage devices– Efficient querying and manipulating data

• Build your own database systems by the end of the semester – Complete a 3-phase semester-long course project

8

Page 9: Introduction to Database Systems CS2300: File Structures anddjmvfb/courses/cs2300/static/media... · 2018-11-28 · – Elmasri, R. and Navathe, S., Fundamentals of Database Systems,

Course Information & Policies

Page 10: Introduction to Database Systems CS2300: File Structures anddjmvfb/courses/cs2300/static/media... · 2018-11-28 · – Elmasri, R. and Navathe, S., Fundamentals of Database Systems,

10

Contact

• In the syllabus• Contact Information: Doug McGeehan

– Office: CS 346– Office hours: By Appointment Only– Email: [email protected]

• Course Website: https://mst.edu/~djmvfb/courses/cs2300

• Canvas: http://canvas.mst.edu

Page 11: Introduction to Database Systems CS2300: File Structures anddjmvfb/courses/cs2300/static/media... · 2018-11-28 · – Elmasri, R. and Navathe, S., Fundamentals of Database Systems,

11

Course Outline1. Course Introduction2. Database System Concepts3. Disk storage, basic file structures and hashing 4. Entity-Relationship Model5. Enhanced Entity-Relationship Model6. Relational Data Model7. Relational Data Model Mapping8. Relational Algebra9. SQL

10. Functional Dependency11. Indexing structures for files

The tentative course schedule is on canvas

Page 12: Introduction to Database Systems CS2300: File Structures anddjmvfb/courses/cs2300/static/media... · 2018-11-28 · – Elmasri, R. and Navathe, S., Fundamentals of Database Systems,

12

Course Methodology• Lectures to present the concepts

– Unless otherwise noted, all the materials that you are expected to know will be covered in class

– Interaction (questions/discussion/thinking) encouraged

• Textbook is optional. Reading will fill in the details.– Elmasri, R. and Navathe, S., Fundamentals of Database

Systems, 7th Edition, Addison-Wesley Publishing Company

• Homework and Projects get you to understand what you’ve been taught– 3 written homework– 1 programming project including 3 phases– 3 quizzes

Page 13: Introduction to Database Systems CS2300: File Structures anddjmvfb/courses/cs2300/static/media... · 2018-11-28 · – Elmasri, R. and Navathe, S., Fundamentals of Database Systems,

13

Evaluation and Grading• Points earned as follows:

– Midterm (20%), Final Exam (30%)– Homework (20%), Projects (20%)– Quiz (5%)– Instructor’s evaluation (5%)

• In-class discussions/participation• Overall perception of quality of your work in ways that may not

be reflected in your scores– Extra credit: Canvas discussions (≤ 5%)

• Late work penalized 20% per day within 48 hours of the time it is due. No credit after that.

• Estimate of how final grades will be assigned90‑100% A; 80‑89% B; 70-79% C; 60‑69% D; below 60% F.

Page 14: Introduction to Database Systems CS2300: File Structures anddjmvfb/courses/cs2300/static/media... · 2018-11-28 · – Elmasri, R. and Navathe, S., Fundamentals of Database Systems,

Important Information• ILLNESS AND ABSENCES

– Nobody wants your germs– Don’t come to class sick– Email me and get a doctor’s note

• HOMEWORK AND PROJECT– Complete as a group, everybody shares the same grade– Report concerns about non-contributing group members and

I’ll address it discreetly– My grader is a student just like you with deadlines and

coursework. Please be patient.

14

Page 15: Introduction to Database Systems CS2300: File Structures anddjmvfb/courses/cs2300/static/media... · 2018-11-28 · – Elmasri, R. and Navathe, S., Fundamentals of Database Systems,

Important Information• ACADEMIC DISHONESTY

– Any act of cheating will result in a score of 0 for the entire assignment and a report to the Office of Academic Affairs

– http://registrar.mst.edu/academicregs/index.html

• SPECIAL NEEDS– If you have a documented disability and anticipate needing

accommodations in this course, you will need to request that the Disability Services staff send a letter to me verifying your disability.

– http://counsel.mst.edu/

15

Page 16: Introduction to Database Systems CS2300: File Structures anddjmvfb/courses/cs2300/static/media... · 2018-11-28 · – Elmasri, R. and Navathe, S., Fundamentals of Database Systems,

Course Project

• Find your group members. Each group should have no more than 3 members.

• Send an email to me about your group no later than 11:59pm Sept 3 (2 weeks from now)

• If you have difficulty forming a group,contact me.

16

Page 17: Introduction to Database Systems CS2300: File Structures anddjmvfb/courses/cs2300/static/media... · 2018-11-28 · – Elmasri, R. and Navathe, S., Fundamentals of Database Systems,

Start Your Project Now

• To have a successful project, start learning how to design some application with an underlying database NOW

• Implement project in whatever framework you want to learn:– Web app, Smartphone App, Desktop, etc– No C or C++

• Python 3 + Flask + SQLite3 will be presented• Creative projects correlate with higher grades

Page 18: Introduction to Database Systems CS2300: File Structures anddjmvfb/courses/cs2300/static/media... · 2018-11-28 · – Elmasri, R. and Navathe, S., Fundamentals of Database Systems,

What’s Next…

• Python 3 + Flask + SQLite3 tutorial• Basic concepts of database systems

– Chapter 1 and 2

• Please email your group information to me by 11:59pm Sept. 3.– Each group needs only one project lead to email the full names

of group members + a group name– If you need any help on finding a group, please email me as well