/db-programming-with-datajoint

A series of notebooks accompanying video tutorials

Primary LanguageJupyter NotebookGNU Lesser General Public License v3.0LGPL-3.0

Database Programming with DataJoint

A series of quick video tutorials

2019-03-04: "Using UUIDs"

Using UUIDs in DataJoint

2019-03-11: "Working a single table"

Working with a table

2019-04-16: "Working with existing databases"

Working with existing databases

2019-04-26: "Altering Table Definitions"

Altering Table Definitions


upcoming

(upcoming) "Work with Blobs"

(upcoming) "Work with Attachments"

(upcoming) "Work with Filepaths"


Minicourse A: Database Programming in DataJoint for Python

  1. Work with Tables
    • connections, schemas, dj.config
    • tables and classes
    • attributes and their types
    • primary key
    • insert and delete
    • lookup tables
    • fetch, head, tail
    • iterations
    • restrict and proj
    • insert from query
    • drop and alter
  2. Dependencies
    • primary and secondary dependencies
    • python modules
    • spawning classes
    • transactions, master-part relationship
    • diagramming
    • renamed attributes
    • patterns: hierarchy, membership, pairings and groupings
    • unique and optional dependencies
    • indexes
  3. Advanced Queries
    • join
    • aggr
    • universal sets
    • union
  4. Scientific Data and Big Data
    • blobs, attachments
    • external stores, cloud storage
    • filepaths

Minicourse B: Pipeline Programming in DataJoint for Python

  1. Computed tables
    • populate and make methods
    • patterns: parameterization and grouping
  2. Master-Part relationship
  3. Distributed processing
    • jobs table
    • dj.kill
  4. Customized computations
    • custom key_source