Você está na página 1de 43

Bases de Dados

Comunicaes Digitais e Internet

Srgio Nunes
Cincias da Comunicao, 2010/11 Universidade do Porto

Introduo
Os dados representam quantidades ou qualidades em bruto, sem qualquer contexto associado.
Exemplos: nmeros, caracteres, textos, imagens.

O termo informao usado para designar coleces de dados organizadas de tal forma que o valor do conjunto superior ao valor dos dados isolados.
Exemplos: livro sobre geograa, lbum fotogrco.

Uma base de dados corresponde a um conjunto organizado de dados e informao relacionada.

Dados e Informao
INFORMAO
+ contexto + estrutura
altura mdia de uma criana de 2 anos 80 cm

DADOS
+ unidades + escalas

80 cm 2 anos

SINAIS

80 2

Sistema de Gesto de Bases de Dados


Um Sistema de Gesto de Bases de Dados (SGBD) uma aplicao informtica desenhada para criar, manter e usar bases de dados. Um SGBD oferece funcionalidades como:

Denio do modelo de dados. Insero e alterao de dados. Controlo de acessos por mltiplos utilizadores. Produo automtica de relatrios. Consulta de dados usando ltros. Manuteno da informao de forma persistente.

Exemplos de Bases de Dados


As bases de dados so uma das mais importantes aplicaes informticas ao nvel empresarial. Um dos primeiros usos dos computadores foi a implementao de bases de dados simples Censos EUA, 1890 (cartes perfurados).

Telemvel: nomes, contactos, agenda, mensagens, etc. Faculdade: matrculas, inscries, turmas, classicaes, etc. rgo de Comunicao: textos, fontes, autores, etc. Biblioteca: livros, autores, reservas, etc. Televiso: canais, frequncias, favoritos, etc.

Modelo Plano
As primeiras bases de dados eram estruturadas segundo um modelo plano cada registo armazenado numa linha de um cheiro. Os dados so organizados numa matriz bidimensional (uma tabela). Em cada linha esto valores relacionados, pertencentes ao mesmo registo. Em cada coluna esto valores semelhantes, do mesmo tipo.
Nome Filipa Rui Pedro Rita Antnio Ana Morada Cedofeita, 12 Boavista, 100 Calle A-100 Rue 34 Calle B Cedofeita, 12 Cdigo Postal 4100 4200 AZ33 948-121 AZ33 4000 Localidade Porto Porto Madrid Paris Madrid Porto Pas Portugal Portgal Espanha Frana Espaha Portugal

Problemas do Modelo Plano


Nome Filipa Rui Pedro Rita Antnio Ana Morada Cedofeita, 12 Boavista, 100 Calle A-100 Rue 34 Calle B Cedofeita, 12 Cdigo Postal 4100 4200 AZ33 948-121 AZ33 4000 Localidade Porto Porto Madrid Paris Madrid Porto Pas Portugal Portgal Espanha Frana Espaha Portugal

Repetio de informao: A mesma informao tem de ser introduzida vrias vezes na base de dados. A introduo de grandes quantidades de informao torna-se repetitiva e provoca desperdcio de espao de armazenamento. Erros e inconsistncias: A existncia de informao repetida aumenta o risco de erros ou inconsistncias nos dados. Alteraes difceis: A existncia de informao repetida torna mais difcil a alterao de dados.

Modelo Relacional
O modelo relacional foi proposto por Ted Codd em 1969 e foi o paradigma dominante durante o sculo 21. A informao armazenada em entidades e relaes.
RELAES
Pessoa Nome Morada Pas Nome Localidade Cdigo Postal Nome

ENTIDADES

Modelo Relacional Exemplo

Nome Filipa Rui Pedro Rita Antnio Ana

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

Cdigo Postal 4100 4200 AZ33 948-121

Localidade Porto Porto Madrid Paris

Pas Portugal Espanha Frana

No existe repetio de informao cada unidade de informao ocorre apenas uma vez na base de dados. A alterao dos dados facilitada apenas necessrio alterar num stio.

Diagrama Entidade-Relao
Os diagramas Entidade-Relao permitem representar a estrutura de uma base de dados relacional. Conceitos base: Entidades e Relaes. Entidades (nomes): representam conceitos reconhecveis sobre os quais ser armazenada informao na base de dados.
Exemplos: pessoa, localidade, msica, computador.

Relaes (verbos): representam associaes entre entidades.


Exemplos: tem, supervisiona, pertence.

As entidades e as relaes podem ter atributos. Cada entidade tem obrigatoriamente um atributo que identica de forma nica um elemento dessa entidade chave primria.

Diagrama ER Notao Visual

Entidade

Atributo

Relao

Chave Primria

Diagrama ER Exemplos (1)

Escritor

escreve

Livro

Duas entidades relacionadas

Nome Escritor ID Chave primria Entidade com trs atributos Nacionalidade

Diagrama ER Exemplos (2)


Actor Pas Realizador

nasceu

nasceu

A mesma entidade pode participar em vrias relaes

pertence

Pessoa
dirige

Departamento

Podem existir vrias relaes entre as mesmas entidades

Diagrama E-R Construo

1) Identicar entidades 2) Identicar atributos das entidades 3) Identicar relaes (e possveis atributos) 4) Identicar a cardinalidade das relaes 5) Desenhar diagrama entidade-relao

Cardinalidade das Relaes

A cardinalidade de uma relao representa o nmero de entidades que pode estar associada com uma outra entidade. A cardinalidade indicada usando um 1 ou um N (vrios) em cada extremidade da relao. Para determinar a cardinalidade de uma relao necessrio fazer duas leituras, uma em cada sentido da relao, e partindo sempre do singular.

Cardinalidade das Relaes Exemplos


Escritor

N
escreve

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

Professor

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

Diagrama E-R Exemplo (1)


1) Identicar entidades

Pessoa

Localidade

Pas

Diagrama E-R Exemplo (2)

2) Identicar atributos das entidades


Cdigo Postal Nome Pessoa Morada Localidade Nome Pas

Nome

ID

ID

ID

Diagrama E-R Exemplo (3)


3) Identicar relaes
Cdigo Postal

Morada

Nome

Nome

Nome

Pessoa

Mora

Localidade

Pertence

Pas

ID

ID

ID

Diagrama E-R Exemplo (4)


4) Identicar a cardinalidade das relaes. 5) Desenhar diagrama entidade-relao.
Cdigo Postal

Morada

Nome

Nome

Nome

N
Pessoa
Mora

1
Localidade

N
Pertence

1
Pas

ID

ID

ID

Exerccios

Exerccio Receitas

Imagine uma base de dados para guardar receitas. Dever armazenar informao sobre a receita, o tipo de receita e os ingredientes associados. Desenhe o diagrama entidade-relao para este caso.

Exerccio Futebol

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

Exerccio Stand Automvel

Elabore um diagrama entidade-relao para uma base de dados de um stand automvel, que armazene informao sobre os carros, incluindo a cor, o modelo, a marca e cada um dos fornecedores.

Exerccio Filmes

Construa um diagrama entidade-relao para uma base de dados sobre lmes. Considere informao sobre o lme, o gnero do lme e os actores.

Exerccio Agenda

Elabore um diagrama entidade-relao para uma agenda pessoal. Considere informao sobre o contactos (nome, morada, localidade, pas, etc) e eventos (data, assunto, tipo).

Exerccio Biblioteca

Desenhe o diagrama entidade-relao para uma base de dados de uma biblioteca. Pretende-se armazenar informao sobre os utilizadores da biblioteca, os livros, os autores, os gneros literrios e as requisies efectuadas.

Exerccio Msicas

Construa um diagrama entidade-relao para uma base de dados onde seja armazenada informao sobre uma coleco de msicas. Considere a seguinte informao: msica, gnero musical, lbum e autor(es).

Exerccio Empresa

Construa o diagrama entidade-relao que permita guardar informao sobre uma empresa. Em particular sobre os colaboradores, os cargos, os departamentos e os projectos. De notar que cada departamento tem um director (tambm um colaborador).

Exerccio Faculdade

Desenhe um diagrama entidade-relao que permita armazenar informao sobre uma escola. Informao a guardar: professores, disciplinas, departamentos, cursos, alunos e turmas.

Exerccio Clnica

Dena, para o contexto de uma clnica mdica, um diagrama entidade-relao que inclua a seguinte informao: mdicos, especialidades, pacientes, consultas, receitas e medicamentos.

Modelo Relacional

Passagem ao Modelo Relacional

Antes de implementar a base de dados num SGBD necessrio especicar as tabelas do modelo relacional. necessrio:

Mapear entidades para tabelas. Mapear as relaes 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, n1 Cedofeita, 23-A Rua de Cima, AA2

ID

Mapear Entidades (2)

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

ID

Mapear Entidades (3)

PAS
Pas Nome ID 1 2 3 Nome Portugal Espanha Frana

ID

Mapear Relaes
As relaes so mapeadas atravs de atributos especiais, designados chaves externas. Relaes 1-1 A chave externa pode ser denida em qualquer das entidades participantes da relao. Relaes 1-N A chave externa denida na entidade participante do lado N (muitos). Relaes N-N necessrio decompor a relao N-N numa nova entidade com uma chave primria composta por duas chaves externas, cada uma estabelecendo uma relao com as entidades participantes na relao original.

Relaes 1-1

Professor

Director

Curso

PROFESSOR
ID 1 2 3 Nome Antnio Sousa Jos Fernandes Rui Vicente

CURSO
ID 1 2 3 Curso Comunicao Engenharia Design Director 2 1 3

Relaes 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

Relaes N-N

N
Aluno
Inscrito

N
Disciplina

ALUNO
ID 1 2 3 Nome Rui Miguel Pedro Silva Lus Ribeiro

INSCRIO
Aluno 1 1 2 3 Disciplina 1 2 2 1

DISCIPLINA
ID 1 2 Nome CDI TM

Modelo Relacional Notao


chave primria 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)

Exerccios Implementao

Para cada exerccio realizado antes, e com base nos diagramas E-R produzidos, identique as tabelas e atributos necessrios para o modelo relacional.

Referncias

SQL Structured Query Language Lus Manuel Dias Damas FCA, 2005