bases dados

43
Bases de Dados Comunicações Digitais e Internet Sérgio Nunes Ciências da Comunicação, 2010/11 Universidade do Porto

Upload: alcides-semedo

Post on 05-Jul-2015

2.691 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bases Dados

Bases de DadosComunicações Digitais e Internet

Sérgio Nunes

Ciências da Comunicação, 2010/11Universidade do Porto

Page 2: Bases Dados

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.

Page 3: Bases Dados

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

Page 4: Bases Dados

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.

Page 5: Bases Dados

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.

Page 6: Bases Dados

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

Page 7: Bases Dados

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.

Page 8: Bases 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

Page 9: Bases Dados

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.

Page 10: Bases Dados

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.

Page 11: Bases Dados

Diagrama ER — Notação Visual

Entidade

Relação

Atributo

Chave Primária

Page 12: Bases Dados

Diagrama ER — Exemplos (1)

Escritor escreve Livro

Duas entidades relacionadas

Escritor

Nome

Nacionalidade

Entidade com três atributos

Chave primária

ID

Page 13: Bases Dados

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

Page 14: Bases Dados

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

Page 15: Bases Dados

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.

Page 16: Bases Dados

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.

Page 17: Bases Dados

Diagrama E-R — Exemplo (1)

1) Identificar entidades

Pessoa

Localidade

País

Page 18: Bases Dados

Diagrama E-R — Exemplo (2)

2) Identificar atributos das entidades

Pessoa

Nome

Morada Localidade

Código Postal

Nome

Nome

País

ID ID ID

Page 19: Bases Dados

Diagrama E-R — Exemplo (3)

3) Identificar relações

Pessoa

NomeMorada

Mora Localidade Pertence

Código Postal Nome Nome

País

ID ID ID

Page 20: Bases Dados

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

Page 21: Bases Dados

Exercícios

Page 22: Bases Dados

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.

Page 23: Bases Dados

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.

Page 24: Bases Dados

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.

Page 25: Bases Dados

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.

Page 26: Bases Dados

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).

Page 27: Bases Dados

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.

Page 28: Bases Dados

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).

Page 29: Bases Dados

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).

Page 30: Bases Dados

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.

Page 31: Bases Dados

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.

Page 32: Bases Dados

Modelo Relacional

Page 33: Bases Dados

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.

Page 34: Bases Dados

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

Page 35: Bases Dados

Mapear Entidades (2)

Código Postal

Nome

Localidade

ID

LOCALIDADE

Nome Código Postal

123

PortoPortoMaia

4000-2004000-2205000-100

ID

Page 36: Bases Dados

Mapear Entidades (3)

NomePaís ID

PAÍS

Nome

123

PortugalEspanhaFrançaID

Page 37: Bases Dados

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.

Page 38: Bases Dados

Relações 1-1

Professor CursoDirector11

ID

PROFESSOR

Nome

123

António SousaJosé FernandesRui Vicente

ID

CURSO

Curso

123

ComunicaçãoEngenhariaDesign

Director

213

Page 39: Bases Dados

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

Page 40: Bases Dados

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

Page 41: Bases Dados

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

Page 42: Bases Dados

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.

Page 43: Bases Dados

Referências

SQL – Structured Query LanguageLuís Manuel Dias DamasFCA, 2005