public function recuperarProvaCorrecaoDAO($id_prova){

		$banco				= $this->getBancoDados();
		$sessionFacade		= new SessionFacade($banco);

		$prova				= $sessionFacade->recuperarProva($id_prova);

		if ($prova == NULL){
			throw new Exception("Prova não encontrada."); 
		}

		$prova_correcao = new ProvaCorrecao();
		$prova_correcao->setProva($prova);

		$query ="SELECT tbl_prova_aluno.aluno
				FROM tbl_prova_aluno
				JOIN tbl_prova USING(prova)
				WHERE tbl_prova_aluno.prova = ".$prova->getId();
		$retorno = $banco->executaSQL($query); 

		if($retorno == NULL) {
			throw new Exception("Erro ao recuperar Prova do Aluno (SQL: $query)"); 
		}

		while($linha = $banco->fetchArray($retorno)) {

			$obj_prova_resp	= $sessionFacade->recuperarProvaRespondida($prova->getId(), $linha["aluno"]);

			if ($obj_prova_resp != NULL){
				$prova_correcao->addProvaRespondida($obj_prova_resp);
			}
		}
		return $prova_correcao; 
	}
	public function recuperarDivulgacaDAO($divulgacao){

		$banco = $this->getBancoDados(); 

		$query = "	SELECT tbl_divulgacao.aluno, tbl_divulgacao.professor, tbl_divulgacao.nome, tbl_divulgacao.email
					FROM tbl_divulgacao
					ORDER BY tbl_divulgacao.ultimo_email ASC ";
		$disciplina = NULL; 
		$retorno = $banco->executaSQL($query); 
		if($retorno != NULL) {

			$sessionFacade = new SessionFacade($banco); 
			$resultado     = array();

			while($linha = $banco->fetchArray($retorno)) { 

				if (strlen($linha["aluno"])>0){
					$obj_aluno     = $sessionFacade->recuperarAluno($linha["aluno"]);
				}

				$obj_prova     = $sessionFacade->recuperarProva($linha["prova"]);
				$prova         = $obj_prova->getId();
				$data          = $obj_prova->getDataInicio();
				$disciplina    = $obj_prova->getDisciplina()->getNome();
				$curso         = $obj_prova->getDisciplina()->getCurso()->getNome();

				$obj_prov_resp = $sessionFacade->recuperarProvaRespondida($prova,$aluno);
			}

			return $resultado; 
		} else {
			throw new Exception("Erro ao recuperar Relatório de Acessos ($query)"); 
		}
	}