quinta-feira, 20 de outubro de 2011

Conceitos gerais sobre bases de dados

Noções básicas

Um sistema de informação consiste num conjunto de unidades interligadas com um objetivo comum, vocacionado para receber, armazenar, processar e apresentar a informação onde esta é necessária e na forma pretendida pelo utilizador final. Essa informação é armazenada recorrendo-se a uma estrutura de base de dados. A gestão e o processamento dessa informação é efetuada mediante um sistema de gestão de base de dados (SGBD), uma estrutura de controle centralizada cuja principal ação é tornar transparente aos programas de aplicação a informação manipulada.

Componentes de um sistema de informação

     * Programas de aplicação;
     * SGBD;
     * Base de dados.
Esquema de um sistema de informação

A informação constitui o conteúdo da base de dados. Para que possa ser armazenada e gerida, essa informação necessita de uma estrutura. Essa estrutura é criada e mantida pelo software do sistema de gestão de base de dados (SGBD).

O que é um sistema de gestão de bases de dados?

Um SGBD (do Inglês DBMS – database management system) é uma ferramenta construída para gerir a informação que se encontra armazenada numa base de dados.

Um SGBD ajuda a adicionar nova informação à medida que fica disponível, a atualizar a informação sempre que necessário, a catalogar rapidamente a informação, a realizar cálculos com os dados e a imprimir a informação numa grande variedade de formatos.

Mais importante que tudo isto, permite-lhe encontrar exatamente a informação pretendida.

Objetivos dos sistemas de gestão de bases dados

     - Redução da redundância e eliminação da inconsistência: o conceito de redundância é muito simples. Existe redundância quando a informação a respeito de um determinado fato existe em mais do que um ponto numa base de dados.

Em bases de dados de grande dimensão, a redundância excessiva pode representar um considerável desperdício de espaço de armazenamento de informação nos discos. Quando não controlada, torna-se inconsistente.

A inconsistência numa base de dados existe quando contém informações divergentes sobre o mesmo fato.

     - Flexibilidade no acesso à informação: num sistema de base de dados, os utilizadores podem executar consultas à base de dados, com base nos critérios definidos pelo próprio utilizador. Esta característica torna muito mais flexível o acesso à informação.

     - Integridade e Segurança: o administrador da base de dados pode definir privilégios de acesso aos vários utilizadores e implementar mecanismos automáticos que implementem critérios de integridade da base de dados.

     - Independência dos dados face às aplicações: os sistemas de gestão de base de dados funcionam como intermediários entre as aplicações e as estruturas de informação criadas nas bases de dados.

Três níveis de arquitetura de um sistema de gestão de bases de dados

     - Nível físico;
     - Nível conceitual;
     - Nível de visualização.

Nível físico: corresponde à forma como os dados da base de dados são armazenados e organizados internamente no sistema informacional.

Nível conceitual: corresponde à forma como os dados são estruturados ou organizados ao nível da sua concepção lógica, ou seja, o número e o tipo de atributos em que a informação é estruturada, as relações entre os dados, etc.

Nível de visualização: corresponde à forma como os dados são apresentados aos utilizadores finais, através de interfaces gráficas proporcionadas por programas de aplicação ou módulos do SGBD que opera com a base de dados. Este é o nível de abstração mais elevado da arquitetura da base de dados, pois neste caso, os utilizadores apenas tem que saber operar com as interfaces que permitem a visualização dos dados e não tem que conhecer nem que se preocupar com a forma como os dados são tratados fisicamente nem como foram organizados conceitualmente.

Na noção de informação estão presentes três conceitos importantes:
     - Entidade;
     - Atributo;
     - Domínio.

Entidade: é qualquer objeto ou conceito, com interesse em causa e sobre o qual é necessário guardar informação. Exemplo: Aluno, Professor, Disciplina, Exame.

Atributo: consiste nas características de uma entidade. Exemplo: na entidade aluno, os seus atributos poderão ser número, nome, idade, endereço, etc.

Assim, as entidades representam coisas, seres, conceitos ou acontecimentos do mundo real. Esses elementos são portadores de características ou atributos. Esses atributos representam informação sobre os elementos dessa entidade.

A cada atributo definido para uma determinada entidade, corresponde um valor para cada um dos elementos que, em determinado momento façam parte dessa entidade. Ao conjunto de todos os possíveis valores de um atributo dá-se o nome de domínio.

O domínio de um atributo é o conjunto de todos os valores que esse atributo pode assumir.

Exemplo:

Para cada entidade existem dois tipos de atributos associados:
     - atributo identificador, denominado chave primária. Identifica unicamente cada ocorrência da entidade. Exemplo: número do aluno;
     - atributos Descritores, atributos que não pertencem à chave primária. Não identificam mas descrevem cada ocorrência da entidade. Exemplo: nome, endereço, localidade etc.

A primeira fase da modelagem da informação consiste no levantamento das entidades e associações existentes entre elas.

SGBDs relacionais

Um SGBDR (sistema de gestão de bases de dados relacional) é desenhado especificamente para gerir informação que está organizada em uma ou mais tabelas, consoante ao assunto a que dizem respeito.

O termo relacional refere-se ao modo como um SGBD espera que estejam organizados os dados que está gerindo. Uma relação, tal como é denominada em matemática, é simplesmente uma tabela de informação que está organizada ordenadamente em linhas e colunas, ou seja, num formato tabular.

Listas de preços, formulários de encomendas, listas telefónicas, contas dos clientes de um banco e horários de voos são apenas alguns exemplos de informação organizada num formato tabular de modo que os utilizadores possam rapidamente extrair a informação necessária.

A obrigatoriedade dos dados estarem organizados num formato tabular pode parecer uma restrição, caso a informação que pretende gerir não esteja originalmente nesse formato. Mas quase todo tipo de informação pode ser organizada de modo a ser armazenada em uma ou mais tabelas.

As tabelas como elementos fundamentais do modelo relacional

Os elementos fundamentais de uma base de dados elaborada segundo o modelo relacional são as tabelas – em que a informação é estruturada em campos e registros.

Cada tabela é designada por um nome único dentro de uma base de dados e corresponde a uma classe de entidades ou a um relacionamento entre entidades.

Uma tabela é definida por um conjunto de colunas, correspondentes aos campos ou atributos de uma entidade ou classes de entidades.

Cada coluna ou campo da tabela tem um nome único dentro da tabela; mas podem existir campos com o mesmo nome em tabelas distintas.

As linhas de uma tabela correspondem aos registros ou ocorrências de entidades concretas.

Para que uma tabela esteja corretamente constituída no modelo relacional, deve respeitar as seguintes regras:
     1- Não pode haver duas colunas (campos ou atributos) com o mesmo nome; cada coluna é identificada de modo único;
     2- Não deve haver campos vazios;
     3- O domínio de todos os atributos deve ser constituído por valores atómicos; não é permitido incluir mais do que um valor em cada campo de cada registo;
     4- Cada linha da tabela representa uma entidade ou ocorrência única; por isso não pode haver registros duplicados.

Chaves primárias e externas

Para introduzir as bases do modelo relacional é muito importante o conceito de chave: um atributo ou conjunto de atributos designa-se por chave quando nos permite identificar de modo único cada entidade concreta ou registro da tabela.

Conceito de chave

Uma chave é um atributo ou um conjunto de atributos que permite identificar de modo único os registros (entidades ou ocorrências) de uma tabela. Todas as chaves possíveis de uma tabela ou entidade – simples ou composta – são designadas chaves candidatas. Entre as chaves candidatas existentes numa tabela, uma delas será a mais indicada ou escolhida para desempenhar o papel de chave – essa será designada por chave primária. Uma chave primária é, por conseguinte, um atributo ou conjunto de atributos que assume a função de identificar de modo único as entidades ou registros de uma tabela.

Uma chave primária deve respeitar as seguintes características ou regras:

     - ser única – os atributos que desempenham o papel de chave primária, por definição, devem ter um valor único para cada entidade concreta;
     - não nula – nenhum dos atributos que formam uma chave primária poderá conter um valor nulo em nenhum registro;
     - não redundante – no caso de uma chave primária ser composta, não devem ser incluídos mais atributos do que os mínimos necessários para identificar os registros de modo único; um atributo de uma chave composta não poderá ser retirado dessa chave, pois se o for, o atributo ou os atributos restantes deixam de ser unívocos.

Relacionamentos e chaves externas

A característica essencial do modelo relacional é que permite estabelecer relacionamentos entre entidades ou tabelas de entidades. Esses relacionamentos são estabelecidos precisamente através dos atributos ou campos que desempenham o papel de chaves primárias nas respectivas tabelas. A tabela de relacionamento deverá incluir, entre os seus campos, as chaves das tabelas das entidades que entram no relacionamento. Quando a chave de uma tabela é incluída como campo numa outra tabela, então, do ponto de vista desta última tabela, diz-se que se trata de chave externa. Portanto, uma chave externa é um atributo que é chave primária de uma tabela e que vai aparecer como atributo de uma outra tabela.

É fundamentalmente através da inclusão de atributos que são chaves primárias (nas suas tabelas de origem ) em outras tabelas (onde são chaves externas) que são estabelecidos os relacionamentos entre as diferentes entidades de uma base de dados relacional.

0 comentários:

Postar um comentário