Modelo Relacional. Modelo Relacional. Tabelas

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

Banco de Dados - Senado

Curso Superior em Tecnologia de Análise e Desenvolvimento de Sistemas. Campus Alegrete. Banco de Dados I. Cristhiano Bossardi de Vasconcellos.

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

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

Abordagem relacional Capítulo 4

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

INF Fundamentos de Banco de Dados Exercícios sobre normalização

Aula VI -MODELO RELACIONAL

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

MODELO ENTIDADE - RELACIONAMENTO

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)

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

Profa. Daniela Barreiro Claro

Prof.: Clayton Maciel Costa

Disciplina de Banco de Dados Parte V

PROJETO LÓGICO. Passos para transformação ER Relacional: 1) Tradução inicial de Entidades e seus Atributos;

Modelo Relacional. Aécio Costa

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

Modelo Entidade-Relacionamento

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

MODELO RELACIONAL - UFMA

Modelo de Dados. Modelos Conceituais

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

Níveis de Abstração. Mundo Real. Transformações entre modelos. Analista. Mini-mundo. Banco de Dados I. Unidade I. Modelo de Banco de Dados.

LINGUAGEM DE BANCO DE DADOS

Banco de Dados. Modelo Relacional. Prof. Enzo Seraphim

BANCO DE DADOS -PROJETO LÓGICO. Prof. Angelo Augusto Frozza, M.Sc.

Banco de Dados. Modelagem de Dados com MER. Prof. Walteno Martins Parreira Jr

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

Conceitos Básicos de Banco de Dados

Tradução de Entidade. Tradução de Relacionamentos 1:1. Tradução de Relacionamentos 1:1. Empregado. Empregado (CPF, Nome, Salário) CPF Nome Salário

CICLO DE VIDA DE UM BD

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

Projeto de Banco de Dados

MODELAGEM DE DADOS. Banco de Dados I. O uso da análise e do projeto Orientados a Objetos atenuou a separação! Unidade I

Ciclo de vida de um banco de dados relacional

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

Técnicas e Linguagens para Banco de Dados I

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

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

Prof.: Clayton Maciel Costa

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

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

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

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

Exercícios Propostos de Modelagem parte II

Exercícios Propostos de Modelagem parte II

Banco de Dados Lista de Exercícios 01

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

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

Tecnologias e Linguagens para Banco de Dados I. Expressão do Relacionamento. Expressão do Relacionamento

Modelo Entidade - Relacionamento (ER ou MER) Parte 3

Fernando Fonseca Ana Carolina

Modelo Lógico de Dados. Modelo Relacional

Administração de Bancos de Dados

Bases de Dados. Parte III: O Modelo Relacional

Modelo de Entidade e Relacionamento (MER) - Parte 07

BANCO DE DADOS I AULA 3. Willamys Araújo

Prof. Alexandre Unterstell Banco de Dados I

PROJETO DE BANCO DE DADOS -PROJETO CONCEITUAL. Prof. Angelo Augusto Frozza, M.Sc.

Banco de Dados Básico

Integridade dos Dados

Modelagem de Dados. Aula 04 Introdução ao Modelo Entidade- Relacionamento. Maxwell Anderson

Banco de Dados I. Prof. Bal. Emerson Meneses Inocente

Programação SQL. Introdução

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

AULA Entidade-Relacionamento

rafaeldiasribeiro.com.br 04/08/2012 MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS Aula 8

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

Roteiro 3 Modelagem relacional

Introdução a Banco de Dados e Access

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

Persistência e Banco de Dados em Jogos Digitais

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

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

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

O Modelo de Entidade Relacionamento (ER ou MER) Parte 1

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

Propriedades de entidades

Capítulo 5 Complemento. 5.1 Laudon, Cap. 5

Tecnologias e Linguagens para Banco de Dados I. Definição de. Estabelecendo relacionamentos. Relacionamentos. Relacionamentos

INTRODUÇÃO. Enfoque abstrato. Enfoque Intermediário

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

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

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

Modelagem de Dados Usando o Modelo Entidade-Relacionamento

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

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

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

05/06/2012. Banco de Dados. Gerenciamento de Arquivos. Gerenciamento de Arquivos Sistema Gerenciador de Banco de Dados Modelos de Dados

Introdução Banco de Dados

Modelagem de dados usando o modelo BANCO DE DADOS 1º TRIMESTRE PROF. PATRÍCIA LUCAS

Curso Superior de Tecnologia em BD

Banco de Dados I. 1. Conceitos de Banco de Dados

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Comandos DDL. id_modulo = id_m odulo

Memória de aula Semanas 15 e 16

Transcrição:

MODELO RELACIONAL Banco de Dados Relacional = consiste em uma coleção de tabelas ou relações, cada uma das quais com um nome único. 2 1

Tabelas Conjunto não ordenado de linhas (tuplas); Cada linha é composta por uma série de campos (valor de atributo); Cada campo é identificado por um nome de campo (nome de atributo); O conjunto de campos iguais da tabela formam uma coluna 3 Coluna (atributo) nome do campo (nome do atributo) N o Matrícula Nome End. Residencial Cargo 01 João Av. 9 de julho,140 Diretor 05 02 José Rua das Flores, 35 Gerente............ 03 Maria Al. Casa Branca, 110 Escriturário linha (tupla) valor do campo (valor do atributo) 4 2

Chaves Identificam as linhas de uma tabela e permitem o relacionamento entre linhas de várias tabelas. Podem ser: Chaves primárias; Chaves estrangeiras; e Chaves alternativas. 5 Chaves - Chave Primária É uma coluna ou uma combinação de colunas cujos valores distinguem uma linha das demais dentro de uma tabela. Podem ser: Chaves únicas; ou Chaves compostas. 6 3

Chave Única CódigoEmp Nome CódigoDepto E3 Paulo D1 E1 Luciana D2 E2 Antonio D1 E4 Lucia D3 Chave Composta CódigoEmp NumDepend Nome Tipo E1 01 Luis Filho E1 02 Marta Esposa E2 01 Ana Esposa E2 02 Carlos Filho 7 Chaves - Chave Estrangeira É uma coluna ou uma combinação de colunas, cujos valores aparecem necessariamente na chave primária de uma tabela. Permite a implementação do relacionamento em um banco de dados relacional 8 4

CodigoDepto D1 D2 D3 Nome Compras Vendas Engenharia Chave Estrangeira CódigoEmp Nome CódigoDepto E3 Paulo D1 E1 Luciana D2 E2 Antonio D1 E4 Lucia D3 9 Chaves - Chave Estrangeira Restrições: Quando for incluída uma nova linha na tabela que contém a chave estrangeira; Quando for alterado o valor da chave primária referenciada pela chave estrangeira; Quando for alterado o valor de uma chave estrangeira; Quando for excluída uma linha da tabela que contém a chave primária referenciada pela chave estrangeira; 10 5

Chaves - Chave Estrangeira dentro da própria tabela CodigoEmp Nome CodigoDepto CodEmpGerente E3 Pedro D1 E2 Lucas D1 E3 E1 Marisa D3 E3 Chave estrangeira referencia chave primária na própria tabela 11 Chaves - Chave Alternativa Quando mais de uma coluna podem servir para distinguir uma linha das demais, uma é escolhida chave primária e as demais são denominadas chaves alternativas. CodigoEmp Nome CodigoDepto CPF E3 Pedro D1 132.121.331-20 E2 Lucas D1 876.346.235-90 E1 Marisa D3 312.692.451-78 Chave alternativa 12 6

Domínios Conjunto de valores ( alfanuméricos, numéricos...) que os campos de uma determinada coluna podem assumir. Ex: números de salas de aula [o conj.de números de 1 a 150, inteiros do formato 999] nomes de alunos [o conj.de nomes possíveis de pessoas, formato A(50)] códigos de disciplinas [o conj.de 3 letras seguidos de um traço e de 3 dígitos; formato AAA-999] 13 Domínios Podem ser: obrigatórios : não são admitidos valores vazios para as colunas. Opcionais : podem aparecer valores vazios para as colunas. Normalmente, chaves primárias são obrigatórias. 14 7

Restrições de Integridade Integridade dos dados de um Banco de Dados = os dados refletem corretamente a realidade representada pelo banco de dados e são consistentes entre si 15 Restrições de Integridade Regras de consistência de dados que é garantida pelo próprio SGBD: Integridade de Domínio; Integridade de Vazio; Integridade de Chave; e Integridade Referencial. 16 8

Restrições de Integridade Integridade de Domínio: especificam que o valor de um campo deve obedecer a definição dos valores admitidos para a coluna. Integridade de Vazio: através deste tipo de restrição é especificado se os campos de uma coluna podem ou não ser vazios ( se a coluna é obrigatória ou opcional). 17 Restrições de Integridade Integridade de Chave: trata-se da restrição que define que os valores da chave primária e alternativa devem ser únicos. Integridade Referencial: define que os valores dos campos que aparecem em uma chave estrangeira devem aparecer na chave primária da tabela referenciada. 18 9

Restrições de Integridade Restrições Semânticas: não são automaticamente controladas pelo SGBD; o programador deve escrever procedimentos que garantam tais integridades. Ex: Um empregado não pode ter um salário maior que seu superior imediato; 19 Especificação de Banco de Dados Relacional Chamada de Esquema do Banco de Dados, deve conter no mínimo: Tabelas que formam o banco de dados; Colunas que as tabelas possuem; e Restrições de integridade. 20 10

Esquema do Banco de Dados NOMETABELA (nomes das colunas) <nome da coluna ch. estrangeira> referencia <nome da tabela> Ex: DEPARTAMENTO (CodigoDepto, Nome) EMPREGADO (CodigoEmp, Nome, CodigoDepto) CodigoDepto referencia DEPARTAMENTO 21 Mapeamento entre Modelos Modelo ER ( nível conceitual) Engenharia Reversa de BD Relacional Projeto Lógico de BD Relacional ( nível lógico) 22 11

Mapeamento ER - Relacional Regras: obter um banco de dados que permita a eficiência das instruções de consulta e alteração do banco; e obter um banco de dados simplificado, no que diz respeito ao desenvolvimento e manutenção das aplicações. 23 Mapeamento ER - Relacional Para isso: Evitar junções: ter os dados necessários a uma consulta em uma única linha; Diminuir o número de chaves: Cliente (CodCliente, Nome, Endereço, CEP,Telefone) Ou Cliente (CodCliente, Nome) ClienteEnder (CodCliente, Endereco, CEP, Telefone) CodCliente referencia Cliente Evitar campos opcionais : CGC Nome Fantasia CPF - RG 24 12

Mapeamento ER - Relacional Passos para a transformação de um modelo ER para o modelo Relacional: tradução inicial de entidades e respectivos atributos; tradução de relacionamentos e respectivos atributos. 25 Mapeamento ER - Relacional Mapeamento das Entidades Cada entidade é traduzida para uma tabela. Cada atributo da entidade define uma coluna da tabela. Os atributos identificadores da entidade correspondem às colunas que compõem a chave primária da tabela. Endereço Data Nascimento CLIENTE Código Nome Esquema Relacional Correspondente: Pessoa ( CodCliente, Nome, Endereço, DataNasc) 26 13

Mapeamento ER - Relacional Mapeamento dos Nomes de atributos Nomes de Colunas devem ser curtos; Nomes de colunas não devem conter espaços em branco; Não é necessário utilizar o nome da tabela para compor o nome de uma coluna, com exceção da chave primária. Exemplo: Nome do Cliente NomeCliente Nome Codigo do Cliente Codigo CodigoCliente CodCliente CodigoCli 27 Mapeamento ER - Relacional Mapeamento dos Relacionamentos : determinado pelas cardinalidades mínima e máxima das entidades envolvidas nos relacionamentos. Três possibilidades: tabela própria : relacionamentos n para n; coluna (s) adicional (is) dentro de uma das tabelas : relacionamentos n para 1 ou 1 para n; e fusão das tabelas relacionadas em uma só : relacionamentos 1 para 1. 28 14

Mapeamento ER - Relacional Mapeamento Relacionamentos 1:1 quando as duas entidades tem participação opcional Código Nome (0,1) HOMEM Casamento (0,1) Código MULHER Nome Regime Data Inserção dos atributos em uma das tabelas 29 Mapeamento ER - Relacional Mapeamento Relacionamentos 1:1 Dentro da Entidade Mulher Mulher ( CodigoMul, Nome CodigoHom, Data, Regime) CodigoHom referencia Homem Homem (CodigoHom, Nome) Criar uma tabela para Casamento Mulher ( CodigoMul, Nome Homem (CodigoHom, Nome) Casamento (CodigoMul, CodigoHom, Data, Regime) CodigoMul referencia Mulher CodigoHom referencia Homem 30 15

Mapeamento ER - Relacional Mapeamento Relacionamentos 1:1 quando uma entidade tem participação opcional e a outra obrigatória Código Nome Código Data Expedição CORRENTISTA (1,1) possui (0,1) CARTÃO MAGNÉTICO Fusão das tabelas correspondentes as duas entidades 31 Mapeamento ER - Relacional Mapeamento Relacionamentos 1:1 Todos os atributos em uma só tabela (Correntista) Correntista (CodCorrent, Nome, CodCartao, DataExp) Manter as duas tabelas Correntista (CodCorrent, Nome) Cartao (CodCartao, DataExp, CodCorrent) CodCorrent referencia Correntista 32 16

Mapeamento ER - Relacional Mapeamento Relacionamentos 1:1 quando ambas entidades tem participação obrigatória Data Código Nome Endereco CONFERENCIA (1,1) Organizada por (1,1) COMISSÃO Fusão das tabelas correspondentes às duas entidades 33 Mapeamento ER - Relacional Mapeamento Relacionamentos 1:1 Todos os atributos em uma só tabela (Conferência) Conferência (CodConf, Nome, Data, EnderComisOrg) Código Nome Codigo Nome DIRETOR (1,1) Dirige (1,1) DEPARTAMENTO? 34 17

Mapeamento ER - Relacional Mapeamento Relacionamentos 1:n Código Endereço Número Área EDIFÍCIO (1,1) contém (1,n) APARTAMENTOS Adição de colunas à uma das tabelas Edifício (CodigoEdif, Endereço) Apartamento (CodigoEdif, NumeroAp, AreaAp) CodigoEdif referencia Edificio 35 Mapeamento ER - Relacional Mapeamento Relacionamentos 1:n Código Nome (1,1) CLIENTE contém Número da Nota Fiscal (0,n) VENDA Data Adição de colunas à uma das tabelas Cliente (CodigoCli, Nome) Venda (NumNotaF, Data, CodigoCli) CodigoCli referencia Cliente 36 18

Mapeamento ER - Relacional Mapeamento Relacionamentos n:n CRM Nome Código Nome (1,n) (1,n) MEDICO atende PACIENTE Data Diagnóstico Hora Criação de um tabela própria para o relacionamento Medico (CRM, Nome) Paciente (CodPaciente, Nome) Consulta (CRM, CodPaciente, Data, Hora, Diagnostico) CRM referencia Medico CodPaciente referencia Paciente 37 Exemplo 1 CIDADE Código (identificador) nome unidade federativa PATROCINADOR Código (identificador) razão social nome fantasia PATROCINADOR patrocina (1,n) (1,1) (0,n) CIDADE localiza-se TIME possui TÉCNICO (0,n) (1,1) (1,1) (1,1) (1,1) realizado JOGO número (identificador) data do jogo gols time 1 gols time 2 Time 1 (1,n) (1,n) (0,n) (0,n) JOGO Time 2 TIME Código (identificador) nome ano de fundação nome do presidente endereço TÉCNICO Código (identificador) nome data de nascimento telefone residencial telefone celular 38 19

Exercício FABRICANTE Fabricante (CGC, Nome, Endereco) Medicamento (Numero, NomeComercial,TipoEmbalagem, Quantidade,PreçoUnitario, Tarja, Formula) Perfumaria (Numero, Tipo, Quantidade, PreçoUnitario) Venda (NumeroNota, Data, NomeCliente) ReceitaMedica (CRM, Numero, Data) (0,n) MEDICAMENTO (0,n) (0,n) (1,1) (1,1) (0,n) PERFUMARIA (0,n) (0,n) (0,n) RECEITA MEDICA (0,1) VENDA 39 20