3. Bases de Dados

1. Introdução

Vivemos num meio repleto de fontes de dados. Estamos em constante processo de aquisição, armazenamento e interpretação. No entanto, a nossa capacidade de lidar com tal quantidade de dados é limitada pelo que tendencialmente somos levados a seleccionar para memorização aqueles que são mais apelativos ou necessários delegando o resto em sistemas auxiliares de memória como agendas ou notas. Alguns conjuntos de dados são facilmente armazenados nestes suportes de informação simples, outros requerem sistemas mais elaborados como sistemas de base de dados. Estes sistemas permitem o armazenamento de dados de forma estruturada e sistemática e a sua utilização através de ferramentas para a consulta e análise essenciais para a correcta interpretação de informação. O conceito de base de dados foi desenvolvido essencialmente para nos permitir enfrentar o aumento no volume de dados garantindo a sua persistência e reduzindo a complexidade da sua análise.

2. Bases de Dados

Base de dados- "One or more large structured sets of persistent data, usually associated with software to update and query the data. A simple database might be a single file containing many records, each of which contains the same set of fields where each field is a certain fixed width. A database is one component of a database management system." Sistema de Gestão de Bases de Dados - "A suite of programs which typically manage large structured sets of persistent data, offering ad hoc query facilities to many users. They are widely used in business applications. A database management system (DBMS) can be an extremely complex set of software programs that controls the organisation, storage and retrieval of data (fields, records and files) in a database. It also controls the security and integrity of the database"

3. Esquema da Base de Dados

O Esquema da Base de Dados descreve as características, organização e relacionamento dos elementos utilizados na construção de uma Base de Dados. Existem diversos tipos de esquemas para descrever uma Base de Dados. De acordo com o esquema selecionado é utilizado um Sistema de Gestão de Base de Dados - SGBD que permite realizar todas as operações de manipulação de dados (inserção, eliminação, consulta, etc).

Alguns tipos de Esquemas:

Destes o esquema mais utilizado actualmente é o Esquema Relacional.

O Esquema Relacional inclui como elementos principais TABELAS, REGISTOS e CAMPOS.

4. Tabelas, Registos e Campos

Uma Base de Dados é composta por várias TABELAS. Cada tabela é composta por um conjunto organizado de REGISTOS. Por sua vez cada registo é composto por um conjunto de elementos denominados por CAMPOS que representam factos.

Tabela : Uma tabela é uma estrutura de dados normalmente associada a uma entidade (ex.: pacientes, internamentos, diagnósticos, procedimentos, etc.).

Registo: Cada registo é composto por um conjunto de campos onde são realmente armazenados os dados.

Campo: Um campo é a unidade mais pequena de armazenamento. (O campo Morada do registo sombreado tem o valor "Av. República, 3212").

Exemplo de uma tabela de doentes

5. Tipos de campos

Os campos de uma tabela podem ser de diferentes tipos consuante a natureza da informação que se pretende armazenar.
Os tipos de campos mais comuns são:

Algumas bases de dados permitem ainda armazenar dados nos seguintes formatos:

Exemplo de uma tabela de imagens raios-X

Nº Imagem Nº Doente Imagem Data da Imagem Hora da Imagem Técnico de Radiologia Imagem a Cores
1
45681 01.03.1998 10:00:02 António Joaquim Falso
2
45683 04.03.1998 18:43:11 Fernanda Freitas Verdadeiro
3
45684 09.03.1998 19:23:32 António Joaquim Verdadeiro

 

6. Chaves Primárias

Cada tabela deverá conter um campo cujo valor permite identificar de forma unívoca cada registo. A esse campo dá-se o nome de CAMPO CHAVE.

Na tabela de doentes

O campo nº Doente é o campo chave, cada doente tem um número individual.

7. Questões à Base de Dados I

 

Com a tabela de doentes posso perguntar por exemplo: Quais os dados dos doentes com idade superior a 20 anos ?

O SGBD responde com todos os registos que satisfazem a condição imposta :

 

8. Entidades e Relacionamentos

O Esquema da Base de Dados contém ainda, para além de um conjunto de tabelas, uma descrição da forma como cada tabela se relaciona com as outras.
As Relações e Dependências entre tabelas são representadas através da existência de campos comuns a mais do que uma tabela.

Entre a tabela "doentes" e "raios-x" existe um relacionamento que permite associar os exames efectuados aos doentes a quem foram efectuados:

Entre a tabela "doentes" e "internamentos" existe outro relacionamento que permite associar a informação de cada internamento ao doente respectivo:

Entre a tabela "Internamentos" e "Serviços" existe outro relacionamento que permite associar a informação do serviço onde o doente está internado:

9. Questões à Base de Dados II

 

Com base nos relacionamentos posso efectuar consultas mais complexas que envolvem várias tabelas:
Qual o doente que está internado na cama 2 do serviço 1?

Ou utilizar funções de agregação como médias, máx, min, etc.
Quantos raios x foram efectuados pelo técnico “António Joaquim” ?

Resp: 2.

 

10. Como definir um esquema...

Pretendo criar um esquema para uma base de dados relativa à medicação diária de doentes internados numa enfermaria.

FASE I

Identificação de Entidades: Doentes; Internamentos; Medicação

A partir do enunciado poder-se-á inferir quatro entidades principais, medicação diária, doentes, internamentos e enfermarias, para simplificar o esquema vamos desenhar uma base de dados apenas para uma enfermaria pelo que não é necessário definir uma tabela para guardar várias enfermarias.

FASE II : Para cada identidade temos de identificar os campos a incluir bem como o tipo de dados a guardar.

Doentes
Identificação – Campo Numérico – campo chave
Nome – Campo Alfanumérico
Data de Nascimento – Campo do tipo Data
Sexo – Tipo Numérico

Internamento
Nº internamento – Campo Numérico – campo chave
Cama – Campo Numérico
Data Entrada – Campo do tipo Data

Medicação
Id Medicação – Campo Alfanumérico – campo chave
Manhã – Campo Alfanumérico
Tarde – Campo Alfanumérico
Noite – Campo Alfanumérico

FASE III : Identificar os relacionamentos, neste exemplo pretendo relacionar os internamentos com os doentes e a medicação com os internamentos pelo que tenho que acrescentar os campos necessários a cada relacionamento.

Doentes
Identificação – Campo Numérico – campo chave
Nome – Campo Alfanumérico
Data de Nascimento – Campo do tipo Data
Sexo – Tipo Numérico

Internamento
Nº internamento – Campo Numérico – campo chave
Cama – Campo Numérico
Data Entrada – Campo do tipo Data
Nº Doente – Campo Numérico ( quero associar cada registo do Internamento a a um registo dos Doentes)

Medicação
Id Medicação – Campo Alfanumérico – campo chave
Manhã – Campo Alfanumérico
Tarde – Campo Alfanumérico
Noite – Campo Alfanumérico
Nº Internamento – Campo Numérico ( quero associar cada registo da Medicação a um registo dos Internamentos)

Resultado