Skip to main content
nounstudy
DAM212

Database Laboratory

  • Sciences
  • 200 level
  • 2 credit units
  • 50 pages
  • 6 units

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.

About this course

Difficulty
Intermediate
Study hours
156 hours
Maths
Basic
Content
Theoretical, practical, problem solving
Practical work
Yes
Before you start
  • Basic programming knowledge
  • Familiarity with data structures
How it is assessed
  • Assignments
  • Tutor Marked Assessments
  • Final Examination

One paragraph, so you can see how it reads

DAM212 · Unit 1: Basic Concept and Definition

This may not strictly qualify as a data model, as defined above. The flat (or table) model consists of a single, two-dimensional array of data elements, where all members of a given column are assumed to be similar values, and all members of a row are assumed to be related to one another.

What you should be able to do

  1. Design and implement relational databases.
  2. Write efficient SQL queries for data retrieval and manipulation.
  3. Optimize database performance using indexing and tuning techniques.
  4. Understand the principles of graph and streaming databases.
  5. Apply techniques for managing uncertain data.
  6. Utilize JDBC for database connectivity in Java applications.

What it prepares you for

Careers
  • Database Administrator
  • Data Analyst
  • Data Scientist
  • Database Developer
  • Big Data Engineer
Where it is applied
  • Finance
  • E-commerce
  • Healthcare
  • Social Media
  • Sensor Networks
Tools
  • MySQL
  • PostgreSQL
  • Apache Lucene
  • JDBC

Where it gets hard

The units students slow down on, and what makes each one heavy.

  • Module 1: Performance Tuning on Relational Database

    Unit 2: Relational database system design

    Requires understanding of complex SQL syntax and database design principles.

  • Module 2: Querying Database

    Unit 1: Querying Graph-Structured Databases

    Involves grasping distributed system architectures and parallel query processing techniques.

  • Module 2: Querying Database

    Unit 2: Querying Streaming Databases

    Requires understanding of query processing phases and optimization techniques.

A suggested way through it

Suggested

13 weeks, about 73 hours in total. Yours will differ.

  1. Week 1Module 1: Performance Tuning on Relational Database
    • Unit 1: Basic Concept and Definition · 4 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 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..

  2. Week 2Module 1: Performance Tuning on Relational Database
    • Unit 1: Basic Concept and Definition · 4 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..

  3. Week 3Module 1: Performance Tuning on Relational Database
    • Unit 2: Relational database system design · 5 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..

  4. Week 4Module 1: Performance Tuning on Relational Database
    • Unit 2: Relational database system design · 5 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..

  5. Week 5Module 1: Performance Tuning on Relational Database
    • Unit 3: Performance Tuning on Relational Database · 5 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..

  6. Week 6Module 2: Querying Database
    • Unit 1: Querying Graph-Structured Databases · 4 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)..

  7. Week 7Module 2: Querying Database
    • Unit 1: Querying Graph-Structured Databases · 4 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..

  8. Week 8Module 2: Querying Database
    • Unit 1: Querying Graph-Structured Databases · 4 hours

      Learn about indexers and data placement strategies.. Understand distributed query evaluation techniques.. Study atomic lookups over the network and join processing methods..

  9. Week 9Module 2: Querying Database
    • Unit 2: Querying Streaming Databases · 5 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..

  10. Week 10Module 2: Querying Database
    • Unit 2: Querying Streaming Databases · 5 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..

  11. Week 11Module 3: Concept of Indexing
    • Unit 1: Indexing High Dimensional database · 4 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 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..

  12. Week 12Module 3: Concept of Indexing
    • Unit 3: Information retrieval in databases · 4 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 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..

  13. Week 13Module 3: Concept of Indexing
    • Unit 4: Implementation of database internals · 8 hours

      Review all modules and units.. Work on assignments and practical exercises.. Prepare for final examinations..

Preparing for the exam

What to do
  • Review SQL syntax and practice writing queries for different scenarios.
  • Focus on understanding indexing techniques and their impact on query performance.
  • Create concept maps linking database models, querying methods, and tuning strategies.
  • Practice solving problems related to uncertain data management.
  • Review JDBC code examples and understand how to connect to databases.
  • Allocate time to review all TMAs and assignments.
  • Prioritize studying the most challenging units (peak difficulty periods) identified in the course.

Questions students ask about this course

What is DAM212 about?

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.

How many units does DAM212 have?

DAM212, Database Laboratory, has 6 units across 2 modules, over 50 pages of course material. You can read it one unit at a time.

How many credit units is DAM212?

DAM212 carries 2 credit units, at 200 level in Sciences.

Is DAM212 hard?

DAM212 is rated intermediate level, with basic mathematical content. It is mostly theoretical, practical and problem solving work, and it has a practical component.

How long does DAM212 take to study?

About 156 hours of study, spread across its 6 units.

How is DAM212 assessed?

DAM212 is assessed by Assignments, Tutor Marked Assessments and Final Examination.

What do I need before starting DAM212?

Basic programming knowledge Familiarity with data structures

What can I do with DAM212?

Database Administrator, Data Analyst, Data Scientist, Database Developer and Big Data Engineer.

More courses in Sciences

CHM201

Physical Chemistry Ii

2 credit units

Open CHM201
CIT237

Programming and Algorithms

3 credit units

Open CIT237
PHY261

Geophysics I

2 credit units

Open PHY261