Mostrando postagens com marcador banco de dados relacional. Mostrar todas as postagens
Mostrando postagens com marcador banco de dados relacional. Mostrar todas as postagens

sexta-feira, 11 de abril de 2014

Construção de um Banco de Dados - Fase 2

Então passado a parte de codificação do banco de dados, finalmente chegou a hora de popular o banco de dados. Uma das partes menos interessantes, quando se tem que inserir uma grande quantidade de dados, ela se tornam mais desinteressante quando se tem uma grande quantidade de dados e combinado a isso não se encontra em um formato bacana.
Os dados que serão incluídos no banco estão no formato XML (eXtensible Markup Language), o que de certa forma já facilita na inserção dos dados. No meu caso apenas necessito saber quais os títulos das revistas e dos artigos escritos, e , o nome dos autores. Dessa forma, para acelerar o processo implementei o seguinte script, que varre todo o arquivo XML, e, retorna  os três elementos desejados.
O código foi escrito em PHP.


<?php

 $xml = simplexml_load_file("teste-01-database.xml");
 #var_dump($xml);

 $pesquisadores = $xml->pesquisador;
 $countPesquisador = $pesquisadores->count();

 $countArtigo = $pesquisadores->artigos_em_periodicos->artigo->count();
 
 echo "Número total de pesquisadores: ".$countPesquisador;

 foreach ($pesquisadores as $pesquisador) {
  # code...
    
  echo "
 "."Nome do pesquisador: ".$pesquisador->identificacao->nome_completo;

  if(isset($pesquisador->artigos_em_periodicos)){

   echo "
"."Quantidade de artigos em períodicos: ".$pesquisador->artigos_em_periodicos->artigo->count();

  foreach ($pesquisador->artigos_em_periodicos->artigo as $artigo) {
    # code...
    
    echo "Titulo Artigo: ".$artigo->titulo;
    echo "Titulo Revista: ".$artigo->revista;
   }
   
  }

  if(isset($pesquisador->artigos_em_revista)){

   echo "
"."Quantidade de artigos em revista: ".$pesquisador->artigos_em_revista->artigo->count();

  foreach ($pesquisador->artigos_em_revista as $artigo_revista) {
    # code...
    
    echo "Titulo Artigo: ".$artigo->titulo;
    echo "Titulo Revista: ".$artigo->revista;

   }

  }

  else if(isset($pesquisador->artigos_em_periodicos) and isset($pesquisador->artigos_em_revista)){

   echo "
"."Quantidade de artigos em períodicos: ".$pesquisador->artigos_em_periodicos->artigo->count();
   

  foreach ($pesquisador->artigos_em_periodicos->artigo as $artigo) {
    # code...
    
    echo "Titulo Artigo: ".$artigo->titulo;
    echo "Titulo Revista: ".$artigo->revista;
   }

   echo "
"."Quantidade de artigos em revista: ".$pesquisador->artigos_em_revista->artigo->count();
   
 foreach ($pesquisador->artigos_em_revista as $artigo_revista) {
    # code...
    
    echo "Titulo Artigo: ".$artigo->titulo;
    echo "Titulo Revista: ".$artigo->revista;

   }

  }

 }

?>
;-)

segunda-feira, 7 de abril de 2014

Construção de um Banco de Dados - Fase 1

Começando uma nova semana, então nada melhor que começar ela contando minha experiência do final de semana. Infelizmente, não tão produtivos quanto esperava (roubaram os dois transformadores de energia de onde eu moro, então fim de semana sem energia), mas apesar das adversidade ainda consegui codificar meu banco de dados e começar a popular o mesmo.
Como apresentado no post anterior, tínhamos a necessidade de codificar cinco tabelas, para tal utilizei o MySQL
Sendo assim, para registro de atividade segue meu script.


CREATE TABLE qualis (
idQualis INT(5) AUTO_INCREMENT NOT NULL,
areaRevista VARCHAR(20),
notaQualis VARCHAR(4),
idRevista INT(5),
PRIMARY KEY(idQualis)
);

CREATE TABLE autores (
idAutor INT(5) AUTO_INCREMENT NOT NULL,
nomeAutores VARCHAR(80) NOT NULL,
instituicao VARCHAR(10) NOT NULL,
PRIMARY KEY (idAutor)
);

CREATE TABLE revista (
idRevista INT(5) AUTO_INCREMENT NOT NULL,
nomeRevista VARCHAR(80) NOT NULL,
issn VARCHAR(10),
PRIMARY KEY(idRevista)
);

CREATE TABLE artigos (
idArtigo INT(5) AUTO_INCREMENT NOT NULL,
tituloArtigo VARCHAR(255) NOT NULL,
PRIMARY KEY(idArtigo)
);

ALTER TABLE `artigos` ADD CONSTRAINT `fk_revista` FOREIGN KEY ( `idRevista` ) REFERENCES `revista` ( `idRevista` );

ALTER TABLE `qualis` ADD CONSTRAINT `fkRevista` FOREIGN KEY ( `iRevista` ) REFERENCES `revista` ( `idRevista` );

E, assim criei meu banco de dados, próximo passo será popular os dados que estão em alguns arquivos ".csv". Agora parece fácil, mas deu uns R$ 0,20 de trabalho.

To be continue...

;-)

sexta-feira, 4 de abril de 2014

Construção de um Banco de Dados

Então, tudo bem? Há algum tempo sem postar aqui, infelizmente por falta de tempo. Projetos que amadurecem, novos projetos que surgem, as disciplinas normais que começam a nos apertar, mas tudo bem vamos ao que interessa.
Há algum tempo vinha trabalhando com um projeto, que pretende estudar dados relativos aos professores doutores das universidade e institutos de ensino público do estado de Goiás. Infelizmente ou felizmente os dados que possuía estavam em formato ".xlsx" e devido a quantidade de dados existentes alguma analises estavam a ser impossibilitadas. Assim sendo, surgiu a necessidade de estudar um pouco sobre banco de dados relacionais, para assim poder dar seguimento aos estudos.
Sendo assim, modelei meu banco como pode ser visualizado na imagem abaixo. Para realizar modelagens, há diversas ferramentas tais como o astah, jude, posseidon entre outras. Em minha modelagem utilizei o MySQL Workbench.



O próximo passo será a implementação do banco de dados, utilizando o MySQL para tal. Converter as planilhar que estão em formato ".xlsx", e, a partir disso popular as tabelas do banco com os dados.

Let's programming then.

;-)