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

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

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

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

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

Introdução ao Modelo Relacional

INTRODUÇÃO AO MODELO RELACIONAL

Modelo Relacional Prof. Msc Denival A. dos Santos

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

MODELO DE BANCO DE DADOS RELACIONAL

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

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

Banco de Dados I Introdução SQL

Abordagem relacional. Capítulo 4

BCD29008 Banco de dados

MC536. Modelo Relacional

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

A linguagem SQL

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

Modelo Lógico de Dados. Modelo Relacional

O que é modelo lógico. Tipos de modelo

Restrições do modelo relacional

MODELO RELACIONAL PARTE 2

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

CICLO DE VIDA DE UM BD

Revisando Banco de Dados. Modelo Relacional

Modelo Entidade Relacionamento Estendido (ERE)

Aula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU

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

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

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 Wendel Melo

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

Linguagem de Consulta Estruturada (SQL)

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

BCD29008 Banco de dados

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

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

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

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

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

Bancos (Bases) de Dados Aula #4 Modelo Relacional

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

Fundamentos de Banco de Dados e Modelagem de Dados

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

Laboratório de Banco de Dados. Prof. Luiz Vivacqua.

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

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

Banco de Dados. Linguagem SQL

Modelo Relacional Wendel Melo

A linguagem SQL

ATRIBUTOS. Prof. Me. Hélio Esperidião

Atualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g

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

SQL Básica. Andre Noel

12.4 DER Mais sobre Cardinalidade DER Mais sobre Cardinalidade DER Mais sobre Cardinalidade DER Mais sobre Cardinalidade

Chave alternativa. Angélica Toffano Seidel Calazans Abordagem Relacional

BANCO DE DADOS. Araújo Lima. Ago / Araújo

Material Teórico. Organização de Dados. Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque

Professor Eros Moura, DSc

SQL Linguagem de Definição de Dados

AULA 3 Classificação dos Sistemas de Informação

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação

PARTE I - INTRODUÇÃO A BANCO DE DADOS

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

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

INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Professor Carlos Muniz

Modelo Entidade-Relacionamento (E-R)

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

Conceito de Campos e Tabelas

Projeto de Banco de Dados

Revisão de Bancos de Dados

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

Banco de Dados I (MAB489)

Prof. Dr. Joaquim Assunção Banco de Dados. SQL (parte 4) DDL Restrições

Teste Exemplo Revisão da tentativa 1

Modelo de Dados. Modelos Conceituais

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

Modelo Relacional. Aula 02

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

SQL. Linguagem de Definição de Dados (DDL) Tipos em SQL. Tipos Data/Tempo em SQL (cont.)

Bases de Dados. Parte III. O Modelo Relacional

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

Modelo Relacional (Parte 1) Abordagem Relacional

TABELA ENTIDADE LINHA OCORRÊNCIA DA ENTIDADE COLUNA ATRIBUTO DA ENTIDADE

Administração e Projeto de Banco de dados

Modelo Lógico de Dados (MLD) Origens do modelo relacional

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

Revisão Banco de Dados

AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL

MODELAGEM DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc.

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

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

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

Banco de Dados Modelo Relacional, Algebra Relacional, SQL

Modelagem Física e SQL

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

Transcrição:

MODELO RELACIONAL Prof.: Jacson Tiola Técnico em Redes de Computadores http://tiola.net

Modelo Relacional Introduzido por Codd em 1970 (IBM/ Califórnia) Modelo com uma sólida base formal teoria dos conjuntos Conceitos Simples relações, atributos, tuplas e domínios Não considera aspectos físicos de armazenamento, acesso e desempenho Base para a maioria dos SGBDs que dominam o mercado

Modelo Relacional - Características Organização dos dados conceitos do modelo: atributo, relação, chave,... Integridade restrições básicas para dados e relacionamentos Manipulação linguagens formais (álgebra e cálculo relacional) SQL (comercial)

Conceitos Gerais: Domínio Conjunto de valores permitidos para um dado Possui uma descrição física e outra semântica. A descrição física identifica o tipo e o formato dos valores que compõem o domínio exemplo: char(13), (99)9999-9999 a descrição semântica ajuda na interpretação de seus valores exemplo: Números de telefone válidos no Brasil

NOME Exemplo de Domínio

Exemplo de Domínio NOME Varchar(20) Nomes próprios de pessoas DOMÍNIO

Exemplo de Domínio Tipo NOME Varchar(20) Nomes próprios de pessoas DOMÍNIO Semântica

Exemplo de Domínio Tipo Telefone Varchar(10) (99) 9999-9999 Telefones válidos no Brasil Formato DOMÍNIO Semântica

Conceitos Gerais: Atributo Um item de dado do Banco de Dados (BD) Possui um nome e um domínio Exemplos nome: varchar(20) matrícula: integer datanasc: date Nome Matrícula DataNasc

Conceitos Gerais: Tupla Um conjunto de pares (atributo, valor) Valor de um atributo Definido no momento da criação de uma tupla deve ser: compatível com o domínio ou NULL Atômico (indivisível)

Exemplo: Tupla Nome Matrícula DataNasc Renata 01035 12/11/1980 Tupla 1 Vânia Maria 02467 01427 03/07/1976 20/02/1985 Atributo: Nome Valor: Renata

Exemplo: Tupla Nome CPF DataNasc Tuplas Renata 01035 12/11/1980 Vânia 02467 03/07/1976 Maria 01427 20/02/1985

Conceitos Gerais: Relação Composto por um cabeçalho e um corpo Cabeçalho número fixo de atributos (grau da relação) atributos não-ambíguos Corpo número variável de tuplas (cardinalidade da relação) ordem não é relevante

Exemplo Relação Cabeçalho Nome Aluno CPF Endereço DataNasc Renata 01035 Rua das Flores 12/11/1980 Vânia 02467 Capote Valente 03/07/1976 Maria 01427 São Diego 20/02/1985

Exemplo Relação Aluno Nome CPF Endereço DataNasc Renata 01035 Rua das Flores, 210 12/11/1980 Vânia 02467 Capote Valente, 35 03/07/1976 Maria 01427 São Diego 310/34 20/02/1985 Corpo

Revisando...

Conceitos Gerais: Relação Definição: Dados os conjuntos S1, S2,..., Sn, não necessariamente distintos, diz-se que: R é uma relação sobre esses n conjuntos se R é um conjunto de M tuplas, nas quais o primeiro elemento assume valores em S1, o segundo em S2, e assim por Nome Renata Vânia S1 S2 S3 Endereço Rua das Flores, 210 Capote Valente, 35 DataNasc 12/11/1980 03/07/1976 diante. Maria São Diego 20/02/1985 310/34 TUPLAS

Conceitos Gerais: Atributos Definição: dada uma relação R, define-se como seus atributos os nomes das funções que mapeiam os valores de cada um dos elementos de cada tupla nos respectivos conjuntos S1, S2,..., S n.. ATRIBUTOS Nome Renata S1 S2 S3 Endereço Rua das Flores, 210 DataNasc 12/11/1980 Relação R Vânia Capote Valente, 35 03/07/1976 Maria São Diego 310/34 20/02/1985

Conceitos Gerais: Domínios Definição: Dada uma relação R, o domínio do atributo Aj, é o conjunto Sj no qual o atributo assume valores Domínio S1 S2 S3 ATRIBUTOS Nome Endereço DataNasc Renata Rua das Flores, 210 12/11/1980 Relação R Vânia Capote Valente, 35 03/07/1976 Maria São Diego 310/34 20/02/1985

Relembrando... Relação é uma Tabela Atributo é um Campo (coluna da tabela) Tupla é uma linha da tabela Domínio: tipo de dado, formato de um atributo

Banco de Dados Relacional O universo de um banco de dados relacional é um conjunto finito, não vazio, de relações. o esquema é o conjunto dos esquemas das relações que o formam, isto é: R 1 (A 11, A 12,..., A 1n ) R 2 (A 21, A 22,..., A 2n )... R m (A m1, A m2,..., A mn ) uma instância de um banco de dados relacional é o conjunto das instâncias de suas relações. o mesmo esquema pode se aplicar a diferentes instâncias de um banco de dados.

Esquema e Instância Esquema Aluno (nome,matrícula, endereço, DataNasc, Curso) Curso (codigo, descrição) Instância (Daniela, 12345, São Diego, 310, 28/06, 1)

Chave Conjunto de um os mais atributos de uma relação Chave Primária (primary key) PK Chave Candidata Chave Alternativa Chave Estrangeira (foreign key) - FK

Chave Primária Primary key (PK) atributo(s) cujo (conjunto de) valor(es) identifica(m) unicamente uma tupla em uma relação Unicidade de valores na coluna que compõe a chave

Chave Primária (PK) Aluno Nome CPF Endereço DataNasc Renata 01035 Rua das Flores, 210 12/11/1980 Vânia 02467 Capote Valente, 35 03/07/1976 Maria 01427 São Diego 310/34 20/02/1985 Qual(is) atributo(s) representam unicamente uma tupla?

Chave Primária (PK) Aluno Nome CPF Endereço DataNasc Renata 01035 Rua das Flores, 210 12/11/1980 Vânia 02467 Capote Valente, 35 03/07/1976 Maria 01427 São Diego 310/34 20/02/1985 Qual(is) atributo(s) representam unicamente uma tupla? CPF

Chave Primária (PK) Aluno Nome CPF Endereço DataNasc Renata 701034263890 Rua das Flores, 210 12/11/1980 Vânia 693529876987 Capote Valente, 35 03/07/1976 Maria 347685784432 São Diego 310/34 20/02/1985 Aluno(CPF, Nome, Endereço, DataNasc)

Chave Primária (PK) Composta Alocação (Cod_Projeto, Cod_Func, DataIni, Tempo) Um funcionário pode estar em mais de um projeto

Chave Primária (PK) Alocação (Cod_Projeto, Cod_Func, DataIni, Tempo) Chave primária composta

Chave Candidata Possui as mesmas propriedades que a chave primária Aluno Nome Matrícula CPF DataNasc Renata 01035 701034263890 12/11/1980 Vânia 02467 693529876987 03/07/1976 Maria 01427 347685784432 20/02/1985

Chave Candidata Possui as mesmas propriedades que a chave primária Aluno Nome Matrícula CPF DataNasc Renata 01035 701034263890 12/11/1980 Vânia 02467 693529876987 03/07/1976 Maria 01427 347685784432 20/02/1985 Chaves candidatas

Chave Candidata Qual escolher para Chave Primária? Escolhe-se para chave primária aquela com o atributo único ou menor número de caracteres Nome Matrícula CPF DataNasc Renata 01035 701034263890 12/11/1980 Vânia 02467 693529876987 03/07/1976 Maria 01427 347685784432 20/02/1985

Chave Candidata Chave Primária Nome Matrícula CPF DataNasc Renata 01035 701034263890 12/11/1980 Vânia 02467 693529876987 03/07/1976 Maria 01427 347685784432 20/02/1985

Chave Alternativa Chave Primária Nome Matrícula CPF DataNasc Renata 01035 701034263890 12/11/1980 Vânia 02467 693529876987 03/07/1976 Maria 01427 347685784432 20/02/1985 Chave alternativa Chave alternativa: chave candidata que não é primária

Chave Estrangeira Foreign Key (FK) Atributo(s) de uma relação, cujos valores devem obrigatoriamente aparecer na chave primária de uma relação (da mesma ou de outra) Implementa o relacionamento em um BD relacional

Chave Estrangeira (FK) Nome Matrícula CPF Curso Renata 01035 701034263890 1 Vânia 02467 693529876987 2 Maria 01427 347685784432 1

Chave Estrangeira (FK) Nome Matrícula CPF Curso Renata 01035 701034263890 1 Vânia 02467 693529876987 2 Maria 01427 347685784432 1 Codigo Descrição 1 Ciência da Computação 2 3 Administração de Empresas Ciências Jurídicas e Sociais

Chave Estrangeira (FK) Aluno(CPF, Nome, Endereço, DataNasc, #Curso) Curso (Codigo, Descrição)

Chave Estrangeira (FK) Funcionário (CodFunc, Nome, Endereço, #Cod_Chefe) CodFun Nome Endereço Cod_Chefe 1 Maria Av. Joaquim 2 4 2 João Oscar Freire, 10 3 3 Pedro Anita Garibaldi, 12 1 4 Carla Carlos Gomes, 50 2

Revisando... Chave Primária (PK) Chave candidata Chave alternativa Chave Estrangeira (FK)

Restrições de Integridade É uma regra que deve ser obedecida em todos os estados válidos da base de dados. Garantem que os dados refletem corretamente a realidade modelada. Domínio, Chave Primária, Valores Vazios Integridade de Entidade Integridade Referencial Semântica

Restrições de Integridade Domínio: conjunto de valores que um atributo pode assumir Exemplo: Nome: varchar (20)- Alessandra Vogel Oliveira viola a regra Vazio: define se os atributos podem ou não ser vazios

Integridade de Entidade Garantia de acesso a todos os dados sem ambigüidade Atributos pertencentes a chaveprimária de uma relação não podem ter valor nulo A chave primária representa uma entidade na base de dados CodFun 1 2 3 4 Nome Maria João Pedro Carla

Integridade Referencial Chave estrangeira (FK) Garantia de relacionamentos válidos Os valores que aparecem na FK devem aparecer na PK da relação referenciada Nome Renata Vânia Maria Curso 1 2 3 Matrícula CPF 01035 701034263890 02467 693529876987 01427 347685784432 Descrição Ciência da Computação Administração de Empresas Ciências Jurídicas e Sociais Curso 1 2 1

Integridade Semântica Especificada através de regras sobre o esquema do banco de dados Exemplos: O salário de um empregado deve ser menor ou igual ao do seu supervisor O número de horas semanais de um empregado em um projeto não pode ser maior do que 50

Restrições de Atualização Inserção: insere tuplas em uma relação Pode violar 4 restrições de integridade:

Restrições de Atualização Inserção: insere tuplas em uma relação Pode violar 4 restrições de integridade: Integridade de Domínio: valor não é do domínio

Restrições de Atualização Inserção: insere tuplas em uma relação Pode violar 4 restrições de integridade: Integridade de Domínio Integridade de Chave: valor já existe

Restrições de Atualização Inserção: insere tuplas em uma relação Pode violar 4 restrições de integridade: Integridade de Domínio Integridade de Chave Integridade de Entidade: chave primária é nula

Restrições de Atualização Inserção: insere tuplas em uma relação Pode violar 4 restrições de integridade: Integridade de Domínio Integridade de Chave (ex.: chave duplicada) Integridade de Entidade Integridade Referencial: valor da FK refere-se a uma tupla que não existe na relação referenciada

Restrições de Atualização Exclusão: exclui tuplas de uma relação Pode violar :

Restrições de Atualização Exclusão: exclui tuplas de uma relação Pode violar : Integridade referencial: se a tupla que está sendo excluída está referenciada por uma FK de outra tupla

Restrições de Atualização Exclusão: Curso 1 2 3 Descrição Ciência da Computação Administração de Empresas Ciências Jurídicas e Sociais Nome Matrícula CPF Curso Renata 01035 701034263890 1 Vânia 02467 693529876987 2 Maria 01427 347685784432 1

Restrições de Atualização Procedimento a ser adotado: Rejeitar a operação Excluir em cascata Mudar os valores dos atributos referenciados

Restrições de Atualização Atualização : altera os valores de atributos nas tuplas existentes Pode violar:

Restrições de Atualização Atualização : altera os valores de atributos nas tuplas existentes Pode violar: Restrição de Domínio para atributos que não são chave

Restrições de Atualização Atualização : altera os valores de atributos nas tuplas existentes Pode violar: Restrição de Domínio para atributos que não são chave Chave primária e entidade

Restrições de Atualização Atualização : altera os valores de atributos nas tuplas existentes Pode violar: Restrição de Domínio para atributos que não são chave Chave primária e entidade Referencial

Exercício: Considere o seguinte esquema relacional: Categoria(CodCategoria, Descrição) Cliente (CodCli, Nome, Endereco, CPF, CodCategoria) Funcionário (CodFunc, Nome, CT, CPF, End, Fone) Fornecedor (CodFornec, Nome, Cidade) Produto (CodProd, CodFornec, Nome, Peso, Valor)

Exercício: Identificar as chaves primárias e chaves estrangeiras Explique o que deve ser feito pelo SGBD para garantir a integridade referencial nas seguintes situações: Uma tupla é excluída na tabela Categoria Uma tupla é alterada na tabela Fornecedor