Database Fundamentals
1 – Databases and information models
1.1 What is a database?
1.2 What is a database management system?
1.2.1 The evolution of database management systems
1.3 Introduction to information models and data models
1.4 Types of information models
1.4.1 Network model
1.4.2 Hierarchical model
1.4.3 Relational model
1.4.4 Entity-Relationship model
1.4.5 Object-relational model
1.4.6 Other data models
1.5 Typical roles and career path for database professionals
1.5.1 Data Architect
1.5.2 Database Architect
1.5.3 Database Administrator (DBA)
1.5.4 Application Developer
1.1 What is a database?
1.2 What is a database management system?
1.2.1 The evolution of database management systems
1.3 Introduction to information models and data models
1.4 Types of information models
1.4.1 Network model
1.4.2 Hierarchical model
1.4.3 Relational model
1.4.4 Entity-Relationship model
1.4.5 Object-relational model
1.4.6 Other data models
1.5 Typical roles and career path for database professionals
1.5.1 Data Architect
1.5.2 Database Architect
1.5.3 Database Administrator (DBA)
1.5.4 Application Developer
2 – The relational data model
2.1 Relational data model: The big picture
2.2 Basic concepts
2.3 Relational data model constraints
2.3.1 Entity integrity constraint
2.3.2 Referential integrity constraint
2.3.3 Semantic integrity constraints
2.4 Relational algebra
2.5. Relational calculus
2.5.1 Tuple-oriented relational calculus
2.5.2 Domain-oriented relational calculus
2.1 Relational data model: The big picture
2.2 Basic concepts
2.3 Relational data model constraints
2.3.1 Entity integrity constraint
2.3.2 Referential integrity constraint
2.3.3 Semantic integrity constraints
2.4 Relational algebra
2.5. Relational calculus
2.5.1 Tuple-oriented relational calculus
2.5.2 Domain-oriented relational calculus
3 – The conceptual data model
3.1 Conceptual, logical and physical modeling: The big picture
3.2 What is a model?
3.2.1 Data model
3.2.2 Database model
3.2.3 Conceptual data model concepts
3.3 A case study involving a Library Management System – Part 1 of 3
3.3.1 Developing the conceptual model
3.1 Conceptual, logical and physical modeling: The big picture
3.2 What is a model?
3.2.1 Data model
3.2.2 Database model
3.2.3 Conceptual data model concepts
3.3 A case study involving a Library Management System – Part 1 of 3
3.3.1 Developing the conceptual model
4 – Relational Database Design
4.1 The problem of redundancy
4.2. Decompositions
4.3. Functional Dependencies
4.4 Properties of Functional Dependencies
4.4.1 Armstrong’s Axioms
4.4.2 Computing the closure set of attributes
4.4.3 Entailment
4.5 Normal Forms
4.5.1 First Normal Form (1NF)
4.5.2 Second Normal Form (2NF)
4.5.3 Third Normal Form (3NF)
4.5.4 Boyce-Codd Normal Form (BCNF)
4.6 Properties of Decompositions
4.6.1 Lossless and Lossy Decompositions
4.6.2 Dependency-Preserving Decompositions
4.7 Minimal Cover
4.8 Synthesis of 3NF schemas
4.9 3NF decomposition
4.10 The Fourth Normal Form (4NF)
4.11 Other normal forms
4.12 A case study involving a Library Management System – Part 2 of 3
4.1 The problem of redundancy
4.2. Decompositions
4.3. Functional Dependencies
4.4 Properties of Functional Dependencies
4.4.1 Armstrong’s Axioms
4.4.2 Computing the closure set of attributes
4.4.3 Entailment
4.5 Normal Forms
4.5.1 First Normal Form (1NF)
4.5.2 Second Normal Form (2NF)
4.5.3 Third Normal Form (3NF)
4.5.4 Boyce-Codd Normal Form (BCNF)
4.6 Properties of Decompositions
4.6.1 Lossless and Lossy Decompositions
4.6.2 Dependency-Preserving Decompositions
4.7 Minimal Cover
4.8 Synthesis of 3NF schemas
4.9 3NF decomposition
4.10 The Fourth Normal Form (4NF)
4.11 Other normal forms
4.12 A case study involving a Library Management System – Part 2 of 3
5 – Introduction to SQL
5.1 History of SQL
5.2 Defining a relational database schema in SQL
5.3 Data manipulation with SQL
5.4 Table joins
5.5 Union, intersection, and difference operations
5.5.1 Union
5.5.2 Intersection
5.5.3 Difference (Except)
5.6 Relational operators
5.6.1 Grouping operators
5.6.2 Aggregation operators
5.6.3 HAVING Clause
5.7 Sub-queries
5.7.1 Sub-queries returning a scalar value
5.7.2 Sub-queries returning vector values
5.7.3 Correlated sub-query
5.7.4 Sub-query in FROM Clauses
5.8 Mapping of object-oriented concepts to relational concepts
5.10 A case study involving a Library Management System – Part 3 of 3
5.1 History of SQL
5.2 Defining a relational database schema in SQL
5.3 Data manipulation with SQL
5.4 Table joins
5.5 Union, intersection, and difference operations
5.5.1 Union
5.5.2 Intersection
5.5.3 Difference (Except)
5.6 Relational operators
5.6.1 Grouping operators
5.6.2 Aggregation operators
5.6.3 HAVING Clause
5.7 Sub-queries
5.7.1 Sub-queries returning a scalar value
5.7.2 Sub-queries returning vector values
5.7.3 Correlated sub-query
5.7.4 Sub-query in FROM Clauses
5.8 Mapping of object-oriented concepts to relational concepts
5.10 A case study involving a Library Management System – Part 3 of 3
6 – Stored procedures and functions
6.1 Working with IBM Data Studio
6.1.1 Creating a project
6.2 Working with stored procedures
6.2.1 Types of procedures
6.2.2 Creating a stored procedure
6.2.3 Altering and dropping a stored procedure
6.3 Working with functions
6.1 Working with IBM Data Studio
6.1.1 Creating a project
6.2 Working with stored procedures
6.2.1 Types of procedures
6.2.2 Creating a stored procedure
6.2.3 Altering and dropping a stored procedure
6.3 Working with functions
7 – Using SQL in an application
7.1 Using SQL in an application: The big picture
7.2 What is a transaction?
7.3 Embedded SQL
7.3.1 Static SQL
7.3.2 Dynamic SQL
7.3.3 Static vs. dynamic SQL
7.4 Database APIs
7.4.1 ODBC and the IBM Data Server CLI driver
7.4.2 JDBC
7.5 pureQuery
7.5.1 IBM pureQuery Client Optimizer
7.1 Using SQL in an application: The big picture
7.2 What is a transaction?
7.3 Embedded SQL
7.3.1 Static SQL
7.3.2 Dynamic SQL
7.3.3 Static vs. dynamic SQL
7.4 Database APIs
7.4.1 ODBC and the IBM Data Server CLI driver
7.4.2 JDBC
7.5 pureQuery
7.5.1 IBM pureQuery Client Optimizer
8 – Query languages for XML
8.1 Overview of XML
8.1.1 XML Elements and Database Objects
8.1.2 XML Attributes
8.1.3 Namespaces
8.1.4 Document Type Definitions
8.1.5 XML Schema
8.2 Overview of XML Schema
8.3 XPath
8.3.1 The XPath data model
8.3.2 Document Nodes
8.3.3 Path Expressions
8.3.4 Advanced Navigation in XPath
8.3.5 XPath Semantics
8.3.6 XPath Queries
8.4 XQuery
8.4.1 XQuery basics
8.4.2 FLWOR expressions
8.4.3 Joins in XQuery
8.4.4 User-defined functions
8.4.5 XQuery and XML Schema
8.4.6 Grouping and aggregation
8.4.7 Quantification
8.5 XSLT
8.6 SQL/XML
8.6.1 Encoding relations as XML Documents
8.6.2 Storing and publishing XML documents
8.6.3 SQL/XML Functions
8.7 Querying XML documents stored in tables
8.8 Modifying data
8.8.1 XMLPARSE
8.8.2 XMLSERIALIZE
8.8.3 The TRANSFORM expression
8.1 Overview of XML
8.1.1 XML Elements and Database Objects
8.1.2 XML Attributes
8.1.3 Namespaces
8.1.4 Document Type Definitions
8.1.5 XML Schema
8.2 Overview of XML Schema
8.3 XPath
8.3.1 The XPath data model
8.3.2 Document Nodes
8.3.3 Path Expressions
8.3.4 Advanced Navigation in XPath
8.3.5 XPath Semantics
8.3.6 XPath Queries
8.4 XQuery
8.4.1 XQuery basics
8.4.2 FLWOR expressions
8.4.3 Joins in XQuery
8.4.4 User-defined functions
8.4.5 XQuery and XML Schema
8.4.6 Grouping and aggregation
8.4.7 Quantification
8.5 XSLT
8.6 SQL/XML
8.6.1 Encoding relations as XML Documents
8.6.2 Storing and publishing XML documents
8.6.3 SQL/XML Functions
8.7 Querying XML documents stored in tables
8.8 Modifying data
8.8.1 XMLPARSE
8.8.2 XMLSERIALIZE
8.8.3 The TRANSFORM expression
9 – Database Security
9.1 Database security: The big picture
9.1.1 The need for database security
9.1.2 Access control
9.1.3 Database security case study
9.1.4 Views
9.1.5 Integrity Control
9.1.6 Data encryption
9.2 Security policies and procedures
9.2.1 Personnel control
9.2.2 Physical access control
9.1 Database security: The big picture
9.1.1 The need for database security
9.1.2 Access control
9.1.3 Database security case study
9.1.4 Views
9.1.5 Integrity Control
9.1.6 Data encryption
9.2 Security policies and procedures
9.2.1 Personnel control
9.2.2 Physical access control
10 – Technology trends and databases
10.1 What is Cloud computing?
10.1.1 Characteristics of the Cloud
10.1.2 Cloud computing service models
10.1.3 Cloud providers
10.1.4 Handling security on the Cloud
10.1.5 Databases and the Cloud
10.2 Mobile application development
10.2.1 Developing for a specific device
10.2.2 Developing for an application platform
10.2.3 Mobile device platform
10.2.4 Mobile application development platform
10.2.5 The next wave of mobile applications
10.2.6 DB2 Everyplace
10.3 Business intelligence and appliances
10.4 db2university.com: Implementing an application on the Cloud (case study)
10.4.1 Moodle open source course management system
10.4.2 Enabling openID sign-in
10.4.3 Running on the Amazon Cloud
10.4.4 Using an Android phone to retrieve course marks
10.1 What is Cloud computing?
10.1.1 Characteristics of the Cloud
10.1.2 Cloud computing service models
10.1.3 Cloud providers
10.1.4 Handling security on the Cloud
10.1.5 Databases and the Cloud
10.2 Mobile application development
10.2.1 Developing for a specific device
10.2.2 Developing for an application platform
10.2.3 Mobile device platform
10.2.4 Mobile application development platform
10.2.5 The next wave of mobile applications
10.2.6 DB2 Everyplace
10.3 Business intelligence and appliances
10.4 db2university.com: Implementing an application on the Cloud (case study)
10.4.1 Moodle open source course management system
10.4.2 Enabling openID sign-in
10.4.3 Running on the Amazon Cloud
10.4.4 Using an Android phone to retrieve course marks
Download From