base de dados curso ferias
TRANSCRIPT
![Page 1: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/1.jpg)
Centro de Formação São Domingos
ProjectoOi@cultura é partilha
You should be the change that you want to see in the world" ("Você deve ser a mudança que quer ver no mundo")
= Gandhi=
Curso de Base de Dados
![Page 2: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/2.jpg)
Frei Joaquim José Hangalo
Centro de Formação São DomingosUniversidade Católica de Angola
Base de dadosProgramação Java SE e Java EE Interacção Homem Máquina
Programação Web (Web Standards)
![Page 3: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/3.jpg)
Objectivo do curso
• Apresentar os fundamentos teóricos e práticos de base de dados e de sistemas de gestão da base de dados.
• Compreender os conceitos de modelagem, projecto de administração de bases de dados
![Page 4: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/4.jpg)
Conteúdo
Conceitos de Base de dadosModelagem e Projecto de Base de dadosModelo Entidade RelacionamentoNormalizaçãoConceitos e práticas para a construção e
manipulação de base de dados ( Linguagem SQL)
![Page 5: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/5.jpg)
Dinâmica das aulas
Exposição e PráticaExercícios em Sala de aulas
Trabalhos de casa
Enviar os trabalhos para: [email protected]
![Page 6: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/6.jpg)
Certificado do CursoDo Centro de Formação São Dominogos
Os alunos que tiverem bom aproveitamentoNos trabalhos durante a semana
Poderão posteriormente fazer o projectoE defende-lo conforme prática
Do Centro de Formação São Domingos
Enviar os trabalhos para: [email protected]
![Page 7: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/7.jpg)
Formas de Estudo
Não estudar pelos slidesEstudar através de livros, apostilas e outras
referencias indicadas
![Page 8: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/8.jpg)
Ferramentas a utilizar
Microsoft Access 2007
MYSQL
Mysql Workbench
![Page 9: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/9.jpg)
Outras Ferramentas
NetBeans 7.2
Astash
![Page 10: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/10.jpg)
![Page 11: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/11.jpg)
Bibliografica
Silberschatz, A, Korth, HF,; Sudarshan, S. Sistema de base de dados, Makron Books, 1999
A. Heuser, Carlos Alberto, Projeto de Banco de Dados, Instituto de Informática da UFTGS
Damas, L., SQL, FCA
![Page 12: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/12.jpg)
Introdução a base de dados
Conceitos
![Page 13: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/13.jpg)
Dados e Informação
Dado:Dados são todos os elementos que servem de
base para a formação de opiniões ou para a tomada de decisões. Um dados é apenas um índice, um registo, uma manifestação objectiva, passível de análise, exigindo interpretação da pessoa para a sua manipulação.
![Page 14: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/14.jpg)
Dados e Informação
Dado:Em si, os dados têm pouco valor, mas quando
classificados, armazenados e relacionados entre si, eles permitem a obtenção de informações.
A informação apresenta significado e intencionalidade, aspectos que a diferenciam do conceitos de dados.
![Page 15: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/15.jpg)
Dados e Informação
InformaçãoInformação é o dado processado, trabalhado,
que permite ao executivo tomar decisões. É o resultado do tratamento dos dados existentes a cerca de alguém ou de alguma coisa.
Pode-se definir também a informação como um conjunto de factos organizados de tal forma que adquirem valor adicional além do valor do facto em si.
![Page 16: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/16.jpg)
Base de dados
Conceitos e definições
![Page 17: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/17.jpg)
As bases de dados transformaram-se num componente essencial do dia-a-dia na sociedade moderna
Exemplo depositar ou retirar dinheiro do banco fazer uma reserva num hotel ou companhia aérea fazer pesquisa de itens numa biblioteca informatizada pesquisar preços de itens num supermercado
…
![Page 18: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/18.jpg)
As actividades acima são exemplos de aplicações tradicionais de base de dados. Onde a maioria das informações são armazenadas através de textos ou números.
Há poucos anos atrás, a tecnologia permitiu novas aplicações para base de dados
ExemplosBases de dados multimédia: armazenam figuras, som e vídeoSIGS – Sistemas de informação geográficas: armazenam e analisam mapas, tempo e imagem de satéliteSistemas em tempo real: controlo de fabrico e processo de manufactura.
![Page 19: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/19.jpg)
Base de dados: definições
Definições:É uma colecção de dados inter-relacionados,
representado informação sobre um domínio específico (conceito geral)
É uma colecção de dados relacionados referentes a um mesmo assunto e organizados de maneira útil com o propósito de servir de base para que o utilizador recupere informações, tire conclusões e tome decisões.
![Page 20: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/20.jpg)
Uma base de dados é uma colecção logicamente coerente de dados com algum significado inerente; um arranjo aleatório de dados não pode ser considerado uma base de dados.
![Page 21: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/21.jpg)
• Uma Base de Dados Relacional é um sistema de armazenamento de dados em forma tabular baseado nos relacionamentos entre elementos de dados buscando uma normalização (sem redundâncias) dos dados.
![Page 22: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/22.jpg)
Propriedades de uma base de dados• Uma base de dados é uma colecção
logicamente coerente de dados com algum significado inerente
• Uma base de dados é projectada, construída e “povoada” com dados para um propósito específico . A ela está relacionado um grupo de utilizadores e aplicações de interesse a estes utilizadores.
![Page 23: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/23.jpg)
Propriedades de uma base de dados• Uma base de dados representa um mini-
mundo. Representa algum aspecto do mundo real. Quaisquer alterações neste mundo real são reflectidas na base de dados.
![Page 24: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/24.jpg)
Uma base de dados pode ser de qualquer tamanho e variar de complexidade. Por exemplo, a lista de nomes, endereços e telefones de uso pessoal pode ter dezenas de registos e possui uma estrutura simples.
Por outro lado, o catálogo de livros de uma grande biblioteca pode ter milhares (ou milhoes) de registos, classificados e caracterizados com dados do autor (primeiro e ultimo nomes), título, editora, data de publicação, edição, etc
![Page 25: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/25.jpg)
Uma base de dados pode ser gerada e mantida manualmente ou por uma máquina. O catálogo ou ficheiro de uma biblioteca é um exemplo de uma base de dados criada e mantida manualmente.
Uma base de dados informatizada pode ser criada e mantida por:
• Um grupo de programas especialmente escritos para esta tarefa; ou
• Um sistema de gestão de base de dados.
![Page 26: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/26.jpg)
Sistema de Gestão de Base de DadosData Base Managemet System (DBMS)Um sistema de gestão de base de dados (SGBD)
é uma colecção de softwares(Programas) que habilitam o utilizador para a criação e manutenção uma base de dados. O SGBD é um software de propósitos gerais que facilita o processo de definição, construção e manipulação de bases de dados.
![Page 27: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/27.jpg)
Sistemas de Gestão de Bases de Dados (SGBD)
• São softwares que permitem a definição de estruturas para armazenamento de informações e fornecimento de mecanismos para manipula-las
![Page 28: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/28.jpg)
Sistemas de Gestão de Bases de Dados (SGBD)
• Exemplos
• Oracle• Microsoft SQL Server• Mysql• Micorosft Access• PostgreSQL• Etc.
![Page 29: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/29.jpg)
Recursos de um SGBD• Adição de novos ficheiros• Criação de novas bases de dados• Inserção de dados• Recuperação de dados• Actualização• Eliminação dos dados• Criação de visões• Atribuição de privilégios• ….
![Page 30: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/30.jpg)
Profissionais• Administrador de Bases de dados (Database
Administrator – DBA).• Coordena de monitora a utilização da(s) base(s) de dado(s) –
segurança, tempo de reposta, etc• Autoriza o acesso à base de dados• Ajusta o projecto físico quando necessário• Adquire software e hardware necessários
• Projectista de base de dados• Identifica os dados a serem armazenados na base de dados• Escolhe as estruturas apropriadas para representar e
armazenar estes dados• Faz o levantamento das necessidades dos utilizadores
(requisitos)
![Page 31: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/31.jpg)
Profissionais
• Programador de aplicações:• Escreve os programas aplicativos• Realiza requisições ao SGBD
• Utilizador final• Manipula a base de dados através de:
– Linguagens de consulta– Programas previamente desenvolvidos
• Tipos de utilizadores:– Leigos(operador de terminal) X sofisticados(engenheiros)– Casuais(gerentes) X frequentes (caixas de bancos)
![Page 32: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/32.jpg)
Tipos de Bases de Dados
Dois tiposAnalíticas (Datawarehouse)Operacionais
![Page 33: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/33.jpg)
Bases de dados analíticasSão fundamentalmente estáticas. Armazenam dados de arquivo histórico
Por exemplo, uma empresa poderia armazenar registos de vendas durante os últimos dez anos numa base de dados analítica e poderia utilizar esta base de dados para analisar estratégias de marketing.
![Page 34: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/34.jpg)
Bases de dados operacionais
São utilizadas para administrar dados mais dinâmicos. Estes tipos de base de dados permitem mais do que ver os dados arquivados.
As bases de dados operacionais permitem modificar aqueles dados (adicionar, alterar, apagar dados, etc…)
![Page 35: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/35.jpg)
Bases de dados operacionais
Normalmente são utilizadas para localizar informação em tempo real.
Por exemplo, uma companhia poderia utilizar uma base de dados operacional para saber a quantidade armazenada de um conjunto de produtos. Este tipo de informação é fundamental para gerir qualquer stock
![Page 36: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/36.jpg)
Modelo conceitual de dados
![Page 37: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/37.jpg)
Modelo conceitual de dados
Um modelo de dados é um conjunto de conceitos utilizados para descrever a estrutura de uma base de dados
Um modelo de dados é a descrição formal da estrutura de uma base de dados
Um modelo de dados permite identificar os dados de um determinado ambiente, as relações entres eles e as suas restrições de integridade.
![Page 38: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/38.jpg)
Modelo conceitual de dados
Estrutura: tipos de dados, relacionamentos e restrições que deve suportar os dados.
A maioria dos modelos inclui uma série de operações básicas para recuperações e actualizações.
![Page 39: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/39.jpg)
Modelo conceitual de dados
O Modelo de dadosdescreve o tipo de informação que vai ser armazenada numa base de dados.
Exemplo da industria:O modelo de dados informa:
• São armazenadas informações sobre produtos• Para cada produto, são armazenados o código, o preço e a
descrição
O Modelo de dados não informa• Quais produtos estão armazenados na base de dados
![Page 40: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/40.jpg)
Modelo conceitual de dados
O modelo conceitual de dados é a representação dos conceitos e características observadas no ambiente;
Tem como característica principal ignorar particularidades de implementação
![Page 41: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/41.jpg)
Modelo conceitual de dados
O modelo conceitual de dados é independente do tipo de SGBDregista
A estrutura dos dados que podem aparecer na base de dados;
Não registaa forma como estes dados estão armazenados a nível do SGBD
![Page 42: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/42.jpg)
Modelo conceitual de dados
O Modelo de dados é uma representação das necessidades de dados de um determinado ambiente e de como estes dados se relacionam
É uma das primeiras actividades que deve ser feita ao longo do processo de identificação e compreensão de um ambiente, tendo em vista as necessidades de automatização.
![Page 43: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/43.jpg)
Modelo conceitual de dados
Construir um modelo de dados significa: • colectar e documentar informações relevantes do ambiente
estudado;• representar as informações, de forma clara e objectiva, e
num formato padrão que possa facilitar o entendimento dos participantes do processo;
• definir, de maneira clara, o escopo do ambiente modelado• Adquirir o entendimento do ambiente através de
refinamentos sucessivos do modelo;• e representar graficamente as necessidades de informação
independentemente do Software e do Hardware a serem utilizados na implementação do Sistema
![Page 44: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/44.jpg)
Como qualquer representação é o resultado de um processo de abstracção
Durante esse processo de abstracção, objectos relevantes, associações entre eles e características (atributos) de objectos e associações são seleccionadas.
A relevância de um objecto, de uma associação ou de um atributo é determinada pelos objectivos do modelo.
![Page 45: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/45.jpg)
Modelo conceitual de dados
• Componentes de um modelo conceitual de dados
• Entidades• Tipo de entidades• Atributos• Relacionamentos• E dicionário de dados
![Page 46: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/46.jpg)
Modelo conceitual de dados
Modelos lógicos baseados em ObjectosModelo de Entidade x RelacionamentoModelo distribuídoModelo Relacional Orientado a Objecto
Modelos Lógicos Baseados em RegistosModelo HierárquicoModelo de Redes
![Page 47: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/47.jpg)
Modelos de Bases de Dados
• O desenvolvimento de uma base de dados
pode ser realizado segundo diferentes
modelos conceituais.
![Page 48: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/48.jpg)
Modelos de Bases de Dados
• Existem muitos modelos de bases de dados
mas, o mais conhecido e mais utilizado, é o
modelo Entidade – Relação, também
conhecido por Entidade – Relacionamento
ou, simplesmente, modelo ER.
![Page 49: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/49.jpg)
Modelo Entidade - Relacionamento
![Page 50: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/50.jpg)
É uma técnica desenvolvida para auxiliar em projectos de Base de dados
Características:Características:
1) Gráfica: permite representar o modelo de informação com:
• clareza;
• redução de esforço;
• facilidade de compreensão;
• facilidade de apresentação.
2) Baseado na percepção de que o mundo real é constituído de dois objetos:
• Entidade e relacionamentos.
Modelo Entidade-Relacionamento::
![Page 51: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/51.jpg)
Modelo Entidade-Relacionamento
• Criado e publicado por Peter Chen em 1976
• Técnica mais difundida de modelagem conceitual . É um padrão de fato para modelagem conceitual
• É representado através do diagrama entidade-relacionamento (DER)
![Page 52: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/52.jpg)
Modelo Entidade-Relacionamento
• O modelo ER especifica o esquema da base
de dados através da identificação dos
grandes objectos informacionais com
interesse para o sistema a informatizar e nas
relações entre estes.
![Page 53: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/53.jpg)
Modelo Entidade-Relacionamento
• Este modelo baseia-se na percepção de que o
mundo real é constituído por dois objectos:
– Entidades
–Relacionamentos
![Page 54: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/54.jpg)
Modelo Entidade-Relacionamento
Conceitos fundamentais da modelagem ER• Entidade• Atributo• Relacionamento• Cardinalidade
– Extensão do modelo ER• Generalização/especialização
54
![Page 55: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/55.jpg)
ENTIDADE
![Page 56: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/56.jpg)
• Entidade é tudo aquilo sobre o qual se deseja manter informações;
• são elementos relevantes, abstractos ou concretos, sobre
os quais é necessário guardar informação.– Representam pessoas ou objectos que existem no mundo real, e
sobre os quais se quer guardar informações
– denota um conjunto de ocorrências de um facto
• Dica: Numa especificação(problema) são os
substantivos
![Page 57: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/57.jpg)
• Uma entidade representa um objecto do mundo real que possui existência própria e cujas características ou propriedades desejamos armazenar. O objecto representado pode ser um objecto concreto (uma pessoa, um carro, um livro, etc) ou abstracto (um departamento, um projecto, um curso).
![Page 58: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/58.jpg)
• Às características do objecto que desejamos armazenar damos o nome de atributos. Cada atributo de uma entidade possui um nome e um valor específico.
![Page 59: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/59.jpg)
Entidade
• Podendo representar :
a)Objectos concretos como Pessoas, livros, carros...
b)Objectos abstractos como empresas, eventos, departamentos...
![Page 60: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/60.jpg)
Entidade
• São representadas no DER através de um rectângulo com o nome no interior
Convenção: escreve o nome das entidade no singular com a primeira letra maiúscula.
![Page 61: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/61.jpg)
Exemplos:
Pessoas (Fornecedores, Empregados, Clientes, Alunos, etc.)
Organizações (Empresas, Hospitais, Escolas, Farmácias, etc.)
Objetos (Carro, Factura, Produtos, etc.)
Símbolo:Símbolo:
Entidade
![Page 62: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/62.jpg)
Entidade
• Exemplos• Sistema de informações industrial
• Produtos• Tipos de produtos• Compras• Vendas
• Sistema de contas corrente ?
62
• Clientes
• Contas corrente
• Cheques
• Agências
![Page 63: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/63.jpg)
Exercício
• Identificar entidades
63
Deseja-se construir uma base de dados para um sistema de vendas. Em cada venda são vendidos vários produtos e um determinado produto pode aparecer em diferentes vendas. Cada venda é efetuada por um vendedor a um determinado cliente. Um produto está armazenado numa prateleira de uma estante de um determinado armazem. Um armazem pode ter várias estantes.
![Page 64: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/64.jpg)
• Identificar entidades
Nma clínica trabalham médicos e existem pacientes internados. Cada médico é identificado pelo seu CM (código de Médico), possui um nome e recebe um salário na clínica. Um médico tem formação em diversas especialidades (ortopedia, traumatologia, etc), mas só exerce uma delas na clínica.
Para todo paciente internado na clínica são cadastrados alguns dados pessoais: nome, endereço, telefone(s) para contacto, data do nascimento e sexo. Um paciente tem sempre um determinado médico como responsável (com um horário de visita diário predeterminado), porém vários outros médicos podem participar do seu tratamento. Os pacientes estão sempre internados em quartos individuais, que são identificados por um número e ficam num andar da clínica.
ExercícioExercício
![Page 65: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/65.jpg)
ATRIBUTOS
![Page 66: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/66.jpg)
Atributo
São as propriedades que caracterizam ou descrevem uma entidade ou um relacionamento;
Dado ou informação que é associado a cada ocorrência de uma entidade ou de um relacionamento
![Page 67: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/67.jpg)
• Um atributo corresponde a alguma propriedade de interesse que ajuda a descrever uma entidade, como o nome do funcionário ou seu salário
![Page 68: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/68.jpg)
• Exemplo: A entidade CARRO poderia ter os seguintes atributos : Placa, modelo, ano de fabrico, cor, preço;
• Cada atributo possui um domínio que identifica o conjunto de valores permitidos para aquele atributo: nome domínio string, salário domínio numérico;
![Page 69: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/69.jpg)
• Atributos– Representação Gráfica
nomeDoAtributo
![Page 70: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/70.jpg)
TIPOS DE ATRIBUTOS
![Page 71: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/71.jpg)
• Diversos tipos de atributos ocorrem no modelo ER: • simples versus composto,• monovalorado ou univalorado versus
multivalorado,• e armazenado versus derivado.• Nulo
![Page 72: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/72.jpg)
Atributos Simples (Atómicos).
• Não é possível decompor esses atributos em
unidades mais elementares.
• Exemplo:
– N.º de aluno, salário, nome próprio...
![Page 73: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/73.jpg)
Tipos de atributos
• Compostos – São atributos que podem ser
decompostos em unidades mais elementares.
• Exemplo:
– O nome completo de uma pessoa pode ser
decomposto em nome próprio e sobrenome.
![Page 74: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/74.jpg)
• Os atributos compostos podem ser divididos em subpartes menores, que representam a maioria dos atributos básicos com significados independentes.
• Por exemplo, o atributo Endereço, pode ser subdividido:
• em Rua, Município, Bairro, Casa...
![Page 75: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/75.jpg)
• O valor de um atributo composto é a concatenação dos valores componentes dos seus atributos simples
![Page 76: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/76.jpg)
• Os atributos compostos são úteis para modelar as situações nas quais o utilizador algumas vezes refere-se ao atributo como um grupo e, noutras ocasiões, refere-se especificamente a um de seus componentes.
![Page 77: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/77.jpg)
• Se o atributo composto é referido apenas como um todo, não há necessidade de subdividi-lo em atributos componentes.
• Por exemplo, se não é necessário referir-se a um componente individual de um endereço (Caixa Postal, rua, e assim por diante), então o endereço pode ser definido como um atributo simples.
![Page 78: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/78.jpg)
Tipos de atributos
• Compostos• Representação gráfica
Os atributos compostos são implementados pelas suas partes
![Page 79: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/79.jpg)
Atributos mono valorados• São atributos que para uma mesma entidade
só recebem um valor.• A maioria dos atributos tem um valor único
para uma dada entidade;• Por exemplo, data de nascimento é um
atributo mono valorado de uma pessoa.
![Page 80: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/80.jpg)
Tipos de atributos
• Multivalorados – são atributos que para uma
mesma entidade podem receber dois ou mais
valores.
![Page 81: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/81.jpg)
• um atributo pode ter um conjunto de valores para a mesma entidade — por exemplo, um atributo Cor para um carro ou um atributo Titulação para uma pessoa. Os carros com uma cor têm um valor único, enquanto aqueles com dois tons contêm dois valores para Cor.
![Page 82: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/82.jpg)
• Da mesma forma, uma pessoa pode não ter um título académico, outra pessoa pode ter um e, uma terceira pessoa, dois ou mais títulos, portanto, pessoas diferentes podem ter números de valores diferentes para o atributo Titulação.
![Page 83: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/83.jpg)
• Um atributo multivalorado deve ter limite inferior e superior para restringir o número de valores permitidos a cada entidade individual.
• Por exemplo, o atributo Cor de um carro pode ter entre um e três valores, se presumirmos que um carro possa ter, no máximo, três cores.
![Page 84: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/84.jpg)
Tipos de atributos
• Multivalorados• Representação gráfica
![Page 85: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/85.jpg)
• No processo de implementação de atributos multivalorados é importante considerar dois aspectos:
• 1) Quando a quantidade de valores é pequena e conhecida a priori. Substitui-se o atributo multivalorado por um conjunto de atributos de mesmo domínio, cada um representando a ocorrência de um valor.
• 2) Quando a quantidade de valores é muito grande, variável ou desconhecida.
• Retira-se da tabela o atributo multivalorado, e cria- se uma nova tabela que tem o mesmo conjunto de atributos chave, mais o atributo multivalorado como chave, porém tomado como monovalorado.
![Page 86: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/86.jpg)
• Atributos Armazenados versus Derivados.• Em alguns casos, dois (ou mais) valores de atributos
estão relacionados — por exemplo, os atributos Idade e DataNascimento de uma pessoa.
• Para uma entidade pessoa em particular, o valor de Idade pode ser determinado pela data corrente (hoje) e o valor de DataNascimento da pessoa. Portanto, o atributo Idade é chamado atributo derivado, e é dito derivado do atributo DataNascimento, que, por sua vez, é chamado atributo armazenado.
![Page 87: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/87.jpg)
• Alguns valores de atributos podem ser derivados de entidades relacionadas; por exemplo, um atributo NumerodeEmpregados, de uma entidade departamento, pode ser derivado da contagem do número de empregados relacionados (que trabalham) neste departamento.
• Atributos derivados – podem ser calculados a partir de outros atributos
No digrama são representados com uma elipse com os limites descontínuos
![Page 88: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/88.jpg)
NulosNulo – é utilizado quando uma entidade não possui ou desconhece o valor de um determinado atributo
Exemplo: Um funcionário que não possua dependentes terá o valor do atributo nomeDependente nulo.
![Page 89: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/89.jpg)
• A representação de um atributo sem valor é colocarmos um valor especial null.
• Null também pode ser utilizado quando não conhecemos o valor de um atributo, por exemplo, quando é desconhecida a data de nascimento de uma pessoa.
![Page 90: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/90.jpg)
RELACIONAMENTOS
![Page 91: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/91.jpg)
• Ao definir as entidades componentes de um diagrama entidade relacionamento, nota-se vários relacionamentos implícitos entre elas. De facto, sempre que um atributo de um tipo de entidade refere-se a um outro tipo de entidade, temos um relacionamento entre as entidades.
![Page 92: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/92.jpg)
Relacionamento
• Um relacionamento consiste numa associação entre entidades do negócio. Mais concretamente, se se vir uma entidade como um conjunto de ocorrências, existe um relacionamento entre entidades se ocorrências de uma destas entidades estiverem associadas a uma ou mais ocorrências de outras entidades.
• Associações entre entidades estabelecidas de acordo com as necessidades de gestão.
![Page 93: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/93.jpg)
• conceito utilizado para indicar associações entre elementos de diferentes conjuntos de entidades. Um relacionamento binário é um par ordenado (e1, e2) onde e1 e e2 são respectivamente elementos de E1 e E2.
• Conjunto de relacionamentos – conjunto dos pares ordenados que associam entidades. A representação gráfica desse conjunto é um losango.
![Page 94: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/94.jpg)
• Conjunto de relacionamentos são representados graficamente por meio de losangos contendo o nome do tipo de relacionamento conectados aos conjuntos de entidades cujos elementos ele associa
Funcionáriotrabalha no
Departamento
![Page 95: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/95.jpg)
CLASSIFICAÇÃO DOS RELACIONAMENTOS
![Page 96: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/96.jpg)
Classificação dos relacionamentos
Os Relacionamentos são classificados de acordo com as características ✔ Grau• Número de entidades envolvidas no relacionamento ✔ Obrigatoriedade• Entidades participam com carácter opcional ou
obrigatório no relacionamento ✔ Cardinalidade• Relação entre o número de ocorrências numa
entidade com as respectivas ocorrências na outra com que tem o relacionamento
![Page 97: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/97.jpg)
Grau dos Relacionamentos
Unário || Binários || n-ários
O grau de um relacionamento corresponde ao numero dediferentes tipos de entidades que dele participam. Os relacionamentos podem associar um numero qualquer de tipos entidades. Os relacionamentos mais comuns são aqueles degrau dois (relacionamentos binários).
![Page 98: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/98.jpg)
• Relacionamentos do tipo Trabalha NO, por exemplo, possuem grau dois. Um exemplo de tipo relacionamento ternário e FORNECE.
• Ele associa os tipos de entidades FORNECEDOR, PECA e PROJECTO
![Page 99: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/99.jpg)
Grau dos Relacionamentos
Unário || Binários || n-ários
![Page 100: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/100.jpg)
Atributos de um relacionamento• Atributos de um relacionamento: assim como no caso das
entidades, os relacionamentos também podem possuir certos atributos.
• O numero de horas que um funcionário trabalha num projecto, por exemplo, pode ser visto como um atributo do conjunto de relacionamentos DESENVOLVE
![Page 101: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/101.jpg)
Obrigatoriedade dos Relacionamentos
• A participação de entidades A e B num relacionamento podem ser obrigatória ou opcional
![Page 102: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/102.jpg)
Restrição de Participação
• Restrição de Participação: determina se a existência de uma entidade esta condicionada ou não ao seu relacionamento com outra entidade.
• Existem dois tipos de restrições de participação: total e parcial. Na primeira, uma entidade existe somente quando ela se relaciona com outra entidade via um relacionamento.
• Por exemplo, se a politica da empresa determina que todo funcionário deve trabalhar em um departamento, então a participação de FUNCIONARIO em TRABALHA NO é total
![Page 103: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/103.jpg)
Restrição de Participação
• Caso contrario, ou seja, se a existência de uma entidade é independente do facto dela estar relacionada com outra, tem-se uma restrição de participação parcial.
• A participação de FUNCION ARIO em DESENVOLVE, por exemplo, é parcial. Ou seja, nem todo funcionário precisa desenvolver um projecto dentro da empresa.
• A restrição de participação total e representada graficamente por meio de linhas duplas ligando o conjunto de entidades ao conjunto de relacionamentos. Já a participação parcial e representada por meio de linhas simples.
![Page 104: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/104.jpg)
Cardinalidade dos RelacionamentosA cardinalidade de um relacionamento consiste no
número relacionado de ocorrências para cada uma das entidades envolvidas no relacionamento
• Dadas duas entidades A e B as mais habituais são ✔ Relacionamento 1:1 ✔ Relacionamento 1:N (um para muitos) ✔ Relacionamento M:N (muitos para muitos)
Notação Crow Foot
![Page 105: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/105.jpg)
Cardinalidade dos Relacionamentos
Funcionário Departamentocolocado1N
Os símbolos “1” e “N” nas arestas de ligação determinam a cardinalidade ou classe do relacionamento
![Page 106: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/106.jpg)
“N para 1” ou “muitos para um” ou “N:1”
• Uma entidade em A está associada a várias entidades em B. Entretanto, uma entidade em B, deve estar associada a no máximo uma entidade em A
Exemplo: Uma turma tem vários alunos, mas um aluno só pertence a uma turma
![Page 107: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/107.jpg)
“1 para 1” ou “1:1” - Um para um (1:1)
• Uma entidade em A está associada no máximo a uma entidade em B, e uma entidade em B está associada a no máximo uma entidade em A
Exemplo: Um empregado está associado no máximo a um carro, e um carro está associado no máximo a um empregado
![Page 108: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/108.jpg)
“N para N” ou “muitos para muitos” ou “N:M”
Uma entidade em A está associada a um número qualquer de entidades em B, e uma entidade em B está associada a um número qualquer de entidades em A
Exemplo: Uma conta pode estar associada a mais do que um cliente, e um cliente pode ter mais do que uma conta associada
![Page 109: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/109.jpg)
CHAVES
![Page 110: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/110.jpg)
Chaves
• Um conceito fundamental no contexto do modelo entidade-relacionamento é o de “chave”.
• Existem diferentes tipos de chaves:• Chave Candidata• Super-Chave• Chave Primária• Chave estrangeira (externa):
![Page 111: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/111.jpg)
Chaves• Chave Candidata: Subconjunto dos atributos de
uma entidade que podem ser utilizados como identificadores de uma instância. O subconjunto não pode ser reduzido sem perder esta qualidade.
Exemplos: {BI},{Contribuinte},{Eleitor, Município}
![Page 112: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/112.jpg)
Chaves• Super-Chave: O conceito de super-chave é mais
abrangente que o de “chave candidata” definido anteriormente. Qualquer subconjunto de atributos de uma entidade que possa identificar univocamente qualquer instância da entidade é considerado uma super-chave
Exemplos: {BI}, {BI, nome}, {Nº Eleitor, Municipio}, {Nº Eleitor, BI}, {Nº Eleitor, BI, Nome}, { Nome, BI, Nº Contribuinte, Nº Eleitor, Município}
No limite, o conjunto de todos os atributos de uma entidade será sempre uma super-chave.
![Page 113: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/113.jpg)
Chaves• Chave Primária: Escolhida entre as possíveis
chaves candidatas, identifica de forma unívoca instancias de uma entidade. Deve respeitar as seguintes propriedades:
• Unívoca: Os atributos da chave primária têm um valor único para qualquer instancia de uma entidade.
• Não redundante: Se algum dos atributos for retirado da chave, os restantes atributos deixam de satisfazer a propriedade anterior.
• Não nula. Nenhum dos atributos que a constituem pode assumir o valor nulo.
![Page 114: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/114.jpg)
A chave primária também é chamada atributo identificador
O identificador de uma entidade, é o atributo (ou composição de atributos) que identifica esta entidade – ou melhor, identifica inequivocamente uma e só uma ocorrência desta entidade.
![Page 115: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/115.jpg)
Chaves
• Chave Primária: Escolhida entre as possíveis chaves candidatas, identifica de forma unívoca instancias de uma entidade.
![Page 116: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/116.jpg)
• Chave estrangeira (externa): Subconjunto dos atributos de uma entidade que constituem a chave primária de uma outra entidade. A sua existência denota um relacionamento entre entidades e constitui a base do modelo relacional.
• É um atributo que definido como chave primária numa entidade é colocado (na implementação) na estrutura da outra, para se poder definir o relacionamento.
![Page 117: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/117.jpg)
Chave estrangeira - Cardinalidade
• Num relacionamento 1:1 com participação obrigatória de ambas as entidades, é necessária apenas uma tabela, que representa ambas entidades e o relacionamento. Os identificadores de ambas entidades são chaves candidatas
• Num relacionamento 1:1 com classe de participação obrigatória de apenas uma das entidades, são necessárias duas tabela.
• A tabela que representa a entidade que tem participação obrigatória no relacionamento receberá a chave estrangeira (chave primária da outra entidade)
cadeira professorlecciona
![Page 118: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/118.jpg)
Chave estrangeira - Cardinalidade
• Num relacionamento 1:1 sem classe de participação obrigatória de nenhuma das entidades, são necessárias três tabelas, duas para representada cada uma das entidades em que a chave primeira é o identificador da respectiva entidade e outra para representar o relacionamento que incluirá os identificadores de ambas as entidades
cadeira professorlecciona
![Page 119: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/119.jpg)
Chave estrangeira - Cardinalidade
• Num relacionamento 1: N com classe de participação obrigatória da entidade do lado N, são necessárias duas tabelas, cada uma representado uma das entidade em que a chave primária é o identificador da respectiva entidade. Para além disso a tabela que representa a entidade do lado N representará também o relacionamento, incluindo assim como chave estrangeira o identificador da outra entidade.
cadeira professorlecciona
![Page 120: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/120.jpg)
Chave estrangeira - Cardinalidade
• Num relacionamento M: N são necessárias três tabelas, duas para representada cada uma das entidades em que a chave primeira é o identificador da respectiva entidade e outra para representar o relacionamento que incluirá os identificadores de ambas as entidades
cadeira professorlecciona
![Page 121: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/121.jpg)
ENTIDADES FRACAS
![Page 122: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/122.jpg)
• Um conjunto de entidades pode não ter atributos suficientes para formar uma chave primária. São os conjuntos de entidades fracas.
• Um conjunto de entidades que possui uma chave primária é dito forte.
![Page 123: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/123.jpg)
• A chave primária de um conjunto de entidades fracas é composto pela chave primárias do conjunto de entidades fortes ao qual a existência do primeiro está associada mais o identificador do conjunto de entidades fraca.
• O relacionamento que associa o conjunto de entidades fracas a seu proprietário é o relacionamento identificador.
![Page 124: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/124.jpg)
• Uma entidade fraca sempre possui uma restrição de participação total(dependência de existência) com relação a seu relacionamento identificador, porque uma entidade fraca não pode ser identificada sem uma entidade proprietária
• Ao contrário, tipos de entidades regulares que efectivamente possuem um atributo chave são às vezes chamados tipos de entidade fortes.
• As entidades fracas precisam estar relacionadas com uma entidade pertencente ao tipo de entidade proprietária ou identificadora.
• O relacionamento entre ambas é chamado de relacionamento identificador.
![Page 125: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/125.jpg)
EXERCÍCIOS
![Page 126: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/126.jpg)
Para cada uma das situações abaixo, construa um diagrama de entidades e relações que descreva a informação, e proponha um conjunto de tabelas correspondente ao diagrama.
![Page 127: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/127.jpg)
Situação 1Uma transportadora aérea pretende implementar uma
base de dados com a seguinte informação:A transportadora tem vários aviões. Cada avião tem, para
além da matrícula, um nome, a marca do avião, o número de lugares, e indicação da sua autonomia.
Na transportadora trabalham vários pilotos.Cada avião faz vários voos. Cada voo deve ter, pelo
menos, a indicação da data e hora em que se efectua, dos locais de partida e de destino.
Cada voo de um dado avião é pilotado por um piloto.
![Page 128: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/128.jpg)
Situação 2Uma fábrica pretende implementar uma base de dados para gerir os
"stocks" dos seus armazéns, as encomendas, e as vendas. Para tornar o problema menos extenso, não vamos aqui considerar a parte relativa às vendas. Há assim que ter em conta que:
A empresa comercializa vários produtos, cada um dos quais com um código, um nome, e um preço. Em cada momento a empresa deve ainda saber qual a quantidade existente no armazém de cada um dos produtos.
Uma encomenda, que deve ter um número de encomenda e a data em que foi feita, pode ter vários produtos, mas diz respeito apenas a um fornecedor.
De cada fornecedor a empresa deseja guardar a informação do seu nome, número de contribuinte, morada, forma de pagamento, prazo de pagamento, e um código interno de tipo de fornecedor.
![Page 129: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/129.jpg)
Situação 3Um grupo de docentes pretende organizar uma conferência e, para guardar
toda a informação relevante, vai ter que criar uma base de dados.Na conferência são apresentados vários artigos, cada um dos quais com um
título e um número. Cada artigo tem um ou mais autores. De cada autor, pretende armazenar-se para além do nome, o endereço deemail, e o nome e morada da instituição a que estão associados.
Há ainda a informação relativa aos participantes na conferência. De cada a participante deverá ser retida a informação do seu nome, morada e endereço de email. Além disso, distingue-se entre os participantes que são estudantes e os que não são. Cada participante não estudante tem de pagar antecipadamente a inscrição por transferência bancária, pelo que é necessário guardar o número da transação. Para não pagar, o estudante tem de enviar antecipadamente um certificado e na base de dados deve ser armazenado o nome da universidade que o passou.
![Page 130: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/130.jpg)
Situação 4Uma clínica médica pretende informatizar os seus serviços. Para já querem
começar por informatizar os dados referentes a médicos, a clientes (ou pacientes) e a consultas.
Na clínica trabalham vários médicos, de várias especialidades diferentes. De cada médico, identificado internamente por um número de empregado, a clínica pretende armazenar o nome, especialidade, morada e telefone.
Como é usual, os médicos dão consultas a clientes. A clínica pretende ter sempre disponível a informação dos nomes e moradas dos seus clientes.
A cada consulta está associado um só médico e um só cliente. Actualmente as consultas são numeradas para cada um dos médicos, ou seja para cada médico há uma consulta 1, uma consulta 2, etc. Para a clínica é importante manter este sistema de identificação das consultas, por forma a poderem ser introduzidos dados relativos ao tempo em que a clínica ainda não estava informatizada. Da consulta pretende armazenar-se a data em que ocorreu, bem como os vários fármacos que foram receitados pelo médico na consulta.
![Page 131: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/131.jpg)
Situação 5Um empresa de compra e vende de imóveis pretende informatizar os seus
serviços.A empresa tem vários casas para venda, cada uma das quais pertencente a
um cliente da empresa. Da casa a empresa quer ter disponível a zona de localização, o número de assoalhadas, o preço e o ano de construção. Dos clientes deve ser armazenado o seu nome, morada e nº de telefone. Um mesmo cliente pode ter várias casas para venda na empresa. Claro está que, nesses casos, não se quer repetir a informação da morada e nº de telefone do cliente.
Há ainda os clientes da empresa que, em vez de quererem vender casas, querem comprar. Desses deve ser armazenado, para além da informação que se guarda dos outros clientes, a informação acerca dos interesses do cliente. Dos interesses fazem parte o nº de assoalhadas e zona de localização da casa que pretendem comprar. Um cliente pode ter interesse por vários tipos de casas diferentes.
De cada casa que esteja para venda na empresa, deve ainda ser armazenada a informação de que clientes já a visitaram, e quando.
![Page 132: Base de Dados Curso Ferias](https://reader035.vdocuments.pub/reader035/viewer/2022081502/55721032497959fc0b8cc89e/html5/thumbnails/132.jpg)
Situação 6Pretende-se desenvolver uma base de dados para armazenar informação duma
biblioteca. Tal base de dados deverá conter pelo menos informação referente a:todos os títulos existentes na biblioteca incluindo, de cada um deles, o ISBN (que é um
código atribuído a nível internacional e que identifica univocamente um livro), o nome, o ou os autores, a editora, os descritores do livro, a sua classificação;
as localizações (e.g. o nº da prateleira) onde se devem encontram os vários livros (ou exemplares) de cada um dos títulos;
as informação relevantes sobre as editoras (como nome, telefone, morada, fax, etc);os leitores da biblioteca, cada um dos quais com um nº de leitor. Dos leitores, a
biblioteca pretende ainda ter mais alguma informação disponível, como o nome, morada, etc;
a biblioteca pretende, como é natural, ter disponível a informação de que leitores têm que livros requisitados.
Notas: Os descritores dos livros são como "palavras-chave" que dão indicações sobre os temas abordados pelos livros. Para uniformizar, os descritores não são livres, mas escolhidos de entre uma lista de possíveis descritores, sendo cada um deles identificado por um código.