Banco de Dados. Modelo Relacional. Prof. Enzo Seraphim



Documentos relacionados
Prof.: Clayton Maciel Costa

ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL

Profa. Daniela Barreiro Claro

Modelo de Dados. Modelos Conceituais

Modelo Relacional. Aécio Costa

Curso de Aprendizado Industrial Desenvolvedor WEB. Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados

Modelo Relacional. Modelo Relacional. Conceitos Gerais: Relação

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

Modelo Entidade-Relacionamento DCC011. Modelo Entidade-Relacionamento. Processo de Projeto de Bancos de Dados

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

Modelo de Dados. Modelo para organização dos dados de um BD

Banco de Dados. Arquitetura e Terminologia. Prof. Walteno Martins Parreira Jr waltenomartins@yahoo.

Banco de Dados. Modelo Entidade Relacionamento Estendido (ME-RX) Prof. Enzo Seraphim

MODELO RELACIONAL E RESTRIÇÕES DE INTEGRIDADE

Modelo Relacional. Modelo Relacional. Tabelas

MODELO RELACIONAL - UFMA

Prof. Alexandre Unterstell Banco de Dados I

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional

Disciplina de Banco de Dados Parte V

Banco de Dados Lista de Exercícios 01

Principais Conceitos. Modelo Relacional representa o banco de dados como uma coleção de relações Tupla Atributos Relação Domínio

Bases de Dados. Parte III: O Modelo Relacional

Banco de Dados. Álgebra Relacional. Prof. Enzo Seraphim

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO BANCO DE DADOS I

Banco de Dados - Senado

OBJETIVOS. Orientações para Projetos de BD; Dependências Funcionais (DFs): Definição de DF; Regras de inferência para DFs.

Disciplina: Unidade III: Prof.: Período:

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro.

Prof.: Clayton Maciel Costa

BANCO DE DADOS I AULA 3. Willamys Araújo

Aula VI -MODELO RELACIONAL

Persistência e Banco de Dados em Jogos Digitais

Modelagem de Dados. Aula 02 Arquitetura e Álgebra Relacional. Maxwell Anderson

Banco de Dados 1 2º Semestre

Revisão de Banco de Dados

GBC043 Sistemas de Banco de Dados. Modelo Relacional (R) Ilmério Reis da Silva UFU/FACOM

Um modelo de dados é a colecção de, pelo menos, 3 componentes:

Introdução à Banco de Dados

CICLO DE VIDA DE UM BD

Banco de Dados Capítulo 2: Modelo Relacional. Bach. em Ciência da Computação UFPB/CCT Cláudio Baptista, PhD

Modelo Entidade-Relacionamento

BANCO DE DADOS PROFESSOR MAURÍCIO - MAURICIO.MELLO@PUCPR.BR AULA 02. O Modelo Entidade-Relacionamento ( MER )

Integridade dos Dados

1. Introdução ao Modelo Entidade-Relacionamento (MER)

Banco de Dados Modelo Entidade-Relacionamento. Frederico D. Bortoloti

Conceitos Básicos de Banco de Dados

BANCO DE DADOS. Fixação dos conteúdos Integridade Referencial Normalização Exercícios

Oficina. Praça das Três Caixas d Água Porto Velho - RO

Faculdade Pitágoras 24/10/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

O modelo de dados relacional e as restrições de um banco de dados relacional

Introdução às Bases de Dados

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

Técnicas e Linguagens para Banco de Dados I

LINGUAGEM DE BANCO DE DADOS

Banco de Dados Aula 02. Colégio Estadual Padre Carmelo Perrone Profº: Willian

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Docente: Éberton da Silva Marinho

Aula 3 SBD Modelo Entidade Relacionamento Parte 1. Profa. Elaine Faria UFU

Processo de Projeto Bottom-Up. esquema conceitual do BD. engenharia reversa do esquema relacional. esquema relacional integrado do BD (esquema global)

Processo de Projeto Bottom-Up. esquema conceitual do BD. engenharia reversa do esquema relacional. esquema relacional integrado do BD (esquema global)

Chaves. Chaves. O modelo relacional implementa dois conhecidos conceitos de chaves, como veremos a seguir:

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br. Aula 3. Prof. Rafael Dias Ribeiro.

Computadores e Sistemas de Informação. Bases de Dados Relacionais (linguagem SQL)

Programação III / Estruturas de Dados. Enunciado do Trabalho Prático

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

Modelo de Entidade e Relacionamento (MER) - Parte 07

UNIVERSIDADE FEDERAL FLUMINENSE PÓLO UNIVERSITÁRIO DE RIO DAS OSTRAS FACULDADE FEDERAL DE RIO DAS OSTRAS CURSO DE CIÊNCIA DA COMPUTAÇÃO

Especificação do 3º Trabalho

BANCO DE DADOS I AULA 6. Wlllamys Araújo willamysaraujo7@gmail.com

CIn/UFPE Projeto Conceitual de BD - Prof. Robson Fidalgo 1

Banco de Dados Transformação Modelo Conceitual para Lógico Relacional. Prof. Juliano Lucas Gonçalves

TRABALHO PRÁTICO. Sistema de Gestão de Bases de Dados. Doenças. Alunos: Filipe Alexandre da Silva Vila Real Nuno José Morais Felicio

Comparação entre Tipos de Diagramas. DEA para um Banco. Modelo Relacional. Modelos Relacional

Ciclo de vida de um banco de dados relacional

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Curso de Gestão em SI MODELAGEM DE DADOS. Rodrigo da Silva Gomes. (Extraído do material do prof. Ronaldo Melo - UFSC)

Conceitos de Banco de Dados

GBC043 - Sistemas de Banco de Dados Mapeamento ER, EER para o Relacional

Guia de Especificação de Caso de Uso Metodologia CELEPAR

Modelagem de Dados Usando o Modelo Entidade-Relacionamento

Faculdade Lourenço Filho - ENADE

Gestão de Tecnologia da Informação

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

I Requisitos de um modelo conceitual: - clareza (facilidade de compreensão) - exatidão (formal)

Orientação a Objetos

Banco de Dados I. Introdução. Fabricio Breve

Esquema da Relação. Modelo Relacional. Instância da Relação. Exemplo. Uma base de dados é uma colecção de uma ou mais relações com nomes distintos

Orientação a Objetos

Curso Superior de Tecnologia em BD

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes

AULA 6 INTEGRIDADOS DOS DADOS - CRIANDO RESTRIÇÕES

Banco de Dados. Microsoft Access

Banco de Dados I. Projeto de Banco de Dados e o Modelo E-R. Fabricio Breve

PROJETO DE BANCO DE DADOS -INTRODUÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

O modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento

Unidade II ADMINISTRAÇÃO DE. Prof. Luiz Fernando de Lima Santos

Banco de Dados Modelo Conceitual, Lógico, Físico, Entidade- Relacionamento (ER) Hélder Nunes

Modelos. Comunicação com clientes

MODELAGEM DE DADOS - NORMALIZAÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

Transcrição:

Banco de Dados Modelo Relacional Prof. Enzo Seraphim

Tópicos Definição do Modelo Estrutura sintática Terminologia Domínios Esquemas de Relações Ordem Base Relacional Chave Restrições de Integridades

2 construtores sintáticos Valores Os dados do mundo real são representados como valores Tabelas Esses dados são mantidos em tabelas, que representam coleções de objetos, entidades, associações, etc. do mundo real As tabelas são uma maneira intuitiva de se imaginar as relações

Terminologia Base de Dados Conjunto de relações Relação ou Tabela Conjunto de tuplas Tupla ou Registro ou linha Conjunto de atributos Atributo ou campo Armazena valores

Modelo Intuitivo Tupla Relação Valor Atributo

Modelo Intuitivo R1 R2 BASE DE DADOS R3 R4

Domínios Dentro do modelo relacional, considerase sempre que os valores são indivisíveis atômicos Um Domínio é um conjunto de valores atômicos Exemplos Número de salas de aulas Nome dos alunos Código de Disciplinas

Domínios Os domínios em geral são designados como um tipo de dados, que especifica a formação dos valores Exemplos: Números de salas de aula: O conjunto dos número de 1 a 150, Inteiros no formato 999 Nome dos alunos : O conjunto de todos os nomes, possíveis para pessoas: A(60) Código das disciplinas: O conjunto de três letras seguidas de um traço e de três dígitos: AAA -999

Domínios Um Domínio é um conjunto de valores atômicos Um Valor Atômico significa um valor indivisível (no que se refere à Base de Dados como um todo) e monovalorado Um Atributo Indivisível significa que em nenhum lugar da Base de Dados ocorrem partes dele Por exemplo: Data de Nascimento de Aluno será indivisível se em nenhum lugar da base for necessário conhecer-se, por exemplo o dia de aniversário do aluno (dia e mês sem ano)

Domínios Um Atributo Monovalorado é aquele que pode ter apenas uma valor Por exemplo: Idade de aluno é monovalorado Irmãos de aluno é multivalorado

Relações Exemplo: Dado o seguinte esquema de uma Relação Alunos: Aluno = {Nome, RG, Idade} Uma possível instanciação para esse esquema é a Relação: R(Aluno) = {<José, 12345, 21>, <Pedro, 54321, 18>, <Paulo, 321321, 22>}

Relações Numa implementação qualquer SGBD apoiada no modelo Relacional, a ordem existe; pelo fato dos atributos e das tuplas serem armazenados uma seqüência física Assim, a recuperação de informações de um SGBDR pode ser feita em determinada ordem, embora matematicamente, uma relação e seu esquema não possua a idéia de ordem inerente

Chave no Modelo Relacional Superchave Um conjunto de atributos de uma relação R que identifique univocamente cada tupla na relação R é chamada uma SUPERCHAVE Exemplo: Aluno = {Nome, Idade, Curso, No. Matr} Superchave(Aluno) = {Nome, Curso} Superchave(Aluno) = {No. Matr, Nome}

Chave no Modelo Relacional Chave: Chave é uma superchave da qual não se pode retirar nenhum atributo e ainda preservar-se a propriedade de identificação unívoca (chave mínima) Exemplo: Aluno = {Nome, Idade, Curso, No. Matr} Superchave(Aluno) = {Nome, No. Matr} Chave(Aluno) = {Nome} Chave(Aluno) = {No. Matr}

Chave no Modelo Relacional Chave: Adota-se a convenção de que os atributos chaves são grifados. Se mais de um atributo participa de uma mesma chave, grifam-se esses atributos todos com o mesmo número de traços Aluno = {Nome, Idade, Curso, No. Matr} Chave Candidata: É comum que exista mais de uma chave para uma mesma relação. Nesse caso, cada uma das chaves é chamada de Chave Candidata Chave(Aluno) = {Nome} Chave(Aluno) = {No. Matr}

Chave no Modelo Relacional Chave Candidata: Quando existe mais de uma, grifa-se cada chave candidata com um número diferente de traços Aluno = {Nome, Idade, Curso, No. Matr} Chave(Aluno) = {Nome} Chave(Aluno) = {No. Matr} Chave primária Havendo mais de uma chave candidata, escolhe-se uma para ser a chave primária. Essa é a chave que pressupõe-se ser a mais freqüentemente utilizada para acessos nessa relação. A chave primária grifase com apenas um traço A notação para chave primária é C Ch0

Base de Dados Relacional Exemplo: Considere-se uma Base de Dados para armazenar informações sobre as' diversas turmas de disciplinas oferecidas para os alunos num semestre Relações: Aluno = {Nome, No.Matr, Idade, Curso} Matricula = {No.Matr, Sigla, Ano, Semestre, Sala, Nota} Disciplina = {Sigla, Nome, Créditos, No.MatrMonitor} Restrições: Especificação das restrições que se aplicam segundo a conceituação de restrições do Modelo Relacional.

Restrições de Integridade Restrições de integridade são regras a respeito dos valores que podem ser armazenados nas relações que devem ser sempre satisfeitas, em quaisquer das Relações R de uma base de dados BD Existem várias formas de Restrições de integridade que podem ser indicadas. Existem 3 que são consideradas necessárias a uma BD relacional: Restrições de Unicidade da Chave Restrições de Integridade da Entidade Restrições de Integridade Referencial

Restrições de Integridade Restrições de Integridade da Chave: Uma chave candidata qualquer (primária ou não) NÃO pode ter o mesmo valor em duas tuplas distintas da mesma relação Restrições de Integridade da Entidade A chave primária de qualquer relação não pode ser nula em nenhuma tupla dessa relação Restrições de Integridade Referencial O conceito de Integridade Referencial depende do conceito de Chave Estrangeira

Restrições de Integridade Referencial Chave Estrangeira: Dado dois conjuntos de atributos quaisquer C e D, diz- se que ambos são compatíveis quando existe uma ordem entre os atributos de ambos os domínios tal que o primeiro atributo de C tenha o mesmo domínio do primeiro atributo de D, o mesmo valendo para as os segundos atributos, e assim por diante Uma chave estrangeira ocorre quando um conjunto de atributos de C que não é chave em R 1, é compatível com outro conjunto de atributos D que é Chave Primária da relação R 2

Restrições de Integridade Referencial A restrição de Integridade Referencial impõe que se existe um valor no atributos C de uma tupla da relação R 1 deve existir o mesmo valor no atributo D de uma tupla da relação R 2 onde esse atributo é chave.

Restrições de Integridade - Exemplo Chave estrangeira Alunos = {Nome, No.Matr, Idade} = {<Mario, 1234, 20>, <Paulo, 4321, 25>, <Almir, 5432, 22>, <Marta, 2345, 21>} Disciplina = {Sigla, No.MatrMonitor} = {<ECO-104, 1234>, <ECO-123, 2222>, <ECO-149, 1234>, <ECO-189, >}

Restrições de Integridade - Exemplo Alunos = {Nome, No.Matr, Idade} = {<Mario, 1234, 20>, <Paulo, 4321, >, <, 5432, 22>, <Marta, 2345, 21>} Disciplina = {Sigla, No.MatrMonitor} = {<ECO-104, 1234>, <ECO-123, 2222>, <ECO-149, 1234>, <ECO-189, >} Válido: Nenhum atributo é chave primária

Restrições de Integridade - Exemplo Alunos = {Nome, No.Matr, Idade} = {<Mario, 1234, 20>, <Paulo, 4321, >, <Almir,, 22>, <Marta, 2345, 21>} Chave Primária Nula Disciplina = {Sigla, No.MatrMonitor} = {<ECO-104, 1234>, <ECO-123, 2222>, <ECO-149, 1234>, <ECO-189, >} Inválido: Restrição de Integridade de Entidade

Restrições de Integridade - Exemplo Alunos = {Nome, No.Matr, Idade} = {<Mario, 1234, 20>, <Paulo, 4321, 25>, <Almir,1234, 22>, <Marta, 2345, 21>} Duas Chave Primária Iguais Disciplina = {Sigla, No.MatrMonitor} = {<ECO-104, 1234>, <ECO-123, 2222>, <ECO-149, 1234>, <ECO-189, >} Inválido: Restrição de Unicidade da Chave

Restrições de Integridade - Exemplo Alunos = {Nome, No.Matr, Idade} = {<Mario, 1234, 20>, <Paulo, 4321, 25>, <Almir, 5432, 22>, <Marta, 2345, 21>} Disciplina = {Sigla, No.MatrMonitor} = {<ECO-104, 1234>, <ECO-123, 2222>, <ECO-149, 1234>, <ECO-189, >} Chave Estrangeira sem correspondente Inválido: Restrição de Inegridade Referencial

Restrições de Integridade - Exemplo Alunos = {Nome, No.Matr, Idade} = {<Mario, 1234, 20>, <Paulo, 4321, >, <Almir,, 22>, <Marta, 2345, 21>} Disciplina = {Sigla, No.MatrMonitor} = {<ECO-104, 1234>, <ECO-123, 2222>, <ECO-149, 1234>, <ECO-189, >} Tupla com valor nulo na chave estrangeira Válido: No.MatrMonitor é chave estrangeira, mas não é chave primária

Restrições de Integridade - Exemplo Alunos = {Nome, No.Matr, Idade} = {<Mario, 1234, 20>, <Paulo, 4321, >, <Almir,, 22>, <Marta, 2345, 21>} Disciplina = {Sigla, No.MatrMonitor} = {<ECO-104, 1234>, <ECO-123, 2222>, <ECO-149, 1234>, <ECO-189, >} Duas tuplas com o mesmo valor na chave estrangeira Válido: No.MatrMonitor é chave estrangeira, mas não é chave primária

Restrições de Integridade Continuação do Exemplo: Considerando-se uma base de dados para armazenar informações sobre as diversas turmas de disciplinas oferecidas para alunos num semestre Relações: Aluno = {Nome, No.Matr, Idade, Curso} Matricula = {No.Matr, Sigla, Ano, Semestre, Sala, Nota} Disciplina = {Sigla, Nome, Créditos, No.MatrMonitor} Restrições Indicação das Chaves Candidatas Indicação da Chave Primária Indicação das Chaves Estrangeiras

Restrições de Integridade Relações: Aluno = {Nome, No.Matr, Idade, Curso} Matricula = {No.Matr, Sigla, Ano, Semestre, Sala,Nota} Disciplina = {Sigla, Nome, Créditos, No.MatrMonitor}

Restrições de Integridade Restrições Indicação das Chaves Candidatas CC(Aluno) = {(Nome), (No.Matr)} CC(Matrícula) = {(No.Matr, Sigla)} CC(Disciplina) = {(Sigla), (Nome)} Indicação da Chave Primária Ch(Aluno) = {No.Matr} Ch(Matricula) = {No.Matr, Sigla} Ch(Disciplina) = {Sigla} Indicação das Chaves Estrangeiras CE(Aluno) = CE(Disciplina) = { } CE(Matricula) ={<No.Matr, Aluno(No.Matr)>, <Sigla, Disciplina(Sigla)>}

Banco de Dados Modelo Relacional Os logotipos, marcas comerciais e nomes de produtos citados nesta publicação tem apenas o propósitos de identificação e podem ser marcas registradas de suas respectivas companhias.