slides

531 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
531
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

slides

  1. 1. Introduction to Database Management Systems
  2. 2. Information <ul><li>Instructor: Csilla Farkas </li></ul><ul><li>Office: Swearingen 3A59 </li></ul><ul><li>Office Hours: </li></ul><ul><ul><li>Tuesday, Thursday 30 mins before and after class </li></ul></ul><ul><ul><li>Electronically </li></ul></ul><ul><ul><li>by appointment </li></ul></ul><ul><li>Telephone: 576-5762 </li></ul><ul><li>E-mail: [email_address] </li></ul><ul><li>Class homepage: </li></ul><ul><li>http://www.cse.sc.edu/~farkas/csce520-2005/csce520.html </li></ul>
  3. 3. Prerequisite <ul><li>CSCE 245 (CSCE 240, EECE 352) or </li></ul><ul><li>GEOG 563 or </li></ul><ul><li>permission of the instructor </li></ul>
  4. 4. Text books <ul><li>H. Garcia-Molina, J. Ullman, J. Widom: Database Systems: The Complete Book, Prentice Hall, ISBN:0-13-031995-3 </li></ul><ul><li>R. Sunderraman: Oracle 9 Programming, A Primer, Addison Wesley Longman, Inc., ISBN: 0-321-19498-5 </li></ul>
  5. 5. Grading <ul><li>Tests: </li></ul><ul><ul><li>Test 1: 15% , Test 2: 15% , Test 3: 25% </li></ul></ul><ul><li>Homework Assignments: 20% </li></ul><ul><li>Research project: 25% </li></ul><ul><li>Total score: 100 </li></ul><ul><li>Final grade: </li></ul><ul><ul><ul><li>92 < A </li></ul></ul></ul><ul><ul><ul><li>89 < B+ <=92 </li></ul></ul></ul><ul><ul><ul><li>81 < B <= 89 </li></ul></ul></ul><ul><ul><ul><li>77 < C+ <= 81 </li></ul></ul></ul><ul><ul><ul><li>68 < C <= 77 </li></ul></ul></ul><ul><ul><ul><li>62 < D+ <= 68 </li></ul></ul></ul><ul><ul><ul><li>52 < D <= 62 </li></ul></ul></ul><ul><ul><ul><li> F <= 52 </li></ul></ul></ul>
  6. 6. Course Policies <ul><li>Code of Student Academic Responsibility </li></ul><ul><li>Incompletes </li></ul>
  7. 7. Tentative Schedule <ul><li>Week 1: Introduction </li></ul><ul><li>Week 2: ER model </li></ul><ul><li>Week 3: Relational model </li></ul><ul><li>Week 4: Project overview and Oracle accounts </li></ul><ul><li>Week 5: Relational Algebra </li></ul><ul><li>Week 6: SQL </li></ul><ul><li>Week 7: SQL </li></ul><ul><li>Week 8: Relational Design </li></ul><ul><li>Week 9: Constraints </li></ul><ul><li>Week 10: Logical query languages </li></ul><ul><li>Week 11: Data storage and Data representation </li></ul><ul><li>Week 12: Index structures </li></ul><ul><li>Week 13: System Failures </li></ul><ul><li>Week 14: Concurrency control </li></ul><ul><li>Week 15: Summary and Review </li></ul>
  8. 8. Test Schedule <ul><li>Test 1: September 22 (Thursday) </li></ul><ul><li>Test 2: October 27 (Thursday) </li></ul><ul><li>FINAL EXAM: DECEMBER 9 (Friday) 2:00 pm  </li></ul>
  9. 9. Questions?
  10. 10. Chapter 1: Introduction <ul><li>Evolution of Database Management Systems </li></ul><ul><li>Overview of Database Management Systems </li></ul><ul><li>Database-System Design </li></ul>
  11. 11. Database Management System (DBMS) <ul><li>Databases touch all aspects of our lives </li></ul><ul><li>DBMS: </li></ul><ul><ul><li>Collection of interrelated data </li></ul></ul><ul><ul><li>Set of programs to access the data </li></ul></ul><ul><li>Convenient and efficient processing of data </li></ul><ul><li>Database Applications </li></ul>
  12. 12. Evolution of Database Systems <ul><li>Early days: database applications built on top of file systems </li></ul><ul><li>Drawbacks of using file systems to store data: </li></ul><ul><ul><li>Data redundancy and inconsistency </li></ul></ul><ul><ul><li>Difficulty in accessing data </li></ul></ul><ul><ul><li>Atomicity of updates </li></ul></ul><ul><ul><li>Concurrency control </li></ul></ul><ul><ul><li>Security </li></ul></ul><ul><ul><li>Data isolation — multiple files and formats </li></ul></ul><ul><ul><li>Integrity problems </li></ul></ul>
  13. 13. Abstraction <ul><li>View level : application programs hide details of data types. </li></ul><ul><li>Logical level : what data are </li></ul><ul><li>type employee = record name : string; address : string; s alary : real; end ; </li></ul><ul><li>Physical level : how data are stored </li></ul>
  14. 14. Data Models <ul><li>A collection of tools for describing </li></ul><ul><ul><li>Data </li></ul></ul><ul><ul><li>Relationships among data items </li></ul></ul><ul><ul><li>Semantics of stored data </li></ul></ul><ul><ul><li>Database constraints </li></ul></ul>
  15. 15. Data Models <ul><li>Entity-Relationship model </li></ul><ul><li>Relational model </li></ul><ul><li>Other models: </li></ul><ul><ul><li>Network </li></ul></ul><ul><ul><li>Hierarchical </li></ul></ul><ul><ul><li>Object-oriented </li></ul></ul><ul><ul><li>Semi-structured </li></ul></ul>
  16. 16. Database Management Systems <ul><li>Smaller and smaller systems </li></ul><ul><ul><li>Past: large and expensive DBMS </li></ul></ul><ul><ul><li>Present: DBMS in most personal computers </li></ul></ul><ul><li>More and more data stored </li></ul><ul><ul><li>Past: few MB </li></ul></ul><ul><ul><li>Present: terabyte (10 12 bytes), petabyte (10 15 bytes) </li></ul></ul>
  17. 17. Application Architectures Two-tier architecture Three-tier architecture
  18. 18. Database Users <ul><li>Users are differentiated by the way they interact with the system </li></ul><ul><ul><ul><li>Database Administration : responsible for the structure or schema of the database (DDL), coordinates all activities regarding the database </li></ul></ul></ul><ul><ul><ul><li>Application programmers – interact with system through DML calls </li></ul></ul></ul><ul><ul><ul><li>Sophisticated users – form requests in a database query language </li></ul></ul></ul><ul><ul><ul><li>Naive users – invoke one of the permanent application programs that have been written previously </li></ul></ul></ul>
  19. 19. Data Definition Language (DDL) <ul><li>Defines the database schema and constraints </li></ul><ul><li>DDL compiler  data dictionary </li></ul><ul><li>Metadata – data about data </li></ul>
  20. 20. Data Manipulation Language (DML) <ul><li>Accessing and manipulating the data </li></ul><ul><ul><li>DML – query language </li></ul></ul><ul><li>Query Languages </li></ul><ul><ul><li>Procedural – user specifies what data is required and how to get those data </li></ul></ul><ul><ul><li>Nonprocedural – user specifies what data is required without specifying how to get those data </li></ul></ul><ul><li>SQL: nonprocedural query language </li></ul>
  21. 21. Transaction Management <ul><li>T ransaction : unit of work to be executed atomically and in isolation from other transactions </li></ul><ul><li>Transaction-manager : ensures that the database remains in a consistent </li></ul><ul><ul><li>system failures </li></ul></ul><ul><ul><li>transaction failures </li></ul></ul><ul><li>Concurrency-control : interaction among the concurrent transactions to ensure consistency </li></ul>
  22. 22. ACID Properties <ul><li>A tomicity: all-or-nothing of the transaction’s effect will take place </li></ul><ul><li>C onsistency: each transaction leaves the system in a consistent state </li></ul><ul><li>I solation: each transaction must appear to be executed as if no other transactions are executed at the same time </li></ul><ul><li>D urability: effect of a transaction must never be lost after the transaction is completed </li></ul>
  23. 23. Transaction Processing <ul><li>Logging: </li></ul><ul><ul><li>Log manager </li></ul></ul><ul><ul><li>Recovery manager </li></ul></ul><ul><li>Concurrency control </li></ul><ul><ul><li>Multiple transactions </li></ul></ul><ul><ul><li>Locking protocols </li></ul></ul><ul><li>Deadlock resolution </li></ul>
  24. 24. Database System Studies <ul><li>Design of the database </li></ul><ul><ul><li>What to store, structure, semantics </li></ul></ul><ul><ul><li>Functionality requirement </li></ul></ul><ul><ul><li>Trade offs </li></ul></ul><ul><ul><li>Security </li></ul></ul><ul><li>Database programming </li></ul><ul><ul><li>How to express database operations, capability requirements, etc. </li></ul></ul><ul><li>Database implementation </li></ul><ul><ul><li>Query, transaction processing, storage, efficiency </li></ul></ul>
  25. 25. Next Class: Entity Relationship Model (Cont.) <ul><li>E-R model of real world </li></ul><ul><ul><li>Entities (objects) </li></ul></ul><ul><ul><li>Attributes of entities </li></ul></ul><ul><ul><li>Relationships between entities </li></ul></ul><ul><li>Widely used for database design </li></ul><ul><ul><li>E-R model usually converted to design in the relational model </li></ul></ul>

×