{"version":3,"sources":["webpack:///./components/Elements/TablePanel.js","webpack:///./components/Elements/Example.less","webpack:///./components/Elements/Box.less","webpack:///./components/Rendering/Latex.less","webpack:///./components/Elements/Section.js","webpack:///./components/Elements/Panel.less","webpack:///./contexts/LatexDefaultDisplay.js","webpack:///./components/Rendering/Latex.js","webpack:///./components/Elements/Timer.js","webpack:///../src/index.js","webpack:///./routes/BasiDiDati.js","webpack:///./components/Layout/Split.js","webpack:///./components/Rendering/PLatex.js","webpack:///./components/Elements/TablePanel.less","webpack:///./components/Elements/Example.js","webpack:///./components/Elements/Box.js","webpack:///./components/Elements/Timer.less","webpack:///./components/Layout/Split.less","webpack:///./components/Elements/Panel.js","webpack:///./contexts/LatexDefaultInline.js","webpack:///./components/Rendering/ILatex.js","webpack:///./components/Rendering/BLatex.js"],"names":["props","class","style","tablepanel","children","module","exports","title","createContext","LatexDisplay","Object","freeze","INLINE","inline","BLOCK","block","display","renderColor","useContext","LatexRenderColor","defaultInline","LatexDefaultInline","defaultDisplay","LatexDefaultDisplay","undefined","src","alt","latex","Timer","state","Date","now","timer","componentDidMount","this","setInterval","setState","componentWillUnmount","clearInterval","render","dateTo","className","parts","milliseconds","seconds","minutes","hours","days","to","timeLeft","Math","floor","expired","unknown","count","text","Component","getHookState","index","type","options","_hook","currentComponent","currentHook","hooks","__hooks","_list","_pendingEffects","length","push","useState","initialState","useReducer","invokeOrReturn","reducer","init","hookState","currentIndex","_reducer","_component","_value","nextValue","action","useEffect","callback","args","_skipEffects","argsChanged","_args","useLayoutEffect","_renderCallbacks","useRef","initialValue","useMemo","current","useImperativeHandle","ref","createHandle","concat","factory","_factory","useCallback","context","provider","_id","_context","sub","value","_defaultValue","useDebugValue","formatter","flushAfterPaintEffects","afterPaintEffects","some","component","_parentDom","forEach","invokeCleanup","invokeEffect","e","_catchError","_vnode","hook","_cleanup","oldArgs","newArgs","arg","f","prevRaf","oldBeforeRender","_render","oldAfterDiff","diffed","oldCommit","_commit","oldBeforeUnmount","unmount","vnode","c","requestAnimationFrame","raf","done","clearTimeout","timeout","cancelAnimationFrame","setTimeout","window","commitQueue","filter","cb","r","String","raw","BasiDiDati","href","Array","isArray","map","element","splitchild","split","splitparent","example","BoxColors","RED","red","ORANGE","orange","YELLOW","yellow","LIME","lime","CYAN","cyan","BLUE","blue","MAGENTA","magenta","DEFAULT","default","color","box","contents"],"mappings":"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","file":"route-BasiDiDati.chunk.4f988.js","sourcesContent":["import style from \"./TablePanel.less\";\n\nexport default function (props) {\n return (\n \n {props.children}\n
\n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"example\":\"example__9acWs\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"box\":\"box__3cKyY\",\"default\":\"default__v-emJ\",\"red\":\"red__339Cz\",\"orange\":\"orange__24_8v\",\"yellow\":\"yellow__1Jo9W\",\"lime\":\"lime__34yV5\",\"cyan\":\"cyan__3RqLr\",\"blue\":\"blue__13Wnj\",\"magenta\":\"magenta__2tkzq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"inline\":\"inline__1yl8V\",\"block\":\"block__fPiiB\"};","import Split from \"../Layout/Split\";\nimport {Fragment} from \"preact\";\n\nexport default function (props) {\n return (\n \n

\n {props.title}\n

\n \n {props.children}\n \n
\n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"title__3ZVpg\",\"contents\":\"contents__20_NI\"};","import {createContext} from \"preact\";\n\nexport default createContext(null);\n","import style from './Latex.less';\nimport {useContext} from \"preact/hooks\";\nimport LatexRenderColor from \"../../contexts/LatexRenderColor\";\nimport LatexDefaultInline from \"../../contexts/LatexDefaultInline\";\nimport LatexDefaultDisplay from \"../../contexts/LatexDefaultDisplay\";\n\nexport const LatexDisplay = Object.freeze({\n INLINE: style.inline,\n BLOCK: style.block,\n})\n\nexport default function(props) {\n // black, blue, brown, cyan, darkgray, gray, green, lightgray, lime, magenta, olive, orange, pink, purple, red, teal, violet, white, yellow\n let renderColor = useContext(LatexRenderColor);\n let defaultInline = useContext(LatexDefaultInline);\n let defaultDisplay = useContext(LatexDefaultDisplay);\n\n let inline;\n if(props.inline === undefined) {\n inline = defaultInline;\n }\n else {\n inline = props.inline;\n }\n\n let display;\n if(props.display === undefined) {\n if(defaultDisplay === null) {\n display = LatexDisplay.INLINE;\n }\n else {\n display = defaultDisplay;\n }\n }\n else {\n display = props.display;\n }\n\n if(inline) {\n let equation = `\\\\inline {\\\\color{${renderColor}} ${props.children} }`;\n return (\n {props.children}\n\n );\n }\n else {\n let equation = `{\\\\color{${renderColor}} ${props.children} }`;\n return (\n {props.children}\n\n );\n }\n}\n","import {Component} from 'preact'\nimport style from \"./Timer.less\"\n\n\nexport default class Timer extends Component {\n constructor() {\n super();\n this.state = {\n \"now\": Date.now()\n };\n this.timer = null;\n }\n\n componentDidMount() {\n this.timer = setInterval(() => {\n this.setState({\"now\": Date.now()})\n }, 1000)\n }\n\n componentWillUnmount() {\n if(this.timer !== null) {\n clearInterval(this.timer)\n }\n }\n\n render() {\n let dateTo = \"Unknown date\";\n let className = style.timer;\n\n let parts = {\n milliseconds: \"?\",\n seconds: \"?\",\n minutes: \"?\",\n hours: \"?\",\n days: \"?\",\n };\n\n if(this.props.to) {\n dateTo = new Date(this.props.to);\n let timeLeft = dateTo - this.state.now;\n\n if(timeLeft > 0) {\n parts = {\n milliseconds: timeLeft % 1000,\n seconds: Math.floor(timeLeft / 1000) % 60,\n minutes: Math.floor(timeLeft / 60000) % 60,\n hours: Math.floor(timeLeft / 3600000) % 24,\n days: Math.floor(timeLeft / 86400000),\n };\n }\n\n else {\n parts = {\n milliseconds: 0,\n seconds: 0,\n minutes: 0,\n hours: 0,\n days: 0,\n };\n\n className += \" \" + style.expired;\n }\n }\n else {\n className += \" \" + style.unknown;\n }\n\n return (\n
\n
\n {parts.days}\n
\n
\n giorni\n
\n
\n {parts.hours}\n
\n
\n ore\n
\n
\n {parts.minutes}\n
\n
\n minuti\n
\n
\n {parts.seconds}\n
\n
\n secondi\n
\n
\n )\n }\n}\n","import { options } from 'preact';\n\n/** @type {number} */\nlet currentIndex;\n\n/** @type {import('./internal').Component} */\nlet currentComponent;\n\n/** @type {number} */\nlet currentHook = 0;\n\n/** @type {Array} */\nlet afterPaintEffects = [];\n\nlet oldBeforeRender = options._render;\nlet oldAfterDiff = options.diffed;\nlet oldCommit = options._commit;\nlet oldBeforeUnmount = options.unmount;\n\nconst RAF_TIMEOUT = 100;\nlet prevRaf;\n\noptions._render = vnode => {\n\tif (oldBeforeRender) oldBeforeRender(vnode);\n\n\tcurrentComponent = vnode._component;\n\tcurrentIndex = 0;\n\n\tconst hooks = currentComponent.__hooks;\n\tif (hooks) {\n\t\thooks._pendingEffects.forEach(invokeCleanup);\n\t\thooks._pendingEffects.forEach(invokeEffect);\n\t\thooks._pendingEffects = [];\n\t}\n};\n\noptions.diffed = vnode => {\n\tif (oldAfterDiff) oldAfterDiff(vnode);\n\n\tconst c = vnode._component;\n\tif (c && c.__hooks && c.__hooks._pendingEffects.length) {\n\t\tafterPaint(afterPaintEffects.push(c));\n\t}\n};\n\noptions._commit = (vnode, commitQueue) => {\n\tcommitQueue.some(component => {\n\t\ttry {\n\t\t\tcomponent._renderCallbacks.forEach(invokeCleanup);\n\t\t\tcomponent._renderCallbacks = component._renderCallbacks.filter(cb =>\n\t\t\t\tcb._value ? invokeEffect(cb) : true\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tcommitQueue.some(c => {\n\t\t\t\tif (c._renderCallbacks) c._renderCallbacks = [];\n\t\t\t});\n\t\t\tcommitQueue = [];\n\t\t\toptions._catchError(e, component._vnode);\n\t\t}\n\t});\n\n\tif (oldCommit) oldCommit(vnode, commitQueue);\n};\n\noptions.unmount = vnode => {\n\tif (oldBeforeUnmount) oldBeforeUnmount(vnode);\n\n\tconst c = vnode._component;\n\tif (c && c.__hooks) {\n\t\ttry {\n\t\t\tc.__hooks._list.forEach(invokeCleanup);\n\t\t} catch (e) {\n\t\t\toptions._catchError(e, c._vnode);\n\t\t}\n\t}\n};\n\n/**\n * Get a hook's state from the currentComponent\n * @param {number} index The index of the hook to get\n * @param {number} type The index of the hook to get\n * @returns {import('./internal').HookState}\n */\nfunction getHookState(index, type) {\n\tif (options._hook) {\n\t\toptions._hook(currentComponent, index, currentHook || type);\n\t}\n\tcurrentHook = 0;\n\n\t// Largely inspired by:\n\t// * https://github.com/michael-klein/funcy.js/blob/f6be73468e6ec46b0ff5aa3cc4c9baf72a29025a/src/hooks/core_hooks.mjs\n\t// * https://github.com/michael-klein/funcy.js/blob/650beaa58c43c33a74820a3c98b3c7079cf2e333/src/renderer.mjs\n\t// Other implementations to look at:\n\t// * https://codesandbox.io/s/mnox05qp8\n\tconst hooks =\n\t\tcurrentComponent.__hooks ||\n\t\t(currentComponent.__hooks = {\n\t\t\t_list: [],\n\t\t\t_pendingEffects: []\n\t\t});\n\n\tif (index >= hooks._list.length) {\n\t\thooks._list.push({});\n\t}\n\treturn hooks._list[index];\n}\n\n/**\n * @param {import('./index').StateUpdater} initialState\n */\nexport function useState(initialState) {\n\tcurrentHook = 1;\n\treturn useReducer(invokeOrReturn, initialState);\n}\n\n/**\n * @param {import('./index').Reducer} reducer\n * @param {import('./index').StateUpdater} initialState\n * @param {(initialState: any) => void} [init]\n * @returns {[ any, (state: any) => void ]}\n */\nexport function useReducer(reducer, initialState, init) {\n\t/** @type {import('./internal').ReducerHookState} */\n\tconst hookState = getHookState(currentIndex++, 2);\n\thookState._reducer = reducer;\n\tif (!hookState._component) {\n\t\thookState._component = currentComponent;\n\n\t\thookState._value = [\n\t\t\t!init ? invokeOrReturn(undefined, initialState) : init(initialState),\n\n\t\t\taction => {\n\t\t\t\tconst nextValue = hookState._reducer(hookState._value[0], action);\n\t\t\t\tif (hookState._value[0] !== nextValue) {\n\t\t\t\t\thookState._value[0] = nextValue;\n\t\t\t\t\thookState._component.setState({});\n\t\t\t\t}\n\t\t\t}\n\t\t];\n\t}\n\n\treturn hookState._value;\n}\n\n/**\n * @param {import('./internal').Effect} callback\n * @param {any[]} args\n */\nexport function useEffect(callback, args) {\n\t/** @type {import('./internal').EffectHookState} */\n\tconst state = getHookState(currentIndex++, 3);\n\tif (!options._skipEffects && argsChanged(state._args, args)) {\n\t\tstate._value = callback;\n\t\tstate._args = args;\n\n\t\tcurrentComponent.__hooks._pendingEffects.push(state);\n\t}\n}\n\n/**\n * @param {import('./internal').Effect} callback\n * @param {any[]} args\n */\nexport function useLayoutEffect(callback, args) {\n\t/** @type {import('./internal').EffectHookState} */\n\tconst state = getHookState(currentIndex++, 4);\n\tif (!options._skipEffects && argsChanged(state._args, args)) {\n\t\tstate._value = callback;\n\t\tstate._args = args;\n\n\t\tcurrentComponent._renderCallbacks.push(state);\n\t}\n}\n\nexport function useRef(initialValue) {\n\tcurrentHook = 5;\n\treturn useMemo(() => ({ current: initialValue }), []);\n}\n\n/**\n * @param {object} ref\n * @param {() => object} createHandle\n * @param {any[]} args\n */\nexport function useImperativeHandle(ref, createHandle, args) {\n\tcurrentHook = 6;\n\tuseLayoutEffect(\n\t\t() => {\n\t\t\tif (typeof ref == 'function') ref(createHandle());\n\t\t\telse if (ref) ref.current = createHandle();\n\t\t},\n\t\targs == null ? args : args.concat(ref)\n\t);\n}\n\n/**\n * @param {() => any} factory\n * @param {any[]} args\n */\nexport function useMemo(factory, args) {\n\t/** @type {import('./internal').MemoHookState} */\n\tconst state = getHookState(currentIndex++, 7);\n\tif (argsChanged(state._args, args)) {\n\t\tstate._args = args;\n\t\tstate._factory = factory;\n\t\treturn (state._value = factory());\n\t}\n\n\treturn state._value;\n}\n\n/**\n * @param {() => void} callback\n * @param {any[]} args\n */\nexport function useCallback(callback, args) {\n\tcurrentHook = 8;\n\treturn useMemo(() => callback, args);\n}\n\n/**\n * @param {import('./internal').PreactContext} context\n */\nexport function useContext(context) {\n\tconst provider = currentComponent.context[context._id];\n\t// We could skip this call here, but than we'd not call\n\t// `options._hook`. We need to do that in order to make\n\t// the devtools aware of this hook.\n\tconst state = getHookState(currentIndex++, 9);\n\t// The devtools needs access to the context object to\n\t// be able to pull of the default value when no provider\n\t// is present in the tree.\n\tstate._context = context;\n\tif (!provider) return context._defaultValue;\n\t// This is probably not safe to convert to \"!\"\n\tif (state._value == null) {\n\t\tstate._value = true;\n\t\tprovider.sub(currentComponent);\n\t}\n\treturn provider.props.value;\n}\n\n/**\n * Display a custom label for a custom hook for the devtools panel\n * @type {(value: T, cb?: (value: T) => string | number) => void}\n */\nexport function useDebugValue(value, formatter) {\n\tif (options.useDebugValue) {\n\t\toptions.useDebugValue(formatter ? formatter(value) : value);\n\t}\n}\n\nexport function useErrorBoundary(cb) {\n\tconst state = getHookState(currentIndex++, 10);\n\tconst errState = useState();\n\tstate._value = cb;\n\tif (!currentComponent.componentDidCatch) {\n\t\tcurrentComponent.componentDidCatch = err => {\n\t\t\tif (state._value) state._value(err);\n\t\t\terrState[1](err);\n\t\t};\n\t}\n\treturn [\n\t\terrState[0],\n\t\t() => {\n\t\t\terrState[1](undefined);\n\t\t}\n\t];\n}\n\n/**\n * After paint effects consumer.\n */\nfunction flushAfterPaintEffects() {\n\tafterPaintEffects.some(component => {\n\t\tif (component._parentDom) {\n\t\t\ttry {\n\t\t\t\tcomponent.__hooks._pendingEffects.forEach(invokeCleanup);\n\t\t\t\tcomponent.__hooks._pendingEffects.forEach(invokeEffect);\n\t\t\t\tcomponent.__hooks._pendingEffects = [];\n\t\t\t} catch (e) {\n\t\t\t\tcomponent.__hooks._pendingEffects = [];\n\t\t\t\toptions._catchError(e, component._vnode);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t});\n\tafterPaintEffects = [];\n}\n\n/**\n * Schedule a callback to be invoked after the browser has a chance to paint a new frame.\n * Do this by combining requestAnimationFrame (rAF) + setTimeout to invoke a callback after\n * the next browser frame.\n *\n * Also, schedule a timeout in parallel to the the rAF to ensure the callback is invoked\n * even if RAF doesn't fire (for example if the browser tab is not visible)\n *\n * @param {() => void} callback\n */\nfunction afterNextFrame(callback) {\n\tconst done = () => {\n\t\tclearTimeout(timeout);\n\t\tcancelAnimationFrame(raf);\n\t\tsetTimeout(callback);\n\t};\n\tconst timeout = setTimeout(done, RAF_TIMEOUT);\n\n\tlet raf;\n\tif (typeof window != 'undefined') {\n\t\traf = requestAnimationFrame(done);\n\t}\n}\n\n// Note: if someone used options.debounceRendering = requestAnimationFrame,\n// then effects will ALWAYS run on the NEXT frame instead of the current one, incurring a ~16ms delay.\n// Perhaps this is not such a big deal.\n/**\n * Schedule afterPaintEffects flush after the browser paints\n * @param {number} newQueueLength\n */\nfunction afterPaint(newQueueLength) {\n\tif (newQueueLength === 1 || prevRaf !== options.requestAnimationFrame) {\n\t\tprevRaf = options.requestAnimationFrame;\n\t\t(prevRaf || afterNextFrame)(flushAfterPaintEffects);\n\t}\n}\n\n/**\n * @param {import('./internal').EffectHookState} hook\n */\nfunction invokeCleanup(hook) {\n\tif (typeof hook._cleanup == 'function') hook._cleanup();\n}\n\n/**\n * Invoke a Hook's effect\n * @param {import('./internal').EffectHookState} hook\n */\nfunction invokeEffect(hook) {\n\thook._cleanup = hook._value();\n}\n\n/**\n * @param {any[]} oldArgs\n * @param {any[]} newArgs\n */\nfunction argsChanged(oldArgs, newArgs) {\n\treturn !oldArgs || newArgs.some((arg, index) => arg !== oldArgs[index]);\n}\n\nfunction invokeOrReturn(arg, f) {\n\treturn typeof f == 'function' ? f(arg) : f;\n}\n","import {Component} from 'preact'\nimport Section from \"../components/Elements/Section\";\nimport Panel from \"../components/Elements/Panel\";\nimport Timer from \"../components/Elements/Timer\";\nimport ILatex from \"../components/Rendering/ILatex\";\nimport TablePanel from \"../components/Elements/TablePanel\";\nimport BLatex from \"../components/Rendering/BLatex\";\nimport PLatex from \"../components/Rendering/PLatex\";\nimport Example from \"../components/Elements/Example\";\n\nconst r = String.raw;\n\nexport default class BasiDiDati extends Component {\n render() {\n return (\n
\n

Basi di dati

\n
\n \n \n \n \n

\n Se sei uno studente dell'Unimore, puoi accedere all'archivio del corso su Google Drive.\n

\n
\n
\n
\n \n

\n Uno scritto con tre domande:\n

\n
    \n
  • Progettazione concettuale e logica
  • \n
  • Formulazione interrogazione
  • \n
  • Una domanda tra:\n
      \n
    • Studio dato derivato
    • \n
    • Progettazione fisica
    • \n
    • Tecnologia database
    • \n
    \n
  • \n
\n
\n \n
    \n
  1. \n
  2. \n
  3. \n
\n
\n
\n
\n \n

\n In gruppo, progettare un database secondo queste specifiche.\n

\n

\n Va consegnato via mail almeno 10 giorni prima dello scritto.\n

\n
\n \n
    \n
  1. \n
  2. \n
  3. \n
\n
\n
\n
\n \n

\n Link\n

\n
\n
\n
\n \n \n \n Simbolo\n Descrizione\n \n \n \n \n {r`N_{tuple}`}\n Numero di tuple di una tabella\n \n \n {r`N_{blocchi}`}\n Numero di blocchi di una tabella\n \n \n {r`N_{foglie}`}\n Numero di foglie di un indice\n \n \n {r`N_{indici}`}\n Numero di indici presenti in una tabella\n \n \n {r`N_{unici}`}\n Numero di valori unici presenti in una colonna\n \n \n {r`F`}\n Fattore di selettività di una condizione\n \n \n {r`C`}\n Costo di accesso a una o più tuple\n \n \n {r`N_{selezionati}`}\n Numero di tuple del risultato\n \n \n \n
\n
\n \n

\n Espressione formata da una o più condizioni moltiplicate tra loro.\n

\n
\n \n

\n Condizioni che soddisfano i seguenti requisiti:\n

\n
    \n
  • \n Usa uno dei seguenti operatori:\n
      \n
    • {r`<`}
    • \n
    • {r`\\leq`}
    • \n
    • {r`=`}
    • \n
    • {r`\\geq`}
    • \n
    • {r`>`}
    • \n
    • {r`BETWEEN`}
    • \n
    • {r`OR`} (solo in alcuni DBMS)
    • \n
    \n
  • \n
  • Uno dei due termini del confronto è una colonna della tabella
  • \n
  • L'altro termine del confronto è una costante numerica
  • \n
\n
\n \n

\n È possibile costruire indici sulle colonne di una tabella per velocizzare le query che riguardano quelle colonne.\n

\n

\n In particolare, ogni tabella può avere un indice clustered e infiniti indici unclustered.\n

\n

\n Generalmente, l'indice clustered è costruito sulla colonna della primary key, ma non è sempre quello il caso.\n

\n

\n Gli indici vanno tenuti aggiornati, e ciò ha un costo di manutenzione:\n

\n
    \n
  • DELETE: {r`N_{indici} \\cdot 2 \\cdot N_{selezionati}`}
  • \n
  • UPDATE: {r`N_{indici} \\cdot 4 \\cdot N_{selezionati}`}
  • \n
\n

\n È possibile usare gli indici nelle query solo per gli argomenti di ricerca attraverso indice.\n

\n
\n
\n
\n \n

\n La percentuale di tuple di una tabella che soddisfano una condizione.\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
CondizioneFattore di selettività
col = $costante{r`F = \\frac{1}{N_{unici}`}
col != $costante{r`F = 1 - \\frac{1}{N_{unici}`}
col1 != col2{r`F = \\frac{1}{max(N_{unici_A}, N_{unici_B})`}
IN{r`F = \\frac{n_{IN}}{N_{unici}}`}
col > $costante{r`F = \\frac{ max(col) - \\$costante }{ max(col) - min(col) }`}
{r`col < $costante`}{r`F = \\frac{ \\$costante - min(col) }{ max(col) - min(col) }`}
col BETWEEN $lower AND $upper{r`F = \\frac{ \\$upper - \\$lower }{ max(col) - min(col) }`}
cond1 OR cond2{r`F = F_{cond1} + F_{cond2} - ( F_{cond1} \\cdot F_{cond2} )`}
\n
\n \n

\n Quante unità di lavoro costa accedere a una specifica relazione:\n

\n {r`\n C = {\\color{yellow} {C_{indice}}} + {\\color{Orange} C_{relazione}}\n `}\n

\n Per accedere attraverso un indice a una specifica tupla della relazione, si spenderà:\n

\n {r`\n C = {\\color{yellow} 1} + {\\color{Orange} 1}\n `}\n

\n Se le tuple a cui si vuole accedere sono più di una, allora, il costo dipenderà da se l'indice è clustered o non-clustered.\n

\n \n Nel calcolo del costo di una query, si considerano tutti i cambi di pagina come page fault.\n \n

\n Per gli indici clustered, visto che basta caricare in memoria i blocchi in sequenza, il costo sarà:\n

\n {r`\n C = {\\color{yellow} ( F \\cdot N_{foglie} ) } + {\\color{Orange} ( F \\cdot N_{blocchi} ) }\n `}\n

\n Per gli indici unclustered, per i quali potremmo dover caricare e rimuovere lo stesso blocco dalla memoria più volte, il costo sarà:\n

\n {r`\n C = {\\color{yellow} ( F \\cdot N_{foglie} ) } + {\\color{Orange} ( F \\cdot N_{tuple} ) }\n `}\n

\n Se si stanno effettuando query su più indici unclustered, il costo sarà:\n

\n {r`\n C = {\\color{yellow}\\sum_k ( F_k \\cdot N_{foglie_k} )} + {\\color{Orange} \\left( \\prod_k F_k \\cdot N_{tuple} \\right)}\n `}\n
\n \n

\n Quante unità di lavoro costa effettuare un join tra due relazioni.\n

\n

\n Varia in base al metodo di join utilizzato.\n

\n

\n Utilizzando il metodo del nested loop:\n

\n {r`\n C_{1 \\times 2} = C_1 + ( N_{selezionati_1} \\cdot C_2 )\n `}\n

\n La scelta della colonna su cui iterare è quindi importante!\n

\n
\n
\n
\n )\n }\n}\n","import style from \"./Split.less\";\n\nexport default function (props) {\n let children;\n\n if(Array.isArray(props.children)) {\n children = props.children.map(element => {\n return (\n
\n {element}\n
\n );\n });\n }\n\n else {\n children = (\n
\n {props.children}\n
\n );\n }\n return (\n
\n
{children}
\n
\n );\n}\n","import BLatex from \"./BLatex\";\n\nexport default function (props) {\n return (\n

\n {props.children}\n

\n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tablepanel\":\"tablepanel__1Wil3\"};","import style from \"./Example.less\";\nimport {Component} from \"preact\";\n\nexport default function(props) {\n return (\n
\n {props.children}\n
\n );\n}\n","import style from \"./Box.less\";\n\nexport const BoxColors = Object.freeze({\n RED: style.red,\n ORANGE: style.orange,\n YELLOW: style.yellow,\n LIME: style.lime,\n CYAN: style.cyan,\n BLUE: style.blue,\n MAGENTA: style.magenta,\n DEFAULT: style.default\n})\n\nexport default function (props) {\n let color = BoxColors.DEFAULT;\n if(props.color) {\n color = props.color;\n }\n\n return (\n
\n {props.children}\n
\n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"timer\":\"timer__3Z2pL\",\"days\":\"days__myhe2\",\"hours\":\"hours__3JUDn\",\"minutes\":\"minutes__24lD7\",\"seconds\":\"seconds__2vZ4f\",\"count\":\"count__chi9X\",\"text\":\"text__34ldC\",\"unknown\":\"unknown__3sT2P\",\"expired\":\"expired__zNiuP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"splitparent\":\"splitparent__3-wBs\",\"splitchild\":\"splitchild__begkX\"};","import style from \"./Panel.less\";\nimport Box from \"./Box\";\n\nexport default function(props) {\n\treturn (\n\t\t\n\t\t\t

\n\t\t\t\t{props.title}\n\t\t\t

\n\t\t\t
\n\t\t\t\t{props.children}\n\t\t\t
\n\t\t
\n\t);\n}\n","import {createContext} from \"preact\";\n\nexport default createContext(true);\n","import Latex, {LatexDisplay} from \"./Latex\";\n\nexport default function (props) {\n return (\n {props.children}\n );\n}\n","import Latex, {LatexDisplay} from \"./Latex\";\n\nexport default function (props) {\n return (\n {props.children}\n );\n}\n"],"sourceRoot":""}