You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

92 lines
5.1 KiB

6 years ago
\section{Παραδείγματα Ερωτημάτων}
\begin{enumerate}
\item
Όλα τα ονόματα των εστιατορίων τα οποία έχουν εγκριθεί και βρίσκονται κοντά σε μία περιοχή:
\begin{align*}
&\Pi_{\text{restaurant\_name}}(
\sigma_{\text{long\_dist} > -4 \wedge \text{long\_dist} < 4 \wedge \text{lat\_dist} > -4 \wedge \text{lat\_dist} < 4}( \\
&\Pi_{\text{restaurant\_name}, \text{given\_current\_longitude} - \text{restaurant\_longitude as long\_dis}, \text{given\_current\_latitude} - \text{restaurant\_latitude as lat\_dis}}( \\
&\sigma_{\text{restaurant\_is\_approved} = \text{TRUE}}
(\text{restaurant}))))
\end{align*}
\item
Όλα τα ονόματα εστιατορίων τα οποία δεν έχουν εγκριθεί ακόμα:
\begin{displaymath}
\Pi_{\text{restaurant\_name}}
(\sigma_{\text{restaurant\_is\_approved} = \text{FALSE}}(\text{restaurant}))
\end{displaymath}
\item
Συστατικά που απαγορεύονται από τις δίαιτες που ακολουθεί ένας χρήστης καθώς και αυτά που έχει αποκλείσει μεμονωμένα:
\begin{align*}
Q3 \leftarrow &\sigma_{\text{user\_id} = \text{given\_id}}(\text{user\_follows\_diet})\triangleleft_{\theta}\text{diet}\triangleleft_{\theta}\text{diet\_prohibits\_ingredient}\triangleleft_{\theta}\text{ingredient} \cup \\
&\sigma_{\text{user\_id} = \text{given\_id}}(\text{user\_prohibits\_ingredient})\triangleleft_{\theta}\text{ingredient}
\end{align*}
\item
Πιάτα ενός εστιατορίου, εκτός αυτά που περιέχουν συστατικά τα οποία απαγορεύονται από τις δίαιτες που ακολουθεί ένας χρήστης ή τα έχει αποκλείσει μεμονωμένα. Για την ευκολότερη γραφή αυτού του ερωτήματος έγινε η ανάθεση του αποτελέσματος του προηγούμενου ερωτήματος στην προσωρινή μεταβλητή σχέσης Q3:
\begin{displaymath}
\sigma_{\text{restaurant\_id} = \text{given\_id}}(\text{food}) - (Q3\triangleleft_{\theta}\text{food\_has\_ingredient}\triangleleft_{\theta}\text{food})
\end{displaymath}
\item
Ονόματα ποτών ενός καταστήματος:
\begin{displaymath}
\Pi_{\text{drink\_name}}
(\sigma_{\text{restaurant\_id} = \text{given\_id}}(\text{drink}))
\end{displaymath}
\item
Ονόματα συστατικών ενός ποτού:
\begin{displaymath}
\Pi_{\text{ingredient\_name}}
(\sigma_{\text{drink\_id} = \text{given\_id}}(\text{drink\_has\_ingredient}) \bowtie \text{ingredient})
\end{displaymath}
\item
Τα mails των χρηστών που έχουν αξιολογήσει ένα εστιατόριο:
\begin{displaymath}
\Pi_{user\_mail}
(\sigma_{\text{restaurant\_id} = \text{given\_id}}(\text{user\_rates\_restaurant}) \bowtie \text{user})
\end{displaymath}
\item
Μέσος όρων αξιολογήσεων ενός ποτού ενός καταστήματος:
\begin{displaymath}
\mathcal{G}_{\text{avg(rating\_grade) as Average rating}}
(\sigma_{\text{drink\_id} = \text{given\_id}}(\text{user\_rates\_drink}))
\end{displaymath}
\item
Μέσος όρος αξιολογήσεων ενός καταστήματος με κριτήριο τις δίαιτες ενός χρήστη, για κάθε δίαιτα ξεχωριστά:
\begin{align*}
_{\text{diet\_id}}\mathcal{G}_{\text{avg(rating\_grade) as Average rating}}
(&\sigma_{\text{restaurant\_id} = \text{given\_restaurant\_id}}(\text{user\_rates\_restaurant})
\triangleright_{\theta} \\
\Pi_{\text{diet\_id}}(&\sigma_{\text{user\_id} = \text{given\_user\_id}}(\text{user\_folows\_diet})))
\end{align*}
\item
Μέση βαθμολογία όλων των καταστημάτων μίας αλυσίδας, για κάθε κατάστημα ξεχωριστά:
\begin{align*}
&_{restaurant\_id}\mathcal{G}_{\text{avg(rating\_grade) as Average grade}}( \\
&\sigma_{\text{restaurant\_name} = \text{given\_franchise\_name}}(\text{restaurant})\bowtie\text{user\_rates\_restaurant})
\end{align*}
\item
Δικαιώματα ενός χρήστη:
\begin{displaymath}
\sigma_{\text{user\_id} = \text{given\_id}}(\text{user})\triangleleft_{\theta}\text{role\_has\_permission}\triangleleft_{\theta}\text{permission}
\end{displaymath}
\item
Ονόματα εστιατορίων που προσφέρουν φαγητά με θερμίδες λιγότερες από κάποιο συγκεκριμένο αριθμό:
\begin{displaymath}
\Pi_{\text{restaurant\_name}}
(\sigma_{\text{food\_calories} < \text{given\_number}}(\text{food}) \bowtie \text{restaurant})
\end{displaymath}
\end{enumerate}