Skip to content

Commit 5862caa

Browse files
re-order chapters
1 parent ac904ff commit 5862caa

13 files changed

+115
-10
lines changed
File renamed without changes.
File renamed without changes.

book/30-schema-design/055-normalization.ipynb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,13 @@
203203
"Now department information is stored once, and there are no transitive dependencies. Each attribute directly depends on its table's primary key.\n"
204204
]
205205
},
206+
{
207+
"cell_type": "markdown",
208+
"metadata": {},
209+
"source": [
210+
"\n"
211+
]
212+
},
206213
{
207214
"cell_type": "markdown",
208215
"metadata": {},

book/80-examples/000-example-designs.ipynb

Lines changed: 99 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,105 @@
1717
{
1818
"cell_type": "markdown",
1919
"metadata": {},
20-
"source": []
20+
"source": [
21+
"## Overview of Examples\n",
22+
"\n",
23+
"This section presents a variety of schema examples that demonstrate different aspects of DataJoint design principles. Each example showcases specific patterns, relationships, and use cases ranging from classic database tutorials to real-world scientific applications.\n",
24+
"\n",
25+
"### Classic Database Examples\n",
26+
"\n",
27+
"These examples are adapted from well-known database tutorials to show how traditional relational designs map to DataJoint's entity-workflow model.\n",
28+
"\n",
29+
"#### [Classic Sales Database](010-classic-sales.ipynb)\n",
30+
"The classic MySQL tutorial sales database featuring customers, orders, products, and employees. This example demonstrates:\n",
31+
"- Traditional business database design\n",
32+
"- Many-to-many relationships through order details\n",
33+
"- Employee management hierarchies\n",
34+
"- Product lines and order fulfillment\n",
35+
"\n",
36+
"#### [University Database](015-university.ipynb)\n",
37+
"A university course enrollment system with students, courses, instructors, and enrollments. This example illustrates:\n",
38+
"- Academic record keeping\n",
39+
"- Course registration workflows\n",
40+
"- Student-course many-to-many relationships\n",
41+
"- Grade tracking and prerequisites\n",
42+
"\n",
43+
"#### [Nations Database](030-nations.ipynb)\n",
44+
"A geographical database with countries, regions, and continents from the MariaDB tutorial. This example shows:\n",
45+
"- Hierarchical geographical relationships\n",
46+
"- Lookup tables for standardized data\n",
47+
"- Regional groupings and classifications\n",
48+
"\n",
49+
"### Conceptual Examples\n",
50+
"\n",
51+
"These examples focus on specific design patterns and conceptual challenges in database modeling.\n",
52+
"\n",
53+
"#### [Hotel Reservation System](040-hotel.ipynb)\n",
54+
"A complete hotel management system with rooms, reservations, check-ins, and check-outs. This design exercise demonstrates:\n",
55+
"- Time-series data (room availability and pricing)\n",
56+
"- Business rule enforcement (no double-booking, check-in requires reservation)\n",
57+
"- Guest management and payment processing\n",
58+
"- Temporal queries (who stayed when, room history)\n",
59+
"\n",
60+
"#### [Social Generations](044-generations.ipynb)\n",
61+
"Defines social generations as birth cohorts sharing cultural and historical experiences. This example explores:\n",
62+
"- Lookup tables for reference data\n",
63+
"- Birth year ranges and generational characteristics\n",
64+
"- Cultural archetypes and life principles\n",
65+
"- Using DataJoint to model sociological concepts\n",
66+
"\n",
67+
"#### [Languages and Proficiency](050-languages.ipynb)\n",
68+
"A many-to-many relationship design tracking people and their language skills using international standards. This comprehensive example demonstrates:\n",
69+
"- **ISO 639-1 language codes**: Standardized two-letter codes for major world languages\n",
70+
"- **CEFR proficiency levels**: Common European Framework of Reference for Languages (A1-C2)\n",
71+
"- **Association tables**: `Proficiency` as a workflow step linking people, languages, and levels\n",
72+
"- **Lookup tables**: Both `Language` and `CEFRLevel` with predefined, standardized content\n",
73+
"- **International standards**: Using established frameworks ensures consistency and compatibility\n",
74+
"- **Sample queries**: Finding multilingual individuals, proficient speakers, and language statistics\n",
75+
"\n",
76+
"### Organizational Examples\n",
77+
"\n",
78+
"These examples model organizational structures and hierarchies.\n",
79+
"\n",
80+
"#### [Management Hierarchy](060-management.ipynb)\n",
81+
"Demonstrates self-referencing tables and organizational relationships. This example shows:\n",
82+
"- Employees managing other employees (recursive relationships)\n",
83+
"- Department structure with chairs and budgets\n",
84+
"- Organizational hierarchies and reporting chains\n",
85+
"- One-to-one relationships (department chairs)\n",
86+
"- Normalized department data (codes, names, budgets, locations)\n",
87+
"\n",
88+
"### Scientific Examples\n",
89+
"\n",
90+
"Real-world scientific applications demonstrating DataJoint in research contexts.\n",
91+
"\n",
92+
"#### [Allen Common Coordinate Framework](065-allen-ccf.ipynb)\n",
93+
"The Allen Brain Atlas coordinate system for mouse brain anatomy. This example illustrates:\n",
94+
"- 3D spatial coordinates and brain structure atlases\n",
95+
"- Hierarchical anatomical relationships\n",
96+
"- Integration with neuroimaging data\n",
97+
"- Real scientific data pipeline from the DataJoint Elements project\n",
98+
"- Published standards in neuroscience research\n",
99+
"\n",
100+
"#### [Julia Sets](070-julia.ipynb)\n",
101+
"Computational visualization of Julia sets from fractal mathematics. This example demonstrates:\n",
102+
"- Computed tables for mathematical functions\n",
103+
"- Parameter spaces and computational workflows\n",
104+
"- Image generation and visualization\n",
105+
"- Using DataJoint for reproducible computational art\n",
106+
"- Automatic computation with `populate()`\n",
107+
"\n",
108+
"---\n",
109+
"\n",
110+
"Each example is self-contained with:\n",
111+
"- Complete schema definitions\n",
112+
"- Sample data population\n",
113+
"- Example queries demonstrating key concepts\n",
114+
"- Visual diagrams showing table relationships\n",
115+
"- Code that you can run and modify\n",
116+
"\n",
117+
"Browse through these examples to see different design patterns in action and learn how to apply DataJoint principles to your own domains.\n"
118+
]
21119
}
22120
],
23121
"metadata": {

book/80-examples/010-classic-sales.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"cell_type": "markdown",
55
"metadata": {},
66
"source": [
7-
"# Example: Classic Sales\n",
7+
"# Classic Sales\n",
88
"\n",
99
"This is the classic sales database provided as part of the MySQL tutorial. http://www.mysqltutorial.org/mysql-sample-database.aspx\n",
1010
"\n",

book/80-examples/015-university.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"cell_type": "markdown",
55
"metadata": {},
66
"source": [
7-
"# Example: University"
7+
"# University"
88
]
99
},
1010
{

book/80-examples/030-nations.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"cell_type": "markdown",
55
"metadata": {},
66
"source": [
7-
"# Example: Nations"
7+
"# Nations"
88
]
99
},
1010
{

book/80-examples/040-hotel.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"id": "6e26075b",
66
"metadata": {},
77
"source": [
8-
"# Example: Hotel\n",
8+
"# Hotel\n",
99
"\n",
1010
"## Assignment\n",
1111
"\n",

book/80-examples/044-generations.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"id": "770f5f50",
66
"metadata": {},
77
"source": [
8-
"# Example: Social Generations\n",
8+
"# Social Generations\n",
99
"\n",
1010
"## Social Generations and Their Meaning\n",
1111
"\n",

book/80-examples/050-languages.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"cell_type": "markdown",
55
"metadata": {},
66
"source": [
7-
"# Example: Languages \n",
7+
"# Languages \n",
88
"\n",
99
"This example demonstrates a classic many-to-many relationship design using an association table. We'll track people and the languages they speak, along with their proficiency levels using the internationally recognized CEFR standard.\n",
1010
"\n",

0 commit comments

Comments
 (0)