Course syllabus

Overview

This course will teach students the fundamentals of relational databases and data management. Students will learn the principles of database modeling and design and gain practical experience applying SQL (Structured Query Language) to manage and manipulate relational databases. The course also introduces the role and application of data documentation and metadata standards for interoperability and effective data management. By the end of the course, students will be equipped to make informed decisions about managing databases and data ethically and responsibly, focusing on issues such as bias, data privacy, sharing, ownership, and licensing.

Learning objectives

  • Understand the fundamental principles of relational databases and relational data modeling, including table structures, primary and foreign keys, relationships between tables, and data normalization.

  • Understand how to use the Unix command line and how manage DuckDB databases from the command line.

  • Use SQL to retrieve, manipulate, and manage data stored in a relational database.

  • Demonstrate proficiency in querying, filtering, sorting, and programmatically accessing and interacting with relational databases from R and Python.

  • Become familiar with advanced database topics such as concurrency, transactions, indexing, backups, and publication.

  • Understand the role of good data documentation and metadata standards for interoperability, effective data management, and reproducibility.

  • Operationalize the FAIR principles into data management practices.

  • Produce a metadata record in EML (Ecological Metadata Language) and apply metadata crosswalks to programmatically convert metadata schemas.

  • Understand the ethics of sensitive data and how to de-identify sensitive data.

  • Evaluate ethical and responsible data management practices, including bias, data privacy, sharing, ownership, and licensing issues.

Schedule

  • Class: Monday & Wednesday 9:30-10:45 am (NCEAS)
  • Discussion - session 1: Thur 1-1:50PM, Bren Hall 1510
  • Discussion - session 2: Thur 2-2:50PM, Bren Hall 1510
  • Office hours: Monday 11-12 pm (NCEAS)

Modules

Week Topic/Content
1 Relational databases and data modeling
2 Analyzing & cleaning the bird dataset (from csv)
3 Introduction to SQL part 1 & DuckDB
4 Importing data in the database + SQL part 2
5 Analyzing the bird database using SQL + bash programming
6 Using R & python to query databases
7 Documenting your work: metdata & computing environment
8 Sensitive data
9 Ethical & responsible data mgnt
10 Data licensing and publication

*Schedule subject to change.

Course assessment

Your performance in this course will depend 90% on weekly homework assignments and 10% on class participation. There will be no graded exercises or homework the last week. We will use Canvas to manage the assignments.

Attendance and homework policy

Attendance is required. Material will be given in class that is not covered by slides or background readings.

Homework is expected to be turned in on time. A generous amount of time will be given to complete assignments. Do not wait until the last minute to work on homework in case something unexpected comes up. Homework turned in late will be docked 20% per day.

Code of conduct

All students are expected to read and comply with the UCSB Student Conduct Code. We expect cooperation from all members to help ensure a welcoming and inclusive environment for everybody. We are determined to make our courses welcoming, inclusive and harassment-free for everyone regardless of gender, gender identity and expression, race, age, sexual orientation, disability, physical appearance, or religion (or lack thereof). We do not tolerate harassment of class participants, teaching assistants, or instructors in any form. Derogatory, abusive, or demeaning language or imagery will not be tolerated.

Student support

We understand that ongoing crises impact students differently based on experiences, identities, living situations and resources, family responsibilities, and unforeseen challenges. We encourage you to prioritize your well-being. We are here to help you reach your learning and career goals. You are always welcome to reach out to our teaching team so that we can best support you. Please see the UCSB Campus Resource Guide for campus student support and services.

Disabled students program

Students with disabilities and/or alternative learning needs are encouraged to work with the Disabled Students Program at UCSB to ensure we can best support your learning and success.


Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License

UCSB logo