bases dados
TRANSCRIPT
Bases de DadosComunicações Digitais e Internet
Sérgio Nunes
Ciências da Comunicação, 2010/11Universidade do Porto
Introdução
Os dados representam quantidades ou qualidades em bruto, semqualquer contexto associado.Exemplos: números, caracteres, textos, imagens.
O termo informação é usado para designar colecções de dadosorganizadas de tal forma que o valor do conjunto é superior ao valordos dados isolados.Exemplos: livro sobre geografia, álbum fotográfico.
Uma base de dados corresponde a um conjunto organizado de dadose informação relacionada.
Dados e Informação
SINAIS
DADOS
INFORMAÇÃO
+ contexto+ estrutura
+ unidades+ escalas
802
80 cm2 anos
altura média de uma criança de 2 anos é 80 cm
Sistema de Gestão de Bases de Dados
Um Sistema de Gestão de Bases de Dados (SGBD) é uma aplicaçãoinformá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çõesinformáticas ao nível empresarial.
Um dos primeiros usos dos computadores foi a implementação debases 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 modeloplano — 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 mesmoregisto. Em cada coluna estão valores semelhantes, do mesmo tipo.
Nome Morada Código Postal Localidade País
FilipaRuiPedroRitaAntónioAna
Cedofeita, 12Boavista, 100Calle A-100Rue 34Calle BCedofeita, 12
41004200AZ33948-121AZ334000
PortoPortoMadridParisMadridPorto
PortugalPortgalEspanhaFrançaEspahaPortugal
Problemas do Modelo Plano
Nome Morada Código Postal Localidade País
FilipaRuiPedroRitaAntónioAna
Cedofeita, 12Boavista, 100Calle A-100Rue 34Calle BCedofeita, 12
41004200AZ33948-121AZ334000
PortoPortoMadridParisMadridPorto
PortugalPortgalEspanhaFrançaEspahaPortugal
Repetição de informação: A mesma informação tem de ser introduzida váriasvezes na base de dados. A introdução de grandes quantidades de informaçãotorna-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 deerros ou inconsistências nos dados.
Alterações difíceis: A existência de informação repetida torna mais difícil aalteração de dados.
Modelo RelacionalO modelo relacional foi proposto por Ted Codd em 1969 e foi oparadigma dominante durante o século 21.
A informação é armazenada em entidades e relações.
NomeMorada
PessoaNome
País
Código PostalNome
Localidade
ENTIDADES
RELAÇÕES
Modelo Relacional — Exemplo
Nome Morada
FilipaRuiPedroRitaAntónioAna
Cedofeita, 12Boavista, 100Calle A-100Rue 34Calle BCedofeita, 12
Código Postal Localidade
41004200AZ33948-121
PortoPortoMadridParis
País
PortugalEspanhaFrança
Não existe repetição de informação — cada unidade de informaçãoocorre apenas uma vez na base de dados.
A alteração dos dados é facilitada — apenas é necessário alterarnum sítio.
Diagrama Entidade-RelaçãoOs diagramas Entidade-Relação permitemrepresentar a estrutura de uma base de dados relacional.
Conceitos base: Entidades e Relações.
Entidades (nomes): representam conceitos reconhecíveis sobre osquais 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 deforma única um “elemento” dessa entidade — chave primária.
Diagrama ER — Notação Visual
Entidade
Relação
Atributo
Chave Primária
Diagrama ER — Exemplos (1)
Escritor escreve Livro
Duas entidades relacionadas
Escritor
Nome
Nacionalidade
Entidade com três atributos
Chave primária
ID
Diagrama ER — Exemplos (2)
Actor nasceu País
A mesma entidade pode participar em várias relações
Realizadornasceu
Pessoa
pertence
Podem existir várias relações entre as mesmas entidades
Departamento
dirige
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 entidadesque pode estar associada com uma outra entidade.
A cardinalidade é indicada usando um 1 ou um N (vários) em cadaextremidade da relação.
Para determinar a cardinalidade de uma relação é necessário fazerduas leituras, uma em cada sentido da relação, e partindo sempre dosingular.
Cardinalidade das Relações – ExemplosEscritor escreve Livro
NN
Um escritor pode escrever N livros.Um livro pode ser escrito por N escritores.
1NPessoa Mora Localidade
Uma pessoa mora apenas em 1 localidade.Numa localidade podem morar N pessoas.
Curso director Professor11
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
Pessoa
Nome
Morada Localidade
Código Postal
Nome
Nome
País
ID ID ID
Diagrama E-R — Exemplo (3)
3) Identificar relações
Pessoa
NomeMorada
Mora Localidade Pertence
Código Postal Nome Nome
País
ID ID ID
Diagrama E-R — Exemplo (4)
4) Identificar a cardinalidade das relações.5) Desenhar diagrama entidade-relação.
1N N 1Pessoa
NomeMorada
Mora Localidade Pertence
Código Postal Nome Nome
País
IDIDID
Exercícios
Exercício — Receitas
Imagine uma base de dados para guardar receitas. Deverá armazenarinformação sobre a receita, o tipo de receita e os ingredientesassociados. Desenhe o diagrama entidade-relação para este caso.
Exercício — Futebol
Considere o contexto de um campeonato de futebol. Desenhe umdiagrama entidade-relação para uma base de dados que guardeinformação sobre as equipas, os jogadores, os jogos e os árbitros decada jogo.
Exercício — Stand Automóvel
Elabore um diagrama entidade-relação para uma base de dados deum 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 dadossobre filmes. Considere informação sobre o filme, o género do filmee 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 deuma biblioteca. Pretende-se armazenar informação sobre osutilizadores da biblioteca, os livros, os autores, os géneros literários eas requisições efectuadas.
Exercício — Músicas
Construa um diagrama entidade-relação para uma base de dadosonde seja armazenada informação sobre uma colecção de músicas.Considere a seguinte informação: música, género musical, álbum eautor(es).
Exercício — Empresa
Construa o diagrama entidade-relação que permita guardarinformação sobre uma empresa. Em particular sobre oscolaboradores, os cargos, os departamentos e os projectos. De notarque cada departamento tem um director (também um colaborador).
Exercício — Faculdade
Desenhe um diagrama entidade-relação que permita armazenarinformaçã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 diagramaentidade-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árioespecificar as tabelas do modelo relacional.
É necessário:
▶ Mapear entidades para tabelas.▶ Mapear as relações para tabelas ou atributos.
Mapear Entidades (1)
Nome
Morada
ID
PESSOA
Nome Morada
123456
FilipaRuiPedroRitaFilipaAna
Boavista, nº 31Rua Dr. Roberto Frias, s/nCedofeita, 23-AFoz, nº1Cedofeita, 23-ARua de Cima, AA2
Pessoa
ID
Mapear Entidades (2)
Código Postal
Nome
Localidade
ID
LOCALIDADE
Nome Código Postal
123
PortoPortoMaia
4000-2004000-2205000-100
ID
Mapear Entidades (3)
NomePaís ID
PAÍS
Nome
123
PortugalEspanhaFrançaID
Mapear RelaçõesAs relações são mapeadas através de atributos especiais,designados chaves externas.
Relações 1-1A chave externa pode ser definida em qualquer das entidadesparticipantes da relação.
Relações 1-NA 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 umachave primária composta por duas chaves externas, cada umaestabelecendo uma relação com as entidades participantes narelação original.
Relações 1-1
Professor CursoDirector11
ID
PROFESSOR
Nome
123
António SousaJosé FernandesRui Vicente
ID
CURSO
Curso
123
ComunicaçãoEngenhariaDesign
Director
213
Relações 1-N
1NPessoa Mora Localidade
ID
PESSOA
Nome
123
José SilvaPedro SousaMarco Silva
ID
LOCALIDADE
Nome
12
PortoVila Nova de Gaia
Localidade
112
Relações N-N
NNAluno Inscrito Disciplina
ID
ALUNO
Nome
123
Rui MiguelPedro SilvaLuís Ribeiro
ID
DISCIPLINA
Nome
12
CDITM
Aluno
INSCRIÇÃO
Disciplina
1123
1221
Modelo Relacional – Notação
pessoa (#id, nome, morada, #localidade → localidade)
localidade (#id, nome, #pais → pais)
pais (#id, nome)
pessoa (#id, nome, morada, #localidade → localidade)
nome da tabela
chave primária
atributos
chave externa
Exercícios — Implementação
Para cada exercício realizado antes, e com base nos diagramas E-Rproduzidos, identifique as tabelas e atributos necessários para omodelo relacional.
Referências
SQL – Structured Query LanguageLuís Manuel Dias DamasFCA, 2005