Instituto Tecnológico de Aeronáutica – ITA
EDUARDO MENA BARRETO ALONSO São José dos Campos, 23 de Maio de 2011
CE-240 - Projeto de Sistemas de Bancos de Dados Prof. Dr. Adilson Marques da Cunha
Índice Introdução 3 Objetivo 3 Motivação 3 Divisão de Trabalho 3 Procedimentos Realizados 4
Sistema de Dicionarização de Dados 4
Dicionário de Dados 4
Diretório de Dados 9
Dicionário de Recursos de Dados 11
Dicionário de Metadados 12
1. Introdução 1.1. Objetivo
O objetivo desta listex é Integrar Aplicativos de BD nos Bancos de Dados Setoriais – BDS ou Subject Databases das Empresas SPR (Sistema de Informações Georreferenciadas do Setor Privado) e SPU (Sistema de Informações Georreferenciadas do Setor Público) escolhidas como Estudo de Caso, visando a melhorar as suas eficiências setoriais e a reduzir os seus desperdícios de recursos.
Também é objetivo desta listex Implementar a integração de Aplicativos de BD nos Bancos de Dados Setoriais - BDS ou Subject Databases das Empresas SPR e SPU, visando testar as funcionalidades de suas integrações setoriais debaixo do SGBD previamente escolhido (ORACLE 11g Spatial), e verificar a melhoria das suas eficiências setoriais e a redução dos desperdícios de seus recursos.
1.2. Motivação
Aumento da eficiência do aluno no contexto da definição de problemas e soluções, bem como exercício da prática dos conceitos aprendidos em sala de sala implementando o Sistema de Banco De Dados Relacional, utilizando Linguagem Estruturada de Consultas (Structured Query Language - SQL). A fim de aumentar a eficiência do aluno no contexto de modelagem de dados.
2. Divisão do trabalho
As macro-funções exercidas por cada membro do grupo do Projeto Aplicativos de BD nos Bancos de Dados Setoriais – BDS ou Subject Databases das Empresas SPR (Sistema de Informações Georreferenciadas SPU (Sistema de Informações Georreferenciadas do Setor Público estão listadas a seguir:
Ao aluno Eduardo Mena Barreto Alonso a macro-função de Dicionarizador, tendo como responsabilidade, sempre que for necessário, organizar, padronizar, documentar e manter atualizados os 04 (quatro) componentes do Sistema de Dicionário de Dados do BDS, evitando inconsistências, duplicidades, homônimos ou quaisquer outras anomalias e discrepâncias, utilizando a Técnica de Trigramação;
Ao aluno Robson Junior a macro-função de Normalizador com a responsabilidade de organizar, padronizar, documentar, normalizar, renormalizar e manter atualizado: os Modelos Conceituais ou Modelos Entidades Relacionamentos (MER); os Modelos de Dados Setoriais - MDS ou Subject Data Model – SDM; e as suas cardinalidades, mantendo o número de atributos por Entidade menor ou igual a sete. Exceções só poderão ser abertas com a autorização do Professor;
Ao aluno Roberto Pepato Mellado a macro função de Integrador com responsabilidade de, sempre que for necessário, organizar, coordenar, compilar, integrar e manter sempre disponível a última versão atualizada do BDS ou Subject Database, para que os demais integrantes do seu grupo possam ajudá-lo nas tarefas de integração. Caberá ao Integrador: a Recontextualização; a Re-objetivação (redefinição do Problema e da Alternativa de Solução Escolhida para o seu Setor); a Re-intitulação do Setor, por exemplo, renomeando o “Setor Alpha” para “Setor Financeiro” da Empresa SIG-GH ou da Empresa SIG-MH; bem como a Re-especificação de Requisitos;
Ao aluno Alexander Silva a macro função de Suporte Técnico com a responsabilidade de,vsempre que for necessário, prover suporte Técnico para os demais integrantes dos Grupos, elaborar e manter atualizado o MANual do Sistema – MANSIST, o Manual de Operação – MANOPER, e o Manual do Usuário - MANUSU dos Sistemas de Bancos de Dados dos Setores, publicando-os em suas Homepages ou Páginas de Índices, num Menu de Ajuda (Help on Line), e disponibilizando-os para serem consultados por todos. Os Integrantes dos Grupos escolhidos como Suporte Técnico deverão elaborar e/ou aperfeiçoar os Tutoriais Existentes para o Ambiente RAD ERWin, bem como um Plano de Emergência para o Funcionamento do Sistema de Banco de Dados dos Setores em pelo menos duas formas alternativas. No caso, por exemplo, da Rede do ITA sair do ar, por algum motivo, deverá ser providenciado algum “Portal Hospedeiro como Espelho” para armazenar as informações atualizadas dos Setores, evitando-se assim interrupções de deevitando-senvolvimento, por falta de suporte técnico de rede;
2. Procedimentos Realizados
2.2. Sistema de Dicionarização de Dados
O sistema de dicionário de dados é composto por Dicionário de Dados, Diretório de Dados, Dicionário de Recursos de Dados e Dicionário de Meta Dados. Esses componentes estão descritos a seguir:
2.2.1. Dicionário de Dados
Descrição Física das Entidades e de seus Ambientes Associados
Para definição do dicionário de dados do Aplicativo de Banco de Dados do Departamento de Polícia foram considerados os seguintes critérios:
Quanto à Segurança: Todas as tabelas, atributos e tuplas são garantidos por procedimentos de backup e restore bem como acesso restrito dos técnicos aos laboratórios do Instituto Tecnológico de Aeronáutica (ITA), devidamente autorizados e capacitados para realizar as operações necessárias à segurança do aplicativo de banco de dados do departamento de polícia.
Quanto à privacidade: A privacidade de tabelas, tuplas, atributos, dados e metadados do aplicativo de banco de dados do departamento de polícia é garantida por procedimentos de acesso autorizado por senha, a qual é gerada, distribuída, armazenada e verificada por procedimentos específicos que propiciam o nível de privacidade necessário.
Quanto à integridade: A integridade dos atributos é garantida por relacionamentos de chave estrangeira, pela escolha do formato e do tamanho de cada atributo, pelo uso das diretivas NULL e NOT NULL.
As tabelas utilizadas no aplicativo de banco de dados do departamento de polícia são descritas abaixo. Os atributos de cada tabela, suas descrições, seu tipo de dados, restrições
quanto a valor nulo e restrições de chaves primárias e estrangeiras também são demonstrados, para cada uma das tabelas do sistema:
Tabela (Entidade): Departamento_Polícia
Objetivo Armazenar dados sobre os departamentos de polícia utilizados no sistema Nome do Atributo Descrição do Atributo Tipo de Dados Permite
Nulo? É Chave Primária ? É Chave Estrangeira ? Dpp_codigo Identificador do departamento de polícia
INTEGER Não Sim Não
Dpp_descrição Descrição do departamento de polícia (nome do departamento)
VARCHAR(255) Não Não Não
Dpp_localidade Polígono de localidade geográfica do departamento de polícia
SDO_GEOMETRY Não Não Não
Dpp_unidade_participante Nome da unidade, para unidades de polícia pacificadora
VARCHAR(50) Não Não Não
Tabela (Entidade): Local
Objetivo Armazenar dados sobre um setor ou área, dentro do departamento de polícia Nome do Atributo Descrição do Atributo Tipo de Dados Permite
Nulo?
É Chave Primária ?
É Chave Estrangeira ? Loc_identificador Identificador do local INTEGER Não Sim Não Dpp_codigo Código do departamento de
polícia associado
INTEGER Não Não Sim
Loc_identificacao Identificacao do local VARCHAR(20) Não Não Não Loc_area Área do local DECIMAL Não Não Não Loc_restricao Identificador se o local possui ou
não alguma restrição para instalação de equipamentos
Tabela (Entidade): Corredor
Objetivo Armazenar dados dos corredores do departamento de polícia Nome do Atributo Descrição do Atributo Tipo de Dados Permite
Nulo?
É Chave Primária ?
É Chave Estrangeira ? Cor_identificador Identificador do corredor INTEGER Não Sim Não Loc_identifcador Identificador do local associado INTEGER Não Não Sim Cor_identificacao Identificacao do corredor VARCHAR(20) Não Não Não Cor_metragem Metragem do corredor DECIMAL Não Não Não Cor_quantidade_portas Quantidade de portas
existentes no corredor
INTEGER Não Não Não
Tabela (Entidade): Tomada
Objetivo Armazenar dados das tomadas no departamento de polícia Nome do Atributo Descrição do Atributo Tipo de Dados Permite
Nulo?
É Chave Primária ?
É Chave Estrangeira ? Tom_identificador Identificador da tomada INTEGER Não Sim Não Cor_identifcador Identificador do corredor onde a
tomada está instalada
INTEGER Não Não Sim
Tom_voltagem Voltagem de rede disponibilizada na tomada
INTEGER Não Não Não
Tom_norma_abnt Indicador se a tomada respeita as normas da ABNT
SMALLINT Não Não Não
Tabela (Entidade): Fabricante
Objetivo Armazenar dados sobre os fabricantes de equipamentos utilizados no sistema Nome do Atributo Descrição do Atributo Tipo de Dados Permite
Nulo?
É Chave Primária ?
É Chave Estrangeira ? Fab_codigo Identificador da fabricante INTEGER Não Sim Não Fab_nome Nome do fabricante VARCHAR(255) Não Não Não Fab_telefone Telefone do fabricante VARCHAR(20) Não Não Não
Fab_endereco Endereço do fabricante VARCHAR(255) Não Não Não
Tabela (Entidade): TipoEquipamento
Objetivo Armazenar dados sobre os tipos de equipamentos utilizados no sistema Nome do Atributo Descrição do Atributo Tipo de Dados Permite
Nulo?
É Chave Primária ?
É Chave Estrangeira ? Teq_codigo Identificador do tipo de
equipamento
INTEGER Não Sim Não
Teq_abreviacao Abreviação do tipo de equipamento
VARCHAR(3) Não Não Não
Teq_descricao Descrição do tipo de equipamento
VARCHAR(255) Não Não Não
Tabela (Entidade): EstadoOperacao
Objetivo Armazenar dados sobre os estados de operação utilizados no sistema Nome do Atributo Descrição do Atributo Tipo de Dados Permite
Nulo?
É Chave Primária ?
É Chave Estrangeira ? Eop_codigo Identificador do estado de
operação
INTEGER Não Sim Não
Eop _abreviacao Abreviação do estado de operação
VARCHAR(3) Não Não Não
Eop _descricao Descrição do estado de operação VARCHAR(50) Não Não Não
Tabela (Entidade): Circuito
Objetivo Armazenar dados sobre os circuitos monitorados pelo sistema Nome do Atributo Descrição do Atributo Tipo de Dados Permite
Nulo?
É Chave Primária ?
É Chave Estrangeira ? Cct_codigo Identificador do circuito INTEGER Não Sim Não Cct _descricao Descrição ou nome do circuito VARCHAR(45) Não Não Não Cct_tipo O tipo do circuito: aéreo ou VARCHAR(45) Não Não Não
subterrâneo
Tabela (Entidade): Equipamento
Objetivo Armazenar dados sobre os equipamentos monitorados pelo sistema Nome do Atributo Descrição do Atributo Tipo de Dados Permite
Nulo?
É Chave Primária ?
É Chave Estrangeira ? Eqp_codigo Identificador do equipamento INTEGER Não Sim Não Fab _codigo Identificador do fabricante do
equipamento
INTEGER Não Sim Não
Teq_codigo Identificador do tipo de equipamento
INTEGER Não Sim Não
Tom_identificador Identificador da tomada conectada ao equipamento
INTEGER Não Não Sim
Eop_codigo Identificador do estado de operação do equipamento (Ligado, desligado, etc)
INTEGER Não Não Sim
Mdd_codigo Identificador do Medidor Inteligente (Smart Meter) associado ao equipamento
INTEGER Não Não Sim
Eqp_descricao Descrição do equipamento VARCHAR(255) Não Não Não Eqp_tensao_de_operacao Tensão de operação do
equipamento
INTEGER Não Não Não
Eqp_modelo Modelo do Equipamento VARCHAR(255) Não Não Não Eqp_tomada_abnt Identificador se o plug do
equipamento respeita o padrão ABNT
SMALLINT Não Não Não
Tabela (Entidade): Medidor
Objetivo Armazenar dados sobre medidores do sistema de Smart Grid Nome do Atributo Descrição do Atributo Tipo de Dados Permite
Nulo?
É Chave Primária ?
É Chave Estrangeira ? Mdd_codigo Identificador do medidor INTEGER Não Sim Não
Cct _codigo Identificador do circuito associado
INTEGER Não Não Sim
Eop_codigo Identificador do Estado de Operação
INTEGER Não Não Sim
Mdd_local_instalacao Coordenada geográfica (ponto) de instalação do medidor
SDO_GEOMETRY Não Não Não
Mdd_descricao Descrição do Medidor VARCHAR(255) Não Não Não
Tabela (Entidade): Medicao
Objetivo Armazenar dados sobre eventos de medição associados aos medidores do sistema Nome do Atributo Descrição do Atributo Tipo de Dados Permite
Nulo?
É Chave Primária ?
É Chave Estrangeira ? Mdc_codigo Identificador da medição INTEGER Não Sim Não Mdd_codigo Identificador do medidor
associado à medição
INTEGER Não Não Sim
Mdc_data_ocorrencia Data do evento de medição DATE Não Não Não Mdc_demanda_total A demanda total de consumo no
medidor (usualmente a soma da demanda dos equipamentos ligados no momento da medição)
DECIMAL Não Não Não
2.2.2 - Diretório de Dados
Um Diretório de Dados deve agregar ao Dicionário de Dados informações sobre relacionamentos entre Atributos, Entidades e Usuários. Para o contexto do aplicativo de banco de dados do departamento de polícia, foi preparado um diretório de dados, contendo as informações a seguir.
No protótipo do aplicativo de banco de dados do departamento de polícia, todos os atributos e entidades são acessados pelos seguintes tipos de usuários: Gerente de Operações e Administradores.
• Administradores de Bancos de Dados (DBAs): podem criar, remover ou alterar tabelas, atributos, índices, tuplas, dados, funções, triggers e procedimentos armazenados visando melhorar o desempenho do sistema e/ou adequar os dados a novas regras de negócio e integrações.
• Desenvolvedores: desenvolvem novas funcionalidades para o ABD-GRE-DPO, melhoram funcionalidades existentes e desenvolvem novos sistemas utilizando a base de dados; e
• Usuários Finais (consumidores): utilizam os dados do aplicativo de banco de dados do departamento de polícia para tomada de decisão;
Software:
• Sistemas de Interface Homem-Máquina: são operados por usuários que consultam os dados. Os Sistemas de Interface Homem-Máquina zelam para que dados não sejam destruídos por erros de operação dos usuários;
• Sistemas automáticos de inserção de dados: coletam dados dos medidores e fazem edições no banco de dados, considerando informações de consumo e demanda de energia elétrica corrente; e
• Sistemas de Backup e Restore para realização de restauração de cópias de segurança. Os processos de negócio associados às entidades do ABD-GRE-DPO são apresentados a seguir:
Entidade Processo
Fabricante A tabela Fabricante é preenchida pelo usuário do sistema ou pelo administrador de dados e indica quais são os fabricantes dos equipamentos utilizados.
TipoEquipamento A tabela TipoEquipamento é preenchida pelo usuário do sistema ou pelo administrador de dados e indica quais são os tipos de
equipamentos utilizados.
EstadoOperacao A tabela EstadoOperacao é preenchida pelo usuário do sistema ou pelo administrador de dados e indica quais são os estados de operação dos equipamentos e medidores utilizados.
Medidor A tabela Medidor é preenchida pelo usuário do sistema ou pelo
estão instalados.
Equipamento A tabela Equipamento é preenchida pelo usuário do sistema ou pelo
administrador de dados e indica quais são os equipamentos utilizados.
Departamento_Policia A tabela Departamento_Policia é preenchida pelo usuário do sistema ou pelo administrador de dados e indica quais são os departamentos de polícia gerenciados pelo sistema.
Local A tabela Local é preenchida pelo usuário do sistema ou pelo
administrador de dados e indica quais são os locais, áreas ou setores dos departamentos de polícia gerenciados pelo sistema.
Corredor A tabela Corredor é preenchida pelo usuário do sistema ou pelo
administrador de dados e indica quais são corredores existentes nos locais do departamento de polícia gerenciados pelo sistema.
Tomada A tabela Tomada é preenchida pelo usuário do sistema ou pelo
administrador de dados e indica os pontos de entrega de energia (tomadas) e o corredor associado.
Circuito A tabela Circuito é preenchida pelo usuário do sistema ou pelo
administrador de dados e indica os circuitos elétricos monitorados pelo sistema Smart Grid.
Medicao A tabela Medicao é preenchida automaticamente pelo sistema e
armazena eventos de medição de consumo e oferta de energia elétrica através de uma consulta ao medidor.
2.2.3 - Dicionário de Recursos de Dados
O protótipo de aplicativo de banco de dados aplicativo de banco de dados do departamento de polícia e seus respectivos dados estão armazenados na partição G, na pasta G:\datafiles\SSG\, em um computador IBM PC Intel Core 2 DUO CPU 2.2 GHz 1 GB RAM HD 160GB 7500RPM. Este computador é protegido por um No-Break de 1 KVA, além de um sistema gerador de energia, o que dá a garantia de funcionamento de 24x7 (24 horas por dia, 7
dias por semana). O Sistema Operacional para este computador é o Windows XP Professional 2002 SP3 .
O Sistema Gerenciador de Banco de Dados é o Oracle 11g Spatial. O sistema encontra-se implantado nos laboratórios do Instituto Tecnológico de Aeronáutica (ITA), e é acessado diretamente via ferramenta Oracle Sql Developer, utilizando as seguintes configurações: host: 161.24.9.5
Port: 1521 SID: ce240
A freqüência de utilização deste ambiente é diária, 24 horas por dia. 2.2.4 - Dicionário de Metadados
O Dicionário de Metadados é o Componente de mais alto nível de abstração de um Sistema de Dicionário de Dados. Um Dicionário de Metadados tem por objetivo prover uma estrutura capaz de conectar e integrar diversos Aplicativos de banco de dados específicos de Sistemas de Informações computadorizadas baseados nas Tecnologias de Banco de Dados, propiciando suas compatibilizações para o atendimento as demais necessidades básicas de uma Organização, Empresa ou Corporação.
O dicionário de metadados do aplicativo de banco de dados do departamento de polícia consiste em um modelo entidade-relacionamento conceitual, que foi implementado na ferramenta de domínio publico DBDesigner4 e é apresentado a seguir:
Figura 1 - Modelo Entidade Relacionamento do Banco de Dados Setorial da Polícia
3. Conclusão
A realização desta listex propiciou ao aluno melhorar sua eficiência no processo de dicionarização do Aplicativo de Banco de Dados SSG-SPU para o Banco de Dados Setorial, além de aperfeiçoar suas habilidades na manipulação de dados, através de consultas no SGBD utilizado (ORACLE 11g Spatial).
Através do envolvimento com os demais integrantes do grupo para integração dos aplicativos de bancos de dado, principalmente com o trabalho realizado pelo responsável pela normalização do novo modelo de dados, foi possível definir dicionarização do aplicativo de banco de dados.