Professional Documents
Culture Documents
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.
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
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.
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
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
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.
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.
Entidade
Atributo
Relao
Chave Primria
Escritor
escreve
Livro
nasceu
nasceu
pertence
Pessoa
dirige
Departamento
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
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.
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.
Pessoa
Localidade
Pas
Nome
ID
ID
ID
Morada
Nome
Nome
Nome
Pessoa
Mora
Localidade
Pertence
Pas
ID
ID
ID
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.
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
Antes de implementar a base de dados num SGBD necessrio especicar as tabelas do modelo relacional. necessrio:
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
LOCALIDADE
Cdigo Postal Localidade Nome ID 1 2 3 Nome Porto Porto Maia Cdigo Postal 4000-200 4000-220 5000-100
ID
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
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