introduction to cs 4604courses.cs.vt.edu/~cs4604/fall09/lectures/lecture-01-introduction.pdf ·...
TRANSCRIPT
![Page 1: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/1.jpg)
About the Course Introduction to Databases
Introduction to CS 4604
T. M. Murali
August 24, 2009
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 2: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/2.jpg)
About the Course Introduction to Databases
Course Information
I Instructor
I T. M. Murali, 2160B Torgerson, 231-8534, [email protected] Office Hours: 9:30am–11:30am Mondays and Wednesdays
I Teaching assistant
I M. Shahriar Hossain, [email protected] Office Hours: 12pm-2pm, Tuesdays and Thursdays, McBryde 106/110.
I Class meeting time
I 4pm–5:15pm, Mondays and Wednesdays, 307 McBryde
I Keeping in Touch
I Course web site http://courses.cs.vt.edu/~cs4604, updatedregularly through the semester
I Listserv: cs4604 [email protected]
I Prerequisites: a grade of C or better in CS 2604, senior standing
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 3: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/3.jpg)
About the Course Introduction to Databases
Textbook
I Required
I A First Course in Database Systems, Third edition, Ullman andWidom, Prentice Hall, 2008.
I Web page for the bookhttp://www-db.stanford.edu/~ullman/fcdb.html
I Also consult list of errata on this web page.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 4: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/4.jpg)
About the Course Introduction to Databases
Course Grading
Homeworks 30% 5–6
Midterm exam 15% October 14
Final exam 25% December 11
Course project 30% 7 assignments
I Projects and homework assignments alternate.
I Submit hard copies of homeworks and project assignments at thestart of class on the due date.
I Each class has required reading. Please consult the course web page.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 5: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/5.jpg)
About the Course Introduction to Databases
Course Project
I Project overview http://courses.cs.vt.edu/~cs4604/Fall09/project/project.html
I 1, 2, or 3 persons per project.
I Project runs the entire semester with regular assignments and a finalimplementation assignment.
I You are free to suggest a project. Talk to me first!
I Send email to Shahriar by 5pm Friday, Aug 28, 2009 stating whichproject you want to work on.
I No more than two groups per project topic.I Check webpage to see which projects are free.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 6: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/6.jpg)
About the Course Introduction to Databases
Why Study Databases?
I Academic:
I Databases involve many aspects of computer scienceI Fertile area of researchI Three Turing awards in databases
I Programmer: a plethora of applications involve using and accessingdatabases
I Businessman: Everybody needs databases ⇒ lots of money to bemade.
I Student:
I Get those last three credits and I don’t have to come back toBlacksburg ever again!!!
I Google will hire me!!I Databases sound cool!I ???
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 7: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/7.jpg)
About the Course Introduction to Databases
Why Study Databases?
I Academic:
I Databases involve many aspects of computer scienceI Fertile area of researchI Three Turing awards in databases
I Programmer: a plethora of applications involve using and accessingdatabases
I Businessman: Everybody needs databases ⇒ lots of money to bemade.
I Student:
I Get those last three credits and I don’t have to come back toBlacksburg ever again!!!
I Google will hire me!!I Databases sound cool!I ???
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 8: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/8.jpg)
About the Course Introduction to Databases
Why Study Databases?
I Academic:
I Databases involve many aspects of computer scienceI Fertile area of researchI Three Turing awards in databases
I Programmer: a plethora of applications involve using and accessingdatabases
I Businessman: Everybody needs databases ⇒ lots of money to bemade.
I Student:
I Get those last three credits and I don’t have to come back toBlacksburg ever again!!!
I Google will hire me!!I Databases sound cool!I ???
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 9: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/9.jpg)
About the Course Introduction to Databases
Why Study Databases?
I Academic:
I Databases involve many aspects of computer scienceI Fertile area of researchI Three Turing awards in databases
I Programmer: a plethora of applications involve using and accessingdatabases
I Businessman: Everybody needs databases ⇒ lots of money to bemade.
I Student:
I Get those last three credits and I don’t have to come back toBlacksburg ever again!!!
I Google will hire me!!I Databases sound cool!I ???
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 10: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/10.jpg)
About the Course Introduction to Databases
Why Study Databases?
I Academic:
I Databases involve many aspects of computer scienceI Fertile area of researchI Three Turing awards in databases
I Programmer: a plethora of applications involve using and accessingdatabases
I Businessman: Everybody needs databases ⇒ lots of money to bemade.
I Student:
I Get those last three credits and I don’t have to come back toBlacksburg ever again!!!
I Google will hire me!!I Databases sound cool!I ???
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 11: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/11.jpg)
About the Course Introduction to Databases
What Will You Learn in CS4604?
I Implementation
I How do you build a system such as ORACLE or MySQL?
I Programming
I How do you use the capabilities of a DBMS?
I Design
I How do you model your data and structure your information in adatabase?
I CS 4604 achieves a balance between
I creating, querying, and implementing realistic databases andI a firm theoretical foundation to designing moderate-sized databases.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 12: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/12.jpg)
About the Course Introduction to Databases
What Will You Learn in CS4604?
I Implementation
I How do you build a system such as ORACLE or MySQL?
I Programming
I How do you use the capabilities of a DBMS?
I Design
I How do you model your data and structure your information in adatabase?
I CS 4604 achieves a balance between
I creating, querying, and implementing realistic databases andI a firm theoretical foundation to designing moderate-sized databases.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 13: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/13.jpg)
About the Course Introduction to Databases
What Will You Learn in CS4604?
I Implementation
I How do you build a system such as ORACLE or MySQL?
I Programming
I How do you use the capabilities of a DBMS?
I Design
I How do you model your data and structure your information in adatabase?
I CS 4604 achieves a balance between
I creating, querying, and implementing realistic databases and
I a firm theoretical foundation to designing moderate-sized databases.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 14: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/14.jpg)
About the Course Introduction to Databases
What Will You Learn in CS4604?
I Implementation
I How do you build a system such as ORACLE or MySQL?
I Programming
I How do you use the capabilities of a DBMS?
I Design
I How do you model your data and structure your information in adatabase?
I CS 4604 achieves a balance between
I creating, querying, and implementing realistic databases andI a firm theoretical foundation to designing moderate-sized databases.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 15: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/15.jpg)
About the Course Introduction to Databases
Course Goals and Outcomes
I Take an English language description and convert it into a workingdatabase application.
I Create E/R models from application descriptions.
I Convert E/R models into relational designs.
I Identify redundancies in designs and remove them using normalisationtechniques.
I Create databases in an RDBMS and enforce data integrity constraintsusing SQL.
I Write sophisticated database queries using SQL.
I Understand tradeoffs between different ways of phrasing the samequery.
I Implement a web interface to a database.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 16: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/16.jpg)
About the Course Introduction to Databases
Course Goals and Outcomes
I Take an English language description and convert it into a workingdatabase application.
I Create E/R models from application descriptions.
I Convert E/R models into relational designs.
I Identify redundancies in designs and remove them using normalisationtechniques.
I Create databases in an RDBMS and enforce data integrity constraintsusing SQL.
I Write sophisticated database queries using SQL.
I Understand tradeoffs between different ways of phrasing the samequery.
I Implement a web interface to a database.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 17: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/17.jpg)
About the Course Introduction to Databases
Course Goals and Outcomes
I Take an English language description and convert it into a workingdatabase application.
I Create E/R models from application descriptions.
I Convert E/R models into relational designs.
I Identify redundancies in designs and remove them using normalisationtechniques.
I Create databases in an RDBMS and enforce data integrity constraintsusing SQL.
I Write sophisticated database queries using SQL.
I Understand tradeoffs between different ways of phrasing the samequery.
I Implement a web interface to a database.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 18: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/18.jpg)
About the Course Introduction to Databases
Course Goals and Outcomes
I Take an English language description and convert it into a workingdatabase application.
I Create E/R models from application descriptions.
I Convert E/R models into relational designs.
I Identify redundancies in designs and remove them using normalisationtechniques.
I Create databases in an RDBMS and enforce data integrity constraintsusing SQL.
I Write sophisticated database queries using SQL.
I Understand tradeoffs between different ways of phrasing the samequery.
I Implement a web interface to a database.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 19: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/19.jpg)
About the Course Introduction to Databases
Course Goals and Outcomes
I Take an English language description and convert it into a workingdatabase application.
I Create E/R models from application descriptions.
I Convert E/R models into relational designs.
I Identify redundancies in designs and remove them using normalisationtechniques.
I Create databases in an RDBMS and enforce data integrity constraintsusing SQL.
I Write sophisticated database queries using SQL.
I Understand tradeoffs between different ways of phrasing the samequery.
I Implement a web interface to a database.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 20: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/20.jpg)
About the Course Introduction to Databases
Course Goals and Outcomes
I Take an English language description and convert it into a workingdatabase application.
I Create E/R models from application descriptions.
I Convert E/R models into relational designs.
I Identify redundancies in designs and remove them using normalisationtechniques.
I Create databases in an RDBMS and enforce data integrity constraintsusing SQL.
I Write sophisticated database queries using SQL.
I Understand tradeoffs between different ways of phrasing the samequery.
I Implement a web interface to a database.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 21: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/21.jpg)
About the Course Introduction to Databases
Course OutlineI Weeks 1–5, 13: Query/Manipulation Languages
I The relational modelI Relational AlgebraI SQLI Data definitionI Programming with SQL
I Weeks 6–8: Data ModellingI Entity-Relationship (E/R) approachI Specifying ConstraintsI Good E/R design
I Weeks 9–13: Relational DesignI Converting ER to “R”I Normalisation to avoid redundancy
I Week 14–15: Students’ choiceI XMLI Query optimisationI Data mining
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 22: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/22.jpg)
About the Course Introduction to Databases
Course OutlineI Weeks 1–5, 13: Query/Manipulation Languages
I The relational modelI Relational AlgebraI SQLI Data definitionI Programming with SQL
I Weeks 6–8: Data ModellingI Entity-Relationship (E/R) approachI Specifying ConstraintsI Good E/R design
I Weeks 9–13: Relational DesignI Converting ER to “R”I Normalisation to avoid redundancy
I Week 14–15: Students’ choiceI XMLI Query optimisationI Data mining
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 23: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/23.jpg)
About the Course Introduction to Databases
Course OutlineI Weeks 1–5, 13: Query/Manipulation Languages
I The relational modelI Relational AlgebraI SQLI Data definitionI Programming with SQL
I Weeks 6–8: Data ModellingI Entity-Relationship (E/R) approachI Specifying ConstraintsI Good E/R design
I Weeks 9–13: Relational DesignI Converting ER to “R”I Normalisation to avoid redundancy
I Week 14–15: Students’ choiceI XMLI Query optimisationI Data mining
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 24: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/24.jpg)
About the Course Introduction to Databases
What is a DBMS?
I Database:
collection of data that exists for a long period of time.
I Database Management System (DBMS) = database + set ofprograms to access/manipulate it
I Features of a DBMS
I Support massive amounts of dataI Persistent and durable storageI Efficient and convenient access (create and query)I Secure, concurrent, and atomic access
I Examples?
I Search engines, banking systems, airline reservations, corporaterecords, payrolls, sales inventories.
I New applications: Wikis, biological/multimedia/scientific/geographicdata, heterogeneous data.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 25: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/25.jpg)
About the Course Introduction to Databases
What is a DBMS?
I Database: collection of data that exists for a long period of time.
I Database Management System (DBMS) = database + set ofprograms to access/manipulate it
I Features of a DBMS
I Support massive amounts of dataI Persistent and durable storageI Efficient and convenient access (create and query)I Secure, concurrent, and atomic access
I Examples?
I Search engines, banking systems, airline reservations, corporaterecords, payrolls, sales inventories.
I New applications: Wikis, biological/multimedia/scientific/geographicdata, heterogeneous data.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 26: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/26.jpg)
About the Course Introduction to Databases
What is a DBMS?
I Database: collection of data that exists for a long period of time.
I Database Management System (DBMS) = database + set ofprograms to access/manipulate it
I Features of a DBMS
I Support massive amounts of dataI Persistent and durable storageI Efficient and convenient access (create and query)I Secure, concurrent, and atomic access
I Examples?
I Search engines, banking systems, airline reservations, corporaterecords, payrolls, sales inventories.
I New applications: Wikis, biological/multimedia/scientific/geographicdata, heterogeneous data.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 27: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/27.jpg)
About the Course Introduction to Databases
What is a DBMS?
I Database: collection of data that exists for a long period of time.
I Database Management System (DBMS) = database + set ofprograms to access/manipulate it
I Features of a DBMS
I Support massive amounts of dataI Persistent and durable storageI Efficient and convenient access (create and query)I Secure, concurrent, and atomic access
I Examples?
I Search engines, banking systems, airline reservations, corporaterecords, payrolls, sales inventories.
I New applications: Wikis, biological/multimedia/scientific/geographicdata, heterogeneous data.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 28: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/28.jpg)
About the Course Introduction to Databases
What is a DBMS?
I Database: collection of data that exists for a long period of time.
I Database Management System (DBMS) = database + set ofprograms to access/manipulate it
I Features of a DBMS
I Support massive amounts of dataI Persistent and durable storageI Efficient and convenient access (create and query)I Secure, concurrent, and atomic access
I Examples?
I Search engines, banking systems, airline reservations, corporaterecords, payrolls, sales inventories.
I New applications: Wikis, biological/multimedia/scientific/geographicdata, heterogeneous data.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 29: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/29.jpg)
About the Course Introduction to Databases
What is a DBMS?
I Database: collection of data that exists for a long period of time.
I Database Management System (DBMS) = database + set ofprograms to access/manipulate it
I Features of a DBMS
I Support massive amounts of dataI Persistent and durable storageI Efficient and convenient access (create and query)I Secure, concurrent, and atomic access
I Examples?
I Search engines, banking systems, airline reservations, corporaterecords, payrolls, sales inventories.
I New applications: Wikis, biological/multimedia/scientific/geographicdata, heterogeneous data.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 30: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/30.jpg)
About the Course Introduction to Databases
Features of a DBMSI Support massive amounts of data
I Giga/tera/petabytesI Far too big for main memory
I Recent trend: databases run on single computers.
I Persistent storageI Programmes update, query, manipulate data.I Data continues to live long after programme finishes.
I Efficient and convenient accessI Efficient: do not search entire database to answer a query.I Convenient: allow users to create and query the data as easily as
possible.
I Secure, concurrent, and atomic accessI Allow multiple users to access database simultaneously.I Allow a user access to only to authorised data.I Provide some guarantee of reliability against system failures.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 31: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/31.jpg)
About the Course Introduction to Databases
Features of a DBMSI Support massive amounts of data
I Giga/tera/petabytesI Far too big for main memoryI Recent trend: databases run on single computers.
I Persistent storageI Programmes update, query, manipulate data.I Data continues to live long after programme finishes.
I Efficient and convenient accessI Efficient: do not search entire database to answer a query.I Convenient: allow users to create and query the data as easily as
possible.
I Secure, concurrent, and atomic accessI Allow multiple users to access database simultaneously.I Allow a user access to only to authorised data.I Provide some guarantee of reliability against system failures.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 32: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/32.jpg)
About the Course Introduction to Databases
Features of a DBMSI Support massive amounts of data
I Giga/tera/petabytesI Far too big for main memoryI Recent trend: databases run on single computers.
I Persistent storageI Programmes update, query, manipulate data.I Data continues to live long after programme finishes.
I Efficient and convenient accessI Efficient: do not search entire database to answer a query.I Convenient: allow users to create and query the data as easily as
possible.
I Secure, concurrent, and atomic accessI Allow multiple users to access database simultaneously.I Allow a user access to only to authorised data.I Provide some guarantee of reliability against system failures.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 33: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/33.jpg)
About the Course Introduction to Databases
Features of a DBMSI Support massive amounts of data
I Giga/tera/petabytesI Far too big for main memoryI Recent trend: databases run on single computers.
I Persistent storageI Programmes update, query, manipulate data.I Data continues to live long after programme finishes.
I Efficient and convenient accessI Efficient: do not search entire database to answer a query.I Convenient: allow users to create and query the data as easily as
possible.
I Secure, concurrent, and atomic accessI Allow multiple users to access database simultaneously.I Allow a user access to only to authorised data.I Provide some guarantee of reliability against system failures.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 34: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/34.jpg)
About the Course Introduction to Databases
Features of a DBMSI Support massive amounts of data
I Giga/tera/petabytesI Far too big for main memoryI Recent trend: databases run on single computers.
I Persistent storageI Programmes update, query, manipulate data.I Data continues to live long after programme finishes.
I Efficient and convenient accessI Efficient: do not search entire database to answer a query.I Convenient: allow users to create and query the data as easily as
possible.
I Secure, concurrent, and atomic accessI Allow multiple users to access database simultaneously.I Allow a user access to only to authorised data.I Provide some guarantee of reliability against system failures.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 35: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/35.jpg)
About the Course Introduction to Databases
A Brief History of DBMS
I File systems
I The earliest databases (1960s) evolved from file systemsI Navigational and hierarchicalI User programmed the queries by walking from node to node in the
DBMS.
I Relational DBMS (1970s to now)I View database in terms of relations or tablesI High-level query and definition languages such as SQLI Allow user to specify what she wants, not how to get what she wants
I Object-oriented DBMS (1980s)I inspired by object-oriented languagesI object-relational DBMs
I New types of data:I Semi-structured data (XML)I Images, sounds, videosI Data streams
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 36: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/36.jpg)
About the Course Introduction to Databases
A Brief History of DBMS
I File systemsI The earliest databases (1960s) evolved from file systems
I Navigational and hierarchicalI User programmed the queries by walking from node to node in the
DBMS.
I Relational DBMS (1970s to now)I View database in terms of relations or tablesI High-level query and definition languages such as SQLI Allow user to specify what she wants, not how to get what she wants
I Object-oriented DBMS (1980s)I inspired by object-oriented languagesI object-relational DBMs
I New types of data:I Semi-structured data (XML)I Images, sounds, videosI Data streams
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 37: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/37.jpg)
About the Course Introduction to Databases
A Brief History of DBMS
I File systemsI The earliest databases (1960s) evolved from file systems
I Navigational and hierarchicalI User programmed the queries by walking from node to node in the
DBMS.
I Relational DBMS (1970s to now)I View database in terms of relations or tablesI High-level query and definition languages such as SQLI Allow user to specify what she wants, not how to get what she wants
I Object-oriented DBMS (1980s)I inspired by object-oriented languagesI object-relational DBMs
I New types of data:I Semi-structured data (XML)I Images, sounds, videosI Data streams
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 38: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/38.jpg)
About the Course Introduction to Databases
A Brief History of DBMS
I File systemsI The earliest databases (1960s) evolved from file systems
I Navigational and hierarchicalI User programmed the queries by walking from node to node in the
DBMS.
I Relational DBMS (1970s to now)I View database in terms of relations or tablesI High-level query and definition languages such as SQLI Allow user to specify what she wants, not how to get what she wants
I Object-oriented DBMS (1980s)I inspired by object-oriented languagesI object-relational DBMs
I New types of data:I Semi-structured data (XML)I Images, sounds, videosI Data streams
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 39: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/39.jpg)
About the Course Introduction to Databases
A Brief History of DBMS
I File systemsI The earliest databases (1960s) evolved from file systems
I Navigational and hierarchicalI User programmed the queries by walking from node to node in the
DBMS.
I Relational DBMS (1970s to now)I View database in terms of relations or tablesI High-level query and definition languages such as SQLI Allow user to specify what she wants, not how to get what she wants
I Object-oriented DBMS (1980s)I inspired by object-oriented languagesI object-relational DBMs
I New types of data:I Semi-structured data (XML)I Images, sounds, videosI Data streams
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 40: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/40.jpg)
About the Course Introduction to Databases
The DBMS Industry
I A DBMS is a software system.
I Major DBMS vendors: IBM, Microsoft, Oracle, Sybase
I Free/Open-source DBMS: MySQL, PostgreSQL, Firebird.
I Used by companies such as Google, Yahoo, Lycos, BASF.
I All are “relational” (or “object-relational”) DBMS.
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 41: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/41.jpg)
About the Course Introduction to Databases
Example Scenario
I RDBMS ≡“Relational” DBMSI The relational model uses relations or tables to structure data
I ClassList relation:
Student Course Grade
Hermione Grainger Potions A-
Draco Malfoy Potions B
Harry Potter Potions A
Ron Weasley Potions C
I Relation separates the logical view (externals) from the physical view(internals)
I Simple query languages (SQL) for accessing/modifying dataI Find all students whose grades are better than B.I SELECT Student FROM ClassList WHERE Grade >“B”
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 42: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/42.jpg)
About the Course Introduction to Databases
Example Scenario
I RDBMS ≡“Relational” DBMSI The relational model uses relations or tables to structure data
I ClassList relation:
Student Course Grade
Hermione Grainger Potions A-
Draco Malfoy Potions B
Harry Potter Potions A
Ron Weasley Potions C
I Relation separates the logical view (externals) from the physical view(internals)
I Simple query languages (SQL) for accessing/modifying dataI Find all students whose grades are better than B.I SELECT Student FROM ClassList WHERE Grade >“B”
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 43: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/43.jpg)
About the Course Introduction to Databases
Example Scenario
I RDBMS ≡“Relational” DBMSI The relational model uses relations or tables to structure data
I ClassList relation:
Student Course Grade
Hermione Grainger Potions A-
Draco Malfoy Potions B
Harry Potter Potions A
Ron Weasley Potions C
I Relation separates the logical view (externals) from the physical view(internals)
I Simple query languages (SQL) for accessing/modifying dataI Find all students whose grades are better than B.I SELECT Student FROM ClassList WHERE Grade >“B”
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604
![Page 44: Introduction to CS 4604courses.cs.vt.edu/~cs4604/Fall09/lectures/lecture-01-introduction.pdf · About the Course Introduction to Databases Course Information I Instructor I T. M](https://reader036.vdocument.in/reader036/viewer/2022062506/5f05905f7e708231d41395f2/html5/thumbnails/44.jpg)
About the Course Introduction to Databases
DBMS Architecture
T. M. Murali August 24, 2009 CS4604: Introduction to CS 4604