Skip to main content
DAM212Sciences2 Unitsintermediate

Database Laboratory

This course provides a comprehensive exploration of database laboratory concepts and techniques. It covers performance tuning on relational databases, querying graph-structured and streaming databases, and indexing high-dimensional data. Students will learn to manage uncertainty in databases, perform information retrieval, and understand database internals. The course emphasizes practical application using open-source database management systems and programming language APIs to solve real-world data management problems.

Transform this course into personalized study materials with AI

156h
Study Time
13
Weeks
12h
Per Week
basic
Math Level
Course Keywords
DatabaseQueryingIndexingPerformance TuningData Management

Course Overview

Everything you need to know about this course

Course Difficulty

Intermediate Level
Builds on foundational knowledge
65%
intermediate
Math Level
Basic Math
🔬
Learning Type
Hands-on Practice

Course Topics

Key areas covered in this course

1

Relational Database Concepts

2

SQL Querying

3

Database Performance Tuning

4

Graph Databases

5

Streaming Databases

6

Indexing Techniques

7

Uncertain Data Management

8

Data Stream Management Systems

9

JDBC Connectivity

Total Topics9 topics

Requirements

Knowledge and skills recommended for success

Basic programming knowledge

Familiarity with data structures

💡 Don't have all requirements? Don't worry! Many students successfully complete this course with basic preparation and dedication.

Assessment Methods

How your progress will be evaluated (3 methods)

Assignments

Comprehensive evaluation of course material understanding

Written Assessment

Tutor-Marked Assessments

Comprehensive evaluation of course material understanding

Written Assessment

Final Examination

Comprehensive evaluation of course material understanding

Computer Based Test

Career Opportunities

Explore the career paths this course opens up for you

Database Administrator

Apply your skills in this growing field

Data Analyst

Apply your skills in this growing field

Data Scientist

Apply your skills in this growing field

Database Developer

Apply your skills in this growing field

Big Data Engineer

Apply your skills in this growing field

Industry Applications

Real-world sectors where you can apply your knowledge

FinanceE-commerceHealthcareSocial MediaSensor Networks

Study Schedule Beta

A structured 13-week journey through the course content

Week
1

Module 1: Performance Tuning on Relational Database

8h

Unit 1: Basic Concept and Definition

4 study hours
  • Read the introduction to understand the scope of the course.
  • Define key database terms like database, DBMS, delimiter, domain, and entity.
  • Review the history of database development from the 1960s to the 2000s.

Unit 1: Basic Concept and Definition

4 study hours
  • Study the flat, hierarchical, network, relational, dimensional and object database models.
  • Understand the advantages and disadvantages of each database model.
  • Identify the key components and operations associated with each model.
Week
2

Module 1: Performance Tuning on Relational Database

4h

Unit 1: Basic Concept and Definition

4 study hours
  • Study indexing, transactions, concurrency, and replication techniques.
  • Understand the ACID rules (Atomicity, Consistency, Isolation, Durability) and their importance.
  • Learn about master/slave replication, quorum, and multimaster replication concepts.
Week
3

Module 1: Performance Tuning on Relational Database

5h

Unit 2: Relational database system design

5 study hours
  • Understand relational database concepts, including tables, rows, columns, and keys.
  • Learn about integrity rules, primary keys, foreign keys, and referential integrity.
  • Practice writing SELECT statements with WHERE clauses and joins.
Week
4

Module 1: Performance Tuning on Relational Database

5h

Unit 2: Relational database system design

5 study hours
  • Study common SQL commands: SELECT, INSERT, DELETE, UPDATE, CREATE TABLE, DROP TABLE, ALTER TABLE.
  • Understand the difference between DML and DDL commands.
  • Learn about result sets, cursors, transactions, and stored procedures.
Week
5

Module 1: Performance Tuning on Relational Database

5h

Unit 3: Performance Tuning on Relational Database

5 study hours
  • Understand the need for database tuning and its importance.
  • Learn about tuning indexes, conceptual schema, queries, and views.
  • Study techniques for performance tuning, including using multiple storage devices.
Week
6

Module 2: Querying Database

4h

Unit 1: Querying Graph-Structured Databases

4 study hours
  • Read the introduction to graph-structured databases and their importance.
  • Understand the motivating example of finding mutual acquaintances.
  • Review the architecture of a Semantic Web Search Engine (SWSE).
Week
7

Module 2: Querying Database

4h

Unit 1: Querying Graph-Structured Databases

4 study hours
  • Study the anatomy of the Index Manager, including keyword indices and quad indices.
  • Understand the concept of a complete index on quadruples.
  • Compare different index structure candidates: B-tree, hash table, and sparse index.
Week
8

Module 2: Querying Database

4h

Unit 1: Querying Graph-Structured Databases

4 study hours
  • Learn about indexers and data placement strategies.
  • Understand distributed query evaluation techniques.
  • Study atomic lookups over the network and join processing methods.
Week
9

Module 2: Querying Database

5h

Unit 2: Querying Streaming Databases

5 study hours
  • Understand the concept of streaming databases and their challenges.
  • Learn about the query processor and its phases: parsing, optimization, and evaluation.
  • Study query metrics such as cost and query processing architecture.
Week
10

Module 2: Querying Database

5h

Unit 2: Querying Streaming Databases

5 study hours
  • Study basic algorithms for executing relational query operations.
  • Learn about algorithms for implementing SELECT and JOIN operations.
  • Understand nested-loop join, single-loop join, sort-merge join, and hash-join algorithms.
Week
11

Module 3: Concept of Indexing

8h

Unit 1: Indexing High Dimensional database

4 study hours
  • Understand the challenges of indexing high-dimensional data.
  • Learn about the UniGrid structure for uncertain data and high-dimensional data.
  • Study similarity search processing and range query algorithms.

Unit 2: Managing Uncertainty in Databases

4 study hours
  • Understand the concept of managing uncertainty in databases.
  • Learn about causes of uncertainty and applications of uncertain data management.
  • Study information retrieval from uncertain data and querying processes.
Week
12

Module 3: Concept of Indexing

8h

Unit 3: Information retrieval in databases

4 study hours
  • Study range query processing and querying streaming databases.
  • Learn about different types of streams and composing streams.
  • Understand derived streams, active tables, and Data Stream Management Systems (DSMS).

Unit 4: Implementation of database internals

4 study hours
  • Study JDBC and its usage for information retrieval in relational databases.
  • Learn about fetching classes, loading drivers, creating statements, and processing results.
  • Understand the JDBC URL structure and connecting to a database.
Week
13

Module 3: Concept of Indexing

8h

Unit 4: Implementation of database internals

8 study hours
  • Review all modules and units.
  • Work on assignments and practical exercises.
  • Prepare for final examinations.

This study schedule is in beta and may not be accurate. Please use it as a guide and consult the course outline for the most accurate information.

Course PDF Material

Read the complete course material as provided by NOUN.

Access PDF Material

Study Tips & Exam Preparation

Expert tips to help you succeed in this course

1

Review SQL syntax and practice writing queries for different scenarios.

2

Focus on understanding indexing techniques and their impact on query performance.

3

Create concept maps linking database models, querying methods, and tuning strategies.

4

Practice solving problems related to uncertain data management.

5

Review JDBC code examples and understand how to connect to databases.

6

Allocate time to review all TMAs and assignments.

7

Prioritize studying the most challenging units (peak difficulty periods) identified in the course.

Related Courses

Other courses in Sciences that complement your learning