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

Documentos relacionados
Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI

Banco de Dados. Modelo de Dados Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger

Banco de Dados. Modelo Entidade Relacionamento. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger

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

Banco de Dados. Dependências Funcionais e Normalização de Bancos de Dados Relacionais. João Eduardo Ferreira Osvaldo Kotaro Takai

Banco de Dados. Álgebra Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger

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

Banco de Dados. Álgebra Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai

Banco de Dados. Modelo Entidade - Relacionamento. João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP

Bancos (Bases) de Dados Aula #4 Modelo Relacional

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI

Banco de Dados. Cálculo Relacional de Domínio. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger

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

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

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO PROJETO DE BANCO DE DADOS RELACIONAL. Profº Erinaldo Sanches Nascimento

Banco de Dados I Módulo II: Modelagem Entidade- Relacionamento versus Relacional. (Aula 5) Clodis Boscarioli

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

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

MODELO RELACIONAL PARTE 2

Bancos de Dados Aula #2 - Modelos Conceituais de Dados

MODELO RELACIONAL. Material parcialmente extraído das notas de aula de Arnaldo Rocha e Maria Luiza Campos MCRC - IME/RJ

Banco de Dados. Dependências Funcionais e Normalização de Bancos de Dados Relacionais. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger

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

Banco de Dados. Modelo Entidade Relacionamento Estendido DCC IME USP. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger

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

Bases de Dados. Parte III. O Modelo Relacional

Prof. Fabiano Taguchi

Modelo Entidade-Relacionamento. Aécio Costa

Entidade Associativa

Mapeamento Modelo Entidade Relacionamento para Modelo Relacional. Evandro E.S Ruiz, Ph.D.

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

MODELAGEM DE DADOS PARTE 2

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida

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

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

Modelo Entidade Relacionamento Estendido (ERE)

Modelo Relacional Wendel Melo

MODELO RELACIONAL Prof.: Jacson Tiola Técnico em Redes de Computadores

Análise e Projeto de Sistemas

Introdução ao Modelo Relacional

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade.

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

Computação Instrumental

1ª Prova 23/10/17. Tópicos estudados (todos os assuntos até agora, 12 aulas):

INTRODUÇÃO AO MODELO RELACIONAL

Modelagem Conceitual e o Modelo Entidade-Relacionamento

Dependência Funcional e Normalização)

Modelo de Dados Wendel Melo

MODELAGEM DE DADOS PARTE 1

MODELO ENTIDADE - RELACIONAMENTO

Modelo de Dados Relacional

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

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

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

Banco de Dados I 2007 Módulo II: Modelagem Entidade- Relacionamento versus Relacional. (Aula 1) Clodis Boscarioli

Parte II Modelo de Dados Relacional. Evandro E. S. Ruiz

Banco de Dados I. Aula 17 - Prof. Bruno Moreno 08/11/2011

MODELAGEM DE DADOS UNIDADE 4 Modelo Entidade-Relacionamento. Luiz Leão

Modelo Entidade Relacionamento

SQL-99: Esquema de BD EMPRESA

Banco de Dados. Cálculo Relacional de Tuplas. João Eduardo Ferreira Osvaldo Kotaro Takai

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

MC536. Modelo Relacional

Modelo Relacional Wendel Melo

MC536. Modelo Entidade- Relacionamento

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

Modelo Relacional. Modelo Relacional. Modelo Relacional. Banco de Dados. Modelo Relacional. Modelo Relacional. Fernando Fonseca Ana Carolina

Fundamentos de Banco de Dados e Modelagem de Dados

O Modelo de Entidades e Relacionamentos (MER) é um modelo conceitual usado para projeto de aplicações de banco de dados.

Unidade 4 Projeto de BD Relacional

Modelo Relacional. Gerenciamento de Dados e Informação. Modelo Relacional Sejam os domínios D 1 (D- Pessoa) e D 2 (D- Endereço) Modelo Relacional

Modelo Relacional. Aécio Costa

Modelo Lógico de Dados. Modelo Relacional

MODELO DE BANCO DE DADOS RELACIONAL

Modelo Entidade-Relacionamento

Projeto de Bancos de Dados

Unidade 2 Modelo Conceitual

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

Aula 12 BD1 Dependências Funcionais e Normalização. Profa. Elaine Faria UFU

1) Defina os seguintes termos: domínio, grau de uma relação, n-tupla, esquema de relação, esquema de um banco de dados relacional.

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

O que é modelo lógico. Tipos de modelo

Revisando Banco de Dados. Modelo Relacional

Abordagem relacional. Capítulo 4

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

PCS3413 Engenharia de Software e Banco de Dados

BANCO DE DADOS. Bacharelado em Sistemas de Informação MODELAGEM DE DADOS. Profº Luciano Roberto Rocha. Itararé, 2º período

Banco de Dados Mapeamento Entidade Relacionamento para Relacional

Mapeamento: Modelo Entidade Relacionamento para o Modelo Relacional

GBC043 Sistemas de Banco de Dados

Banco de Dados I. Aula 10 - Prof. Bruno Moreno 23/09/2011

Projeto de BD Relacional

Análise e Projeto de Sistemas I

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

Banco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011

Ciclo de Desenvolvimento de BD

Transcrição:

Banco de Dados Modelo de Dados Relacional João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP

Introdução O Modelo Relacional (MR) é um modelo de dados lógico utilizado para desenvolver projetos lógicos de bancos de dados. Os SGBDs que utilizam o MR são denominados SGBD Relacionais. O MR representa os dados do BD como relações. A palavra relação é utilizada no sentido de lista ou rol de informações e não no sentido de associação ou relacionamento.

Introdução Cada relação pode ser entendida como uma tabela ou um simples arquivo de registros. Uma relação DEPENDENTE, com seus atributos e valores de atributos.

Introdução Os valores de atributos são indivisíveis, ou seja, atômicos. O conjunto de atributos de uma relação é chamado de relação esquema. Cada atributo possui um domínio. O grau de uma relação é o número de atributos da relação.

Introdução DEPENDENTE(CódigoCliente, Nome, TipoRelação, Sexo, DataNasc) Éa relação esquema. DEPEDENTE é o nome da relação. O Grau da Relação é5. Os Domínios dos Atributos são: dom(códigocliente) = 4 dígitos que representam o Código do Cliente. dom(nome) = Caracteres que representam nomes dos dependentes. dom(tiporelação) = Tipo da Relação (filho, esposa, pai, mãe e outras) do dependente em relação do seu cliente. dom(sexo) = Caractere: (M: Masculino, F: Feminino) do dependente. dom(datanasc) = Datas de Nascimento do dependente.

Notação Relacional A relação esquema R de grau n: R(A 1, A 2,..., A n ). A tupla t em uma relação r(r) : t = <v 1, v 2,..., v n >, v i é o valor do atributos A i. t[a i ] indica o valor v i em t para o atributo A i. t[a u, A w,..., A z ] indica o conjunto de valores <v u, v w,..., v z > de t correspondentes aos atributos A u, A w,..., A z de R.

Exemplo A figura apresenta a Relação DEPENDENTE t = <0001, Ana, Filha, F, 03/03/2003> é uma tupla t[códigocliente] = 0001 t[nome, Sexo] = <Ana, F>.

Atributos-chaves de uma Relação Superchave: Subconjunto de atributos de uma relação cujos valores são distintos: t 1 [SC] t 2 [SC] Chave: É uma Superchave mínima Chave-Candidata: Chaves de uma relação Chave-Primária: Uma das Chaves escolhidas entre as Chaves-Candidatas de uma relação.

Atributos-chaves de uma Relação Superchave trivial da relação DEPENDENTE: SC a = { CódigoCliente, Nome, TipoRelação, Sexo, DataNasc } Outras superchaves: SC b = { CódigoCliente, Nome, TipoRelação, Sexo } SC b = SC a { DataNasc } SC c = { CódigoCliente, Nome, TipoRelação, DataNasc } SC c = SC a { Sexo } SC d = { CódigoCliente, Nome, TipoRelação } SC d = SC a { DataNasc, Sexo } SC e = { CódigoCliente, Nome } SC e = SC a { DataNasc, Sexo, TipoRelação}

Atributos-chaves de uma Relação SC e uma superchave mínima: Pois não é possível retirar de SC e nenhum de seus atributos: CódigoCliente ou Nome, e o subconjunto resultante continuar com a propriedade de superchave. Assim, SC e, além de ser superchave, é uma chave da relação esquema DEPENDENTE.

Atributos-chaves de uma Relação Uma relação esquema pode possuir mais de uma chave. Nestes casos, tais chaves são chamadas de chaves-candidatas. O esquema da relação EMPREGADO possui três chaves-candidatas: EMPREGADO(Nome, Código, Rg, Cpf, Endereço, Salário) CC1 = { Código } CC2 = { Rg } CC3 = { Cpf }

Atributos-chaves de uma Relação As chaves-candidatas são candidatas à chaveprimária. A chave-primária é a escolhida, dentre as chaves-candidatas, para identificar de forma única, tuplas de uma relação. A chave-primária é indicada na relação esquema sublinhando-se os seus atributos. EMPREGADO(Nome, Código, Rg, Cpf, Endereço, Salário)

Esquema de um BD Relacional O esquema de um BD relacional é o conjunto de todos os esquemas de relações. Esquema do BD relacional do Sistema Companhia:

Restrições de integridade Restrição de Integridade são regras que restringem os valores que podem ser armazenados nas relações. Um SGBD relacional deve garantir: Restrição de Chave: os valores das chavescandidatas devem ser únicos em todas as tuplas de uma relação. Restrição de Entidade: chaves-primárias não podem ter valores nulos. Restrição de Integridade Referencial: Usada para manter a consistência entre tuplas. Estabelece que um valor de atributo, que faz referência a uma outra tupla, deve-se referir a uma tupla existente.

Restrição de Integridade Referencial Chave-Primária Chave-Primária EMPREGADO Nome NSS Endereço Joaquim 305 R. X, 123 Katarina 381 Av. K, 43 Daví 422 R. D, 12 Carlos 489 R. H, 9 TELEFONE NSS NÚMERO 305 555-444 381 555-333 489 555-376 533 555-999 Barbara 533 R.II, 55 381 555-101 489 555-222 489 555-376 Valores da Chave-Estrangeira

Mapeamento do DER / MDR É comum, em projetos lógicos de BD, realizar a modelagem dos dados através de um modelo de dados de alto-nível O produto desse processo é o esquema do BD O modelo de dados de alto-nível normalmente adotado é o MER e o esquema do BD especificado em MR

O DER do Sistema Companhia Pnome Mnome Snome Nss Nome Sexo Endereço Salário N 1 TRABALHA-PARA Nome Número Localização EMPREGADO DataInício NúmeroDeEmpregados DEPARTAMENTO DataNasc supervisor 1 1 GERENCIA 1 supervisionado CONTROLA 1 SUPERVISIONA N Horas 1 M TRABALHA-EM N N PROJETO DEPENDENTE-DE Nome Número Localização N DEPENDENTE Nome Sexo DataNasc TipoRelação

Esquema do BD Companhia

Passo 1 Para cada tipo de entidade normal E no DER, crie uma relação R que inclua todos os atributos simples de E. Inclua também os atributos simples dos atributos compostos. Escolha um dos atributos-chave de E como a chaveprimária de R. Se a chave escolhida é composta, então o conjunto de atributos simples que o compõem formarão a chaveprimária de R.

Passo 1: Resultado EMPREGADO PNOME MNOME SNOME NSS DATANASC ENDERECO SEXO SALARIO PROJETO PNOME PNUMERO PLOCALIZACAO DEPARTAMENTO DNOME DNUMERO

Passo 2 Para cada tipo de entidade fraca W do DER com o tipo de entidade de identificação E, crie uma relação R e inclua todos os atributos simples (ou os atributos simples de atributos compostos) de W como atributos de R. Além disso, inclua como a chave-estrangeira de R a chave-primária da relação que corresponde ao tipo de entidade proprietário da identificação. A chave-primária de R é a combinação da chaveprimária do tipo de entidade proprietário da identificação e a chave-parcial do tipo de entidade fraca W.

Passo 2: Resultado EMPREGADO PNOME MNOME SNOME NSS DATANASC ENDERECO SEXO SALARIO PROJETO PNOME PNUMERO PLOCALIZACAO DEPARTAMENTO DNOME DEPENDENTE DNUMERO ENSS NOMEDEPENDENTE SEXO DATANASC RELAÇÃO ce

Passo 3 Para cada tipo de relacionamento binário 1:1, R, do DER, identifique as relações S e T que correspondem aos tipos de entidade que participam de R. Escolha uma das relações, por exemplo S, e inclua como chave-estrangeira de S a chave-primária de T. É melhor escolher o tipo de entidade com participação total em R como sendo a relação S. Inclua todos os atributos simples (ou os atributos simples de atributos compostos) do tipo de relacionamento 1:1, R, como atributos de S.

Passo 3: Resultado EMPREGADO PNOME MNOME SNOME NSS DATANASC ENDERECO SEXO SALARIO PROJETO PNOME PNUMERO PLOCALIZACAO DEPARTAMENTO DNOME DNUMERO ce * GERNNS GERDATINIC GERENCIA DEPENDENTE ENSS NOMEDEPENDENTE SEXO DATANASC RELAÇÃO ce

Passo 4 Para cada tipo de relacionamento binário regular 1:N (não fraca), R, identificar a relação S que representa o tipo de entidade que participa do lado N de R. Inclua como chave-estrangeira de S a chave-primária de T que representa o outro tipo de entidade que participa em R; isto porque cada entidade do lado 1 está relacionada a mais de uma entidade no lado N. Inclua também quaisquer atributos simples (ou atributos simples de atributos compostos) do tipo de relacionamento 1:N, como atributos de S.

Passo 4: Resultado EMPREGADO PNOME MNOME SNOME NSS DATANASC ENDERECO SEXO SALARIO PROJETO PNOME PNUMERO PLOCALIZACAO DEPARTAMENTO DNOME DEPENDENTE DNUMERO ce DNUM SUPERVISIONA CONTROLA ce * GERNNS GERDATINIC GERENCIA ENSS NOMEDEPENDENTE SEXO DATANASC RELAÇÃO ce TRABALHA-PARA ce NSSSUPER ce DNUM

Passo 5 Para cada tipo de relacionamento binário M:N, R, crie uma nova relação S para representar R. Inclua como chave-estrangeira de S as chaves-primárias das relações que representam os tipos de entidade participantes; sua combinação irá formar a chaveprimária de S. Inclua também qualquer atributo simples do tipo de relacionamento M:N (ou atributos simples dos atributos compostos) como atributos de S. Note que não se pode representar um tipo de relacionamento M:N como uma simples chave-estrangeira em uma das relações participantes - como foi feito para os tipos de relacionamentos 1:1 e 1:N. Isso ocorre porque o MR não permite a representação de atributos multivalorados.

Passo 5: Resultado EMPREGADO PNOME MNOME SNOME NSS DATANASC ENDERECO SEXO SALARIO PROJETO PNOME PNUMERO PLOCALIZACAO DEPARTAMENTO DNOME DEPENDENTE DNUMERO ce DNUM SUPERVISIONA CONTROLA ce * GERNNS GERDATINIC GERENCIA ENSS NOMEDEPENDENTE SEXO DATANASC RELAÇÃO ce TRABALHA-EM ce ENSS PNO HORAS ce TRABALHA-PARA ce NSSSUPER ce DNUM

Passo 6 Para cada atributo A multivalorado, crie uma nova relação R que inclua o atributo A e a chave-primária, K, da relação que representa o tipo de entidade ou o tipo de relacionamento que tem A como atributo. A chave-primária de R é a combinação de A e K. Se o atributo multivalorado é composto inclua os atributos simples que o compõem.

Passo 6: Resultado EMPREGADO PNOME MNOME SNOME NSS DATANASC ENDERECO SEXO SALARIO PROJETO PNOME PNUMERO PLOCALIZACAO DEPARTAMENTO DNOME DEPENDENTE DNUMERO ce DNUM SUPERVISIONA CONTROLA ce * GERNNS GERDATINIC GERENCIA ENSS NOMEDEPENDENTE SEXO DATANASC RELAÇÃO ce TRABALHA-EM ce ENSS PNO HORAS ce TRABALHA-PARA ce NSSSUPER ce DNUM LOCAIS_DEPTO DNÚMERO DLOCALIZAÇÃO ce

Passo 7 Para cada tipo de relacionamento n-ário, R, n>2, crie uma nova relação S para representar R. Inclua como chave-estrangeira em S as chaves-primárias das relações que representam os tipos de entidades participantes. Inclua também qualquer atributo simples do tipo de relacionamento n-ário (ou atributos simples dos atributos compostos) como atributo de S. A chave-primária de S é normalmente a combinação de todas as chaves-estrangeiras que referenciam as relações que representam os tipos de entidades participantes. Porém, se a restrição estrutural (min, max) de um dos tipos de entidades E que participa em R, tiver max=1, então a chaveprimária de, S, pode ser a chave-estrangeira que referencia a relação E; isto porque cada entidade e em E irá participar em apenas uma instância em R e, portanto, pode identificar univocamente esta instância de relacionamento.

Passo 7: Resultado Considere o tipo de relacionamento FORNECE: FORNECEDOR PROJETO PEÇA SNOME PNOME NÚMERO FORNECE SNOME. PNOME. NÚMERO QUANTIDADE

Questões Dado o DER de uma locadora de vídeo (próximo slide), obtenha o esquema do BD Relacional utilizando os passos de mapeamento do DER / MDR

cidade logradouro rg código número endereço estado cep complemento cpf telefones nome código data-início DIRETOR 1 DIRIGE data nasc idade saldo bônus CLIENTE 1 nome 1 REALIZA código título quantidade disponível N FILME 1 tipo descrição quantidade POSSUI N TLF TEM nome tipo da relação N DEPENDENTE total data LOCAÇÃO M CONTÉM N N MÍDIA tipo Sexo data nasc desconto N EFETUA número COMPRA N situação código da etiqueta nome código rg cpf endereço salário telefone residencial 1 FUNCIONÁRIO supervisionado supervisor 1 N SUPERVISÃO M valor situação data do pedido data da entrega código nome fantasia O FORNECEDOR 1 CONTATO- FORNECEDOR cnpj nome data de cadastro descrição nome 1 data-vínculo e-mail CONTATO telefones