Baixe o app para aproveitar ainda mais
Prévia do material em texto
Modelo Relacional Modelagem de Dados Modelo Relacional Introduzido por Edgar Codd (1970) Baseado na Teoria dos conjuntos Primeiro modelo de dados para aplicações comerciais Teve sua grande aceitação comercial a partir de meados da década de 1980 Modelo Relacional Na teoria, representa o BD como uma coleção de relações Modelo Relacional Formalmente, usa as terminologias: Relações Atributos Tuplas ALUNO Nome da Relação Atributos Tuplas Modelo Relacional Na prática: Relações => Tabelas Atributos => Cabeçalhos de Coluna, Campos Tuplas => Linhas, Instâncias ALUNO Nome da Relação Atributos Tuplas Modelo Relacional Na prática, representa o BD como uma coleção de tabelas Tabela Disciplina ALUNO_DISCIPLINA ALUNO DISCIPLINA Tabela Aluno Tabela Aluno_Disciplina Para cada atributo (nome de campo) de uma tabela, há um conjunto de valores permitidos (domínio) Exemplos: idade_funcionário > 15 e < 80 titulação_professor = {graduado, mestre, doutor} nota_aluno >= 0 e <= 10 Um tipo de dado ou formato é especificado para cada domínio Exemplos: O tipo de dado para idade_funcionário é um número inteiro entre 15 e 80 O tipo de dado para nome_aluno é uma string de máximo sessenta caracteres Domínio de uma Relação Esquema da Relação Descreve as colunas da tabela Especifica nome da relação o nome de cada campo (coluna ou atributo) o tipo de cada campo chaves Exemplos: disciplina( id, nome, carga_horaria, descricao) aluno( id, nome, idade, telefone) aluno( id: integer, nome: string, idade: integer, telefone: string) Relação Uma relação é um conjunto de tuplas únicas Não existem duas linhas iguais Chave A ordem de apresentação das linhas não é importante Tuplas que representam a mesma relação Tabela Cliente Tabela Cliente Cada tabela de um BD tem um nome único Tabela Disciplina Tabela Aluno Tabela Aluno_Disciplina Chave de uma Relação Chave de uma relação R identifica de forma única as tuplas de R conjunto mínimo de atributos de R tal que não existam 2 tuplas distintas de R com valores iguais nesses atributos Tabela Cliente Chaves Chave de uma Relação Uma relação pode ter várias chaves candidatas Uma relação pode ter mais de um atributo como identificador único. Um deles é escolhido como chave primária e os outros são chaves candidatas Tabela Cliente Chave primária Chave candidata Modelo Relacional Mapeamento ER - Relacional Baseada nas notas de aula de Mapeamento ER - Relacional. Professor Marcos Cardoso. E-R / Relacional Um esquema relacional pode ser facilmente derivado de um esquema conceitual desenvolvido usando o modelo E-R Seja o exemplo de modelagem E-R a seguir E-R / Relacional Passo 1 Para cada Entidade Regular E no esquema ER, criar uma relação R que inclui todos os atributos de R. Empregado Passo 2: Para cada Entidade Fraca W no esquema E-R que tenha como entidade proprietária E, criar uma relação R e incluir todos os atributos de W como atributos de R, incluir o(s) atributo(s) chave primária da relação proprietária E A chave primária de R é a combinação da chave primária de E e da chave parcial de W E-R / Relacional Dependente E-R / Relacional Passo 3: Para cada Relacionamento R de 1:1 no esquema ER, identificar as relações das entidades participando do relacionamento R, escolher uma das relações e incluir como chave estrangeira, a chave primária da outra relação, incluir todos os atributos do relacionamento na relação escolhida Departamento E-R / Relacional Passo 4: Para cada Relacionamento R de 1:N no esquema ER, identificar a relação S que representa a entidade do lado N, incluir como chave estrangeira a chave primária da relação que representa a entidade do lado 1, incluir os atributos do relacionamento em S. Empregado E-R / Relacional Passo 5: Para cada Relacionamento R de N:M no esquema ER, criar uma nova relação para representar R, incluir como chave estrangeira as chaves primárias das relações que participam em R, estas chaves combinadas formarão a chave primária da relação, incluir também eventuais atributos de R. Trabalha_em E-R / Relacional Passo 6: Para cada Atributo Multivalorado A, criar uma nova relação R, incluindo um atributo correspondendo a A mais a chave primária K da relação que tem A como atributo. A chave primária de R é a combinação de A e K. Locais Esquema Relacional Dependente Departamento Empregado Locais Trabalha_em Projeto Exercícios Faça o mapeamento do modelo ER para Relacional a) Escola Disciplina Aluno Mat Locais Fones Nome Cod Nome data cursa N M Exercícios b) Companhia aérea Exercícios c) Clínica Médica Cenas dos próximos capítulos... Aprender como se mapeia Relacionamento Ternário Atributos compostos Herança E mais exercícios... Mapeamento ER - Relacional Mapeamento ER - Relacional 30 E-R / Relacional Vimos na aula passada que um Esquema Relacional pode ser facilmente derivado de um Esquema Conceitual desenvolvido usando o Modelo E-R 31 Modelo E-R 32 Esquema Relacional Dependente Departamento Empregado Locais Trabalha_em Projeto 33 E-R / Relacional Vimos também, que para efetuar o mapeamento, devemos seguir um conjunto de regras levando em conta características específicas como força de uma Entidade, cardinalidade de um Relacionamento e tipo do Atributo. Entidade Regular Entidade Fraca Relacionamento 1:1 Relacionamento 1:N Relacionamento N:M Atributo Multivalorado 34 34 E-R / Relacional Na aula de hoje veremos como mapear Relacionamento Ternário Atributo Composto Herança 35 E-R / Relacional Passo 7: Para cada Relacionamento n-ário R (n > 2), criar uma nova relação S para representar R, incluir como chaves estrangeiras as chaves primárias das relações que representam as entidades participantes, incluir os eventuais atributos de R A chave primária de S é normalmente a combinação das chaves estrangeiras. 36 E-R / Relacional CAC Exemplo: CAC Cliente 1 N Conta Agencia N 37 E-R / Relacional Passo 8: Para cada Atributo Composto C no esquema E-R que tenha como entidade proprietária E, Incluir todos atributos pertencentes a C como atributos da relação R, criada para representar E 38 E-R / Relacional Pessoa Exemplo: Pessoa nome primeiro nome último nome nome do meio cod sexo telefone 39 E-R / Relacional Passo 9: a) Para cada Entidade Regular G de nível superior que inclui Generalização no esquema ER criar uma relação R que inclui todos os atributos de R. b) Para cada Entidade Regular E de nível inferior que inclui Especialização no esquema ER criar uma nova relação S para representar E, incluir os atributos de S A chave primária da entidade de nível superior se torna atributo de chave primária de cada entidade de nível inferior. Além disso, a chave primária da entidade de nível superior se torna atributo de chave estrangeira de cada entidade de nível inferior. 40 Herança Exemplo: Pessoa_Fisica Cliente Pessoa_Juridica 41 cc limite cp taxa j 41 Exercícios Faça o mapeamento do modelo ER para Relacional a) Oficina oferece Oficina N M Funcionário Curso 1 horário nome nome nome num cod mat 42 Exercícios Faça o mapeamento do modelo ER para Relacional b) Loja Cliente endereco rua cidade bairro matricula idade telefone data_nascimento cep 43 Exercícios Faça o mapeamento do modelo ER para Relacional c) Agência Bancária 44 Cenas dos próximos capítulos... Mais exercícios... Normalização de BDs Consultas em BDs A Linguagem SQL Conexão entre um programa e um SGBD 45 Mapeamento ER - Relacional 46
Compartilhar