cleitonfco / ddb_practice_two

Second work about data integrations using a distributed database. Pos-graduation #POSBD #Cefet

This URL has Read+Write access

name age message
file .gitignore Loading commit data...
file README.rdoc
directory app_client/
file roadmap.rdoc
README.rdoc

ESPECIALIZAÇÃO EM BANCO DE DADOS

DISCIPLINA: BANCO DE DADOS DISTRIBUÍDOS

Atividade Prática 02

1. Desenvolva uma interface web de consulta para as fontes de dados abaixo, que utilize a abordagem virtual para integração de esquemas, com a implementação de mediadores e adaptadores.

SGBD: MySQL

  BD: empresa
  Tabela: empregado
  Campos
    matricula  Int   PK
    nome       Text  40
    CPF        Int
    salario    Real  (em R$)
    endereco   Text  60
    cidade     Text  20
    estado     Text  2
    fone_res   Text  10
    fone_cel   Text  10
    dia_nasc   Int
    mes_nasc   Int
    ano_nasc   Int
    sexo       Text  1

SGBD: PostgreSQL

  BD: empresa
  Tabela: funcionario
  Campos:
    identificacao  Int
    nome           Text  40
    CPF            Text  11
    remuneracao    Real  (em US$)
    logradouro     Text  30
    numero         Int
    bairro         Text  20
    CEP            Int
    cidade         Text  30
    estado         Text  2
    telefone       Text  10
    data_nasc      Date
    sexo           Int

ARQUIVO: servidor.xml

  Campos
    Registro
    Nome
    CPF
    Vencimento
    Logradouro
    Bairro
    CEP
    Cidade
    Estado
    Fone
    Tipo_Fone
    Nascimento
    Sexo

Exemplos de consulta:

  1. Relação dos empregados da empresa com os campos matrícula, nome e salário.
  2. Relação dos empregados que ganham mais de R$ 5.000,00.
  3. Relação dos empregados que moram no CEP 64055-120.
  4. Relação dos empregados que tem telefone celular.

Observações:

  1. Os campos matricula, identificacao e registro têm o mesmo significado.
  2. Os campos salario, remuneracao e vencimento têm o mesmo significado.
  3. Na tabela funcionario, o conteúdo do campo CPF tem formato 99999999999 (ex.: 67335519349).
  4. No arquivo servidor.xml, o conteúdo do campo CPF tem formato 999.999.999-99 (ex.: 673.355.193-49).
  5. Na tabela empregado, o conteúdo do campo endereco consiste no endereço completo, com logradouro, número, bairro e CEP (formato: 99999-999).
  6. No arquivo servidor.xml, o conteúdo do campo logradouro consiste no logradouro e número.
  7. Na tabela funcionario, o campo CEP está no formato 99999999 (ex.: 64055120).
  8. Na arquivo servidor.xml, o campo CEP está no formato 99999-999 (ex.: 64055-120).
  9. Nos campos que contém números de telefone, o formato é 9999999999 (ex.: 8632155222).
  10. No arquivo servidor.xml, o campo tipo-fone consiste no tipo de telefone (R=residencial; C=celular).
  11. Na tabela empregado, o domínio do campo sexo é (“M”, “F”).
  12. Na tabela funcionario, o domínio do campo sexo é (1, 2), sendo 1=Masculino e 2=Feminino.
  13. No arquivo servidor.xml, o domínio do campo sexo é (“Masculino”, “Feminino”).

Como Usar?

Faça uma cópia do código que está no repositório:

  git clone git://github.com/cleitonfco/ddb_practice_two.git

Entre no diretório e crie uma aplicação rails chamada ‘app_client’

  cd ddb_practice_two
  rails app_client

Como já existem alguns arquivos do rails, é provável que apareça alguma mensagem pedindo que confirme a sobrescrita de arquivos. Pode dizer sim, neste caso.

Para começar a aplicação é necessário configurar os bancos de dados. No arquivo database-sample.yml tem um exemplo. Faça as alterações e salve o arquivo como database.yml

  cd app_client
  mv config/database-sample.yml config/database.yml

Agora é hora de criar os bancos e popular as bases.

MySql

  rake db:create:mysql
  rake db:migrate:mysql
  rake db:populate:empregados

Postgres

  rake db:create:postgres
  rake db:migrate:postgres
  rake db:populate:funcionarios

XML

  rake db:populate:servidores

Autores

Cleiton Francisco

Charleno Pires