Modelagem de Dados. Fases do Projeto de um Banco de Dados. Modelo ER. Exemplo de Aplicação de Banco de Dados

Documentos relacionados
Exemplo: para o tipo de entidade Empregado, Exemplo: para o tipo de entidade fraca Dependente,

2. Revisão de Modelagem Conceitual

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro

Introdução. Modelo de dados conceitual para o projeto de BD

Banco de Dados. Aula 3 - Prof. Bruno Moreno 26/08/2011

Unidade 2 Modelo Conceitual

Modelagem semântica permite aproximar o modelo obtido do mundo real Exemplo de modelos:

Modelo Entidade-Relacionamento

Revisão e Exercícios. Relacionamento. Projeto de Bancos de Dados. Chave e Domínio. Tipos de Atributos

Projeto Lógico de Bancos de Dados Relacionais

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

18/03/2012. Independência de Dados: capacidade de modificar a definição dos esquemas em. determinado nível, sem afetar o esquema do nível superior;

MC536. Modelo Entidade- Relacionamento

Bancos de Dados. 7. Mapeamento ER/ERE para Relacional

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1/64

Modelagem Conceitual e o Modelo Entidade-Relacionamento

Bases de Dados. Parte III. O Modelo Relacional

Modelagem de dados usando MER. Andre Noel

Modelagem Conceitual parte II

Fundamentos de Banco de Dados e Modelagem de Dados

Um modelo de dados, além de definir estruturas e restrições, deve definir um conjunto de operações para manipular os dados.

Modelagem de Dados Usando o Modelo Entidade-Relacionamento (ME-R)

MC536. Modelo Relacional

Modelo de dados relacional e as restrições de um BD relacional

Sistemas de Banco de Dados Prof. Flávio de Oliveira Silva, M.Sc. O esquema de uma relação é escrito da seguinte forma:

Revisão e Dicas de Projeto Conceitual Modelo ER

Modelagem de Dados MODELAGEM DE DADOS. Projeto de Banco de Dados Modelo Conceitual. Profa. Rosemary Melo

Banco de Dados. André Luís Duarte Capítulo 2. exatasfepi.com.br

Modelo Lógico de Dados. Modelo Relacional

BANCO DE DADOS E APLICAÇÕES EM NEGÓCIOS: Modelagem usando o Modelo Entidade Relacionamento. Evandro Eduardo Seron Ruiz, Ph.D.!

Modelo Relacional. Relacionamento. Processo de Projeto de. Programa. Modelo Entidade Relacionamento

Bancos de Dados Aula #2 - Modelos Conceituais de Dados

O que é modelo lógico. Tipos de modelo

Modelo Entidade-Relacionamento. Aécio Costa

Projeto Banco de Dados

Modelo Relacional. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012

UERJ Oscar Luiz Monteiro de Farias 1. Bancos de Dados. Mestrado em Engenharia de Computação área de concentração Geomática

Aula 4 SBD Modelo Entidade Relacionamento Parte 2. Profa. Elaine Faria UFU

Modelo Entidade Relacionamento

Modelagem de Dados MODELAGEM DE DADOS. Projeto de Banco de Dados Modelo Conceitual. Profa. Rosemary Melo

MATA60 BANCO DE DADOS Aula 5- Modelo Relacional. Prof. Daniela Barreiro Claro

1. MINI MUNDO Descrição formal da realidade a ser representada. Exemplo: suponhamos que as Faculdades Dom Bosco funcionem assim:

MODELAGEM DE DADOS. Projeto de Banco de Dados Modelo Conceitual. Prof. Rosemary Melo

PCS3413 Engenharia de Software e Banco de Dados

Modelo Entidade Relacionamento Estendido (ERE)

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE BANCO DE DADOS MODELO ENTIDADE- RELACIONAMENTO

M odulo de Potencia c ao e D ızimas Peri odicas Nota c ao Cient ıfica e D ızimas Oitavo Ano

O Modelo ER. Bases de Dados (CC2005) Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto

Banco de Dados. Modelo de Dados Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai DCC-IME-USP

Banco de Dados. Aula 6 - Prof. Bruno Moreno 09/09/2011

MODELAGEM DE DADOS PARTE 2

Função par e função ímpar

Modelo Relacional Prof. Msc Denival A. dos Santos

GES013 Sistema de Banco de Dados Modelo de Entidade-Relacionamento (ER)

Introdução ao Modelo Relacional

Cap. 6. Definição e métodos de resolução do problema de valores de fronteira

Bases de Dados. Parte II Os Modelos ER e EER

Ciclo de Desenvolvimento de BD

António Rocha Nuno Melo e Castro

INTRODUÇÃO AO MODELO RELACIONAL

Bases de Dados. Parte II. Os Modelos ER e EER

FICHA de AVALIAÇÃO de MATEMÁTICA A 12.º Ano de escolaridade Versão.4

Revisando Banco de Dados. Modelo Relacional

Cadeias de Markov. Andrei Andreyevich Markov (*1856, Ryazan, Russia; 1922, São Petersburgo, Russia).

Cadeias de Markov. 1. Introdução. Modelagem e Simulação - Cadeias de Markov

MER e DER Entidades Relacionamentos Atributos Ferramentas CASE Exemplos de DERs Exemplo de Minimundo. Banco de Dados. Aula 1.

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

Unidade 4 Projeto de BD Relacional

Bancos (Bases) de Dados Aula #4 Modelo Relacional

MODELAGEM DE DADOS PARTE 1

SISTEMA DE INFORMAÇÃO Modelo Conceitual. Prof. Luiz Fernando Laguardia Campos FMS

1. MINI MUNDO Descrição formal da realidade a ser representada. Exemplo: suponhamos que as Faculdades Dom Bosco funcionem assim:

GEE051 - Banco de Dados Projeto de BD Projeto Conceitual. Ilmério Reis da Silva UFU/FACOM /2

Análise e Projeto de Sistemas

Tornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance.

Banco de Dados I 3 Modelagem de Dados Lógico e Físico

Banco de Dados Mapeamento Entidade Relacionamento para Relacional

Prof. Fabiano Taguchi

matematicaconcursos.blogspot.com

Modelo Relacional. Banco de Dados 2º trimestre Prof. Patrícia Lucas

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Capítulo 7 - Wattímetros

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Banco de Dados I Parte II a: Abordagem Entidade-Relacionamento

Herança. Herança. Especialização. Especialização

Modelo Relacional. Aula 02

MODELO DE BANCO DE DADOS RELACIONAL

Tópico: Modelagem CONTEÚDO PROGRAMÁTICO

BANCO DE DADOS. Engenharia da Computação Univasf. Modelo Entidade-Relacionamento. Aula 2. Conjuntos de Entidades - Representação Exemplo:

SIMULADO. 05) Atribuindo-se todos os possíveis valores lógicos V ou F às proposições A e B, a proposição [( A) B] A terá três valores lógicos F.

Banco de Dados I Modelagem Conceitual

Professor Eros Moura, DSc

Capítulo 2 Modelo Entidade- Relacionamento. Prof. Mario Dantas

Material de Apoio-Tecnologia em Análise e Desenvolvimentos de Sistemas Prof Marcos do Nascimento - MATEMÁTICA DISCRETA I

BDI Capitulo 2 Revisão 9

FICHA de AVALIAÇÃO de MATEMÁTICA A 12.º Ano de escolaridade Versão.3

IEC Banco de Dados I Aula 08 Modelo E. E. R.

UNIVERSIDADE CATÓLICA PORTUGUESA Faculdade de Ciências Económicas e Empresariais. Microeconomia

Transcrição:

Fases do Projeto de um Banco de Dados Modelagem de Dados Tóicos Eseciais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino de Ciências MPEC 2 Modelo ER Exemlo de Alicação de Banco de Dados O Modelo de Entidades e Relacionamentos (MER) é um modelo conceitual usado ara rojeto de alicações de banco de dados. É um modelo baseado na erceção do mundo real como conjuntos de objetos básicos chamados entidades e nos relacionamentos entre esses objetos. É indeendente de asectos de imlementação. 3 Deseja-se criar um BD "Emresa" que controla emregados, deartamentos e rojetos de uma emresa. Aós a fase de coleta e análise dos requisitos, os rojetistas declararam a seguinte descrição do "mini-mundo": A emresa é organizada em deartamentos. Cada deartamento ossui um único, um código único e um determinado emregado que gerencia o deartamento. Acomanha-se a data inicial que o emregado começou a gerenciar o deartamento. Um deartamento ode ossuir diversas localizações. Um deartamento controla um número de rojetos onde cada um deles ossui um único, um código único e uma localização única. 4

Exemlo de Alicação de Banco de Dados Armazenam-se o, o número da seguridade social, o endereço, o salário, o sexo e a data de nascimento de cada emregado. Um emregado é alocado a um único deartamento, mas ode trabalhar em diversos rojetos, que não são necessariamente controlados elo mesmo deartamento. Acomanha-se o número de horas or semana que um emregado trabalha em cada rojeto. Também acomanha-se o suervisor direto de cada emregado. Acomanham-se os deendentes de cada emregado ara fins de seguridade social. São mantidos, ara cada deendente, o, o sexo, a data de nascimento e o grau de arentesco com o emregado. 5 6 Entidade Atributo Entidade é um objeto que existe no mundo real e é distinguível dos outros objetos. Exemlos: O emregado João da Silva com o CPF 890.23.456 O estudante José Carlos Albuquerque com matrícula 2.034 Tio de Entidade define uma coleção de entidades que ossuem os mesmos atributos. Descreve o esquema ara um conjunto de entidades. Conjunto de Entidades é uma coleção das instâncias de entidades de um determinado tio de entidade. e Exemlo: o conjunto de todos os emregados ode ser definido como um conjunto e2 de entidades. e3 7 Atributo é uma roriedade que descreve uma característica articular de uma entidade. Ex.: uma entidade tem os atributos, CPF, endereço, salário, sexo e data de nascimento com os valores "João da Silva", "890.23.456", "Contorno, 900, Centro", R$.500,00, "M" e 20/0/970, resectivamente. Os atributos odem ser dos seguintes tios: Simles (atômicos) ou Comostos: os atributos simles são indivisíveis e os atributos comostos odem ser divididos em subartes menores. Ex.: o atributo da entidade ode ser dividido em rimeiro e sobre. Assim, é um atributo comosto. O atributo salário é simles. 8

Atributo Atributo Mono-valorados ou Multi-valorados: os atributos monovalorados têm um único valor ara uma entidade articular e os atributos multi-valorados odem ter um conjunto de valores. Ex.: o atributo da entidade Deartamento é um atributo mono-valorado e o atributo localizações é multi-valorado (um deartamento ode estar localizado em mais de lugar). Armazenados ou Derivados: os atributos derivados odem ser obtidos a artir dos atributos armazenados (e ortanto não recisam ser armazenados no banco de dados). Ex.: o atributo no_de_emregados da entidade Deartamento ode ser calculado através do relacionamento trabalha_ara com a entidade. Um atributo idade ode ser calculado a artir de um atributo data de nascimento. 9 Atributos comlexos: os atributos odem ser comostos e multi-valorados ao mesmo temo. Exemlo: um atributo endereço de uma entidade Pessoa ode ser comosto or rua, numero, comlemento, cidade, estado e ce. Uma mesma essoa ode ter mais de um endereço (comercial e residencial). Valores nulos: uma entidade ode não ter valor alicado a um atributo. este caso, é usado o valor esecial nulo. É também usado quando não se conhece o valor de um atributo. Exemlo: um atributo aartamento do endereço de uma entidade emregado será nulo se ele morar em uma casa. 0 Atributo Chave Cada atributo de um tio de entidade está associado com um conjunto de valores (ou domínio de valores), o qual esecifica os valores que odem ser atribuídos àquele atributo ara cada instância de entidade. Exemlo: O conjunto de valores ara o atributo de ode ser definido como uma cadeia de caracteres. Se o intervalo de salários ermitidos ara os emregados está entre 700,00 e 7.000,00 reais, então o conjunto de valores ara o atributo salário de deve ser um número real entre 700 e 7.000. Atributo Chave (identificador): é um atributo cujos valores são distintos (únicos) ara cada instância de entidade de um mesmo tio de entidade. A chave ode ser formada or mais de um atributo (chave comosta). este caso, a combinação dos valores desses atributos é que é única ara cada instância de entidade. Exemlos: O atributo seguridade_social do tio de entidade. Os atributos seguridade_social_emregado + _deendente do tio de entidade Deendente. 2

Projeto Conceitual inicial do BD Emresa De acordo com a descrição do "mini-mundo" da emresa, identifica-se os seguintes tios de entidade: Deartamento com os atributos, código, localizações, gerente, data_início_gerência. Localizações é o único atributo multivalorado. Pode-se esecificar que tanto quanto código são atributos chaves (searados), orque cada um foi esecificado ara ser único. Projeto com os atributos, código, localização e deartamento_controlador. Tanto o quanto o código são atributos chaves (searados). Projeto Conceitual inicial do BD Emresa com os atributos, seguridade_social (carteira rofissional), sexo, endereço, salário, data_nascimento, deartamento, suervisor. Tanto o quanto o endereço odem ser atributos comostos (não foi esecificado). O fato de que um emregado ode trabalhar em vários rojetos, um certo número de horas or semana ara cada rojeto, ode ser reresentado elo atributo comosto multi-valorado trabalha_em com os comonentes (rojeto, horas). Deendente com os atributos emregado, _deendente, sexo, data_nascimento, arentesco (com o emregado). 3 4 Relacionamento Relacionamento é uma associação entre entidades que reresenta um fato do mundo real. Tio de Relacionamento R sobre n tios de entidade E, E 2,..., E n define um conjunto de associações entre entidades destes tios. Exemlo: O tio de relacionamento trabalha_ara entre os tios de entidade e Deartamento associa cada emregado com o deartamento ara o qual ele trabalha. 5 Relacionamento Grau de um tio de relacionamento é o número de tios de entidades articiantes. Exemlos: Grau 2 (binário): o tio de relacionamento trabalha_ara. Grau 3 (ternário): o tio de relacionamento entre fornecedor, eça e rojeto, onde fornecedores fornecem eças ara os rojetos. Tios de relacionamento odem ter atributos, similares àqueles dos tios de entidade. Exemlo: Atributo horas do tio de relacionamento trabalha_em entre e Projeto, que indica o número de horas or semana que um emregado trabalha em um rojeto. 6

Relacionamento Tio de relacionamento recursivo ocorre quando o mesmo tio de entidade articia mais de uma vez em um tio de relacionamento desemenhando diferentes aéis. Exemlo: Tio de relacionamento suervisão entre dois tios de entidade, indicando que um determinado emregado suervisiona outros emregados. este caso, devese dar aos aéis de cada um dos lados do tio de relacionamento (um emregado articia do relacionamento no ael de suervisor ou de suervisionado). 7 Restrição de Cardinalidade Restrição de cardinalidade esecifica o número de instâncias de um relacionamento que uma instância de entidade ode articiar. Para um tio de relacionamento binário R entre os tios de entidade A e B, tem-se as relações de cardinalidade: : (um-ra-um): uma entidade de A está associada a, no máximo, uma entidade de B, e uma entidade de B está associada a, no máximo, uma entidade de A. : (um-ra-muitos) - uma entidade de A está associada a várias (zero ou mais) entidades de B, mas uma entidade de B está associada a, no máximo, uma entidade de A. M: (muitos-ra-muitos) - uma entidade de A está associada a várias entidades de B (zero ou mais), e uma entidade de B está associada a várias entidades de A (zero ou mais). 8 Restrição de Particiação Restrição de articiação esecifica se a existência de uma entidade deende de sua associação a outra entidade or meio de um relacionamento. A articiação ode ser: Total (deendência de existência): todas as instâncias do tio de entidade devem articiar de um relacionamento. Exemlo: no tio de relacionamento gerencia entre e Deartamento, a articiação é total do lado de Deartamento, informando que todo deartamento tem obrigatoriamente um gerente (indicado no diagrama elas linhas dulas). Parcial: as instâncias odem articiar de um relacionamento. Exemlo: no tio de relacionamento gerencia entre e Deartamento, a articiação é arcial do lado de, informando que nem todo emregado é gerente de deartamento (indicado no diagrama or uma linha simles). 9 Restrição de Cardinalidade Mínima e Máxima Uma restrição estrutural alternativa em relacionamentos no Diagrama ER é a Cardinalidade Mínima e Máxima. Envolve associar um ar de números inteiros (min, max) a cada articiação de um tio de entidade E num tio de relacionamento, onde 0 min max e max 0. Os números min e max significam que ara cada instância de entidade e em E, e deve articiar de, no mínimo, min e, no máximo, max instâncias do relacionamento em questão. este método, min=0 imlica articiação arcial e min>0 imlica articiação total. 20

Entidade Fraca Tio de Entidade Fraca é um tio de entidade que não ossui atributos chaves (não tem identificação rória). Está semre associada a um tio de entidade forte (ou rorietária) através de um relacionamento identificador. Sua chave é formada ela combinação da chave rimária do tio de entidade forte + uma chave arcial rória. Semre tem uma restrição de articiação total (deendência de existência) em relação ao relacionamento identificador. É reresentada no diagrama or contornos dulos. Algumas vezes também ode ser modelada como atributos comlexos (comostos e multi-valorados). Refinamento do Projeto do BD Emresa Os atributos que reresentam relacionamentos devem ser transformados em tios de relacionamento. Assim, têm-se os seguintes tios de relacionamento no BD Emresa: Gerencia é um tio de relacionamento : entre e Deartamento. A articiação de é arcial. A articiação de Deartamento é total já que foi dito que um deartamento semre deve ossuir um gerente. O atributo data_inicio_gerência é designado ao relacionamento. Trabalha_ara é um tio de relacionamento : entre e Deartamento. Ambos têm articiação total. Exemlo: tio de entidade Deendente. 2 22 Refinamento do Projeto do BD Emresa Controla é um tio de relacionamento : entre Deartamento e Projeto. A articiação de Projeto é total, enquanto que a de Deartamento foi determinada como sendo arcial (aós consulta aos usuários). Suervisão é um tio de relacionamento : entre (suervisor) e (suervisionado). Ambas as articiações são arciais, já que os usuários mencionaram que nem todo emregado ossui um suervisor e vice-versa. Refinamento do Projeto do BD Emresa Trabalha_em é um tio de relacionamento M: entre e Projeto, com o atributo horas indicando quantas horas um emregado trabalha em um rojeto. Ambas as articiações foram determinadas totais. Deendentes_de é um tio de relacionamento : entre Deendente e, sendo um relacionamento identificador ara a entidade fraca Deendente. A articiação de é arcial, enquanto que a de Deendente é total. 23 24

Herança Em muitos casos, um tio de entidade tem vários subconjuntos de entidades que são significativos ara a alicação. Exemlo: as entidades de um tio de entidade odem ser agruadas em Secretária, Engenheiro, Gerente, _assalariado, _horista, etc. Cada um dos subconjuntos é chamado de subclasse do tio de entidade, e o tio de entidade é chamado de suerclasse. Uma instância de entidade não ode existir no banco de dados somente como membro de uma subclasse; ela deve também ser membro da suerclasse em questão. 25 26 Herança Esecialização ão é necessário que toda entidade em uma suerclasse seja membro de alguma subclasse. Como uma entidade na subclasse reresenta a mesma entidade no mundo real da suerclasse, ela ossui valores de seus atributos esecíficos bem como valores de seus atributos como um membro da suerclasse. Logo, uma entidade que ertence a uma subclasse herda todos os atributos da suerclasse. A entidade também herda todos os relacionamentos dos quais a suerclasse articia. Também, ode ter seus rórios relacionamentos como subclasse. 27 Esecialização é o rocesso de definir um conjunto de subclasses a artde um tio de entidade (suerclasse). Exemlo: CPF VDigitação Secretária Projeto ome d Técnico Grau TiodeEngenheiro Engenheiro gerencia ome ível Gerente _ assalariado Salário d Escala _ horista

Esecialização Generalização Algumas características do exemlo anterior são: O conjunto de subclasses {Secretária, Técnico e Engenheiro} é uma esecialização de que distingue as entidades elo tio de trabalho. O conjunto de subclasses {_assalariado e _horista} é uma esecialização de que distingue as entidades ela forma de agamento. Somente as entidades da subclasse Engenheiro ossuem o atributo TiodeEngenheiro. Os tios de entidade Secretária, Técnico, Engenheiro, Gerente, _assalariado e _horista herdam os atributos da suerclasse. Somente as entidades da subclasse Gerente odem articiar do tio de relacionamento gerencia. 29 Generalização é o rocesso inverso da esecialização. As semelhanças entre dois ou mais tios de entidades são identificadas e as diferenças são surimidas, roduzindo uma generalização em uma única suerclasse da qual os tios originais são subclasses eseciais. Exemlo: reço velocmáxima numpassageiros código Carro Veículo d numlicença Caminhão numeixos tonelagem 30 Restrições sobre Esecialização/Generalização Restrição de Disjunção: Disjunção: uma entidade da suerclasse ode ser membro de, no máximo, uma das subclasses da esecialização ou generalização. Reresentada ela letra d dentro do círculo da esecialização ou generalização. Sobreosição: uma entidade da suerclasse ode ser membro de mais de uma subclasse da esecialização ou generalização. Reresentada ela letra o dentro do círculo da esecialização ou generalização. Restrições sobre Esecialização/Generalização Restrição de Comletude: Total: toda entidade da suerclasse deve ser membro de, elo menos, uma subclasse da esecialização ou generalização. Reresentada elas linhas dulas ligando a suerclasse ao círculo. Parcial: nem toda entidade da suerclasse recisa ser membro de alguma subclasse da esecialização ou generalização. Reresentada ela linha simles ligando a suerclasse ao círculo. 3 32

Herança Múltila Uma subclasse ode ser descendente de mais de uma suerclasse. este caso, tem-se uma herança múltila. VDigitação Secretária d Técnico Grau Gerente_de_ Engenharia TiodeEngenheiro Engenheiro CPF ome ível Gerente _ assalariado Salário d Escala _ horista 33 Tio União ou Categoria Em algumas alicações, é necessário modelar um único relacionamento suerclasse/subclasse com mais de uma suerclasse, onde as suerclasses reresentam tios de entidades diferentes e a subclasse reresenta uma coleção de objetos que é a UIÃO de instâncias das suerclasses (ou um subconjunto da união). Esta subclasse é chamada de tio união ou categoria. Exemlo: Em um sistema bancário, deseja-se reresentar um tio de entidade Correntista como sendo o conjunto das entidades que ossuem conta no banco. Um correntista ode ser uma essoa física ou uma emresa. O diagrama seguinte reresenta este fato. 34 Tio União ou Categoria Herança Múltila versus Categoria cnj razãosocial Emresa U Correntista cf Pessoa tem_conta Banco Comaração Herança múltila versus Categoria: a herança múltila, uma entidade na subclasse deve existir também em todas as suerclasses. Ex.: uma entidade em Gerente_de_Engenharia existe também em Engenheiro, em Gerente e em _Assalariado. Uma categoria é um subconjunto da união de suas suerclasses. Assim, uma entidade na subclasse (categoria) deve existir somente em uma das suerclasses. Ex.: uma entidade em Correntista existe em Emresa ou em Pessoa. Uma categoria ode ser total ou arcial. o exemlo acima, a categoria Correntista é arcial (simbolizado ela linha simles), indicando que odem haver essoas ou emresas que não são correntistas. Entretanto, todo correntista ou é uma essoa ou é uma emresa. 35 a herança múltila, uma entidade na subclasse herda todos os atributos de todas as suas suerclasses. a categoria, uma entidade na subclasse herda os atributos somente da suerclasse da qual ela ertence. 36

Relacionamento Ternário Um tio de relacionamento ternário é um tio de relacionamento de grau 3, ou seja, que ossui 3 tios de entidades articiantes. Considere o exemlo abaixo, onde fornecedores fornecem eças a rojetos. Relacionamento Ternário O exemlo abaixo reresenta os relacionamentos entre fornecedores, eças e rojetos como três relacionamentos binários. Este diagrama não é equivalente ao anterior. Em geral, um tio de relacionamento ternário reresenta mais informação do que três tios de relacionamentos binários. Fornecedor qtde M fornecimento Projeto Fornecedor M M fornece Projeto M P ode_fornecer usa código Peça 37 código Peça 38 Relacionamento Ternário Agregação Uma reresentação equivalente ao tio de relacionamento ternário, usando aenas tios de relacionamentos binários, deve criar um tio de entidade fraca, sem chaves arciais e com três relacionamentos identificadores. Uma instância do tio de entidade fraca Fornecimento é identificada ela combinação de suas três entidades rorietárias. Fornecedor ff qtde Fornecimento fj Projeto Agregação é uma abstração usada ara construir objetos comostos a artir de seus comonentes. Informalmente, uma agregação corresonde a um tio de relacionamento que, devido aos requisitos de modelagem, deve ser transformado em um tio de entidade. Exemlo: o diagrama abaixo reresenta um banco de dados de entrevistas ara emrego de uma agência de RH. data cf código f Peça 39 Emresa M entrevista Candidato Suonha que algumas entrevistas resultam em oferta de emrego e outras não. Como reresentar este fato? 40

Agregação Agregação Usar um tio de relacionamento ternário não é correto, ois requer que cada instância do relacionamento entrevista tenha uma oferta de emrego garantida. Uma maneira de reresentar essa situação é criar uma entidade agregada de nível mais alto comosta or Emresa, Candidato e entrevista e, então, relacioná-la a Emrego, como mostrado abaixo: Emresa M entrevista Candidato Emresa M entrevista Candidato Emrego resulta_em Emrego 4 42 Agregação Modelo Relacional Outra maneira de reresentar a mesma situação é criando um tio de entidade fraca Entrevista, como mostrado abaixo: Emresa ece cf Candidato Introduzido or Codd em 970 (esquisa da IBM). Modelo formal fundamentado nos conceitos de uma relação matemática (teoria de conjuntos). O modelo relacional reresenta o banco de dados como uma coleção de relações. data Entrevista resulta_em código Emrego 43 Informalmente, cada relação é semelhante a uma tabela. Cada linha da tabela reresenta uma coleção de valores de dados relacionados, que odem ser interretados como fatos descrevendo uma entidade ou um relacionamento. O da tabela e os s das colunas são usados ara ajudar na interretação do significado dos valores em cada linha da tabela. 44

Conceitos Básicos a terminologia do modelo relacional, uma linha é chamada de uma tula, um cabeçalho de coluna é chamado de um atributo, e uma tabela é chamada de uma relação. O tio de dado que descreve os valores que um atributo ode ter é chamado de domínio. Um domínio D é um conjunto de valores atômicos (indivisíveis). Exemlos: omes: o conjunto de s de essoas. Cadeia de caracteres contendo aenas letras; Idades_de_Funcionários: os valores ossíveis ara idades de funcionários de emresa. úmero inteiro entre 5 e 80; CPFs: ddd.ddd.ddd-dd (onde d é um dígito de 0 a 9); Salários: número real ositivo com duas casas decimais. 45 Conceitos Básicos Esquema de Relação: é uma exressão da forma R(A,A 2,...,A n ), onde: R : da relação. A i : de um atributo, cujo domínio em R é denotado or dom(a i ). n : grau da relação. Exemlos: Estudante (, matrícula, endereço, telefone, dataasc) Discilina (, código, cargahorária, numcréditos) 46 Conceitos Básicos Relação ou instância de uma relação: uma relação r de um esquema R, denotado or r(r), é um conjunto de tulas: r = {t,t 2,...,t n }. Cada tula é uma lista ordenada de n valores: t = <v,v 2,...,v n >, onde cada v i, i n, é um elemento do domínio dom(a i ) ou um valor esecial nulo. Formalmente, uma relação r(r) é um subconjunto do roduto cartesiano dos domínios que definem R: r(r) (dom(a ) X dom(a 2 ) X... X dom(a n )) O roduto cartesiano esecifica todas as ossíveis combinações de valores dos domínios fundamentais. Características das Relações A ordem das tulas é irrelevante. A ordem dos valores dentro de uma tula é relevante, a menos que se estabeleça uma corresondência entre esses valores e os atributos definidos. Exemlos: t = <BD, 032, 72, 4> t = <(, BD), (código, 032), (cargahorária, 72), (numcreditos, 4)> t = <(código, 032), (, BD), (numcreditos, 4), (cargahorária, 72)> O valor de cada atributo em uma tula é atômico. Atributos comostos e multi-valorados não são ermitidos. 47 As tulas de uma relação são únicas. 48

Esquema de um Banco de Dados Relacional Um esquema S de um banco de dados relacional define um conjunto de esquemas de relação R = {R,R 2,...,R n } e um conjunto de restrições de integridade I = {I,I 2,...,I m }. Uma instância BD de S é um conjunto de instâncias de relação BD = {r,r 2,...,r n }, tal que cada r i é uma instância de R i e as relações r i satisfazem as restrições de integridade em I. Portanto, ode-se dizer que S = (R, I). Primeiroome InicialMeio Ultimoome um Dataascimento Endereco Sexo Salario umsuervisor umdeto Deartamento omedeto umdeto umgerente DataInicioGerencia Localizacao_Deto umdeart Trabalha_em Localizacao um umproj Horas Projeto omeproj umproj Localizacao umdeto Deendente um omedeendente Sexo DataAniversario Parentesco 49 Exemlo de Instância de um Banco de Dados Primeiroome InicialMeio Ultimoome um Dataascimento Endereco Sexo Salario umsuervisor umdeto João B Silva 23456789 09/0/65 Bahia, 2557 M 300.00 333445555 5 R. da Frank T Santos 333445555 08/2/55 Av. Afonso Pena, 3005 M 4000.00 888665555 5 Alice J Pereira 999887777 9/07/68 Av. do Contorno, 2534 F 2500.00 98765432 4 Luciene S Ferreira 98765432 20/06/5 R. Iraí, 75 F 430.00 888665555 4 Pedro K Magalhães 666884444 5/09/52 Av. Silva Lobo, 2050 M 200.00 333445555 5 Daniela A Oliveira 453453453 3/07/62 R. Ataliba Lago, 250 F 2500.00 333445555 5 Mateus V Mascarenhas 987987987 29/03/79 R. Contria, 2 M 2500.00 98765432 4 Fábio E Lemos 888665555 0//47 R. Chile, 425 M 5500.00 null Deartamento omedeto umdeto umgerente DataInicioGerencia Pesquisa 5 333445555 22/05/98 Administração 4 98765432 0/0/95 Diretoria 888665555 9/06/0 Localizacao_Deto Projeto umdeart Localizacao omeproj umproj Localizacao umdeto Savassi Produto X Buritis 5 4 Centro Produto Y 2 Pamulha 5 5 Buritis Produto Z 3 Contagem 5 5 Pamulha Informatização 0 Centro 4 5 Contagem Reorganização 20 Savassi ovosbenefícios 30 Centro 4 Trabalha_em um umproj Deendente Horas 23456789 32 um omedeendente Sexo DataAniversario Parentesco 23456789 2 7 333445555 Aline F 03/04/76 Filha 666884444 3 40 333445555 Vitor M 25/0/73 Filho 453453453 20 333445555 Joana F 03/05/98 Cônjuge 453453453 2 20 98765432 Igor M 29/02/52 Cônjuge 333445555 2 0 23456789 Michel M 0/0/88 Filho 333445555 3 0 23456789 Aline F 3/2/98 Filha 333445555 0 0 23456789 Elizabeth F 05/05/57 Cônjuge 333445555 20 0 999887777 30 30 999887777 0 0 987987987 0 35 987987987 30 5 98765432 30 20 98765432 20 5 888665555 20 null 50 Restrições do Modelo Relacional Restrição de Domínio: o valor de cada atributo deve ser um valor atômico no domínio do atributo. Restrições do Modelo Relacional Restrição de Integridade de Entidade: a chave rimária de um esquema de relação R não ode ter valor nulo. Restrição de Chave: uma chave é um conjunto mínimo de valores dos atributos que identifica unicamente uma tula. Se um esquema de relação tem mais de uma chave, cada uma é chamada chave candidata.. Uma das chaves candidatas é arbitrariamente escolhida ara ser a chave rimária, e as outras são chamadas chaves alternativas ou chaves secundárias. É melhor escolher como chave rimária aquela com o menor número de atributos. Cada esquema de relação R deve ter uma chave rimária que é indicada no esquema or um sublinhado. 5 Restrição de Integridade Referencial: é uma restrição esecificada entre duas relações, sendo usada ara manter a consistência entre as tulas das duas relações. Usa-se o conceito de chave estrangeira ara definir tais restrições. Um conjunto de atributos FK em um esquema de relação R é uma chave estrangeira de R que referencia uma relação R 2 se satisfaz as duas regras seguintes: os atributos de FK referenciam a chave rimária PK de R 2, tendo os mesmos domínios dos atributos de PK. um valor de FK na tula t da instância r (R ) ocorre como um valor de PK ara alguma tula t 2 da instância r 2 (R 2 ) ou é nulo. 52

Restrições do Modelo Relacional As restrições de integridade referencial são obtidas, geralmente, a artir dos relacionamentos entre as entidades reresentadas elos esquemas de relação. As restrições de integridade referencial odem ser reresentadas graficamente usando-se setas que artem de uma chave estrangeira ara a chave rimária na relação referenciada. Deartamento omedeto umdeto umgerente DataInicioGerencia Localizacao_Deto umdeart Localizacao 53 Integridade Referencial com Oção de Exclusão o otação: R [fk] R 2 [k] onde "o" é a oção de exclusão, dentre as seguintes: bloqueio (restrict): se alguma tula referencia a tula a ser excluída, através de uma chave estrangeira, a exclusão não é efetuada. roagação (cascade): todas as tulas que referenciam a tula a ser excluída, através de uma chave estrangeira, são excluídas também automaticamente. substituição or nulos (set null): todas as tulas que referenciam a tula a ser excluída, através de uma chave estrangeira, têm os valores dos atributos da chave estrangeira modificados ara nulo (se for ermitido nulo) e a exclusão é efetuada. 54 Entidade Para cada tio de entidade E no esquema ERE, crie uma relação R que inclua todos os atributos simles de E. Inclua também os atributos simles comonentes de um atributo comosto de E na relação R. Escolha uma das chaves candidatas de E ara ser a chave rimária de R. Exemlo: º sobre cf salário ara o tio de entidade, gere a relação: (cf, rimeiro, sobre, salario) Entidade Fraca Para cada tio de entidade fraca W no esquema ERE, crie uma relação R e inclua todos os atributos simles (ou comonentes simles de atributos comostos) de W como atributos de R. Inclua também como atributos de R todos os atributos comonentes das chaves rimárias de cada uma das entidades fortes de W. Cada uma dessas inclusões corresonde a uma chave estrangeira de R. A chave rimária de R é a combinação dos atributos das chaves rimárias das entidades fortes de W mais a chave arcial de W. 55 56

cf º Exemlo: ara o tio de entidade fraca Deendente, sobre salário Deende data nascimento Deendente arentesco Atributo Multi-valorado Para cada atributo multi-valorado A, crie uma nova relação R que inclua o atributo A mais a chave rimária K (como chave estrangeira em R) da relação que reresenta o tio de entidade ou o tio de relacionamento que tem A como atributo. Se o atributo multi-valorado é comosto, inclua seus comonentes simles. A chave rimária de R é a combinação de K e A. gere a relação: Deendente (cfem,, dataascimento, arentesco) Deendente[cfEm] [cf] 57 Exemlo: ara o atributo Localização, gere a relação: Localização_Deto (número, localização) Deartamento Localização_Deto[número] Deartamento[número] número localização 58 Relacionamento Binário : Para cada tio de relacionamento binário R : no esquema ERE, identifique as relações S e T que corresondem aos tios de entidades articiantes de R. Escolha uma das relações, S or exemlo, e inclua como chave estrangeira em S a chave rimária de T. É melhor escolher um tio de entidade com articiação total em R no ael de S. Inclua todos os atributos simles (ou comonentes simles de atributos comostos) do tio de relacionamento R como atributo de S. Obs: um maeamento alternativo é juntar os dois tios de entidades e o tio de relacionamento em uma única relação. Isso é articularmente aroriado quando ambas as articiações são totais e os tios de entidades não 59 articiam de nenhum outro tio de relacionamento. cf º Exemlo: ara o tio de relacionamento Gerencia, sobre salário data início Gerencia número adicione os atributos cfgerente e datainício à relação Deartamento: Deartamento (número,, cfgerente, datainício) Deartamento[cfGerente] [cf] b localização Deartamento 60

Relacionamento Binário : Para cada tio de relacionamento binário R : regular (não identificador) no esquema ERE, identifique a relação S que reresenta o tio de entidade articiante do lado do tio de relacionamento. Inclua como chave estrangeira em S a chave rimária da relação T que reresenta o outro tio de entidade articiante de R. Isso ocorre orque cada instância do lado está relacionada a, no máximo, uma instância do lado do tio de relacionamento. Inclua todos os atributos simles (ou comonentes simles de atributos comostos) do tio de relacionamento R como atributos de S. 6 cf º Exemlo: ara o tio de relacionamento Trabalha_ara, sobre salário Trabalha_ ara número localização Deartamento adicione o atributo númerodeto à relação : (cf, rimeiroome, sobre, salario, númerodeto) b [númerodeto] Deartamento[número] 62 Relacionamento Binário M: Para cada tio de relacionamento binário R M: no esquema ERE, crie uma nova relação S ara reresentar R. Inclua como chaves estrangeiras em S as chaves rimárias das relações que reresentam os tios de entidades articiantes. Também inclua todos os atributos simles (ou comonentes simles de atributos comostos) do tio de relacionamento R como atributos de S. A chave rimária de S é a combinação de suas chaves estrangeiras. 63 cf º Exemlo: ara o tio de relacionamento Trabalha_em, sobre salário M horas Trabalha_ em gere a relação: Trabalha_em (cf, númeroprojeto, horas) número Projeto Trabalha_em[cf] [cf] Trabalha_em[númeroProjeto] Projeto[número] localização 64

Relacionamento n-ário (n > 2) Para cada tio de relacionamento n-ário R, onde n > 2, no esquema ERE, crie uma nova relação S ara reresentar R. Inclua como atributos da chave estrangeira em S as chaves rimárias das relações que reresentam os tios de entidades articiantes. Também inclua todos os atributos simles (ou comonentes simles de atributos comostos) do tio de relacionamento R como atributos de S. A chave rimária de S é normalmente a combinação de suas chaves estrangeiras. Entretanto, se as restrições de cardinalidade de qualquer um dos tios de entidades E articiante de R é, então a chave rimária de S não deve incluir a chave estrangeira que referencia a relação 65 corresondente a E. Exemlo: ara o tio de relacionamento Fornecimento, código Fornecedor código M Fornecimento P qtde código descrição Projeto Peça gere a relação: fornecimento (codforn, codproj, codpeça, qtde) fornecimento[codforn] Fornecedor[código] fornecimento[codproj] Projeto[código] fornecimento[codpeça] Peça[código] 66 Esecialização / Generalização Oção : crie uma relação L ara a suerclasse C no esquema ERE com os atributos de C. A chave rimária de L é uma chave de C. Crie também uma relação L i ara cada subclasse S i. Cada L i inclui os atributos esecíficos de S i mais a chave rimária de L, a qual torna-se também a chave rimária de L i. Essa oção funciona ara qualquer restrição na esecialização: disjunta/sobreosta, total/arcial. Oção 2: crie uma relação L i ara cada subclasse S i com os atributos da subclasse mais os atributos da suerclasse. A chave rimária de L i é uma chave da suerclasse. Essa oção deve ser usada ara restrições total e disjunta. 67 Oção 3: crie uma única relação L com todos os atributos da suerclasse C e das subclasses S i, mais um atributo ara indicar a qual subclasse cada tula ertence. A chave rimária de L é uma chave de C. Essa oção é ara uma esecialização cujas subclasses são disjuntas. Essa oção ode gerar um grande número de valores nulos. Oção 4: crie uma única relação L com todos os atributos da suerclasse C e das subclasses S i, mais um atributo lógico (flag) t i ara cada subclasse ara indicar se a tula ertence à subclasse S i. A chave rimária de L é uma chave de C. Essa oção é indicada ara esecialização cujas subclasses são sobreostas (mas também funciona ara esecialização disjunta). 68

Exemlos: ara a esecialização abaixo. vdigitação Secretário d Técnico grau cf tioeng Engenheiro usando a oção, gere as relações: (cf, ) Secretário (cf, vdigitação) Secretário[cf] [cf] Técnico (cf, grau) Técnico[cf] [cf] Engenheiro (cf, tioeng) Engenheiro[cf] [cf] usando a oção 3, gere a relação: (cf,, tiodetrabalho, vdigitação, grau, tioeng) 69 70 ara a generalização abaixo: reço ara a esecialização abaixo: código Veículo numlicença número Peça descrição velocmáxima numpassageiros Carro d Caminhão numeixos tonelagem numdesenho datamanuf numlote Peça_Manufaturada o Fornecedor Peça_Adquirida listadepreço usando a oção 2, gere as relações: Carro (código, numlicença, reço, numpassageiros, velocmáxima) Caminhão (código, numlicença, reço, numeixos, tonelagem) usando a oção 4, gere a relação: Peça (número, descrição, Mflag, numdesenho, datamanuf, numlote, Aflag, Fornecedor, listadepreço) 7 72

Tio União ou Categoria Crie uma relação ara reresentar a categoria e inclua todos os seus atributos. Para uma categoria cujas suerclasses têm chaves diferentes, adicione um novo atributo chave, chamado chave substituta, ara ser a chave rimária da relação. Adicione este atributo como chave estrangeira em todas as relações corresondentes às suerclasses da categoria, ara esecificar a corresondência de valores entre a chave substituta e as chaves de cada suerclasse. Para uma categoria cujas suerclasses têm as mesmas chaves, a chave substituta não é necessária. Adicione à relação reresentante da categoria o atributo chave de uma suerclasse ara ser a sua chave rimária. Cada chave rimária das relações corresondentes às suerclasses são também chaves estrangeiras referenciando a relação da categoria. 73 Exemlo: ara a categoria abaixo: cnj razãosocial cf Emresa Pessoa U gere as relações: Correntista Emresa (cnj, razãosocial, numcorrentista) Emresa[numCorrentista] Correntista[numCorrentista] Pessoa (cf,, numcorrentista) n Pessoa[numCorrentista] Correntista[numCorrentista] Correntista (numcorrentista) n 74