Base de Dados
Introdução
2018/2019
Sumário
• Bases de Dados
• Sistemas de Gestão de Base de Dados
• SGBD Conceitos-chave
• Desenho de Bases de Dados
Base de Dados
• Coleção de dados normalmente partilhados e interrelacionados
• Exemplos de utilização no dia-a-dia:
• Compras no hipermercado
• Utilização de conta bancária
• Procurar viagem numa agência de viagens
Sistemas de Armazenamento de Dados
• Sistemas de Ficheiros - Cada aplicação mantém os ficheiros com
dados necessários à sua execução
Aplicação A
Aplicação B
Dados
Ficheiro 1
Ficheiro 2
Sistemas de Ficheiros - Problemas
• Alto nível de redundância
Aplicação A
Aplicação B
Dados
Ficheiro 1
Ficheiro 2
Stock
Produto: Canetas
Quantidade: 30
Stock
Produto: Canetas
Quantidade: 30
Sistemas de Ficheiros - Problemas
• Inconsistência da Informação
Aplicação A
Aplicação B
Dados
Ficheiro 1
Ficheiro 2
Stock
Produto: Canetas
Quantidade: 30
Stock
Produto: Canetas
Quantidade: 27
Sistemas de Ficheiros - Problemas
• Inflexibilidade (recursos ocupados)
Aplicação A
Aplicação B
Dados
Ficheiro 1
Ficheiro 2
Stock
Produto: Cadernos
Quantidade: 30
Stock
Produto: Canetas
Quantidade: 30
Sistemas de Ficheiros - Problemas
• Inflexibilidade (acessos concorrentes)
Aplicação A
Aplicação B
Dados
Ficheiro 1
Ficheiro 2
Stock
Produto: Cadernos
Quantidade: 30
Stock
Produto: Canetas
Quantidade: 30
Sistemas de Ficheiros - Problemas
• Isolamento e integridade dos dados
Aplicação A
Dados
Ficheiro 1
Alteração externa dos dados do
ficheiro
Perda de integridade
Comunicação
com estrutura
conhecida
Sistemas de Ficheiros - Problemas
• Elevados custos de manutenção
Aplicação contém especificação de
- Modelo físico
- Protocolos de acesso
Aplicação A
Aplicação B
Dados
Ficheiro 1
Ficheiro 2
Alteração do
Ficheiro 1
Atualização das
Aplicações A e B
What is a database?
• https://youtu.be/t8jgX1f8kc4
Sistemas de Base de Dados
Aplicação A
Aplicação B
Aplicação C
Aplicação D
S
G
B
D
Base de Dados
Sistema de Base de Dados
Oferecem uma forma eficiente, fiável, conveniente e segura de acesso e armazenamento por multi-
utilizadores de grandes quantidades de dados persistentes
SGBD - Características
• Quantidade de Dados (Big Data)
• Persistente
• Segurança
• Multi-utilizador
• Conveniente
• Eficiente
• Fiável/Disponivel
Sistema de Gestão de Base de Dados
• Conjunto de programas
• Armazenamento e manipulação de dados
• Fornece dados a programadores e utilizadores
• Controlo de acesso
• Independência dos dados
Sistemas de Ficheiros vs SGBD
• Sistemas de Gestão de Base de Dados oferecem solução para os
problemas ficheiros anteriores
• Mas:
• Consistem num software complexo
• Não adequados a aplicações tempo-real
• Não adequados a dados não estruturados (e.g. texto, grafos, …)
• Necessitam investimento inicial
• Em recursos de hardware e ou software
• Formação e curva de aprendizagem
Níveis de Abstração
• Nível de Visualização – visão seletiva,
programas podem esconder detalhes
acerca do tipo de informação (e.g.
segurança, contabilidade,…).
• Nível Conceptual (ou Lógico) – descreve
a informação e associações does dados
• Nível Físico – descreve como a
informação é armazenada
Modelo de Dados
• Descrição da estrutura dos dados
• Relacional - Conjunto de registos
• Hierarquico – XML
• Grafos – nós e ligações
Esquemas e Instâncias
• Equivalente a tipos e variáveis em programação
• Esquema (físico ou lógico) – estrutura lógica de uma base de dados
• Análogo ao tipo de variável
• Instância – o conteúdo da base de dados num determinado momento
• Análogo ao valor de uma variável
Linguagens de Definição e Manipulação de
Dados
• Linguagem de Definição de Dados (DDL)
• Especificação do esquema da base de
dados
• Linguagem de Manipulação dos Dados
(DML)
• Linguagem para acesso e manipulação dos
dados
Transação
• Conjunto atómico de commandos
• Só termina com sucesso se todos os constituintes terminarem com sucesso
• Características ACID
• Atomicidade – conjunto é realizado ou nada é realizado
• Consistência – sucesso implica consistência de dados
• Isolamento – não afetado por transações concorrentes
• Durabilidade – conclusão da transação implica dados persistentes
• SGBD possui componente de gestão de transações e controlo de
concorrência
Modelação de Dados
• Ferramentas que permitem descrever
• Dados
• Associações entre dados
• Semântica dos dados
• Restrições de dados
• Exemplos
• Modelo relacional
• Modelo entidade-associação
Modelo Relacional
• Exemplo de tabela de dados no modelo relacional
Modelo Entidade-Associação
• Modela os dados sob forma de entidades e associações
• Exemplo de diagrama de representação:
Pessoas-chave
• Implementação SGBD
• Desenho BD
• Desenvolvimento da aplicação BD
• Administrador de BD
Desenho de Bases de Dados
• Processo de desenho da estrutura de uma base de dados
• Desenho Lógico – decisão do esquema da base de dados
• Quais os dados que devem ser guardados
• Qual a relação entre dados armazenados
• Desenho Físico - decisão sobre formato de armazenamento dos dados
Arquitectura das Aplicações
Mainframe (1960-70) PC (1980) Web(1990)
Perguntas?
Base de Dados
Modelo Entidade-Associação
2018/2019
Sumário
• Modelação de dados
• Diagramas Entidade-Associação
• Componentes
• Notação
• Tipos de Associação
• 1:1
• 1:N
• M:N
• Obrigatoriedade de Participação
• Decomposição de relações M:N
Modelação de Dados
• Visão de dados vs visão das aplicações
• Eliminação de redundâncias
• Construção de modelo de dados
• Identificar, analisar e registar política da organização acerca dos dados
Técnicas de modelação de dados
• Dois grupos
• Do particular para geral (Bottom-up)
• Começa-se na definição dos niveis mais elementares da informação (atributos)
• Agrupa-se relações e dependências
• Abordagem da Teoria da Normalização (Codd 1970)
• Do geral para o particular (Top-bottom)
• Começa pela identificação das entidades
• Identificação das relações
• Modelo Entidade – Associação (Entity – Relationship)
Método Modelação para Entidade-Associação
• Dois passos
• 1º Seleccionar entidades e associações entre elas que tenham interesse para
a organização
• 2º Especificar atributos para cada entidade e associação
Especificação
• A especificação é feita a dois níves:
• Gráfico - Diagrama Entidade-Associação
• Descritivo - Especificações para cada componente do modelo
Componentes
• Entidade – Qualquer coisa (objecto ou conceito) com interesse para a
organização, identificavel inequivocamente, sobre a qual é guardada
informação (e.g. Funcionário, Departamento, Contrato, …)
• Atributo – Propriedades das entidades. Elemento atómico (indivisível)
de informação (e.g. N.º de empregado, Nome, …)
• Identificadores (chaves)
• Descritores
• Associação – Relaciona entidades entre si (binária, complexa, unária)
Notação
• Entidade
• Associação (3 graus: 1:1, 1:N, M:N)
• Atributo
Exemplo
• Uma pessoa possui características
como nome e idade e pode ser
identificada pelo seu número de cartão
de cidadão
Pessoa
CC Nome
Idade
Automóvel
Matrícula Cor Preço
• Um carro identificado por uma dada
matricula possui características como a
cor ou preço de venda.
Associação 1:1 (um para um)
• A cada ocorrência da entidade A está associada apenas uma
ocorrência da entidade B (ou nenhuma)
• A cada ocorrência da entidade B está associada apenas uma
ocorrência da entidade A (ou nenhuma)
Associação 1:1 (exemplo)
• Seja um curso em que cada modulo é assegurado por um monitor e
cada monitor assegura apenas um módulo
Associação 1:N (um para vários)
• A cada ocorrência da entidade A está associada uma, várias ou
nenhuma ocorrência da entidade B
• A cada ocorrência da entidade B está associada apenas uma
ocorrência da entidade A (ou nenhuma)
Associação 1:N (exemplo)
• Um departamento tem atribuídos vários empregados (eventualmente
só um ou mesmo nenhum)
• Um empregado está atribuído apenas a um departamento (ou
nenhum)
Associação M:N (vários para vários)
• A cada ocorrência da entidade A está associada uma, várias ou
nenhuma, ocorrência da entidade B
• A cada ocorrência da entidade B está associada uma, várias ou
nenhuma, ocorrência da entidade A
Associação M:N (exemplo)
• Um livro pode ser escrito por vários autores, e um autor pode
escrever vários livros.
Exercício 1
• Um modelo conceptual de dados que represente o conceito de
propriedade, proprietário e ocupante.
• Um proprietário não tem necessariamente de ocupar uma casa que é
a sua.
• A estrutura de dados deve permitir obter:
• Quem é o dono de uma dada propriedade?
• Que propriedade um proprietário ocupa?
• Sugira entidades e relações entre elas. Desenhe o diagrama Entidade-
Associação
Exercício 2
• Para cada par de restrições, identifique dois tipos de entidades, indique o
grau da associação e desenhe o diagrama EA.
1. Um departamento emprega várias pessoas. Uma pessoa trabalha quando muito
para um departamento.
2. Um gestor chefia no máximo um departamento. Um departamento é chefiado
quando muito por um gestor.
3. Uma equipa consiste em vários jogadores. Um jogador joga para uma só equipa.
4. Um professor leciona no máximo um curso. Um curso é lecionado por um só
professor.
5. Uma nota de encomenda pode ter vários produtos. Um produto pode aparecer
em várias notas de encomenda.
6. Um cliente pode receber várias faturas. Uma fatura é de um só cliente.
Exercício 3
• Numa clínica médica, cada medico tem vários doentes mas um
doente só pode estar registado num medico de cada vez (supondo
que só se incluem registos de doentes atuais)
• Qual é o grau da associação registado entre as entidades Doente e Médico.
• Desenhe um diagrama EA
• Qual o grau da associação se um paciente pudesse registar-se
simultaneamente em vários medicos?
Obrigatoriedade de Participação
• Uma entidade pode participar numa associação de duas formas:
• Obrigatória – todas as ocorrências dessa entidade estão obriatoriamente
ligadas a alguma ocorrência da outra entidade que participa na associação
• Não obrigatória – a entidade pode ter ocorrências não associadas a qualquer
ocorrência da outra entidade que participa na associação
Obrigatoriedade de Participação (exemplo)
• Um departamento tem de ter pelo menos um empregado
• Um empregado tem de pertencer a pelo menos um departamento
Obrigatoriedade de Participação (exemplo)
• Um departamento tem de ter pelo menos um empregado
• Um empregado tem de pertencer a pelo menos um departamento
• Um departamento pode não ter empregados
• Um Empregado tem de pertencer a um departamento
Obrigatoriedade de Participação (exemplo2)
• Um departamento tem de ter pelo menos um empregado
• Um empregado pode não pertencer a um departamento
• Um departamento pode não ter empregados
• Um empregado pode não pertencer a um departamento
Exercício 1
• Decida qual o tipo de participação para cada uma das seguintes
entidades e associações. Desenhe o diagram entidade-associação
Entidades Associações
1. Casa, Pessoa Proprietário
2. Casa, Inquilino Habitar
3. ClienteBanco, ContaBanco Possui
4. Empregado, Habilitação Tem
Exercício 2
• Que dificuldade prática pode ocorrer quando se inserem os dados
relativos a um departamento e a um empregado numa base de dados
em que:
• Um departamento tem que ter pelo menos um empregado
• Um empregado tem que pertencer a um departamento
Exercício 3
• Considere uma empresa de importação de mercadorias por navio que efectua as
suas compras através de contratos.
• Cada contrato, identificado por um código, é acordado com um dado fornecedor
e diz respeito a várias mercadorias, as quais são identificadas através de um
código.
• Do contrato consta também a data de assinatura, o prazo de validade, a moeda e
o valor.
• É necessário guardar informação (nome, endereço, telefone e fax) sobre os vários
fornecedores que são identificados por um código, bem como sobre as
mercadorias que podem fornecer.
• As mercadorias envolvidas num contrato são todas enviadas num único
transporte (identificado por um código).
• Para cada transporte é necessário conhecer o navio, a data prevista de partida e a
data prevista de chegada.
Decomposição de associações M:N
• Qualquer associação M:N entre dois tipos de entidades pode ser
decomposta em duas associações 1:N
Decomposição de associações M:N (2)
• Cada ocorrência da associação corresponde à atribuição de um
empregado a um projeto
Decomposição de associações M:N (3)
Exercício 1
• A tabela mostra que fornecedores fornecem que peças:
a) Desenhe o diagrama E-A mostrando uma associação entre as entidades
Fornecedor e Peça
b) Decompor o diagrama de forma a que contenha unicamente associações 1:N
CodForn CodPeça
F1 P15
F1 P29
F1 P32
F2 P12
F2 P15
F3 P12
F3 P32
Exercício 2
• Uma escola possui vários cursos (arte, dança, música, história, …)
• Cada curso pode ter vários professors e um professor pode dar vários
cursos.
• Um determinado curso utiliza sempre a mesma sala. Mas cursos
diferentes podem utilizer a mesma sala.
a) Desenhe um diagrama E-A mostrando as entidades Professor, Curso e Sala
e as associações Prof_Curso e Sala_Curso
b) Redesenhe o diagrama decompondo todas as associações M:N em
associações 1:N
Exercício 3
• O diagrama abaixo é semelhante à decomposição de uma associação
de M:N entre Divisão e Departamento
• Poderá a associação Divisão_Contém_Departamento ser 1:N ou terá
de ser necessáriamente M:N

Base de Dados - Introdução

  • 1.
  • 2.
    Sumário • Bases deDados • Sistemas de Gestão de Base de Dados • SGBD Conceitos-chave • Desenho de Bases de Dados
  • 3.
    Base de Dados •Coleção de dados normalmente partilhados e interrelacionados • Exemplos de utilização no dia-a-dia: • Compras no hipermercado • Utilização de conta bancária • Procurar viagem numa agência de viagens
  • 4.
    Sistemas de Armazenamentode Dados • Sistemas de Ficheiros - Cada aplicação mantém os ficheiros com dados necessários à sua execução Aplicação A Aplicação B Dados Ficheiro 1 Ficheiro 2
  • 5.
    Sistemas de Ficheiros- Problemas • Alto nível de redundância Aplicação A Aplicação B Dados Ficheiro 1 Ficheiro 2 Stock Produto: Canetas Quantidade: 30 Stock Produto: Canetas Quantidade: 30
  • 6.
    Sistemas de Ficheiros- Problemas • Inconsistência da Informação Aplicação A Aplicação B Dados Ficheiro 1 Ficheiro 2 Stock Produto: Canetas Quantidade: 30 Stock Produto: Canetas Quantidade: 27
  • 7.
    Sistemas de Ficheiros- Problemas • Inflexibilidade (recursos ocupados) Aplicação A Aplicação B Dados Ficheiro 1 Ficheiro 2 Stock Produto: Cadernos Quantidade: 30 Stock Produto: Canetas Quantidade: 30
  • 8.
    Sistemas de Ficheiros- Problemas • Inflexibilidade (acessos concorrentes) Aplicação A Aplicação B Dados Ficheiro 1 Ficheiro 2 Stock Produto: Cadernos Quantidade: 30 Stock Produto: Canetas Quantidade: 30
  • 9.
    Sistemas de Ficheiros- Problemas • Isolamento e integridade dos dados Aplicação A Dados Ficheiro 1 Alteração externa dos dados do ficheiro Perda de integridade Comunicação com estrutura conhecida
  • 10.
    Sistemas de Ficheiros- Problemas • Elevados custos de manutenção Aplicação contém especificação de - Modelo físico - Protocolos de acesso Aplicação A Aplicação B Dados Ficheiro 1 Ficheiro 2 Alteração do Ficheiro 1 Atualização das Aplicações A e B
  • 11.
    What is adatabase? • https://youtu.be/t8jgX1f8kc4
  • 12.
    Sistemas de Basede Dados Aplicação A Aplicação B Aplicação C Aplicação D S G B D Base de Dados Sistema de Base de Dados Oferecem uma forma eficiente, fiável, conveniente e segura de acesso e armazenamento por multi- utilizadores de grandes quantidades de dados persistentes
  • 13.
    SGBD - Características •Quantidade de Dados (Big Data) • Persistente • Segurança • Multi-utilizador • Conveniente • Eficiente • Fiável/Disponivel
  • 14.
    Sistema de Gestãode Base de Dados • Conjunto de programas • Armazenamento e manipulação de dados • Fornece dados a programadores e utilizadores • Controlo de acesso • Independência dos dados
  • 15.
    Sistemas de Ficheirosvs SGBD • Sistemas de Gestão de Base de Dados oferecem solução para os problemas ficheiros anteriores • Mas: • Consistem num software complexo • Não adequados a aplicações tempo-real • Não adequados a dados não estruturados (e.g. texto, grafos, …) • Necessitam investimento inicial • Em recursos de hardware e ou software • Formação e curva de aprendizagem
  • 16.
    Níveis de Abstração •Nível de Visualização – visão seletiva, programas podem esconder detalhes acerca do tipo de informação (e.g. segurança, contabilidade,…). • Nível Conceptual (ou Lógico) – descreve a informação e associações does dados • Nível Físico – descreve como a informação é armazenada
  • 17.
    Modelo de Dados •Descrição da estrutura dos dados • Relacional - Conjunto de registos • Hierarquico – XML • Grafos – nós e ligações
  • 18.
    Esquemas e Instâncias •Equivalente a tipos e variáveis em programação • Esquema (físico ou lógico) – estrutura lógica de uma base de dados • Análogo ao tipo de variável • Instância – o conteúdo da base de dados num determinado momento • Análogo ao valor de uma variável
  • 19.
    Linguagens de Definiçãoe Manipulação de Dados • Linguagem de Definição de Dados (DDL) • Especificação do esquema da base de dados • Linguagem de Manipulação dos Dados (DML) • Linguagem para acesso e manipulação dos dados
  • 20.
    Transação • Conjunto atómicode commandos • Só termina com sucesso se todos os constituintes terminarem com sucesso • Características ACID • Atomicidade – conjunto é realizado ou nada é realizado • Consistência – sucesso implica consistência de dados • Isolamento – não afetado por transações concorrentes • Durabilidade – conclusão da transação implica dados persistentes • SGBD possui componente de gestão de transações e controlo de concorrência
  • 21.
    Modelação de Dados •Ferramentas que permitem descrever • Dados • Associações entre dados • Semântica dos dados • Restrições de dados • Exemplos • Modelo relacional • Modelo entidade-associação
  • 22.
    Modelo Relacional • Exemplode tabela de dados no modelo relacional
  • 23.
    Modelo Entidade-Associação • Modelaos dados sob forma de entidades e associações • Exemplo de diagrama de representação:
  • 24.
    Pessoas-chave • Implementação SGBD •Desenho BD • Desenvolvimento da aplicação BD • Administrador de BD
  • 25.
    Desenho de Basesde Dados • Processo de desenho da estrutura de uma base de dados • Desenho Lógico – decisão do esquema da base de dados • Quais os dados que devem ser guardados • Qual a relação entre dados armazenados • Desenho Físico - decisão sobre formato de armazenamento dos dados
  • 26.
    Arquitectura das Aplicações Mainframe(1960-70) PC (1980) Web(1990)
  • 27.
  • 28.
    Base de Dados ModeloEntidade-Associação 2018/2019
  • 29.
    Sumário • Modelação dedados • Diagramas Entidade-Associação • Componentes • Notação • Tipos de Associação • 1:1 • 1:N • M:N • Obrigatoriedade de Participação • Decomposição de relações M:N
  • 30.
    Modelação de Dados •Visão de dados vs visão das aplicações • Eliminação de redundâncias • Construção de modelo de dados • Identificar, analisar e registar política da organização acerca dos dados
  • 31.
    Técnicas de modelaçãode dados • Dois grupos • Do particular para geral (Bottom-up) • Começa-se na definição dos niveis mais elementares da informação (atributos) • Agrupa-se relações e dependências • Abordagem da Teoria da Normalização (Codd 1970) • Do geral para o particular (Top-bottom) • Começa pela identificação das entidades • Identificação das relações • Modelo Entidade – Associação (Entity – Relationship)
  • 32.
    Método Modelação paraEntidade-Associação • Dois passos • 1º Seleccionar entidades e associações entre elas que tenham interesse para a organização • 2º Especificar atributos para cada entidade e associação
  • 33.
    Especificação • A especificaçãoé feita a dois níves: • Gráfico - Diagrama Entidade-Associação • Descritivo - Especificações para cada componente do modelo
  • 34.
    Componentes • Entidade –Qualquer coisa (objecto ou conceito) com interesse para a organização, identificavel inequivocamente, sobre a qual é guardada informação (e.g. Funcionário, Departamento, Contrato, …) • Atributo – Propriedades das entidades. Elemento atómico (indivisível) de informação (e.g. N.º de empregado, Nome, …) • Identificadores (chaves) • Descritores • Associação – Relaciona entidades entre si (binária, complexa, unária)
  • 35.
    Notação • Entidade • Associação(3 graus: 1:1, 1:N, M:N) • Atributo
  • 36.
    Exemplo • Uma pessoapossui características como nome e idade e pode ser identificada pelo seu número de cartão de cidadão Pessoa CC Nome Idade Automóvel Matrícula Cor Preço • Um carro identificado por uma dada matricula possui características como a cor ou preço de venda.
  • 37.
    Associação 1:1 (umpara um) • A cada ocorrência da entidade A está associada apenas uma ocorrência da entidade B (ou nenhuma) • A cada ocorrência da entidade B está associada apenas uma ocorrência da entidade A (ou nenhuma)
  • 38.
    Associação 1:1 (exemplo) •Seja um curso em que cada modulo é assegurado por um monitor e cada monitor assegura apenas um módulo
  • 39.
    Associação 1:N (umpara vários) • A cada ocorrência da entidade A está associada uma, várias ou nenhuma ocorrência da entidade B • A cada ocorrência da entidade B está associada apenas uma ocorrência da entidade A (ou nenhuma)
  • 40.
    Associação 1:N (exemplo) •Um departamento tem atribuídos vários empregados (eventualmente só um ou mesmo nenhum) • Um empregado está atribuído apenas a um departamento (ou nenhum)
  • 41.
    Associação M:N (váriospara vários) • A cada ocorrência da entidade A está associada uma, várias ou nenhuma, ocorrência da entidade B • A cada ocorrência da entidade B está associada uma, várias ou nenhuma, ocorrência da entidade A
  • 42.
    Associação M:N (exemplo) •Um livro pode ser escrito por vários autores, e um autor pode escrever vários livros.
  • 43.
    Exercício 1 • Ummodelo conceptual de dados que represente o conceito de propriedade, proprietário e ocupante. • Um proprietário não tem necessariamente de ocupar uma casa que é a sua. • A estrutura de dados deve permitir obter: • Quem é o dono de uma dada propriedade? • Que propriedade um proprietário ocupa? • Sugira entidades e relações entre elas. Desenhe o diagrama Entidade- Associação
  • 44.
    Exercício 2 • Paracada par de restrições, identifique dois tipos de entidades, indique o grau da associação e desenhe o diagrama EA. 1. Um departamento emprega várias pessoas. Uma pessoa trabalha quando muito para um departamento. 2. Um gestor chefia no máximo um departamento. Um departamento é chefiado quando muito por um gestor. 3. Uma equipa consiste em vários jogadores. Um jogador joga para uma só equipa. 4. Um professor leciona no máximo um curso. Um curso é lecionado por um só professor. 5. Uma nota de encomenda pode ter vários produtos. Um produto pode aparecer em várias notas de encomenda. 6. Um cliente pode receber várias faturas. Uma fatura é de um só cliente.
  • 45.
    Exercício 3 • Numaclínica médica, cada medico tem vários doentes mas um doente só pode estar registado num medico de cada vez (supondo que só se incluem registos de doentes atuais) • Qual é o grau da associação registado entre as entidades Doente e Médico. • Desenhe um diagrama EA • Qual o grau da associação se um paciente pudesse registar-se simultaneamente em vários medicos?
  • 46.
    Obrigatoriedade de Participação •Uma entidade pode participar numa associação de duas formas: • Obrigatória – todas as ocorrências dessa entidade estão obriatoriamente ligadas a alguma ocorrência da outra entidade que participa na associação • Não obrigatória – a entidade pode ter ocorrências não associadas a qualquer ocorrência da outra entidade que participa na associação
  • 47.
    Obrigatoriedade de Participação(exemplo) • Um departamento tem de ter pelo menos um empregado • Um empregado tem de pertencer a pelo menos um departamento
  • 48.
    Obrigatoriedade de Participação(exemplo) • Um departamento tem de ter pelo menos um empregado • Um empregado tem de pertencer a pelo menos um departamento • Um departamento pode não ter empregados • Um Empregado tem de pertencer a um departamento
  • 49.
    Obrigatoriedade de Participação(exemplo2) • Um departamento tem de ter pelo menos um empregado • Um empregado pode não pertencer a um departamento • Um departamento pode não ter empregados • Um empregado pode não pertencer a um departamento
  • 50.
    Exercício 1 • Decidaqual o tipo de participação para cada uma das seguintes entidades e associações. Desenhe o diagram entidade-associação Entidades Associações 1. Casa, Pessoa Proprietário 2. Casa, Inquilino Habitar 3. ClienteBanco, ContaBanco Possui 4. Empregado, Habilitação Tem
  • 51.
    Exercício 2 • Quedificuldade prática pode ocorrer quando se inserem os dados relativos a um departamento e a um empregado numa base de dados em que: • Um departamento tem que ter pelo menos um empregado • Um empregado tem que pertencer a um departamento
  • 52.
    Exercício 3 • Considereuma empresa de importação de mercadorias por navio que efectua as suas compras através de contratos. • Cada contrato, identificado por um código, é acordado com um dado fornecedor e diz respeito a várias mercadorias, as quais são identificadas através de um código. • Do contrato consta também a data de assinatura, o prazo de validade, a moeda e o valor. • É necessário guardar informação (nome, endereço, telefone e fax) sobre os vários fornecedores que são identificados por um código, bem como sobre as mercadorias que podem fornecer. • As mercadorias envolvidas num contrato são todas enviadas num único transporte (identificado por um código). • Para cada transporte é necessário conhecer o navio, a data prevista de partida e a data prevista de chegada.
  • 53.
    Decomposição de associaçõesM:N • Qualquer associação M:N entre dois tipos de entidades pode ser decomposta em duas associações 1:N
  • 54.
    Decomposição de associaçõesM:N (2) • Cada ocorrência da associação corresponde à atribuição de um empregado a um projeto
  • 55.
  • 56.
    Exercício 1 • Atabela mostra que fornecedores fornecem que peças: a) Desenhe o diagrama E-A mostrando uma associação entre as entidades Fornecedor e Peça b) Decompor o diagrama de forma a que contenha unicamente associações 1:N CodForn CodPeça F1 P15 F1 P29 F1 P32 F2 P12 F2 P15 F3 P12 F3 P32
  • 57.
    Exercício 2 • Umaescola possui vários cursos (arte, dança, música, história, …) • Cada curso pode ter vários professors e um professor pode dar vários cursos. • Um determinado curso utiliza sempre a mesma sala. Mas cursos diferentes podem utilizer a mesma sala. a) Desenhe um diagrama E-A mostrando as entidades Professor, Curso e Sala e as associações Prof_Curso e Sala_Curso b) Redesenhe o diagrama decompondo todas as associações M:N em associações 1:N
  • 58.
    Exercício 3 • Odiagrama abaixo é semelhante à decomposição de uma associação de M:N entre Divisão e Departamento • Poderá a associação Divisão_Contém_Departamento ser 1:N ou terá de ser necessáriamente M:N