<commit_before>---
layout: index
---

#### Overview

The goal of this class is two-fold. First, to introduce you to core database concepts (e.g., data modeling, logical design, SQL) so that you too can build a billion dollar application. Second, to teach enough about database engine internals (e.g., physical database design, query optimization, transaction processing) so you have a good sense of why queries may be running slowly/incorrectly.  We will also discuss their relevance to systems used in industry.

The Data Management Seminar invites interesting database researchers and practitioners to speak.  Students are invited to join in person or on zoom (if available).   We will announce these periodically throughout the semester.

<!--**Advanced Assignments**  There will several [optional extra-credit assignments](https://github.com/w4111/advanced) that will dive deeper into concepts introduced in class.   Some of them will involve extending a simple Python-based database engine with additional functionality!  They are labeled `AA#` in the schedule.  There is no obligation to do these, but they are available if you want to do then in addition to, or in lieu of the normal assignments.-->

<!--
<center><span style="padding: 2em; font-size: 20pt">Please do not ask me about the waitlist</span></center>
-->


<!--
#### Automated Exercises/resources

Developed for W4111

* [Transaction scheduling](https://w4111.github.io/concurrency.html)
* [Join optimization problem generator](https://w4111.github.io/join.html)
* Want more functional dependencies?  How about 100!  [Functional Dependency Problem Generator](./fd)

Developed by others:

* An [external Relation Algebra calculator](http://dbis-uibk.github.io/relax/calc.htm#) that might help you write and understand relational algebra.
* Here is a [link to another DB course's database recovery simulator](https://mwhittaker.github.io/aries/) (ARIES protocol).  It is more in depth than what we discussed in class, but is nice if you are interested in the details.
-->

#### Announcements

<!--
* [Sign up for Project 1 Part 1 staff meetings!](https://calendar.google.com/calendar/u/0/selfsched?sstoken=<KEY>)  One meeting per team.
* Updated lecture 2 slides to clarify constraints over N-way relationships.
-->
* 10/11: fixed a bug in relational algebra slide 57 so equijoin removes the duplicate attributes.
* 10/6: first [extra credit assignment released](https://github.com/w4111/w4111.github.io/wiki)
* 10/6: Updated the slides for the SQL lectures
* 9/29: Looking for past exams?  [Look no further.  Click here!](https://github.com/w4111/w4111.github.io/tree/main/files/reading)
* 9/29: Link to [SQLTutor](https://cudbg.github.io/sqltutor/)
* 9/27: Notebook examples used in class [can be found here](https://github.com/w4111/w4111.github.io/tree/main/src/notebooks)
* 9/13: Added [Link to Project 1 Part 1 appointment slots](https://calendar.google.com/calendar/u/0/selfsched?sstoken=<KEY>)
* 9/8: Added [course gradescope link to webpage](https://www.gradescope.com/courses/436228/)
* 9/8:  HW1 part 1 and Project 1 Part 1 are released
* 9/6: [HW0](https://github.com/w4111/hw0) released.  No Late Days!  Failure to submit on time is a -5% penalty on your final grade.

#### Schedule

<table class="table table-striped schedule">
  <thead>
  <tr>
    <th class="idx"></th>
    <th class="date" style="width: 5em; max-width: 5em;"> <p> <span>Date </span> </p> </th>
    <th style="min-width: 20%;"> <p> <span>Topic </span> </p> </th><commit_msg>lazy commit msg<commit_after>---
layout: index
---

#### Overview

The goal of this class is two-fold. First, to introduce you to core database concepts (e.g., data modeling, logical design, SQL) so that you too can build a billion dollar application. Second, to teach enough about database engine internals (e.g., physical database design, query optimization, transaction processing) so you have a good sense of why queries may be running slowly/incorrectly.  We will also discuss their relevance to systems used in industry.

The Data Management Seminar invites interesting database researchers and practitioners to speak.  Students are invited to join in person or on zoom (if available).   We will announce these periodically throughout the semester.

<!--**Advanced Assignments**  There will several [optional extra-credit assignments](https://github.com/w4111/advanced) that will dive deeper into concepts introduced in class.   Some of them will involve extending a simple Python-based database engine with additional functionality!  They are labeled `AA#` in the schedule.  There is no obligation to do these, but they are available if you want to do then in addition to, or in lieu of the normal assignments.-->

<!--
<center><span style="padding: 2em; font-size: 20pt">Please do not ask me about the waitlist</span></center>
-->


<!--
#### Automated Exercises/resources

Developed for W4111

* [Transaction scheduling](https://w4111.github.io/concurrency.html)
* [Join optimization problem generator](https://w4111.github.io/join.html)
* Want more functional dependencies?  How about 100!  [Functional Dependency Problem Generator](./fd)

Developed by others:

* An [external Relation Algebra calculator](http://dbis-uibk.github.io/relax/calc.htm#) that might help you write and understand relational algebra.
* Here is a [link to another DB course's database recovery simulator](https://mwhittaker.github.io/aries/) (ARIES protocol).  It is more in depth than what we discussed in class, but is nice if you are interested in the details.
-->

#### Announcements

<!--
* [Sign up for Project 1 Part 1 staff meetings!](https://calendar.google.com/calendar/u/0/selfsched?sstoken=<KEY>)  One meeting per team.
* Updated lecture 2 slides to clarify constraints over N-way relationships.
-->
* 10/17: added a link to [SQL injection example in class](http://w4111.github.io/inject).
* 10/11: fixed a bug in relational algebra slide 57 so equijoin removes the duplicate attributes.
* 10/6: first [extra credit assignment released](https://github.com/w4111/w4111.github.io/wiki)
* 10/6: Updated the slides for the SQL lectures
* 9/29: Looking for past exams?  [Look no further.  Click here!](https://github.com/w4111/w4111.github.io/tree/main/files/reading)
* 9/29: Link to [SQLTutor](https://cudbg.github.io/sqltutor/)
* 9/27: Notebook examples used in class [can be found here](https://github.com/w4111/w4111.github.io/tree/main/src/notebooks)
* 9/13: Added [Link to Project 1 Part 1 appointment slots](https://calendar.google.com/calendar/u/0/selfsched?sstoken=<KEY>)
* 9/8: Added [course gradescope link to webpage](https://www.gradescope.com/courses/436228/)
* 9/8:  HW1 part 1 and Project 1 Part 1 are released
* 9/6: [HW0](https://github.com/w4111/hw0) released.  No Late Days!  Failure to submit on time is a -5% penalty on your final grade.

#### Schedule

<table class="table table-striped schedule">
  <thead>
  <tr>
    <th class="idx"></th>
    <th class="date" style="width: 5em; max-width: 5em;"> <p> <span>Date </span> </p> </th>
    <th style="min-width: 20%;"> <p> <span>Topic </span> </p> </th>
{'fraction_non_alphanumeric': 0.11820728291316526, 'fraction_numerical': 0.030252100840336135, 'mean_word_length': 4.349063670411985, 'pattern_counts': {'":': 0, '<': 57, '<?xml version=': 0, '>': 57, 'https://': 24, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4363599', 'n_tokens_mistral': 2239, 'n_tokens_neox': 2037, 'n_words': 829}