From 0317b73dd2df27287eb5dee7f3cac4195191a5f4 Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Wed, 10 Mar 2021 22:45:14 +0100 Subject: chapter4: add relation model --- chapters/relation.tex | 15 +++++++++++++++ data/er.drawio | 2 +- data/er.png | Bin 42250 -> 51184 bytes data/relation.drawio | 1 + data/relation.png | Bin 0 -> 25989 bytes gico.tex | 3 +++ 6 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 chapters/relation.tex create mode 100644 data/relation.drawio create mode 100644 data/relation.png diff --git a/chapters/relation.tex b/chapters/relation.tex new file mode 100644 index 0000000..84d67cd --- /dev/null +++ b/chapters/relation.tex @@ -0,0 +1,15 @@ +Qui di seguito è riportato uno schema logico del database mediante modello Relazionale. +\begin{figure}[htp] +\centering +\includegraphics[scale=0.70]{data/relation.png} +\caption{Modello relazionale} +\label{} +\end{figure} + +Come si può ben vedere sono state fatte delle modifiche: +\begin{itemize} +\item Repository: aggiunte le date di creazione e modifica; +\item Branch: ha un suo id come PK, in modo da accedervi più facilmente tramite backend. Questo perché i branch permettono anche lo slash nel nome, cosa che andrebbe a creare errore se passato nell'endpoint; +\item Commit: ha un campo \verb|tree| che si riferisce al parent: può ovviamente essere null. Dato che il commit può essere scritto da massimo 2 persone, ho preferito aggiungere i campi \verb|author_id| e \verb|commiter_id|; +\item Person: ha un campo \verb|hash_md5| che calcola l'MD5\footnote{https://en.wikipedia.org/wiki/MD5} dell'email una volta sola: usato per il gravatar; +\end{itemize} diff --git a/data/er.drawio b/data/er.drawio index cd208ae..02ae376 100644 --- a/data/er.drawio +++ b/data/er.drawio @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/data/er.png b/data/er.png index 3cb3288..0655f9f 100644 Binary files a/data/er.png and b/data/er.png differ diff --git a/data/relation.drawio b/data/relation.drawio new file mode 100644 index 0000000..bdc14ac --- /dev/null +++ b/data/relation.drawio @@ -0,0 +1 @@ +7Vpbc+I2FP41PIaxLdvAYyCXziTbzey23d2+MMIStrq25QqRwP76SrZ8kw0hBBPoQGaC9enonKNjnZtND0yi1T2DSfCJIhz2LAOteuCmZ1nuwBX/JbDOAGCDDPAZQRlklsBX8gsr0FDokiC8qBFySkNOkjro0TjGHq9hkDH6Uieb07AuNYE+bgBfPRg20W8E8UChpmGUE79h4gdK9NBREzPo/fQZXcZKXs8C8/STTUcw56XoFwFE9KUCgdsemDBKeXYVrSY4lKbNzZatu9swW+jNcMx3WWBhBCw8Nyw4mNtiH1eKwzMMlzjfghsKXmNEnqXCfK2M5P67lFqOZ3R1tSC/SOz3wLU0AWUIsysBi4GYF/9fMhvK2dSETjFTtZecFvbCtvwrKBKIUMHbSlalYHHly+8vOKELwilb56qK/abaZvM5yuFMqN62hc36zWnM5e6wmsVRVb7hCWsuEuilClYYGg2qYhsVKqu5l0LXGUXrBsgaCMqRp4fK5ku4SUhQjs0a7FqXSrApeIsqb+RfIksWnqxuHsOQExpPEeT4ZLVcJlI9VFPyw1UKKRQBYUqSQ5hNgm2+IfHMv3Pcqrm69YwZJyLCX4fEjwXEaSLIoBqFeC5XUUE1D9OAPCciUIJxwCPxdWOKyzRMYRk4ZXAoIrcceDQinroO4QyH4yKuTWhImZiKaYzlMs7ozyKpSLYyxNzBiIQyV/6FGYIxVLBKjKbVDOt5nBa7wqsKpML8PaYR5jIiGmrWtlXKUSnZAmr8UklwOU1QyW1mnqugSqp+wbtMLOJC5ZYd84x9fnnmCbMFjS855qxzDI4gCU9ElxhGp5tKArgIphFyLkH7A4O2CepB2zZbgrbZFrSNAwRte0weprPlffDyNxt8+4zGP26mV6BxkzASvZMaUsYD6tMYhrclqt2EkuaRyvuZGvQfzPlamQ4uOa3fRbwi/Lu4vjL6hmEp4Ifk1wcDNbxZKf7pYF0ZiMBNxOYxy7FYGOJ7dZCxEubOgZJZOlpXRzq7BYeMX8uuUwC3X/IjI8C79DiqlagkiWCMPqdkAq4QbTwxC7pkHt6QSh3VIEPmY76dRt6qreeO4VCUuc/1NrjtDKmlT5QIVYvzOtRqDFs7hZmOalF5EIVl4LpClkiCxe5iBsN6k/sKuTPUvCCTX/pEYZD9ahvn/GqbCY0iwi+1zW558bAp+k6INn7/8/Fx71zNGT7dQkKkOn6yyh2jm7972Fs9kQkDKlrnzuvpd+jopaGD40OpeSkW9y0WzR06/GFbsQi6KhadjygWm/XYH/QTjNe9PauyjeWi03ulWlRVa7NoHeXD3YvW7mpD+zi1YfEcKe9ldiwOm4y0cw50RplF3l1lDkZ1MY6xVS2N3AbOQavMVv8afGQz1jzWQ8N887nuzFtNoR7QPfZVl21r8Da63im4lQXaz90+btUHrlF+zPrxB0bfBJ04mjPSJW1VVCN39FecGnnut/vSa47cvAGDrfTdOP7w/FrMMYOxV22dLi3m+T0+P8Yj63f0Iqz4KcBRe6bXHhlgiN4u+tIH7dkH6W86baOlD2p909nZQ/PR/6sP6o9Go3plBSzreJWVeZzKyjX0x8x7NiyO9gDadt1O6ih3g5xNeun0ljvaTq8/YKjTd1Pp5DLP+YVTdz2O3t+84oQb/a3zLmWkv4Nx+3v2KTYY9V17U5tiD+2+ral3IPeyteMvRG1XVHcXZ7C9kWjYqEb/VvcSw/J3pBl5+VtdcPsf \ No newline at end of file diff --git a/data/relation.png b/data/relation.png new file mode 100644 index 0000000..2b17e32 Binary files /dev/null and b/data/relation.png differ diff --git a/gico.tex b/gico.tex index 8e51416..76b0798 100644 --- a/gico.tex +++ b/gico.tex @@ -24,5 +24,8 @@ \chapter{Schema concettuale} \input{chapters/er} +\chapter{Schema logico} +\input{chapters/relation} + \end{document} -- cgit v1.2.3-18-g5258