Trabalho realizado por: Diogo Henriques DSAS Sistemas de Informação e Gestão CET - DSAS Introdução O meu trabalho trata o tópico “bases de dados”, no qual vou referir: em que consistem; os tipos e modelos existentes; onde se podem implementar; para que servem e, por fim, a sua relação com os Sistemas de Informação e Gestão. As bases de dados São estruturas regulares que guardam registos, possibilitando o acesso aos seus dados de uma forma rápida e automática, como por exemplo, a moradas e contactos telefónicos de uma agenda electrónica. Uma base de dados é normalmente mantida e acedida por softwares conhecidos por Sistemas Gestores de Bases de Dados (SGBD). O seu principal objectivo é retirar da aplicação cliente a responsabilidade de gerir o acesso, manipulação e organização dos dados. Disponibiliza uma interface para que os seus clientes possam incluir, remover, editar ou consultar dados. Normalmente agrupam dados relacionados que são utilizados para um mesmo fim. O modelo de dados mais adoptado hoje em dia é o modelo relacional, onde as estruturas têm a forma de tabelas, compostas por linhas e colunas. Através da sua constituição por interfaces de programação de aplicações (API) ou drivers do SGBD, que são executados comandos na linguagem SQL. Tipos de bases de dados Os dois tipos de bases de dados que existem são analíticas e operacionais. As bases de dados analíticas são fundamentalmente estáticas, pois armazenam dados de arquivo histórico. Por exemplo, uma empresa poderia armazenar registos de vendas durante os últimos dez anos numa base de dados analítica e poderia usar essa base de dados para analisar estratégias de marketing. Na internet, podemos encontrar 1 Sistemas de Informação e Gestão CET - DSAS bases de dados na forma de catálogos de inventário. Um catálogo de inventário de uma base de dados analítica normalmente mostra uma informação descritiva sobre todos os produtos disponíveis no inventário. As páginas Web são geradas dinamicamente através de questões colocadas a base de dados sobre a lista de produtos disponíveis no inventário. A página gerada dinamicamente exibirá a informação sobre cada artigo (título, autor, ISBN, etc) que é armazenada na base de dados. Por outro lado, as bases de dados operacionais são usadas para administrar dados mais dinâmicos. Estes tipos de base de dados permitem-nos mais do que ver dados arquivados, permitem-nos modificá-los (adicionar, editar ou apagar dados). Normalmente são usadas para localizar informação em tempo real. Por exemplo, uma empresa poderia usar este tipo de base de dados para saber a quantidade armazenada de um conjunto de produtos. Modelos de bases de dados As bases de dados são diferenciadas de acordo com a sua função e pelo modo como moldam os dados. Os modelos de dados são abstracções, a maior parte das vezes não passam de algoritmos matemáticos e conceitos. Apesar de não podermos tocar num modelo de dados, eles são muito úteis. Os três tipos de modelos que existem são: hierárquico, em rede e relacional. O modelo mais moderno, utilizado e eficiente hoje em dia é o modelo relacional que foi criado por E.F. Codd, na tentativa de melhorar os modelos já existentes. Este modelo é baseado em 12 regras. Neste modelo, há que notar que como ou onde os dados da tabela são armazenados não faz diferença, pois cada tabela pode ser identificada por um nome único e esse nome pode ser usado pela base de dados para encontrar a tabela. Como utilizador, só temos que saber o nome da tabela para a que possamos usar. Não é preciso preocuparmo-nos com as complexidades de como os dados são armazenados no disco rígido. Neste modelo são as operações que manipulam dados que têm a noção do mapa. Assim, por exemplo, se quisermos os dados de uma linha de uma tabela da base de 2 Sistemas de Informação e Gestão CET - DSAS dados, temos que comparar o valor armazenado dentro de uma coluna particular para aquela linha em função de alguns critérios de procura. Esta metodologia de acesso a dados tornam este modelo muito diferente e melhor que os outros modelos referidos, pois é um modelo muito mais simples de entender, sendo esta a razão principal do elevado uso que lhe é dado, para a criação de bases de dados, nos dias de hoje. Outra vantagem do sistema relacional é o fornecimento de ferramentas extremamente úteis para a administração de base de dados. As tabelas não só podem armazenar dados actuais mas também podem ser usados como meios para gerar meta dados (dados sobre as tabelas e os nomes dos campos que formam a estrutura da base de dados, direitos de acesso à base de dados integridade e validação de dados, regras, etc.). Os conceitos de chave são descritos por chave estrangeira, chave primária e candidata. A chave candidata é um subconjunto de atributos de uma relação que, em conjunto, identificam qualquer tupla (fila de tabela) e que não pode ser reduzido sem perder essa qualidade. A chave primária é uma chave seleccionada de entre as diversas chaves candidatas, para efectivamente identificar cada tupla. A chave estrangeira será um atributo, ou conjunto de atributos de uma relação que é chave primária numa outra relação. Relativamente a entidades, são o que representa uma classe de objectos sobre as quais se quer guardar informação, por exemplo, numa clínica, as entidades poderão ser: as especialidades, os médicos, os pacientes, os funcionários, etc. Entre entidades estabelecem-se relações de 1 para 1, 1 para muitos ou de muitos para muitos. Normalização das bases de dados A normalização é o processo de organização de dados numa base de dados. Este processo envolve a criação de tabelas e o estabelecimento de relações entre essas tabelas, de acordo com regras concebidas para proteger os dados e para tornar a base de dados mais flexível, através da eliminação da redundância e da dependência inconsistente. Deve-se prevenir os dados redundantes porque podem criar consequências, tais como: inconsistências, perda de informação, a actualização dos 3 Sistemas de Informação e Gestão CET - DSAS dados torna-se mais difícil, na alteração da estrutura da base de dados pode-se perder informação duplicada adicional, pode haver uma associação incorrecta de determinados campos, etc. Se for necessário alterar dados que existem em mais do que um local, esses dados têm de ser alterados exactamente do mesmo modo em todos os locais. Por exemplo, se ocorre uma alteração de morada de um cliente é muito mais fácil de implementar se esses dados estiverem armazenados numa única tabela e em mais nenhum local da base de dados. Apesar de ser intuitivo para um utilizador procurar o endereço de um determinado cliente numa única tabela, poderá não fazer sentido procurar, nessa tabela, o salário do funcionário que trabalha com esse cliente. O salário do funcionário está relacionado com ele mesmo, por isso a informação a ele correspondente tem de estar noutra tabela. As dependências inconsistentes podem dificultar o acesso aos dados, visto que o caminho para localizar os dados pode estar interrompido ou em falta daí haverem algumas regras para a normalização de bases de dados. Cada regra é chamada "fórmula normal". Se a primeira regra é respeitada, diz-se que a base de dados está na "primeira fórmula normal". Se as três primeiras regras são observadas, considera-se que a base de dados está na "terceira fórmula normal". Apesar de ser possível existirem outros níveis de normalização, considera-se que a terceira fórmula normal corresponde ao nível mais alto necessário para a maior parte das aplicações, assim como acontece com outras regras e especificações formais. Se decidir violar uma das três primeiras regras da normalização, certifique-se de que a sua aplicação antecipa quaisquer problemas que possam ocorrer, tais como a existência de dados redundantes e inconsistências. Conclusão As bases de dados estão relacionadas com os Sistemas de Informação e Gestão devido a estas serem um bem essencial para o mundo empresarial, pois é através das bases de dados que as empresas guardam informações sobre os seus clientes, produtos, stock, etc., e que podem partilhar entre outras filiais noutro ponto do mundo sem dificuldade, de forma rápida e eficaz. 4