190 likes | 313 Views
Chapter 1: Introduction. What is a DBMS? A little history of DB Major Components of a DBMS Three Levels of Abstraction. What is a DBMS?. D ata B ase M anagement S ystem A bunch of programs Users use a language to ask questions about data that a DBMS manages
E N D
Chapter 1: Introduction • What is a DBMS? • A little history of DB • Major Components of a DBMS • Three Levels of Abstraction Yan Huang - Introduction
What is a DBMS? • DataBase Management System • A bunch of programs • Users use a language to ask questions about data that a DBMS manages • DBMS understands the language and give answers as fast as possible Yan Huang - Introduction
History • 1960s: network model (CODASYL) and hierarchical (IMS). • 1970: E.F. Codd’s seminal paper on relational model for databases • 1970s: • Ingres: Developed at UCB. This ultimately led to Ingres Corp., Sybase, MS SQL Server, Britton-Lee, Wang's PACE. • System R: Developed at IBM San Jose and led to IBM's SQL/DS & DB2, Oracle, HP's Allbase, Tandem's Non-Stop SQL. • 1976: P. Chen proposed the Entity-Relationship (ER) model • 1980s: Commercialization of RDBMS, Oracle was the first • Early 1990s: OO databases • Mid-later 1990s: Web DB/data warehousing/data mining • asp, Front Page, Java Servlets, jsp, JDBC, Enterprise Java Beans, ColdFusion, Dream Weaver, Oracle Developer 2000/OLAP • Earlier 2000s: consolidation of vendors, IBM (bought Informix), Microsoft, and Oracle. Yan Huang - Introduction
Major Vendors Market share $dollas vallue, source CNET May 2002 Yan Huang - Introduction
DBMS Architecture Yan Huang - Introduction
Major Components of a DBMS • Query processor/Queryoptimizer • Transaction manager • Security/authorization manager • Storage manager Yan Huang - Introduction
Query Processor/Optimizer • Decompose user queries into primitives • Find the best way (IO efficient) to execute the query • Two kinds of queries: • DML: data manipulation language • Insert, delete, update, select • DDL: data definition language • Create/drop/alter a table/index/view Yan Huang - Introduction
Query Languages • SQL: standard/declarative language • ISO SQL-86, SQL-89, SQL-92, SQL-99, SQL-2003 • Example: • SELECT name, age • FROM student • WHERE gender = “female” • Supported by most DB vendors Yan Huang - Introduction
Query Languages • Relational algebra: formal, procedural language • Query by example • Domain relational calculus • Tuple relational calculus • Datalog Yan Huang - Introduction
Transaction Manager • A transaction is unit of work either completed as a full or not at all – atomicity • Example transaction: • Begin transaction • A = A+10 • B = B – 10 • End transaction • Other than atomicity, concurrency control of transactions is also important Yan Huang - Introduction
Concurrency Control • Informally, concurrency control means transactions executing currently should not produce results other than a serial execution of the same transactions • What will happen without concurrency control? • Partial work will be seen by others – dirty read • Your work may be mistakenly over written by others – dirty write • Example? Yan Huang - Introduction
Security/Authorization • Define user roles • Admin • User • Define what users can access which part of the database system: • Tables • Indices • Views Yan Huang - Introduction
Storage Manager • Manage how data are stored in physical space, e.g. disk • How to read/write data • We can also create indices on existing data • Storage of indices need to be managed as well Yan Huang - Introduction
Application Architectures Examples of Web application servers are Netscape Application Server, BEA Weblogic Enterprise, Borland AppServer and IBM's WebSphere Application Server • Two-tier architecture: E.g. client programs using ODBC/JDBC to communicate with a database • Three-tier architecture: E.g. web-based applications, and applications built using “middleware” Yan Huang - Introduction
Benefits of DBMSs Compared to File systems • A unified database interface vs. customized programs to interact with data • Data integrity • Currency control • Specialized fast query answering system, e.g. indexing, query optimization • Example? Yan Huang - - Introduction
Database Examples • Human resource systems • Library systems • Airline reservation systems • Product catalogs • Banking systems Yan Huang - Introduction
Three Levels of Abstraction • Conceptual layer – things and their relationships • Logical layer – how things and their relationships are specified in a DBMS • Physical layer – how things and their relationships are stored in physical space, e.g. disks • The separation of these three layers allow the change of one or more layers without affecting the other layers Yan Huang - Introduction
Major Database Management Systems • Oracle • Microsoft SQL-server • IBM DB2 + Informix • Sybase • MySQL • PostgreSQL • XML databases – native xml and relational database extensions to support XML • Most have object-relational database extensions • Also some main memory databases: timesTen (acquired by Oracle recently) Yan Huang - Introduction
In This Class, We Will • Talk about query languages: relational algebra, SQL • A logical data layer: relational database • How to design a relational database • Basic concepts in object oriented and object relational databases (maybe) • XML • Access Control (indexing) • Transactions • Introduction to data warehousing/data mining if time permits Yan Huang - Introduction