Bases de Dados

Comunicações Digitais e Internet

Sérgio Nunes
Ciências da Comunicação, 2010/11 Universidade do Porto

Introdução
Os dados representam quantidades ou qualidades em bruto, sem qualquer contexto associado.
Exemplos: números, caracteres, textos, imagens.

O termo informação é usado para designar colecções de dados organizadas de tal forma que o valor do conjunto é superior ao valor dos dados isolados.
Exemplos: livro sobre geografia, álbum fotográfico.

Uma base de dados corresponde a um conjunto organizado de dados e informação relacionada.

Dados e Informação
INFORMAÇÃO
+ contexto + estrutura
altura média de uma criança de 2 anos é 80 cm

DADOS
+ unidades + escalas

80 cm 2 anos

SINAIS

80 2

Sistema de Gestão de Bases de Dados
Um Sistema de Gestão de Bases de Dados (SGBD) é uma aplicação informática desenhada para criar, manter e usar bases de dados. Um SGBD oferece funcionalidades como:
▶ ▶ ▶ ▶ ▶ ▶

Definição do modelo de dados. Inserção e alteração de dados. Controlo de acessos por múltiplos utilizadores. Produção automática de relatórios. Consulta de dados usando filtros. Manutenção da informação de forma persistente.

Exemplos de Bases de Dados
As bases de dados são uma das mais importantes aplicações informáticas ao nível empresarial. Um dos primeiros usos dos computadores foi a implementação de bases de dados simples — Censos EUA, 1890 (cartões perfurados).
▶ ▶ ▶ ▶ ▶

Telemóvel: nomes, contactos, agenda, mensagens, etc. Faculdade: matrículas, inscrições, turmas, classificações, etc. Órgão de Comunicação: textos, fontes, autores, etc. Biblioteca: livros, autores, reservas, etc. Televisão: canais, frequências, favoritos, etc.

Modelo Plano
As primeiras bases de dados eram estruturadas segundo um modelo plano — cada registo é armazenado numa linha de um ficheiro. Os dados são organizados numa matriz bidimensional (uma tabela). Em cada linha estão valores relacionados, pertencentes ao mesmo registo. Em cada coluna estão valores semelhantes, do mesmo tipo.
Nome Filipa Rui Pedro Rita António Ana Morada Cedofeita, 12 Boavista, 100 Calle A-100 Rue 34 Calle B Cedofeita, 12 Código Postal 4100 4200 AZ33 948-121 AZ33 4000 Localidade Porto Porto Madrid Paris Madrid Porto País Portugal Portgal Espanha França Espaha Portugal

Problemas do Modelo Plano
Nome Filipa Rui Pedro Rita António Ana Morada Cedofeita, 12 Boavista, 100 Calle A-100 Rue 34 Calle B Cedofeita, 12 Código Postal 4100 4200 AZ33 948-121 AZ33 4000 Localidade Porto Porto Madrid Paris Madrid Porto País Portugal Portgal Espanha França Espaha Portugal

Repetição de informação: A mesma informação tem de ser introduzida várias vezes na base de dados. A introdução de grandes quantidades de informação torna-se repetitiva e provoca desperdício de espaço de armazenamento. Erros e inconsistências: A existência de informação repetida aumenta o risco de erros ou inconsistências nos dados. Alterações difíceis: A existência de informação repetida torna mais difícil a alteração de dados.

Modelo Relacional
O modelo relacional foi proposto por Ted Codd em 1969 e foi o paradigma dominante durante o século 21. A informação é armazenada em entidades e relações.
RELAÇÕES
Pessoa Nome Morada País Nome Localidade Código Postal Nome

ENTIDADES

Modelo Relacional — Exemplo

Nome Filipa Rui Pedro Rita António Ana

Morada Cedofeita, 12 Boavista, 100 Calle A-100 Rue 34 Calle B Cedofeita, 12

Código Postal 4100 4200 AZ33 948-121

Localidade Porto Porto Madrid Paris

País Portugal Espanha França

Não existe repetição de informação — cada unidade de informação ocorre apenas uma vez na base de dados. A alteração dos dados é facilitada — apenas é necessário alterar num sítio.

Diagrama Entidade-Relação
Os diagramas Entidade-Relação permitem representar a estrutura de uma base de dados relacional. Conceitos base: Entidades e Relações. Entidades (nomes): representam conceitos reconhecíveis sobre os quais será armazenada informação na base de dados.
Exemplos: pessoa, localidade, música, computador.

Relações (verbos): representam associações entre entidades.
Exemplos: tem, supervisiona, pertence.

As entidades e as relações podem ter atributos. Cada entidade tem obrigatoriamente um atributo que identifica de forma única um “elemento” dessa entidade — chave primária.

Diagrama ER — Notação Visual

Entidade

Atributo

Relação

Chave Primária

Diagrama ER — Exemplos (1)

Escritor

escreve

Livro

Duas entidades relacionadas

Nome Escritor ID Chave primária Entidade com três atributos Nacionalidade

Diagrama ER — Exemplos (2)
Actor País Realizador

nasceu

nasceu

A mesma entidade pode participar em várias relações

pertence

Pessoa
dirige

Departamento

Podem existir várias relações entre as mesmas entidades

Diagrama E-R — Construção

1) Identificar entidades 2) Identificar atributos das entidades 3) Identificar relações (e possíveis atributos) 4) Identificar a cardinalidade das relações 5) Desenhar diagrama entidade-relação

Cardinalidade das Relações

A cardinalidade de uma relação representa o número de entidades que pode estar associada com uma outra entidade. A cardinalidade é indicada usando um 1 ou um N (vários) em cada extremidade da relação. Para determinar a cardinalidade de uma relação é necessário fazer duas leituras, uma em cada sentido da relação, e partindo sempre do singular.

Cardinalidade das Relações – Exemplos
Escritor

N
escreve

N

Livro

Um escritor pode escrever N livros. Um livro pode ser escrito por N escritores.

N
Pessoa
Mora

1
Localidade

Uma pessoa mora apenas em 1 localidade. Numa localidade podem morar N pessoas.

Curso

1
director

1

Professor

Um curso tem como director 1 professor. Um professor pode ser director de 1 curso.

Diagrama E-R — Exemplo (1)
1) Identificar entidades

Pessoa

Localidade

País

Diagrama E-R — Exemplo (2)

2) Identificar atributos das entidades
Código Postal Nome Pessoa Morada Localidade Nome País

Nome

ID

ID

ID

Diagrama E-R — Exemplo (3)
3) Identificar relações
Código Postal

Morada

Nome

Nome

Nome

Pessoa

Mora

Localidade

Pertence

País

ID

ID

ID

Diagrama E-R — Exemplo (4)
4) Identificar a cardinalidade das relações. 5) Desenhar diagrama entidade-relação.
Código Postal

Morada

Nome

Nome

Nome

N
Pessoa
Mora

1
Localidade

N
Pertence

1
País

ID

ID

ID

Exercícios

Exercício — Receitas

Imagine uma base de dados para guardar receitas. Deverá armazenar informação sobre a receita, o tipo de receita e os ingredientes associados. Desenhe o diagrama entidade-relação para este caso.

Exercício — Futebol

Considere o contexto de um campeonato de futebol. Desenhe um diagrama entidade-relação para uma base de dados que guarde informação sobre as equipas, os jogadores, os jogos e os árbitros de cada jogo.

Exercício — Stand Automóvel

Elabore um diagrama entidade-relação para uma base de dados de um stand automóvel, que armazene informação sobre os carros, incluindo a cor, o modelo, a marca e cada um dos fornecedores.

Exercício — Filmes

Construa um diagrama entidade-relação para uma base de dados sobre filmes. Considere informação sobre o filme, o género do filme e os actores.

Exercício — Agenda

Elabore um diagrama entidade-relação para uma agenda pessoal. Considere informação sobre o contactos (nome, morada, localidade, país, etc) e eventos (data, assunto, tipo).

Exercício — Biblioteca

Desenhe o diagrama entidade-relação para uma base de dados de uma biblioteca. Pretende-se armazenar informação sobre os utilizadores da biblioteca, os livros, os autores, os géneros literários e as requisições efectuadas.

Exercício — Músicas

Construa um diagrama entidade-relação para uma base de dados onde seja armazenada informação sobre uma colecção de músicas. Considere a seguinte informação: música, género musical, álbum e autor(es).

Exercício — Empresa

Construa o diagrama entidade-relação que permita guardar informação sobre uma empresa. Em particular sobre os colaboradores, os cargos, os departamentos e os projectos. De notar que cada departamento tem um director (também um colaborador).

Exercício — Faculdade

Desenhe um diagrama entidade-relação que permita armazenar informação sobre uma escola. Informação a guardar: professores, disciplinas, departamentos, cursos, alunos e turmas.

Exercício — Clínica

Defina, para o contexto de uma clínica médica, um diagrama entidade-relação que inclua a seguinte informação: médicos, especialidades, pacientes, consultas, receitas e medicamentos.

Modelo Relacional

Passagem ao Modelo Relacional

Antes de implementar a base de dados num SGBD é necessário especificar as tabelas do modelo relacional. É necessário:
▶ ▶

Mapear entidades para tabelas. Mapear as relações para tabelas ou atributos.

Mapear Entidades (1)

PESSOA
Nome Pessoa Morada ID 1 2 3 4 5 6 Nome Filipa Rui Pedro Rita Filipa Ana Morada Boavista, nº 31 Rua Dr. Roberto Frias, s/n Cedofeita, 23-A Foz, nº1 Cedofeita, 23-A Rua de Cima, AA2

ID

Mapear Entidades (2)

LOCALIDADE
Código Postal Localidade Nome ID 1 2 3 Nome Porto Porto Maia Código Postal 4000-200 4000-220 5000-100

ID

Mapear Entidades (3)

PAÍS
País Nome ID 1 2 3 Nome Portugal Espanha França

ID

Mapear Relações
As relações são mapeadas através de atributos especiais, designados chaves externas. Relações 1-1 A chave externa pode ser definida em qualquer das entidades participantes da relação. Relações 1-N A chave externa é definida na entidade participante do lado N (muitos). Relações N-N É necessário decompor a relação N-N numa nova entidade com uma chave primária composta por duas chaves externas, cada uma estabelecendo uma relação com as entidades participantes na relação original.

Relações 1-1

Professor

1

Director

1

Curso

PROFESSOR
ID 1 2 3 Nome António Sousa José Fernandes Rui Vicente

CURSO
ID 1 2 3 Curso Comunicação Engenharia Design Director 2 1 3

Relações 1-N

N
Pessoa
Mora

1
Localidade

PESSOA
ID 1 2 3 Nome José Silva Pedro Sousa Marco Silva Localidade 1 1 2

LOCALIDADE
ID 1 2 Nome Porto Vila Nova de Gaia

Relações N-N

N
Aluno
Inscrito

N
Disciplina

ALUNO
ID 1 2 3 Nome Rui Miguel Pedro Silva Luís Ribeiro

INSCRIÇÃO
Aluno 1 1 2 3 Disciplina 1 2 2 1

DISCIPLINA
ID 1 2 Nome CDI TM

Modelo Relacional – Notação
chave primária chave externa

pessoa (#id, nome, morada, #localidade → localidade)

nome da tabela

atributos

pessoa (#id, nome, morada, #localidade → localidade) localidade (#id, nome, #pais → pais) pais (#id, nome)

Exercícios — Implementação

Para cada exercício realizado antes, e com base nos diagramas E-R produzidos, identifique as tabelas e atributos necessários para o modelo relacional.

Referências

SQL – Structured Query Language Luís Manuel Dias Damas FCA, 2005

Sign up to vote on this title
UsefulNot useful