Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Entity–attribute–value model wikipedia , lookup
Oracle Database wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Serializability wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
ContactPoint wikipedia , lookup
Relational model wikipedia , lookup
Clusterpoint wikipedia , lookup
Introduction to Database Management Systems Information • Instructor: Csilla Farkas • Office: Swearingen 3A43 • Office Hours: Monday, Wednesday 2:30 pm – 3:30 pm, electronically, or by appointment • Telephone: 576-5762 • E-mail: [email protected] • Class homepage: http://www.cse.sc.edu/~farkas/csce5202013/csce520.htm Farkas CSCE 520 2 Prerequisite • CSCE 245 (CSCE 240, EECE 352) or • GEOG 563 or • Permission of the instructor Farkas CSCE 520 3 Text books • J. D. Ullman and J. Widom: A First Course in Database Systems, 3rd edition, Prentice Hall, ISBN: 013600637X • R. Sunderraman: Oracle 10g Programming (or Oracle 10i Programming), A Primer, Addison Wesley Longman, Inc., ISBN: 0321463048 Farkas CSCE 520 4 Grading • Tests: Test 1: 20%, Test 2: 35% • Homework Assignments: 45% – Includes assignments related to the lectures – Includes hands-on database implementation – Includes demo of Oracle implementation • Total score: 100 • Final grade: 90 < A, 87 < B+ <=90, 80< B <= 87, 77 < C+ <= 80, 68 < C <= 77, 62 < D+ <= 68, 52 < D <= 62, F <= 52 Farkas CSCE 520 5 Course Policies • Code of Student Academic Responsibility • Incompletes Farkas CSCE 520 6 APOGEE Students • Access recorded lectures • Contact instructor via – Phone (during office hours) – Email – Or any time at a prearranged time • Need to attend exams as scheduled • Need to arrange for Oracle demo Farkas CSCE 520 7 Tentative Schedule • • • • • • • • • • • • • • • Week 1: Week 2: Week 3: Week 4: Week 5: Week 6: Week 7: Week 8: Week 9: Week 10: Week 11: Week 12: Week 13: Week 14: Week 15: Farkas Introduction ER model Relational model Project overview and Oracle accounts Relational Algebra SQL Relational Design Constraints Transactions Logical query languages Data storage and Data representation Index structures System Failures Concurrency control Summary and Review CSCE 520 8 Test Schedule • Test 1: Early October • Test 2: December 9, 4:00 pm Farkas CSCE 520 9 Questions? Chapter 1: Introduction • Evolution of Database Management Systems • Overview of Database Management Systems • Database-System Design Farkas CSCE 520 11 Database Management System (DBMS) • Databases touch all aspects of our lives • DBMS: – Collection of interrelated data – Set of programs to access the data • Convenient and efficient processing of data • Database Applications Farkas CSCE 520 12 Evolution of Database Systems • Early days: database applications built on top of file systems • Drawbacks of using file systems to store data: – Data redundancy and inconsistency – Difficulty in accessing data – Atomicity of updates – Concurrency control – Security – Data isolation — multiple files and formats – Integrity problems Farkas CSCE 520 13 Abstraction • View level: application programs hide details of data types. • Logical level: What is the data? type employee = record name : string; address : string; salary: real; end; • Physical level: How the data is stored? Farkas CSCE 520 14 Data Models • A collection of tools for describing – Data – Relationships among data items – Semantics of stored data – Database constraints Farkas CSCE 520 15 Data Models • Entity-Relationship model • Relational model • Other models: – Network – Hierarchical – Object-oriented – Semi-structured – Steaming data Farkas CSCE 520 16 Database Management Systems • Smaller and smaller systems – Past: large and expensive DBMS – Present: DBMS in most personal computers • More and more data stored – Past: few MB – Present: terabyte (1012 bytes), petabyte (1015 bytes) Data Tsunami Farkas CSCE 520 17 Database Users • Users are differentiated by the way they interact with the system • Database Administration: responsible for the structure or schema of the database (DDL), coordinates all activities regarding the database • Application programmers – interact with system through DML calls • Sophisticated users – form requests in a database query language • Naive users – invoke one of the permanent application programs that have been written previously Farkas CSCE 520 18 Data Definition Language (DDL) • Defines the database schema and constraints • DDL compiler data dictionary • Metadata – data about data Farkas CSCE 520 19 Data Manipulation Language (DML) • Accessing and manipulating the data – DML – query language • Query Languages – Procedural – user specifies what data is required and how to get those data – Nonprocedural – user specifies what data is required without specifying how to get those data • SQL: nonprocedural query language Farkas CSCE 520 20 Transaction Management • Transaction: unit of work to be executed atomically and in isolation from other transactions • Transaction-manager: ensures that the database remains in a consistent – system failures – transaction failures • Concurrency-control: interaction among the concurrent transactions to ensure consistency Farkas CSCE 520 21 ACID Properties • Atomicity: all-or-nothing of the transaction’s effect will take place • Consistency: each transaction leaves the system in a consistent state • Isolation: each transaction must appear to be executed as if no other transactions are executed at the same time • Durability: effect of a transaction must never be lost after the transaction is completed Farkas CSCE 520 22 Transaction Processing • Logging: – Log manager – Recovery manager • Concurrency control – Multiple transactions – Locking protocols • Deadlock resolution Farkas CSCE 520 23 Database System Studies • Design of the database – What to store, structure, semantics – Functionality requirement – Trade offs – Security • Database programming – How to express database operations, capability requirements, etc. • Database implementation – Query, transaction processing, storage, efficiency Farkas CSCE 520 24 Next Class: Relational Database Modeling • A First Course: Chapter 2 (2.1, 2.2, 2.3) Farkas CSCE 520 25