[{"data":1,"prerenderedAt":87},["ShallowReactive",2],{"subject:databases":3,"course-wordcounts":30,"nav:databases":86},{"id":4,"title":5,"blurb":6,"body":7,"description":14,"extension":15,"meta":16,"module":11,"navigation":17,"path":18,"practice":19,"rawbody":20,"readingTime":21,"seo":24,"sources":25,"status":26,"stem":27,"summary":11,"topics":28,"__hash__":29},"course\u002F05.databases\u002Findex.md","Databases","The relational model, query languages, and what keeps data correct under concurrency and failure.",{"type":8,"value":9,"toc":10},"minimark",[],{"title":11,"searchDepth":12,"depth":12,"links":13},"",2,[],"The relational model and algebra, SQL, schema design and normalization, indexing and query processing, transactions and concurrency control, recovery, and a look at distributed and NoSQL stores. Notes for this subject are coming soon.","md",{},true,"\u002Fdatabases",[],"---\ntitle: Databases\nstatus: placeholder\nblurb: >-\n  The relational model, query languages, and what keeps data correct under\n  concurrency and failure.\ndescription: >-\n  The relational model and algebra, SQL, schema design and normalization,\n  indexing and query processing, transactions and concurrency control, recovery,\n  and a look at distributed and NoSQL stores. Notes for this subject are coming\n  soon.\n---\n",{"text":22,"minutes":23,"time":23,"words":23},"0 min read",0,{"title":5,"description":14},[],"placeholder","05.databases\u002Findex",[],"hkiIo68ZnmeIK88hG5hzKiMz4LJ0xC6qtvAe7Ro-CMY",{"\u002Falgorithms\u002Ffoundations\u002Fwhat-is-an-algorithm":31,"\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis":32,"\u002Falgorithms\u002Ffoundations\u002Frecurrences":33,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fmergesort":34,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fquicksort":35,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fselection":36,"\u002Falgorithms\u002Fsorting\u002Fheaps-and-heapsort":37,"\u002Falgorithms\u002Fsorting\u002Fsorting-lower-bounds":38,"\u002Falgorithms\u002Fsorting\u002Flinear-time-sorting":39,"\u002Falgorithms\u002Fdata-structures\u002Felementary-structures":40,"\u002Falgorithms\u002Fdata-structures\u002Fhash-tables":41,"\u002Falgorithms\u002Fdata-structures\u002Fbinary-search-trees":42,"\u002Falgorithms\u002Fdata-structures\u002Favl-trees":43,"\u002Falgorithms\u002Fdata-structures\u002Fbalanced-trees":44,"\u002Falgorithms\u002Fdata-structures\u002Funion-find":45,"\u002Falgorithms\u002Fdata-structures\u002Ffenwick-and-segment-trees":46,"\u002Falgorithms\u002Fsequences\u002Ftwo-pointers-and-windows":47,"\u002Falgorithms\u002Fsequences\u002Fmonotonic-stacks":48,"\u002Falgorithms\u002Fsequences\u002Fbinary-search-on-the-answer":49,"\u002Falgorithms\u002Fsequences\u002Fstring-matching":50,"\u002Falgorithms\u002Fsequences\u002Ftries":51,"\u002Falgorithms\u002Fgraphs\u002Frepresentations-and-traversal":52,"\u002Falgorithms\u002Fgraphs\u002Ftopological-sort-and-scc":53,"\u002Falgorithms\u002Fgraphs\u002Fminimum-spanning-trees":54,"\u002Falgorithms\u002Fgraphs\u002Fshortest-paths":55,"\u002Falgorithms\u002Fgraphs\u002Fnetwork-flow":56,"\u002Falgorithms\u002Fgraphs\u002Fbridges-and-articulation-points":57,"\u002Falgorithms\u002Fgraphs\u002Flowest-common-ancestor":58,"\u002Falgorithms\u002Fgraphs\u002Ftwo-sat":59,"\u002Falgorithms\u002Fgraphs\u002Feulerian-tours":60,"\u002Falgorithms\u002Fgreedy\u002Fthe-greedy-method":61,"\u002Falgorithms\u002Fgreedy\u002Fscheduling-and-intervals":62,"\u002Falgorithms\u002Fgreedy\u002Fhuffman-codes":63,"\u002Falgorithms\u002Fgreedy\u002Fmatroids":64,"\u002Falgorithms\u002Fdynamic-programming\u002Fprinciples":65,"\u002Falgorithms\u002Fdynamic-programming\u002Fsequence-dp":66,"\u002Falgorithms\u002Fdynamic-programming\u002Flongest-increasing-subsequence":67,"\u002Falgorithms\u002Fdynamic-programming\u002Fknapsack":68,"\u002Falgorithms\u002Fdynamic-programming\u002Fcoin-change-and-unbounded":69,"\u002Falgorithms\u002Fdynamic-programming\u002Finterval-dp":70,"\u002Falgorithms\u002Fdynamic-programming\u002Ftree-dp":71,"\u002Falgorithms\u002Fdynamic-programming\u002Fbitmask-dp":72,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-optimizations":73,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-on-graphs":74,"\u002Falgorithms\u002Fbacktracking\u002Fbacktracking-fundamentals":75,"\u002Falgorithms\u002Fbacktracking\u002Fconstraint-search":76,"\u002Falgorithms\u002Fbacktracking\u002Fbranch-and-bound":77,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fnumber-theory-basics":47,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fmodular-exponentiation-and-primality":78,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fsieve-and-factorization":79,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fcombinatorics":80,"\u002Falgorithms\u002Fcomputational-geometry\u002Fgeometric-primitives":81,"\u002Falgorithms\u002Fcomputational-geometry\u002Fconvex-hull":63,"\u002Falgorithms\u002Fcomputational-geometry\u002Fsweep-line":82,"\u002Falgorithms\u002Fintractability\u002Fp-np-reductions":83,"\u002Falgorithms\u002Fintractability\u002Fnp-completeness":43,"\u002Falgorithms\u002Fintractability\u002Fcoping-with-hardness":84,"\u002Falgorithms":85,"\u002Ftheory-of-computation":23,"\u002Fcomputer-architecture":23,"\u002Fphysical-computing":23,"\u002Fdatabases":23,"\u002Fdeep-learning":23},1763,2107,1738,2628,1723,2048,1697,1044,1542,1565,1679,1586,1388,1465,1971,1455,1533,1483,1578,1791,1481,2704,1658,2070,1978,2080,1568,1451,1291,1543,1883,1443,1599,2038,2241,1744,1678,2288,1929,1657,1412,1554,1418,1713,1798,1694,1762,1534,1595,1262,1495,1630,2306,2142,107,[],1781526651305]