Вы находитесь на странице: 1из 56

ANDREWS FERNANDO DE SOUSA

PROJETO DA BASE DE DADOS DE


UM SISTEMA WEB PARA CONTROLE
DE ENSAIOS E CALIBRAO DE
LABORATRIOS EM
CONFORMIDADE COM A NORMA
ISO/IEC 17025

Trabalho de Concluso de Curso


apresentado Escola de Engenharia de So
Carlos, da Universidade de So Paulo
Curso de Engenharia de Computao

ORIENTADOR: Professor Doutor Carlos Dias Maciel

So Carlos
2008
1

Resumo do Projeto de Formatura apresentado EESC-USP como parte dos requisitos


necessrios para a obteno da concluso do curso de Engenharia de Computao.

PROJETO DA BASE DE DADOS DE UM SISTEMA WEB PARA


CONTROLE DE ENSAIOS E CALIBRAO DE LABORATRIOS
EM CONFORMIDADE COM A NORMA ISSO/IEC 17025

Andrews Fernando de Sousa


11 / 2008

Orientador: Prof. Dr. Carlos Dias Maciel


rea de Concentrao: Ensaios e calibrao em laboratrios

Palavras-chave: Norma ISSO/IEC 17025, Banco de Dados, MySQL, Modelo EntidadeRelacionamento, Modelo Relacional.

RESUMO
A norma ISO/IEC 17025 foi criada com intuito de facilitar o processo de ensaios e
calibrao aplicveis a todas as operaes realizadas em laboratrio e serve como guia na
implementao da garantia da qualidade. Essa norma traz tanto os requisitos tcnicos
quanto os gerenciais para laboratrios que desejam fornecer resultados tecnicamente
vlidos. Para isso implementou-se um sistema web dentro dos requisitos exigidos pela
norma ISO/IEC 17025 para manter o Laboratrio de Instrumentao e Microeletrnica
dentro dos padres de qualidade. O sistema contar com um banco de dados onde sero
guardadas todas as informaes utilizadas nos processos de calibrao e ensaios,
automatizando o processo de determinao dos resultados. O projeto envolve a construo
do modelo lgico de banco de dados, do modelo fsico, das tcnicas de controle de
dependncia de dados e dos mtodos de consulta para uma melhor visualizao e futura
implementao da base de dados do sistema.
2

Resumo do Projeto de Formatura apresentado EESC-USP como parte dos requisitos


necessrios para a obteno da concluso do curso de Engenharia de Computao.

PROJETO DA BASE DE DADOS DE UM SISTEMA WEB PARA


CONTROLE DE ENSAIOS E CALIBRAO DE LABORATRIOS
EM CONFORMIDADE COM A NORMA ISSO/IEC 17025

Andrews Fernando de Sousa


11 / 2008

Orientador: Prof. Dr. Carlos Dias Maciel


rea de Concentrao: Ensaios e calibrao em laboratrios

Palavras-chave: Norma ISSO/IEC 17025, Banco de Dados, MySQL, Modelo EntidadeRelacionamento, Modelo Relacional.

ABSTRACT
The standard ISO/IEC 17025 was created with de intention to make easier the assay and
calibration process and to guide the laboratory to implement a quality service. This standard
brings all the technical and management requirements to the labs that wish validate the
results technically. With this reason, a system was developed to grant some requirements
from the standard to keep the Laboratrio de Instrumentaao e Microeletrnica inside the
quality standards. The system has a data bank that will keep all the information of the
patterns used in the assay and calibration processes. This project has a logic model data
bank, physical model, control techniques of data dependences and queries methods.

1. INTRODUO

1.1.MOTIVAO
Internacionalmente, o processo de padronizao das atividades dos laboratrios de ensaio e
calibrao teve incio com a publicao da ISO/IEC Guia 25 em 1978. Na Europa, vigorava a EN
45001.
Tanto a ISO Guia 25 como a EN 45001 no possuam um nvel de detalhamento suficiente para
permitir uma aplicao/interpretao consistente e sem ambigidades, no conseguindo garantir boa
qualidade dos ensaios e calibraes realizadas pelos laboratrios. Para suprir essas lacunas, a ISO
revisou a ISO Guia 25 e desse trabalho resultou a norma ISO/IEC 17025 Requisitos gerais para a
competncia de laboratrios de ensaio e calibrao, publicada internacionalmente no ano de 2000.
No Brasil, foi publicada pela ABNT a NBR/ISO/IEC 17025 em janeiro de 2001 [2].
A velocidade com que a tecnologia avana nos transporta para a necessidade de gerenciar os
processos de ensaio e calibrao e automatizar a execuo das tarefas, aumentando a confiabilidade
dos processos e tornando mais eficiente e segura a apresentao dos dados.
A criao de um sistema para automatizao dos laboratrios, onde se tem um maior controle
das informaes obtidas atravs dos experimentos realizados economiza tempo, evita erros de
pesquisa, oferece flexibilidade, economia de recursos humanos e financeiros, segurana
conformidade e confiabilidade ao laboratrio responsvel pelos ensaios e calibraes. Esse sistema
deve estar em conformidade com os requisitos da norma ISO/IEC 17025, para garantir toda a
qualidade necessria para a validao tcnica dos resultados.
A existncia de uma base de dados essencial para evitar problemas de perdas de dados
quando, por exemplo, ocorrer queda de energia eltrica. Esta tambm facilita as consultas, buscas,
anlises, e o tratamento de informaes dos experimentos j realizados, garantindo maior eficincia
e desempenho no gerenciamento das informaes provenientes dos ensaios. Uma vez que esse
gerenciamento se torna cada vez mais complicado devido ao aumento do nmero de pessoas no
laboratrio.
Visando facilitar o tratamento e gerenciamento das informaes e garantir a qualidade dos
ensaios e calibraes realizadas pelo Laboratrio de Instrumentao e Microeletrnica, surge a
necessidade da criao e desenvolvimento desse projeto.

1.2.OBJETIVO
O projeto foi desenvolvido como Trabalho de Concluso de Curso e tem por objetivo projetar
uma ferramenta web para controle dos ensaios e calibraes realizadas no Laboratrio de
Instrumentao e Microeletrnica.
O projeto como um todo foi dividido em duas partes, sendo desenvolvido em parceria com
outro estudante de graduao do curso de Engenharia de Computao, Coriolano Martins da Silva
Neto. Mais especificamente, a parte que corresponde criao da documentao necessria para a
implementao do sistema.
O vigente documento responsvel pela criao de uma base de dados para o sistema a ser
criado, mais precisamente do modelo lgico e do modelo fsico do banco de dados, das tcnicas de
controle de dependncia de dados e dos mtodos de consulta das informaes.

1.3.MATERIAIS E MTODOS
O projeto da base de dados foi realizado aps o levantamento de requisitos para o sistema junto
ao Laboratrio de Instrumentao e Microeletrnica. Foram considerados somente os aspectos mais
importantes.
Para representao do modelo lgico, entidade-relacionamento, foi utilizada uma ferramenta
para criao de diagramas chamada Dia. As consultas ao banco de dados foram realizadas
utilizando o MySQL.

1.3.1. Dia
O Dia (Fig.1) um aplicativo criado em GTK+ para a criao de diagramas, e executado
em Linux, Unix e Windows. Dia um software livre lanado sob a licena GPL e inspirado pelo
software comercial para Windows, o Visio, mas mais indicado para a criao de diagramas
informais e uso casual. Tambm pode ser usado para se desenhar diferentes tipos de diagramas.

Figura 1 Screenshot da tela de desenvolvimento do Dia [3].

O Dia possui atualmente objetos especiais para ajudar a desenhar diagramas de modelos
entidade-relacionamento como pode ser observado na Fig.2, diagramas UML que podem ser
observados na Fig.3, fluxogramas, diagramas de redes e muitos outros.

Figura 2 - Exemplo de um diagrama entidade-relacionamento feito com o Dia

Figura 3 - Exemplo de UML feito pelo Dia

Os diagramas podem ser exportados para diferentes formatos, incluindo EPS, SVG, XFIG,
WMF e PNG.

1.3.2. MySQL
O MySQL um servidor robusto de banco de dados SQL (Structured Query
Language Linguagem Estruturada para Pesquisas) muito rpido, multi-tarefa e multiusurio. O servidor MySQL pode ser usado em programa com alta carga e misso crtica
como tambm pode ser utilizado para aplicaes em massa. MySQL uma marca registrada
da MySQL AB [4].
O MySQL se tornou o banco de dados open source mais popular do mundo porque
possui alta performance, confiabilidade, consistncia e fcil de usar. Atualmente, usado
em milhes de instalaes em todos os continentes. Se tornou a escolha de uma nova
gerao de aplicaes que utilizam o modelo LAMP (Linux, Apache, MySQL e PHP).
Segue abaixo algumas linguagens de acesso ao MySQL:

C, C++, Java

PHP, Python, Pearl

Ruby

.NET, Oracle Forms, Microsoft ASP

Delphi, Kylix

Lisp, Lasso, Pike

O MySQL funciona em muitas plataformas, utilizando threads nativas. Algumas delas


esto listadas abaixo:

Windows (95, 98, 2000, XP);

Linux (x86, PPC, SPARC);

Sun Solaris 2.5+, 32 e 64;

Apple MacOS X;

Netware;

IBM OS/2;

Silicon Graphics Irix 6.x;

FreeBSD 3+;

OpenBSD, NetBSD.

Utilizando threads emuladas pode ser executado para:

BSDI 2.x

OpenBSD 2.x

Sun SunOS 4

O MySQL foi desenvolvido, desde 2000, j com suporte para arquiteturas 64 bits.
Arquiteturas 64 bits so recomendadas para computadores quem possuem mais de 4GB de
RAM.
Entre os usurios do banco de dados MySQL esto: NASA, Friendster, Banco Bradesco,
Dataprev, HP, Nokia, Sony, U.S Army, Alcatel, Slashdot e outros.
O MySQL somente o banco de dados, necessitando tambm de um software que
interaja com o usurio para poder guardar as informaes de um site web ou um software.
Abaixo o exemplo de cdigo SQL para o MySQL:

Figura 4 - Exemplo de codigo SQL usando MySQL

As consultas nesse projeto foram feitas em SQL utilizando-se o servidor de banco de dados
MySQL.

1.4.ORGANIZAO DA MONOGRAFIA
Aps este primeiro captulo introdutrio onde foram apresentadas as motivaes para o
desenvolvimento do trabalho, o seu objetivo e os materiais e mtodos envolvidos na sua
construo, o segundo captulo apresenta uma explicao dos conceitos tericos envolvidos no
projeto. No terceiro captulo so descritos o estado atual do projeto, os mtodos e
implementaes envolvidos e as atividades realizadas durante o desenvolvimento. No quarto
captulo so apresentados os resultados obtidos durante as simulaes e testes efetuados com o
intuito de validar o trabalho. No quinto captulo feita uma concluso e as consideraes finais,
bem como os possveis trabalhos futuros. Finalmente, no sexto captulo so apresentadas as
obras bibliogrficas consultadas para a realizao do projeto.

10

2. FUNDAMENTOS TERICOS
2.1.NBR ISO/IEC 17025
A ISO 17025 foi criada prioritariamente para atender e padronizar os servios prestados por
laboratrios que visa estabelecer ferramentas de qualidade para o setor laboratorial.

Figura 5 - Fluxo de trabalho em um laboratrio de ensaios [5]

Antigamente, a padronizao dos laboratrios era implementada de acordo com a ISO Guia
25, que no era aceita na Europa onde se utilizava o EN 45001. De fato, tanto a ISO Guia 25
como o EN 45001 no eram suficientemente detalhados e por isso, aps revisarem essas duas
normas, foi publicado internacionalmente no incio do ano 2000 a ISO/IEC 17025, que inclui
todos os requisitos de gerenciamento da ISO 9001 [6].

11

Figura 6 - NBR ISO/IEC 17025 [6]

No Brasil, a ABNT divulgou a ISO/IEC 17025 em janeiro de 2001, para especificar os


requisitos que atestam competncias em ensaios e calibraes. A norma se aplica a laboratrios
considerados como de primeira, segunda ou terceira parte:

Primeira Parte o fornecedor realiza ensaio em seu prprio produto.

Segunda Parte o cliente realiza ensaio no produto do fornecedor.

Terceira Parte - o laboratrio que realiza o ensaio no possui interesse no produto.

Esta norma no cobre requisitos de segurana e regulamentos sobre a operao de


laboratrios mas cobre a competncia tcnica que no coberta pela norma ISO 9001. Ela
dividida em 14 exigncias de gerenciamento e 10 tcnicas.

2.1.1. Requisitos Gerenciais


Organizao

Estabelecer responsabilidades e estrutura organizacional;

Gerencia as atividades realizadas nas instalaes permanentes,


temporrias, em campo e mvel;

Ter uma gerencia tcnica e um gerente da qualidade;

12

Proteger as informaes confidenciais e direitos de propriedade do


cliente;

Estabelecer medidas para que a gerncia e o pessoal do laboratrio


estejam livres de quaisquer presses e influncias indevidas, que
possam afetar a qualidade de seus trabalhos.

Sistemas da qualidade

Estabelecer, implementar e manter um sistema da qualidade,


documentado na extenso necessria para assegurar a qualidade de
ensaios e/ou calibraes;

Elaborar manual da qualidade que inclua pelo menos: polticas e


objetivos da qualidade, responsabilidades do GT (Gerenciamento
Tcnico) e GQ (Gerenciamento da Qualidade) e estrutura da
documentao do SQ (Sistema da Qualidade).

Controle dos Documentos

Controlar todos os documentos que fazem parte do seu SQ (Sistema da


Qualidade), assegurando anlise crtica e aprovao por pessoal
competente e a sua disponibilidade ao pessoal.

Anlise Crtica dos Pedidos, Propostas e Contratos

Documentar e entender os requisitos solicitados pelos clientes;

Ter capacidade e recursos para atender os requisitos do cliente;

Selecionar o mtodo de calibrao ou ensaio mais apropriado.

Subcontratao de Ensaios e Calibraes

Assegurar que o subcontratado seja competente e aceito pelo cliente.

Aquisio de Servios e Suprimentos

Assegurar que os servios e suprimentos adquiridos, que possam afetar


a qualidade dos ensaios ou calibraes, estejam de acordo com as
especificaes.

13

Atendimento ao Cliente

Oferecer cooperao ao cliente e permitir que este monitore o


desempenho do laboratrio em relao ao trabalho realizado.

Reclamaes

Solucionar as reclamaes de clientes recebidas.

Controle dos Trabalhos de Ensaios ou Calibrao no Conforme

Tomar aes imediatas quando qualquer aspecto de seu trabalho de


ensaio e/ou calibrao no estiverem em conformidade com seus
prprios procedimentos ou com os requisitos acordados com os
clientes.

Ao Corretiva

Implementar aes corretivas para eliminar as causas de uma


determinada no-conformidade, evitando a sua reincidncia.

Ao Preventiva

Implementar aes para prevenir a ocorrncia de no-conformidades e


buscar a melhoria contnua.

Registros

Manter registros tcnicos e da qualidade legveis de forma a permitir


que as informaes contidas nestes possam ser recuperadas a qualquer
momento.

Auditorias Internas

Verificar periodicamente se as suas atividades continuam a atender os


requisitos do Sistema da Qualidade e da NBR ISO/IEC 17025.

14

Anlise Crtica pela Gerncia

Assegurar a contnua adequao e eficcia do sistema da qualidade e


das atividades de ensaio e/ou calibrao e introduzir mudanas ou
melhorias necessrias.

2.1.2. Requisitos Tcnicos


Generalidades

Fatores que determinam a confiabilidade dos resultados de ensaio e


calibrao.

Pessoal

Assegurar a competncia do pessoal para operar equipamentos, realizar


ensaios e calibraes, analisar e aprovar resultados.

Acomodaes e Condies Ambientais

Verificar as instalaes e monitorar as condies ambientais de forma


a evitar que os resultados dos ensaios e calibraes sejam invalidados.

Mtodos de Ensaio e Calibrao e Validao de Mtodos

Assegurar que somente mtodos apropriados sejam utilizados:


amostragem,

transporte,

preparao

dos

itens,

operao

de

equipamentos, ensaio, calibrao, anlise de dados, incerteza de


medio.

Equipamentos

Assegurar que os equipamentos e softwares utilizados pelo laboratrio


atendam exatido requerida e s especificaes dos ensaios e
calibraes.

Rastreabilidade da Medio

15

Assegurar a rastreabilidade ao SI (Sistema Internacional de Unidades)


dos seus prprios materiais de referncia e dos padres e instrumentos
de medir que tiverem efeito significativo sobre os resultados dos
ensaios e calibraes;

Quando a rastreabilidade ao SI no for possvel, utilizar materiais de


referncia certificados, mtodos e padres condensados e participar de
comparaes interlaboratoriais.

Amostragem

Ter planos e procedimentos para amostragem que assegurem a


validade e a aplicabilidade dos resultados do ensaio e calibrao.

Manuseio de Itens de Ensaio e Calibrao

Transportar, receber, armazenar, preparar, proteger, reter e remover os


itens de ensaio e calibrao de forma a assegurar sua segurana e
integridade e sua adequao para o ensaio e calibrao.

Garantia da Qualidade de Resultados de Ensaio e Calibrao

Monitorar a validade dos resultados de ensaio e calibrao por meio de


atividades de controle da qualidade: comparaes interlaboratoriais ou
intralaboratoriais, reensaio ou recalibrao de itens retidos, etc

Apresentao de Resultados

Relatar os resultados dos ensaios e calibraes com exatido, clareza,


sem ambigidade, incluindo toda a informao solicitada pelo cliente e
necessria a sua interpretao.

Atualmente, o Inmetro a utiliza como base para a certificao laboratorial (acreditao),


pois ela estabelece requisitos gerenciais para a implementao de um Sistema de Gesto da
Qualidade (SGQ) em laboratrios de ensaio e calibrao. Por esse motivo, muitos laboratrios tm
procurado implantar a ISO/IEC 17025 que atende a NBR ISO 9001 como uma forma de melhorar a
performance laboratorial, promover uma maior competitividade e de adquirir reconhecimento
nacional e internacional [6].

16

Figura 7: Acreditao laboratorial [6]

Os laboratrios que desejam demonstrar sua competncia perante o Inmetro devem


implementar um SGQ que esteja de acordo com a norma, cuja filosofia principal a melhoria
contnua, padronizao e manuteno do conhecimento no sistema por meio da utilizao de
procedimentos, registros e instrues de trabalho [6].

2.2.

BANCO DE DADOS

Um banco de dados pode ser definido como um conjunto de dados devidamente relacionados.
Por dados podemos compreender como fatos conhecidos que podem ser armazenados e que
possuem um significado implcito. Um banco de dados possui as seguintes propriedades:


Um banco de dados uma coleo lgica coerente de dados com um significado


inerente; uma disposio desordenada dos dados no pode ser referenciada como um
banco de dados;

17

Um banco de dados projetado, construdo e preenchido com dados para um propsito


especfico; um banco de dados possui um conjunto pr definido de usurios e
aplicaes;

Um banco de dados representa algum aspecto do mundo real, o qual chamado de


mini-mundo; Qualquer alterao feita no mini-mundo refletida no banco de dados.

Um banco de dados mantido e gerenciado por um SGBD (Sistema Gerenciador de Banco de


Dados). O SGBD permite aos usurios criarem e manipularem banco de dados de propsito geral. O
conjunto formado pelo banco de dados mais as aplicaes que manipulam o mesmo chamado de
Sistema de Banco de Dados.
Uma caracterstica importante do SGBD que ele mantm no somente os dados mas tambm a
forma que eles so armazenados, contendo uma descrio completa do banco de dados. Essas
informaes so armazenadas em catlogos pelo SGDB e so chamadas de Meta Dados. Assim,
qualquer alterao que deva ser feita no banco de dados ser realizada nos catlogos e com isso
evita-se alterar os programas que esto utilizando a base de dados. A figura abaixo mostra um
ambiente de sistema de banco de dados.

18

Figura 8 - Um ambiente de Sistema de Banco de Dados [7]

Um SGBD deve fornecer ao usurio uma representao conceitual dos dados,


abstraindo a maneira como as informaes so armazenadas. Um modelo de dados
utilizado para fornecer essa representao conceitual utilizando conceitos lgicos como
objetos, suas propriedades e seus relacionamentos. A estrutura detalhada e a organizao de
cada arquivo so descritas nos catlogos.
Para um grande banco de dados, existe um grande nmero de pessoas envolvidas, desde
o projeto, uso e at manuteno.

2.2.1. Conceitos e Arquitetura de um SGBD


Uma das principais caractersticas da abordagem banco de dados que a mesma
fornece alguns nveis de abstrao de dados, omitindo ao usurio final, detalhes de como os
dados esto armazenados. Podemos utilizar um modelo de dados para descrever a estrutura
lgica e fsica de um banco de dados. Os modelos de dados podem ser, basicamente, de
dois tipos:

19

Alto nvel: ou modelo de dados conceitual, que fornece uma viso mais
prxima de como os usurios visualizam os dados realmente;

Baixo nvel: ou modelo de dados fsico, que fornece uma viso mais detalhada
do modo como os dados esto realmente armazenados no computador.

O SGBD trabalha com um esquema de arquitetura de trs nveis (Fig.9), na qual sua
principal meta separar as aplicaes do usurio do banco de dados fsico. Os esquemas
podem ser definidos como:

Nvel interno: descreve a estrutura de armazenamento fsico do banco de dados;


utiliza um modelo de dados e descreve detalhadamente os dados armazenados e
os caminhos de acesso ao banco de dados;

Nvel conceitual: descreve a estrutura do banco de dados como um todo; uma


descrio global do banco de dados que no fornece detalhes do modo como os
dados esto fisicamente armazenados;

Nvel externo: ou esquema de viso, o qual descreve as vises do banco de


dados para um grupo de usurios; cada viso descreve quais pores do banco
de dados um grupo de usurios ter acesso.

20

Figura 9 - Arquitetura Trs esquemas [7]

Com a arquitetura trs esquemas (Fig.9) consegue-se uma caracterstica muito


importante, independncia de dados, que pode ser definida como a capacidade de se alterar
um esquema em um nvel sem precisar alterar um nvel superior. Existem dois tipos de
independncia de dados:

Independncia de dados lgica: capacidade de alterar o esquema conceitual


sem ter que alterar o esquema externo ou as aplicaes do usurio;

Independncia de dados fsica: capacidade de alterar o esquema interno sem


ter quer alterar o esquema conceitual, o esquema externo ou as aplicaes dos
usurios.

21

O SGBD um sistema complexo, formado por um conjunto muito grande de


mdulos. A Fig10 mostra o esquema simplificado da estrutura de funcionamento de um
SGBD.

Figura 10 - Esquema da estrutura de funcionamento de um SGBD [8]

O principal critrio para se classificar um SGBD baseado no modelo de dados no qual


ele baseado. Os SGBD contemporneos, em sua grande maioria, so classificados como
de modelo relacional, modelos conceituais, modelos orientados a objetos, modelos de
usurios, modelos de localizao e modelos de ambiente [7].

2.2.2. Modelo Entidade Relacionamento


O modelo Entidade-Relacionamento um modelo de dados conceitual de alto nvel,
cujos conceitos foram projetados para estarem o mais prximo possvel da viso que o
usurio tem dos dados, no se preocupando como estes dados estaro realmente

22

armazenados. O modelo ER utilizado principalmente durante a fase de projeto do banco


de dados. A Fig.11 apresenta um exemplo de um modelo ER.

Figura 11 - Exemplos de entidade e atributos

O objeto bsico tratado pelo modelo ER a entidade, que pode ser definida como
um objeto do mundo real, concreto ou abstrato e que possui existncia independente. Cada
entidade possui um conjunto particular de propriedades chamado atributos. Os atributos
podem ser divididos entre simples, que no podem ser separados entre si, e compostos, que
podem ser subdivididos em outras partes com significados independentes entre si.
Os atributos que podem assumir apenas um determinado valor em uma mesma
instncia denominado atributo simplesmente valorado, enquanto que aqueles que
podem assumir mais de um valor em determinada instncia so chamados de atributos
multivalorados. O atributo que gerado a partir de outro atributo chamado de atributo
derivado.
Tipo entidade o conjunto de todas as entidades que so similares entre si, ou seja,
possuem o mesmo conjunto de atributos mas com valores diferentes. Cada tipo entidade
identificada por seu nome e pelo conjunto de atributos que definem suas propriedades.

23

Figura 12 - Exemplo de entidade e atributo

Uma restrio muito importante para as entidades de um tipo entidade o atributo


chave. Esse atributo chave serve para identificar uma entidade de forma nica. Muitas
vezes uma chave pode ser formada pela composio de um ou mais atributos. Uma
entidade tambm pode ter mais de um atributo chave.
importante conhecer tambm os relacionamentos entre os tipos entidades. Um
tipo relacionamento R entre n entidades E1, E2,..., Em um conjunto de relaes
entre entidades deste tipo. Cada instncia de relacionamento r1 em R uma associao
de entidades, onde a associao inclui uma entidade de cada tipo entidade participante
no tipo relacionamento. Isso que significa que essas entidades esto relacionadas de
alguma forma no mini-mundo.
A Fig.13 apresenta um exemplo de relacionamento entre dois tipos entidade
(empregado e departamento) e o relacionamento entre eles (trabalha para). Observa-se
que para cada relacionamento, participam apenas uma entidade de cada tipo entidade,
porm, uma entidade pode participar de mais de um relacionamento.

24

Figura 13 - Exemplo de um relacionamento[7]

Neste exemplo (Fig.13) existe um relacionamento de grau 2 (binrio), ou seja,


somente dois tipos entidade participam do mesmo. O grau de um relacionamento
ilimitado, porm, a partir do grau 3 (ternrio), a compreenso e a dificuldade de se
desenvolver a relao corretamente se tornam extremamente complexas.
Um relacionamento pode ser recursivo, que seria o caso quando h o
relacionamento entre entidades do mesmo tipo entidade. Por exemplo, na Fig.14 onde
apresenta um relacionamento recursivo.

Figura 14 - Relacionamento recursivo[7]

25

Os relacionamentos podem apresentar certas restries que limitam as possveis


combinaes das entidades participantes. Essas restries so impostas pelo estado
dessas entidades no mini-mundo. Por exemplo, quando um empregado pode gerenciar
um departamento e um departamento pode ser gerenciado por apenas um empregado. A
este tipo de restrio damos o nome de cardinalidade. Ela indica o nmero de
relacionamentos que uma entidade pode participar. A cardinalidade pode ser 1:1, 1:N,
M:N. No exemplo citado, a cardinalidade de 1:1 pois um empregado s pode
gerenciar um departamento e um departamento s pode ser gerenciado por um
empregado.
No exemplo da Fig13 tem-se uma cardinalidade 1:N pois um empregado pode
trabalhar em apenas um departamento mas um departamento pode ter N empregados.
Outra restrio muito importante a participao. Podendo ela ser parcial ou total.
Olhando para o exemplo de que um empregado gerencia um departamento e um
departamento gerenciado por um empregado somente, percebe-se que nem todo
empregado gerente de um departamento (participao parcial), ou seja, h empregado
que no gerencia nenhum departamento, mas todo departamento gerenciado por um
empregado (participao total).
Algumas vezes torna-se necessrio armazenar um atributo no tipo relacionamento,
por exemplo, se quiser saber que dia tal empregado comeou a gerenciar o
departamento difcil estabelecer a qual entidade pertence o atributo pois ele definido
pela existncia do relacionamento. Quando a cardinalidade for 1:1 podemos colocar o
atributo em um tipo entidade, de preferncia aquele que tiver participao total, isso
porque no caso nem todo empregado ir participar do relacionamento. Caso a
cardinalidade seja 1:N ento podemos colocar o atributo no tipo entidade com
participao N. Porm, se a cardinalidade for N:M, ento o atributo dever ficar no
relacionamento.
Um tipo entidade fraca quando a entidade no tem o atributo chave por si s.
Implica que no podemos distinguir algumas entidades por que as combinaes dos
valores de seus atributos podem ser idnticas. As entidades fracas precisam estar
relacionadas com uma entidade pertencente ao tipo entidade proprietria. Este
relacionamento chamado relacionamento identificador.

26

Figura 15 - Relacionamento entidade fraca (dependente) [7]

O tipo entidade DEPENDENTE uma entidade fraca pois no possui um mtodo


de identificar uma entidade nica. Por outro lado, EMPREGADO possui um atributo
chave, o nmero do RG por exemplo. Porm, um dependente de 5 anos de idade no
possui necessariamente um documento. Desta forma, uma entidade fraca. Essa
entidade possui uma chave parcial que juntamente com a chave primria da entidade
proprietria forma uma chave primria composta. Neste exemplo, a chave primria de
empregado o RG, a do dependente o nome, pois dois irmos no possuem o mesmo
nome. Desta forma a chave primria desta entidade fica sendo o RG do pai ou da me
mais o nome do dependente.
O Diagrama Entidade Relacionamento composto por um conjunto de elementos
grficos que visa representar todos os objetos do modelo Entidade Relacionamento tais
como entidades, atributos, atributos chaves, relacionamentos, restries estruturais, etc.
O diagrama ER fornece uma viso lgica do banco de dados, fornecendo um
conceito mais generalizado de como esto estruturados os dados de um sistema [7].

27

Figura 16 - Objetos que compem o diagrama ER [7]

Abaixo segue um exemplo de diagrama ER.

28

Figura 17 - Exemplo de diagram ER [9]

2.2.3. Modelo Relacional


O modelo Relacional foi criado por Codd[10] em 1970 e tem por finalidade apresentar
os dados como uma coleo de relaes, onde cada relao e representada por uma tabela,
ou falando de forma mais direta, um arquivo.
Quando uma relao pensada como uma tabela de valores, cada linha nesta tabela
representa uma coleo de dados relacionados. Estes valores podem ser interpretados como
sendo fatos descrevendo uma instncia de uma entidade ou de um relacionamento.
Na terminologia do modelo relacional, cada tabela chamada de relao; uma linha
de uma tabela chamada de tupla; o nome de cada coluna chamado de atributo; o tipo de
dado que descreve cada coluna chamado de domnio [7].
Um domnio D um conjunto de valores atmicos, sendo que por atmico podemos
compreender que cada valor do domnio indivisvel. Durante a especificao do

29

domnio importante destacar o tipo, o tamanho e a faixa do atributo que est sendo
especificado. Por exemplo:

Figura 18 - Especificao do dominio do atributo. (Modelo Relacional)

Um esquema de relao R, denotado por R(A1, A2, ... , An), onde cada atributo
Ai o nome do papel desempenhado por um domnio D no esquema relao R, onde
D chamado domnio de Ai e denotado por dom(Ai). O grau de uma relao R o
nmero de atributos presentes em seu esquema de relao.
A instncia r de um esquema relao denotado por r(R) um conjunto de ntuplas r = [t1, t2, ... , tn] onde os valores de [t1, t2, ... , tn] devem estar contidos no
domnio D. O Valor nulo tambm pode fazer parte do domnio de um atributo e
representa um valor no conhecido para uma determinada tupla.
Uma relao pode ser definida como um conjunto de tuplas distintas. Isto implica
que a combinao dos valores dos atributos em uma tupla no pode se repetir na mesma
tabela.
Existir sempre um subconjunto de atributos em uma tabela que garantem que no
haver valores repetidos para as diversas tuplas da mesma, garantindo que t1[SC]
t2[SC].
SC chamada de superchave de um esquema de relao. Toda relao possui ao
menos uma superchave - o conjunto de todos os seus atributos. Uma chave C de um
esquema de relao R uma superchave de R com a propriedade adicional que
removendo qualquer atributo A de K, resta ainda um conjunto de atributos K que no
uma superchave de R. Uma chave uma superchave da qual no se pode extrair
atributos. Por exemplo, o conjunto: (RA, Nome, Endereo) uma superchave para
estudante, porm, no uma chave pois se tirarmos o campo Endereo continuaremos a
ter uma superchave. J o conjunto (Nome da Revista, Volume, No da Revista) uma

30

superchave e uma chave, pois qualquer um dos atributos que retirarmos, deixaremos de
ter uma superchave, ou seja, (Nome da Revista, Volume) no identifica uma nica tupla.
Em outras palavras, uma superchave uma chave composta, ou seja, uma chave
formada por mais que um atributo (Tab1).

Tabela 1 - Exemplo de superchave

Quando uma relao possui mais que uma chave (no confundir com chave
composta) - como, por exemplo, RG e CIC para empregados - cada uma destas chaves
so chamadas de chaves candidatas. Uma destas chaves candidatas deve ser escolhida
como chave primria.
Uma chave estrangeira CE de uma tabela R1 em R2 ou vice-versa, especifica um
relacionamento entre as tabelas R1 e R2. Como pode-se observar na figura abaixo.

31

Tabela 2 - Exemplo de chave estrangeira

2.2.4. Dependncia Funcional e Normalizao


Dependncia funcional uma restrio entre dois conjuntos de atributos de uma base de
dados. Esta representada por X => Y (l-se: Y funcionalmente dependente de X, ou X
infere sobre Y) que so dois conjuntos de atributos e ainda so subconjuntos de R, pense
em R = {A1, A2,, An}. X e Y especificam uma restrio nas tuplas que podem compor
uma instncia relao r de R, ou seja, os valores do componente Y em uma tupla em r
depende de, ou determinada pelos valores do componente X.
O processo de normalizao pode ser visto como o processo no qual so eliminados
esquemas de relaes (tabelas) no satisfatrios, decompondo-os atravs de seus atributos
em esquemas de relaes menos complexas mas que satisfaam as propriedades desejadas.
Como foi proposto por Codd[10], deve-se fazer uma bateria de testes para verificar se o
esquema de relao est na 1, 2 e 3 formas normais. Estas trs formas normais so
baseadas em dependncias funcionais dos atributos do esquema de relao.

32

A 1 forma normal (1FN) nos diz que devemos eliminar grupos de dados repetitivos da
estrutura. Para isso, deve-se localizar os atributos multivalorados, ou seja, somente so
permitidos atributos atmicos. No caso, por exemplo, de um tipo entidade nota fiscal, temos
como atributos produto, quantidade, valor unitrio e total como grupo de dados
multivalorado. Deve-se separar esse grupo em uma nova entidade, dar um nome ao grupo,
levar a chave da nota fiscal (para manter a relao entre as entidades) e estabelecer uma
chave para o novo grupo. Essa chave pode ser composta pela chave da nota fiscal e por
mais de um atributo existente. possvel, quando no se localizar um atributo adequado,
cri-la.
A 2 forma normal (2FN) diz que quando somente houver grupos de dados na 1FN ( e
jamais antes disso), deve-se localizar dados que no dependem nica e exclusivamente da
chave da entidade. Por exemplo, o cliente est relacionado nota fiscal, mas no depende
dela. O cliente existe, mesmo que no exista a nota fiscal. Por esse motivo dizemos que o
cliente no depende da nota fiscal e, por isso, deve ter os dados separados em uma nova
entidade. Ao se identificar os grupos independentes, deve-se separ-los em uma nova
entidade, uma para cada grupo independente. Feito isso, d-se um nome entidade e
estabelece-se uma chave para o novo grupo. Caso no haja um bom atributo para ser a
chave, deve-se cri-lo.
A 3 forma normal (3FN) aplicada depois que os grupos de dados estiverem todos na
2FN (e jamais antes disso). A ento localizam-se os atributos com dependncia transitiva.
Dependncia transitiva ocorre quando um dado pode ser obtido atravs de outro, exceto a
chave. Por exemplo, X => Y , em uma tabela T, existe um conjunto de atributos Z que no
um conjunto de chaves de T e as dependncias X => Z, Z => Y so vlidas. No exemplo da
nota fiscal, temos o valor total de um item e o valor total da nota fiscal como sendo
atributos que podem ser obtidos atravs de clculos matemticos, por isso devem ser
excludos [7].
Com os dados normalizados possvel criar as tabelas.

2.2.5. Algebra Relacional


A lgebra relacional uma coleo de operaes que so utilizadas para manipular as
relaes. Essas operaes so utilizadas para selecionar tuplas de relaes individuais e para
combinar tuplas relacionadas de relaes diferentes para especificar uma consulta em um

33

determinado banco de dados. O resultado de cada operao uma nova operao, a qual
tambm pode ser manipulada pela lgebra relacional.

A Operao Select
Esta operao utilizada para selecionar um subconjunto de tuplas de uma relao,
que devem satisfazer uma condio de seleo.
A forma geral de uma operao select :

<condio de seleo> (<nome da relao>)


Onde a letra sigma representa a operao de seleo, a condio de seleo uma
expresso booleana aplicada sobre os atributos da relao e nome da relao o nome
da relao sobre a qual ser aplicada a operao select.
Exemplo:

Consulta1 =

salrio < 2500,00 (EMPREGADO)

Essa consulta retorna as linhas da tabela EMPREGADO onde a coluna salrio


apresenta valor menor do que 2500,00 .

A Operao Project
A operao project seleciona um conjunto determinado de colunas de uma relao. A
forma geral de uma operao project :

<lista de atributos> (<nome da relao>)


A letra grega pi representa a operao project, a lista de atributos representa a lista de
atributos que o usurio deseja selecionar, e nome da relao representa a relao sobre a
qual a operacao project ser aplicada.
Exemplo:
Consulta2 =

<nome, data nascimento> (DEPENDENTES)

Essa consulta retorna as colunas nome e data nascimento da tabela DEPENDENTES.

34

As operaes select e project podem ser utilizadas de forma combinada

permitindo que apenas determinadas colunas de determinadas tuplas possam ser


selecionadas.
Poe exemplo:

Consulta3 =

<nome, RG, salrio> ( salrio < 2500,00 (EMPREGADO))

Essa consulta retorna somente as colunas nome, RG e salrio com as tuplas onde o
salrio for menor do que 2500,00 da tabela EMPREGADO.

Operaes Matemticas
Levando em considerao que as relaes podem ser tratadas com conjuntos,
podemos ento aplicar um conjunto de operaes matemticas sobre as mesmas. Como
por exemplo: unio (U) , interseco (), e diferena (-). Estas operaes podem ser
aplicadas sobre mais de uma tabela, contanto que as tuplas seja exatamente do mesmo
tipo. Elas so definidas da seguinte forma:

unio - o resultado desta operao representada por R U S uma relao T


que inclui todas as tuplas que se encontram em R e todas as tuplas que se
encontram em S;

interseco - o resultado desta operao representada por R S uma


relao T que inclui as tuplas que se encontram em R e em S ao mesmo
tempo;

diferena - o resultado desta operao representada por R - S uma relao


T que inclui todas as tuplas que esto em R mas no esto em S.

Produto Cartesiano
O produto cartesiano uma operao binria que combina todas as tuplas de duas
tabelas. Diferente da operao unio, o produto cartesiano no exige que as tuplas da
tabela possuam exatamente o mesmo tipo. Ele permite ento a consulta entre tabelas
relacionadas utilizando uma condio de seleo apropriada. O resultado de um produto
cartesiano um tabela resultante da combinao das tuplas das tabelas sobre as quais
aplicou-se a operao.
O formato geral de uma operao produto cartesiano entre duas tabelas R e S :
RXS

35

Esta operao no muito utilizada por no oferecer um resultado otimizado.

Operao Juno
A operao juno atua de forma similar a operao produto cartesiano, porm a
tabela resultante conter apenas a combinao das tuplas que se relacionam de acordo
com uma determinada condio de juno.
A forma geral de uma operao de juno entre duas tabelas R e S a seguinte:
R

| <condio de juno> S

2.2.6. SQL
SQL (Structured Query Language) uma linguagem de pesquisa declarativa para banco
de dados relacional. Muitas das caractersticas originais do SQL foram inspiradas na
lgebra relacional. Decorrente de sua facilidade de uso e simplicidade, a linguagem SQL
um grande padro de banco de dados. Ela se diferencia de outras linguagens pois especifica
a forma do resultado e no o caminho pra chegar at ele

[6].

Os principais comandos SQL

esto listados abaixo.

Comando CREATE TABLE


Permite ao usurio criar uma nova tabela (ou relao). Para cada atributo da relao
definido um nome, um tipo, mscara e algumas restries. A restrio not null
significa que o atributo deve obrigatoriamente ser preenchido. Se no for especificado
admitido que o atributo possa assumir um valor nulo, por default. Por exemplo para se
criar uma tabela empregados o seguinte comando dever ser utilizado:

CREATE TABLE metodo (


data

DATE

titulo

CHAR (30)

descrio

CHAR(100)

file

CHAR (30)

NOT NULL,

PRIMARY KEY (titulo)


)

36

Comando DROP TABLE


O comando drop table permite a excluso uma tabela (relao) em um banco de
dados.
Por exemplo para eliminarmos a tabela empregados, o comando a ser utilizado o
seguinte:

DROP TABLE empregados;

Se a chave da tabela empregados for usada como chave estrangeira ou chave


primria composta em outras tabelas, deve-se corrigi-las. Este processo no assim to
simples pois implica na alterao do projeto fsico de diversas tabelas.

Comando ALTER TABLE


O comando alter table permite que o usurio faa a incluso de novos atributos em
uma tabela. A forma geral para o comando a seguinte:

ALTER TABLE <nome_tabela> ADD <nome_coluna> <tipo_coluna>

Para o comando alter table no permitido utilizar a restrio not null, porque
assim que uma coluna criada, todas as tuplas da tabela para aquela coluna recebero o
valor null.

Consultas em SQL
Em SQL pode-se fazer consultas, inserir e atualizar dados em uma ou mais tabelas.
Para isso utiliza-se os comandos SELECT , INSERT INTO e UPDATE.
Com o comando SELECT conseguimos selecionar tuplas em uma ou mais tabelas.
Sua forma bsica a seguinte:

SELECT <lista de atributos>


FROM <lista de tabelas>
WHERE <condies>;
Por exemplo, para selecionar o nome e o rg dos funcionrios que trabalham
no departamento 2 e que ganham mais do que R$2500,00 na tabela empregados,
utilizamos o seguinte comando:

37

SELECT nome, rg
FROM empregados
WHERE departamento = 2 AND salrio > 2500;

Diferente de lgebra relacional, a operao SELECT permite a gerao de tuplas


duplicadas como resultado de um expresso. Para evitar isso utiliza-se o
especificador DISTINCT.

SELECT DISTINCT nome


FROM empregados
WHERE departamento = 2;

Se quisermos ordenar as tuplas de forma ordenada, usa-se o comando ORDER BY.

SELECT nome, rg
FROM empregados
ORDER BY nome;

Inseres em SQL
Para elaborar inseres em SQL, utiliza-se o comando INSERT INTO. A forma
geral para o comando INSERT INTO :

INSERT INTO <nome da tabela> < (lista de colunas) >


VALUES < (lista de valores) >;

Por exemplo:
INSERT INTO empregados (nome, rg, salrio)
VALUES (Jose Silva, 1234567, 3600);

Se todas as colunas forem preenchidas no comando INSERT INTO no


necessrio informar a lista de colunas, mas se somente alguns atributos forem inseridos
deve-se ento dizer em quais as colunas os valores sero inseridos.

38

Atualizaes em SQL
Para realizar atualizaes nas tabelas utilizado o comando UPDATE. Sua forma
bsica a seguinte:

UPDATE <tabela>
SET <coluna> = <expresso>
WHERE <condio>

Por exemplo, para atualizar o salrio de todos os empregados que trabalham no


departamento 2 para R$3000,00 o seguinte cdigo utilizado:

UPDATE empregados
SET salrio = 3000,00
WHERE departamento = 2;

Eliminar registros em SQL


Para eliminar um tupla de uma tabela, utiliza-se o comando delete. A forma bsica
do comando delete a seguinte:

DELETE FROM <tabela>


WHERE <condio>;

Se quisermos eliminar os registros nos quais os empregados que trabalham no


departamento 2 ganham mais de R$3500,00 devemos utilizar o seguinte comando:

DELETE FROM empregados


WHERE departamento =2 AND salrio > 3500;

39

3. MTODOS E IMPLEMENTAES
3.1.PROJETO
A base de dados desenvolvida neste projeto guardar todas as informaes dos padres para
controle de dados e mtodos utilizados nas atividades realizadas pelo Laboratrio de
Instrumentao e Microeletrnica, como tambm os dados e resultados de ensaios e calibraes
para posterior consulta e estudo dos mesmos.
O projeto do banco de dados envolve a construo de um modelo lgico, um modelo fsico,
envolve tambm as tcnicas de controle e dependncia de dados e mtodos de consulta e
criao de dados. A existncia da mesma, garante maior segurana dos dados das anlises
realizadas, uma vez que os usurios devero possuir uma senha para acesso das informaes.
Com isso evita-se a perda de dados acidentalmente, ou por queda de energia ou mesmo por
simplesmente no saber a localizao das informaes para um dado experimento.
A idia do projeto passar todas as informaes e materiais necessrios para uma futura
implementao do sistema como um todo, tanto a parte da base de dados como a aplicao para
control-la.

3.2.EQUIPE
O trabalho foi desenvolvido junto com outro aluno da graduao, Coriolano Martins da
Silva Neto, que ficou responsvel por toda a parte de modelagem da aplicao que dever
interagir com a base de dados modelada aqui. As atividades realizadas pela outra parte do
projeto essencial para a realizao deste, pois a modelagem da base de dados depende das
informaes obtidas pelo Coriolano. Suas atividades so resumidas da seguinte forma (Fig19):

Figura 19 - Atividades realizadas pela outra parte da equipe

40

De posse do modelo criado, pode-se ento modelar toda a base de dados que dever
interagir com as pginas dinmicas para posterior exibio aos usurios atravs dos documentos
HTML que sero exibidos pelo navegador web.

3.3.DESCRIO DAS ATIVIDADES REALIZADAS


Todas as etapas, desde a modelagem at o projeto fsico da base de dados mostrada na
Fig20.

Figura 20 - Etapas do projeto de um banco de dados

A primeira etapa consiste do levantamento de requisitos do sistema, ou seja, todas as


informaes relevantes da aplicao que consistem em descrever e dar uma idia geral de como
ser o sistema. Esses requisitos so levantados a partir das necessidades do Laboratrio de
Instrumentao e Microeletrnica, cobrindo todas as necessidades do mesmo.
Aps essa etapa j possvel a criao do modelo Entidade-Relacionamento, que descreve e
especifica todo o esquema conceitual da base de dados. O MER diz como as entidades se
relacionam, como elas esto ligadas umas as outras e todos os atributos das mesmas. De posse
do modelo Entidade-Relacionamento podemos criar o diagrama Entidade-Relacionamento.

41

A prxima fase o mapeamento do modelo ER para o modelo Relacional, para a posterior


construo do modelo fsico do banco de dados, ou seja, a partir do modelo lgico chega-se ao
modelo fsico. Onde os dados sero representados como uma coleo de relaes, e cada
relao representada por uma tabela.
A fase seguinte consiste na verificao dos dados para a eliminao das dependncias,
utilizando para isso a normalizao, abordando a 1, 2 e 3 Formas Normais.
Por fim, para a elaborao de consultas utilizaremos a lgebra relacional, que uma forma
cannica para as linguagens de consulta, e SQL, que a linguagem mais usada para interagir com
a base de dados.

3.3.1. Projeto Conceitual Utilizando Modelo ER


Aps o levantamento de requisitos, das necessidades do Laboratrio de Instrumentao
e Microeletrnica, gera-se uma descrio mais detalhada dos tipos de entidades envolvidas
com seus respectivos atributos:

ENSAIO: ID, data, assunto, descrio, metodo, file (caminho do diretorio onde
esto os arquivos utilizados no ensaio), equipamentos (multivalorado e
composto), responsvel;

COLABORADOR: nome, usp (numero de identificao), curso, data_ingresso,


senha, tipo_usuario (gerente ou usurio), laboratrio, email;

METODO: data, titulo, descrio, file;

LABORATORIO:

nome,

cnpj,

responsvel_geral,

equipamentos

(multivalorado e composto);

Foram identificados tambm os tipos relacionamentos, com as razes de cardinalidade,


restrio de participao e atributos:

COLABORADOR pertence a LABORATORIO:


Razo de cardinalidade (1:1), pois:
o

1 colaborador pertence a 1 laboratrio;

1 laboratrio tem 1 colaborador.

Restrio de participao:

42

do COLABORADOR: parcial, pois o COLABORADOR no precisa


ter um LABORATRIO para que ele exista no banco de dados;

do LABORATRIO: parcial, pois o LABORATRIO no precisa ter


um COLABORADOR para que ele exista no banco de dados.

Atributos: no h.

COLABORADOR realiza ENSAIO:


Razo de cardinalidade (1:N), pois:
o

1 colaborador realiza N ensaios;

1 ensaio realizado por 1 colaborador.

Restrio de participao:
o

do COLABORADOR: parcial, pois o COLABORADOR no precisa


realizar um ENSAIO para que ele exista no banco de dados;

do ENSAIO: total, pois o ENSAIO precisa ter um COLABORADOR


para que ele exista no banco de dados.

Atributos: no h.

ENSAIO possui METODO:


Razo de cardinalidade (1:1), pois:
o

1 ensaio possui 1 metodo;

1 metodo de 1 ensaio.

Restrio de participao:
o

do ENSAIO: total, pois o ENSAIO precisa possuir um METODO para


que ele exista no banco de dados;

do METODO: parcial, pois o METODO no precisa pertencer a um


ENSAIO para que ele exista no banco de dados.

Atributos: no h.

O prximo passo elaborar o diagrama Entidade-Relacionamento, a nfase est em


representar esquemas em vez de instncias.
Os tipos entidades so: COLABORADOR, ENSAIO, METODO, LABORATRIO,
todos so mostrados dentro de retngulos.
Os tipos relacionamentos so: realiza, pertence, possui, todos so mostrados dentro de
losangos interligados aos tipos de entidades participantes.

43

Atributos so mostrados em elipses conectadas aos tipos de entidades as quais esto


relacionadas. Os componentes de um atributo composto so tambm representados em
elipses porm so conectados outra elipse do atributo ao qual ela pertence. Os atributos
chaves so sublinhados, e atributos multivalorados so elipses duplas. Abaixo segue o
diagrama ER do banco de dados do projeto em questo (Fig.21).

Figura 21 - Diagrama ER da base de dados do projeto

3.3.2. Modelo Relacional


Para mapearmos o modelo ER para o modelo Relacional deve-se fazer o seguinte:
Para cada entidade no modelo ER criada um tabela T1 que inclua todos os atributos
de E. Para cada atributo composto so inseridos apenas os atributos simples de cada um.
Um dos atributos chaves de E deve ser escolhido como chave primaria de T1.
Para cada relacionamento regular com cardinalidade 1:1 entre entidades E1 e E2 , que
geraram as tabelas T1 e T2 respectivamente, devemos escolher a chave primria de uma das
relaes e inserir como chave estrangeira na outra. interessante que a chave do lado com
participao parcial seja inserida como chave estrangeira no lado que tem participao total;
Para cada relacionamento regular com cardinalidade 1:N, entre E1 e E1 que geraram T1
e T2, deve-se inserir a chave primria de T1 como chave estrangeira em T2;

44

Para cada atributo multivalorado A1, cria-se uma tabela T1, contendo o atributo
multivalorado A1, e contendo tambm o atributo chave C da tabela que representa a
entidade ou relacionamento que contm A1. Se A1 for composto ento T1 dever conter
todos os atributos de A1.

De acordo com as instrues de mapeamento do modelo ER para o modelo Relacional e


aps as verificaes de dependncia funcional e modificaes necessrias para realizar a
normalizao temos as seguintes tabelas:

COLABORADOR (USP, nome, curso, data_ingresso, senha, tipo_usuario, laboratrio,


email)

ENSAIO (ID_ensaio, data_inicial, data_final, assunto, descrio, metodo, file,


responsavel)

METODO (data, titulo, descrio, file)

LABORATRIO (CNPJ, nome, responsavel_geral)

EQUIPAMENTOS

(numero_serie,

ID_ensaio,

CNPJ_laboratorio,

tipo_basico,

descrio, proprietrio, data_entrada, data_saida, observaes, valor)

TIPO_EQUIPAMENTO (nome, descrio, data_cadastro)

3.3.3. Normalizao e Dependncias Funcionais


Para eliminarmos os esquemas de relaes no satisfatrios utilizamos as regras de
normalizao. No caso da base de dados em questo percebemos que o atributo
equipamento era multivalorado e composto.
Para resolver o problema, primeiro pelo fato de ser multivalorado e estar presente nas
entidades LABORATRIO e ENSAIO, criamos uma tabela EQUIPAMENTOS que
contm as chaves primrias de ambas as entidades que so: CNPJ_laboratorio e ID_ensaio.
Como o atributo equipamentos era composto, seus atributos foram adicionados a tabela
EQUIPAMENTOS. Detalhe para o atributo composto tipo_equipamento, que era uma

45

atributo de equipamento, foi criada uma outra tabela chamada TIPO_EQUIPAMENTO


contendo seus atributos e ainda foi acrescentado na tabela EQUIPAMENTOS mais um
atributo chamado tipo_basico que faz referncia ao atributo nome da tabela
TIPO_EQUIPAMENTO.
Aps a normalizao o modelo ER ficaria da seguinte forma (Fig22):

Figura 22 - MER aps normalizao

3.3.4. Comandos SQL para Criao das Tabelas


Para criar as tabelas do banco de dados em questo, segue abaixo a lista de comandos a
serem utilizados em SQL.
Comando para criar a tabela COLABORADOR com seus respectivos atributos:

CREATE TABLE COLABORADOR (


USP

INTEGER,

nome

CHAR (30),

data_ingresso

DATE,

senha

VARCHAR

NOT NULL,

46

tipo_usuario

CHAR(10)

laboratrio

VARCHAR,

email

CHAR(30),

NOT NULL,

PRIMARY KEY (USP)


)
Se quisermos que um atributo incremente seu valor automaticamente para cada novo
registro devemos utilizar o comando AUTO_INCREMENT.
As outras tabelas seguem a mesma lgico, por isso o cdigo ser omitido.

47

4. RESULTADOS
Aps todo desenvolvimento terico para criao da base de dados, foi desenvolvido um
prottipo para o sistema.
Este prottipo tem como objetivo mostrar como ser a navegao e quais as consultas,
inseres, atualizaes e remoes, ou seja, quais as operaes sero realizadas no banco de dados.
Aqui sero apresentados os documentos criados, para em seguida serem mostradas as
operaes em cima da base de dados para os casos escolhidos.

4.1. ATRIBUIES AO USURIO


A pgina inicial da ferramenta onde o usurio realiza sua autenticao (Fig.23).

Figura 23 - Pgina inicial do sistema

Depois de entrar com informaes pessoais de senha e nome de usurio, que por sugesto
ser o numero USP, o menu superior passar a ter seus links liberados. Antes disso, qualquer
clique na parte superior no surtir nenhum efeito na aplicao [11].

48

As operaes realizadas na base de dados usando lgebra relacional so:

Consulta1 =

senha ( USP = usuario (COLABORADOR))

Este comando retorna o valor da senha que est cadastrada na base de dados para o numero
de usurio inserido no campo usurio. De posse da senha cadastra, compara-se o valor da senha
digitada pelo usurio no momento do login com a senha que est cadastrada na base de dados.

O equivalente a esses comandos utilizando-se SQL :

SELECT senha
FROM COLABORADOR
WHERE USP = usurio;

Logo aps o processo de reconhecer o usurio, o sistema entra na pagina inicial de um


usurio comum (Fig24). Nessa janela o usurio pode editar algumas informaes bsicas sobre
o seu perfil, e ao clicar no boto Salvar, carregar automaticamente as informaes no banco
de dados [11].

Figura 24 - Pgina inicial do usurio

49

Aps o usurio clicar no boto salvar as operaes realizadas so:

UPDATE COLABORADOR
SET email = Email, curso = Curso, senha = Senha
WHERE USP = Usurio ;

O comando acima atualiza os dados para o usurio que est logado no sistema,
considerando que Email, Curso e Senha contm os valores inseridos pelo usurio.
Para se criar um novo ensaio, o formulrio padro, que possui todos os atributos necessrios
para a entrada de um novo experimento na base de dados, utilizado.
Preocupando-se com a integridade dos dados, os campos mtodos, equipamentos e
laboratrios so preenchidos aps uma busca da base de dados. Com isto o usurio poder
escolher somente mtodos cadastrados no sistema. O mesmo ocorre para equipamentos e
laboratrio.
As consultas para preencher os campos mtodos, equipamentos e laboratrios presentes no
formulrio da Fig.25 so listadas abaixo.

Em lgebra relacional:

Consulta2 =

titulo (METODO)

Consulta3 =

descricao (EQUIPAMENTOS)

Consulta4 =

nome (LABORATORIO)

Em SQL:

SELECT titulo
FROM METODO
Os comandos so os mesmos para equipamentos e laboratrio, segue o modelo e por isso
sero omitidos.

50

Figura 25 - Cadastro de ensaio

No campo arquivos relacionados ser guardado na base de dados o caminho escolhido pelo
usurio. Por isso existe na tabela ENSAIO um atributo chamado file, que guardar o caminho
especificado.

Figura 26 - Consultar ensaio

51

Para os filtros da Fig.26, dever ser controlado via cdigo qual o tipo de consulta a ser realizado
pelo banco de dados. Para cada combinao de campos dever ser utilizada uma combinao de
comandos em SQL. Segue abaixo um exemplo, considerando que o usurio preencheu todos os
campos. Para os outros casos basta eliminar dos comando SQL a parte correspondente que no foi
preenchida pelo usurio no formulrio.
Os comandos so os seguintes, considerando que o resultado seja nico, ou seja, a busca
retornar somente um ensaio:

SELECT assunto, metodo, file, descrio, ID_ensaio


FROM ENSAIO
WHERE data_incial = Data Inicial AND data_final = Data Final AND responsvel = #USP
do Autor AND ID_ensaio = Cdigo do Ensaio;

De posse do ID_ensaio que o cdigo do ensaio, pode-se realizar uma consulta na tabela
EQUIPAMENTOS e verificar quais equipamentos esto sendo utilizados para o ensaio com o
ID_ensaio dado. A consulta seria da seguinte forma:

SELECT descrio
FROM EQUIPAMENTOS
WHERE ID_ensaio = ID_ensaio;

Note que o ID_ensaio do lado direito da igualdade veio da consulta anterior. Com isso temos
todas as informaes que sero exibidas ao usurio aps a consulta.

4.2. Atribuies do Gerente


Primeiramente devemos frisar que todos os gerentes herdam naturalmente as caractersticas de
usurios comuns, alm de ganhar algumas funes extras.
A principal funo a de gerenciamento de usurios, equipamentos e mtodos. No menu
superior chamado Cadastro, o gerente encontra a opo de adicionar um novo colaborador ao
laboratrio. Clicando em Novo Usurio, ele levado para a pgina de cadastros. Essa pgina possui
o mesmo formato da pgina inicial dos usurios (Fig.24), porm no existem campos
impossibilitados para edio.

52

Alm disso, ao clicar no boto cadastrar, um novo perfil de acesso criado no sistema e no
apenas edita-se um antigo, como ocorria no caso anterior.

Para a insero de um novo usurio na base de dados utiliza-se os seguintes comando SQL,
utilizando os dados da Fig27:

INSERT INTO COLABORADOR (USP, nome, curso, data_ingresso, senha, tipo_usuario,


laboratrio, email)
VALUES (4908844, Coriolano Neto, Eng. Computao, data do dia, senha, Gerente,
Laboratrio A, coriolano@gmail.com);

Figura 27 - Cadastro de usurio

Como as outras operaes so basicamente iguais ao cadastro de usurios os comandos SQL


sero omitidos.

53

4.3. DIFICULDADES E LIMITAES


Durante o desenvolvimento foram encontradas dificuldades na parte de levantamento de
requisitos devido ao fato de que cada laboratrio possui mtodos e prticas diferentes, o que
dificultou a criao de um sistema para ser utilizado em qualquer laboratrio.
Outra dificuldade foi o tempo demandado para se estudar e entender os requisitos exigidos
pela norma ISO/IEC 170254 para garantir a qualidade do Laboratrio de Instrumentao e
Microeletrnica e aplicar os requisitos exigidos pela mesma no desenvolvimento do sistema.
A parte da criao da base de dados sofre algumas limitaes pelo fato de depender da outra
parte do projeto. Alteraes futuras na base de dados podero ser feitas para adequar mais
precisamente as necessidades do laboratrio em questo, mas deve-se tomar os devidos
cuidados para no ser preciso alterar a parte fsica da base de dados, pois seriam mudanas bem
mais complexas.

54

5. CONCLUSO
Pode-se concluir que a utilizao de um sistema para as atividades de um laboratrios de ensaio
ou calibrao fundamental para a implementao dos sistemas de gesto da qualidade, previstos
pela norma ISO/IEC 17025.
As ferramentas informatizadas tem sido capaz de manter todas as exigncias encontradas na
norma e maximizar os resultados. Contudo, para se desenvolver um sistema para tal fim, o tempo
gasto e os recursos desprendidos tem sido um fator negativo, pois quanto mais complexos maior o
tempo para se recuperar o investimento.
O trabalho realizado obteve sucesso em planejar e projetar um sistema para o controle da
qualidade dos ensaios e calibraes realizados pelo Laboratrio de Instrumentao e
Microeletrnica, pois atende aos requisitos da norma para controle de documentos e mantm a
integridade dos dados e resultados obtidos em ensaios e calibraes. Porm, necessita ser
implementado, adicionando mais recursos e funcionalidades especificas para o laboratrio em
questo. Adequando s necessidades do mesmo.

55

6. BIBLIOGRAFIA
[1] CARVALHO, Alexandre Dias de ABNT NBR ISSO/IEC 17025:2005. Chefe da equipe
de avaliao de laboratrios de ensaios. adcarvalho@inmetro.gov.br
[2] BICHO, Galdino Guttmann e VALLE, Benjamin. Guia 25 - A ISO dos Laboratrios.
Revista Banas Qualidade. So Paulo, n 85, junho/99
[3] Dias Homepage website http://live.gnome.org/Dia
[4] MySQL website http://www.mysqlbrasil.com.br/
[5] MARCON, Felipe LIMS Para Atendimento da Norma ISO/IEC 17025
[6] Sociedade Brasileira de Metrologia website - http://www.metrologia.org.br
[7] UNIMAR, Universidade de Marlia Apostila Banco de Dados.
[8] Espao Info website http://www.espacoinfo.net
[9] CIFERRI, C. D. de Aguiar. Disciplina Banco de Dados disponvel na internet pelo site
http://coteia.icmc.usp.br/mostra.php?ident=348
[10] CODD, Edgar Frank. Relational Model of Data for Large Shared Data Banks. Revista
AMC. Vol 13, No 6.
[11] SILVA NETO, Coriolano Martins da Projeto de Sistema web para Controle de Ensaios
Laboratoriais em Conformidade com a Norma ISO/IEC 17025.

56

Вам также может понравиться