MC536. Modelo Relacional

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

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

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

Bancos (Bases) de Dados Aula #4 Modelo Relacional

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

MODELO DE BANCO DE DADOS RELACIONAL

Restrições do modelo relacional

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

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

modelo introduzido por E. F. Codd Meados da década de 70: protótipos. INGRES (UC Berkeley, 73 77) System R (IBM Research at San Jose, 74 78)

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

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

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

Introdução ao Modelo Relacional

Fundamentos de Banco de Dados e Modelagem de Dados

INTRODUÇÃO AO MODELO RELACIONAL

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

Prof.: Clayton Maciel Costa

GES013 Sistema de Banco de Dados. Modelo Relacional (R) Ilmério Reis da Silva ilmerio arroba ufu.br UFU/FACOM

Modelo de Dados Relacional

Modelo Relacional Prof. Msc Denival A. dos Santos

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

Sistemas de Informação e Bases de Dados 2012/2013. Modelo Relacional. Alberto Sardinha 2012 IST

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

O que é modelo lógico. Tipos de modelo

Base de Dados. Sistemas de Informação. Base de Dados - Índice Introdução Componentes Base de Dados. Introdução. Introdução. Introdução.

MODELO RELACIONAL E RESTRIÇÕES DE INTEGRIDADE

MODELO RELACIONAL PARTE 2

Prof. Fabiano Taguchi

Modelo Relacional + SQL (DDL) Material elaborado pela Prof. Karin Becker

Modelo de Dados Relacional

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

Banco de dados. Conteúdo: Modelo relacional Prof. Patrícia Lucas

Bases de Dados. Parte III. O Modelo Relacional

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

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

Informática. Banco de Dados Relacional. Professor Julio Alves.

Revisando Banco de Dados. Modelo Relacional

Aula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU

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

Modelo Entidade Relacionamento Estendido (ERE)

Banco de Dados - Senado

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

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

NORMALIZAÇÃO. Lílian Simão Oliveira

Banco de Dados I (MAB489)

António Rocha Nuno Melo e Castro

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

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

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

Modelo Relacional Wendel Melo

Banco de Dados. Linguagem SQL

Chave alternativa. Angélica Toffano Seidel Calazans Abordagem 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. Araújo Lima. Ago / Araújo

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

MODELO RELACIONAL - UFMA

Modelo Relacional e Normalização de Dados. ENG1518/3VC Sistemas de Informação Gerenciais Prof. Marcos Villas

GES013 Sistema de Banco de Dados Normalização de Relações em Projeto de BD (1FN a FNBC)

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

Modelo Lógico de Dados. Modelo Relacional

Fundamentos de Banco de Dados Aula II

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA

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

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

Banco de Dados Modelo Relacional, Algebra Relacional, SQL

BANCO DE DADOS I/MODELAGEM DE DADOS Prof. Ricardo Rodrigues Barcelar

Teste Exemplo Revisão da tentativa 1

Conceitos Básicos de Banco de Dados

Revisão de Bancos de Dados

Unidade 4 Projeto de BD Relacional

MODELAGEM DE DADOS PARTE 1

Bibliografia. Bases de Dados 2012/2013 Modelo Relacional. Helena Galhardas. Raghu Ramakrishnan, Database Management Systems, Cap. 3 10/2/ IST

Banco de Dados Mapeamento Entidade Relacionamento para Relacional

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

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

Introdução a Ciência da Computação Estrutura e Organização das Informações PROFESSORA CINTIA CAETANO

Informática I. Aula 8. Aula 8-25/09/2006 1

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

Normalização. Prof. Rogério Gonçalves Bittencourt, M.Sc.

INF1383 -Bancos de Dados

Modelo Relacional Wendel Melo

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

SUMÁRIO. Introdução Modelo de Dados Esquema Geral de Modelagem de BD; ME-R: Conceitos gerais; DE-R Representação e exemplos.

Modelagem de dados usando MER. Andre Noel

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

Dependência Funcional e Normalização)

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

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

Disciplina de Banco de Dados Parte V

Modelo Lógico. Felippe Lima Felippels.wordpress.com

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;

Dependência Funcional e Normalização. Qualidade de um Projeto. Semântica dos Atributos. Dependência Funcional e Normalização

GBC043 Sistemas de Banco de Dados Normalização de Relações em Projeto de BD

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

UFLA - Universidade Federal de Lavras Professora Olinda Paes Banco de Dados COM 111

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

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

Transcrição:

MC536 Modelo Relacional

Sumário Noções básicas Relação visão informal Relação visão formal Termos informais x termos formais Exemplo Restrições de Integridade Restrição de Domínio Restrição de Chave Restrição de Integridade de Entidade Restrição de Integridade Referencial Restrição de Integridade Semântica Restrições e atualizações

Sumário Noções básicas Relação visão informal Relação visão formal Termos informais x termos formais Exemplo Restrições de Integridade Restrição de Domínio Restrição de Chave Restrição de Integridade de Entidade Restrição de Integridade Referencial Restrição de Integridade Semântica Restrições e atualizações

Noções básicas Proposto por E. F. Codd (IBM) em 1970: "A Relational Model for Large Shared Data Banks," Communications of the ACM, June 1970 Baseado no conceito de Relação BD é representado como uma coleção de relações Uma Relação é um conceito matemático baseado na idéia de conjunto Vantagens: Simplicidade Fundamentos matemáticos

Sumário Noções básicas Relação visão informal Relação visão formal Termos informais x termos formais Exemplo Restrições de Integridade Restrição de Domínio Restrição de Chave Restrição de Integridade de Entidade Restrição de Integridade Referencial Restrição de Integridade Semântica Restrições e atualizações

Relação - visão informal RELAÇÃO é uma tabela de valores Uma relação pode ser vista como um conjunto de linhas Cada linha representa um fato que corresponde a uma entidade do mundo real ou a um relacionamento Um cabeçalho de coluna é conhecido como atributo Cada atributo (ou coluna) dentro de uma tabela tem um nome único

Exemplo da Tabela Aluno Nome da Relação atributos Aluno Nome RA Curso Nina 010101 01 Miúcha 020202 02 linhas Bóris 030303 03

Sumário Noções básicas Relação visão informal Relação visão formal Termos informais x termos formais Exemplo Restrições de Integridade Restrição de Domínio Restrição de Chave Restrição de Integridade de Entidade Restrição de Integridade Referencial Restrição de Integridade Semântica Restrições e atualizações

Relação - visão formal para R Um Esquema de Relação R (ou intenção de uma relação): Representado por R (A1, A2,...An) R é o nome da relação A1, A2,...An são os atributos Cada atributo tem um domínio ou um conjunto de valores válidos: dom(a1), dom(a2),... dom(an) Grau da relação é o número de atributos: n

Relação - visão formal para R Um Esquema de Relação R (ou intenção de uma relação): Representado por R (A1, A2,...An) R é o nome da relação A1, A2,...An são os atributos Cada atributo tem um domínio ou um conjunto de valores válidos: dom(a1), dom(a2),... dom(an) Grau da relação é o número de atributos: n Cada atributo (ou coluna) dentro de uma relação R tem um nome único Não pode haver atributos multivalorados em uma relação, somente atributos atômicos

Relação - visão formal para R Por exemplo: ALUNO (Nome, RA, Curso) ALUNO é uma relação definida com 3 atributos: nome, RA, curso o domínio de RA são números de 6 dígitos, etc

Relação - visão formal para r(r) Uma relação (estado, instância, extensão da relação) do esquema de relação R(A1, A2,... An) Representada por r(r) É um conjunto de n-tuplas r = {t1,t2,... tm} Cada n-tupla t é uma lista ordenada de n valores t = <v1,v2,..., vn> Cada valor vi é elemento de dom(ai) ou tem valor null

Relação - visão formal para r(r) Por exemplo: t=< Nina, 010101, 01 > t[nome]=< Nina >,t[ra]=< 010101 >,t[curso]=< 01 > Visão alternativa para tupla: Um conjunto de pares (<atributo>,<valor>) Cada par fornece o mapeamento de um atributo Ai para valor vi de dom(ai) A ordem de linhas em uma relação r(r) é irrelevante

Relação - visão formal para r(r) Uma relação r(r) é um subconjunto do produto cartesiano dos domínios de R: r(r) dom (A 1 ) X dom (A 2 ) X...X dom(a n ) Cardinalidade do domínio D: D Número de tuplas no produto cartesiano: dom(a1) * dom(a2) * * dom(an)

Relação - visão formal Assumindo que: S1 = {0,1} S2 = {a,b,c} R S1 X S2 Uma extensão r da relação R: r(r) = {<0,a>, <0,b>, <1,c> }

Sumário Noções básicas Relação visão informal Relação visão formal Termos informais x termos formais Exemplo Restrições de Integridade Restrição de Domínio Restrição de Chave Restrição de Integridade de Entidade Restrição de Integridade Referencial Restrição de Integridade Semântica Restrições e atualizações

Termos informais x termos formais Termos Informais Tabela Coluna Linha Valores em uma coluna Definição da Tabela Tabela populada Termos Formais Relação Atributo Tupla Domínio Esquema da Relação/Intensão Instância da Relação/Extensão

Sumário Noções básicas Relação visão informal Relação visão formal Termos informais x termos formais Exemplo Restrições de Integridade Restrição de Domínio Restrição de Chave Restrição de Integridade de Entidade Restrição de Integridade Referencial Restrição de Integridade Semântica Restrições e atualizações

MER cliente usa táxi CliId Nome data Placa Marca Modelo Ano Cliente 1 N Corrida N 1 Taxi CPF d CGC Cliente Particular Cliente Empresa

Tabelas Cliente Particular (CP) CliId 0101 0202 0303 Nome Nina Miúcha Bóris CPF 010101010-01 020202020-02 030303030-03 Cliente Empresa (CE) CliId 0102 0203 0304 Nome Lulu Bidu Scooby CGC 010101010/0001-01 020202020/0001-02 030303030/0001-03

Tabelas Táxi (TX) Placa Marca Modelo Ano AAA0101 Ma1 Mo1 2000 BBB0202 Ma2 Mo2 2001 CCC0303 Ma3 Mo3 2002 DDD0404 Ma4 Mo4 2003 EEE0505 Ma5 Mo5 2004 Corrida (C) CliId 0101 Placa AAA0101 Data 10/01/2001 0203 DDD0404 20/02/2002

Sumário Noções básicas Relação visão informal Relação visão formal Termos informais x termos formais Exemplo Restrições de Integridade Restrição de Domínio Restrição de Chave Restrição de Integridade de Entidade Restrição de Integridade Referencial Restrição de Integridade Semântica Restrições e atualizações

Restrições de Integridade Condições que devem ser válidas para todas as instâncias de relações: Restrição de Domínio Restrição de Chave Restrição de Integridade de Entidade Restrição de Integridade Referencial Restrição de Integridade Semântica

Sumário Noções básicas Relação visão informal Relação visão formal Termos informais x termos formais Exemplo Restrições de Integridade Restrição de Domínio Restrição de Chave Restrição de Integridade de Entidade Restrição de Integridade Referencial Restrição de Integridade Semântica Restrições e atualizações

Restrições de Domínio Dentro de cada tupla, um atributo A deve ter um valor atômico dentro do dom(a)

Sumário Noções básicas Relação visão informal Relação visão formal Termos informais x termos formais Exemplo Restrições de Integridade Restrição de Domínio Restrição de Chave Restrição de Integridade de Entidade Restrição de Integridade Referencial Restrição de Integridade Semântica Restrições e atualizações

Restrição de Chave Superchave é um subconjunto de atributos de um esquema R com a propriedade de que duas tuplas, em qualquer relação r de R, não tenham as mesmas combinações de valores para esses atributos T1[SK] T2[SK], onde SK é um subconjunto de atributos garante restrição de unicidade

Restrição de Chave Chave: uma chave K é uma superchave com a propriedade adicional de, ao remover qualquer atributo A de K, o conjunto de atributos K restante não é mais superchave de R Chave é superchave mínima Se qualquer atributo for removido a restrição de unicidade não é mantida Um esquema de relação pode ter mais de uma chave Cada uma é chamada de chave candidata Um delas é indicada como chave primária

Exemplos Superchaves {Placa} {Placa,Marca}, {Placa,Marca,Modelo} {Placa,Marca, Modelo, Ano} Chave {Placa} Táxi (TX) Placa Marca Modelo Ano AAA0101 Ma1 Mo1 2000 BBB0202 Ma2 Mo2 2001 CCC0303 Ma3 Mo3 2002 DDD0404 Ma4 Mo4 2003 EEE0505 Ma5 Mo5 2004

Sumário Noções básicas Relação visão informal Relação visão formal Termos informais x termos formais Exemplo Restrições de Integridade Restrição de Domínio Restrição de Chave Restrição de Integridade de Entidade Restrição de Integridade Referencial Restrição de Integridade Semântica Restrições e atualizações

Integridade de Entidade Dado um BD relacional com esquema S definido como um conjunto de relações S = {R 1, R 2,..., R n } Integridade de Entidade: os atributos que são chave primária PK de cada relação R em S não podem ter valores nulos em nenhuma tupla de r(r). t[pk] nulo para toda tupla t em r(r)

Sumário Noções básicas Relação visão informal Relação visão formal Termos informais x termos formais Exemplo Restrições de Integridade Restrição de Domínio Restrição de Chave Restrição de Integridade de Entidade Restrição de Integridade Referencial Restrição de Integridade Semântica Restrições e atualizações

Integridade Referencial Restrição envolvendo tuplas entre duas relações Tuplas em uma relação R 1 têm atributos FK (chamados chave estrangeira) que referencia atributos chave primária PK de uma outra relação R 2. Uma tupla t 1 em R 1 referencia outra tupla t 2 em R 2 se t 1 [FK] = t 2 [PK]

Integridade Referencial - exemplo Chave primária Táxi (TX) Placa Marca Modelo Ano AAA0101 Ma1 Mo1 2000 BBB0202 Ma2 Mo2 2001 CCC0303 Ma3 Mo3 2002 DDD0404 EEE0505 Ma4 Ma5 Mo4 Mo5 2003 2004 Chave estrangeira Corrida (C) CliId 0101 Placa AAA0101 Data 10/01/2001 0203 DDD0404 20/02/2002

Sumário Noções básicas Relação visão informal Relação visão formal Termos informais x termos formais Exemplo Restrições de Integridade Restrição de Domínio Restrição de Chave Restrição de Integridade de Entidade Restrição de Integridade Referencial Restrição de Integridade Semântica Restrições e atualizações

Restrições de Integridade Semântica Baseada na semântica da aplicação; não pode ser expressa no modelo em si Exemplo: o número máximo de horas trabalhadas por um empregado não pode ultrapassar 40 horas por semana

Sumário Noções básicas Relação visão informal Relação visão formal Termos informais x termos formais Exemplo Restrições de Integridade Restrição de Domínio Restrição de Chave Restrição de Integridade de Entidade Restrição de Integridade Referencial Restrição de Integridade Semântica Restrições e atualizações

Operações de atualizações INSERT uma tupla DELETE uma tupla MODIFY uma tupla

Ações no caso de violação Cancelar a operação que causa a violação de restrições Realizar a operação informando o usuário Propagar as atualizações para corrigir violação Executar um programa especificado pelo usuário para correção

Restrições e Atualizações Inserção Inserção de tupla com valores de atributos inválidos: viola restrição de domínio Inserção de tupla com chave já existente: viola restrição de chave Inserção de tupla com chave nula: viola restrição de integridade de entidade Inserção de tupla com chave estrangeira inválida: viola restrição de integridade referencial

Restrições e Atualizações Remoção Pode violar restrição de integridade referencial Exemplo: Placa Marca Modelo Ano AAA0101 Ma1 Mo1 2000 BBB0202 Ma2 Mo2 2001 CCC0303 Ma3 Mo3 2002 DDD0404 Ma4 Mo4 2003 EEE0505 Ma5 Mo5 2004 Táxi (TX) remoção CliId 0101 Placa AAA0101 Data 10/01/2001 Corrida (C) 0203 DDD0404 20/02/2002

Restrições e Atualizações Modificação Modificação de atributos não chave para valores não válidos: viola restrição de domínio Modificação valor de chave primária: similar a remover tupla e inserir uma nova tupla Modificação valor de chave estrangeira: pode violar restrição de integridade referencial. SGBD verifica se o valor da chave refere-se a alguma tupla existente na relação referida.