def causas_acidentes_ano(self):
        """ Queries causes of the accidents by year

            @brief Local variable:

                query -
                    SQL instruction to query the number of accidents
                by cause separated by year

                resultado_query -
                    Saves the results from the query

                causas_acidentes_ano_list -
                    List of causes of accidents per year

                ultimo_causa -
                    Saves the last type cause

                causas_acidentes_ano -
                    Instance of AcidentesAno

            @return A list of objects containing the causes of accidents
            per year
        """

        query = """SELECT causa, quantidade_ocorrencias, ano
                FROM estatisticas_causa
                ORDER BY causa, ano ; """

        resultado_query = self.executa_query(query)

        causas_acidentes_ano_list = []
        ultimo_causa = ''

        for (causa, quantidade_ocorrencias, ano) in zip(
            resultado_query['causa'].values(),
            resultado_query['quantidade_ocorrencias'].values(),
            resultado_query['ano'].values()
        ):
            causa = causa.decode('iso-8859-1').encode('utf8')
            if (ultimo_causa != causa):
                causas_acidentes_ano = AcidentesAno()
                causas_acidentes_ano_list.append(causas_acidentes_ano)
                causas_acidentes_ano.causa = causa
                ultimo_causa = causa

            causas_acidentes_ano.ano_list.append(ano)
            causas_acidentes_ano.quantidade_ocorrencias_list.append(
                quantidade_ocorrencias
            )

        return causas_acidentes_ano_list
    def tipos_acidentes_ano(self):
        """
        Queries the number of accidents per year.
        @brief Local variables:
            query -
                SQL instruction to query accidents per year.
            resultado_query -
                Receives the query results.
            tipos_acidentes_ano_list -
                List of objects that will be returned.
            ultimo_tipo -
                saves the last type of accident that was queried.
            tipo -
                Receives the type of accident from the query result.

        @return List of objects build by query results
        """
        query = """SELECT tipo, quantidade_ocorrencias, ano
                FROM estatisticas_tipo
                ORDER BY tipo, ano ; """

        resultado_query = self.executa_query(query)

        tipos_acidentes_ano_list = []
        ultimo_tipo = ''

        for (tipo, quantidade_ocorrencias, ano) in zip(
            resultado_query['tipo'].values(),
            resultado_query['quantidade_ocorrencias'].values(),
            resultado_query['ano'].values()
        ):
            tipo = tipo.decode('iso-8859-1').encode('utf8')
            if (ultimo_tipo != tipo):
                tipos_acidentes_ano = AcidentesAno()
                tipos_acidentes_ano_list.append(tipos_acidentes_ano)
                tipos_acidentes_ano.tipo = tipo
                ultimo_tipo = tipo

            tipos_acidentes_ano.ano_list.append(ano)
            tipos_acidentes_ano.quantidade_ocorrencias_list.append(
                quantidade_ocorrencias
            )

        return tipos_acidentes_ano_list