Banco de Dados I Modelo Relacional. 2 Conteúdo  Parada técnica...onde estamos... de onde viemos.. e para onde vamos..  Modelo Relacional Características.

Slides:



Advertisements
Apresentações semelhantes
Modelo Entidade-Relacionamento
Advertisements

Mapeamento Modelo ER – Modelo Relacional
01/08/2011 Professor Leomir J. Borba- –
Abordagem Entidade Relacionamento
MER – Modelo de Entidade Relacionamento
Laboratório WEB Professora: Viviane de Oliveira Souza Gerardi.
MODELO RELACIONAL Transparências baseadas no capítulo 3 do livro de KORTH e SILBERCHATZ e capítulo 7 do livro de ELMASRI e NAVATHE Juliana Amaral e Rodrigo.
Diagrama Entidade-Relacionamento – DER
O Modelo E-R Definição: Características
Funcionalidades de um SGBD
Sistemas de Informação Redes de Computadores
Modelo Entidade-Relacionamento
Projeto de Banco de Dados
Sistema Gerenciador de Banco de Dados SGBD
Introdução a Bancos de Dados
Banco de Dados – Modelo Relacional Universidade Federal de Santa Catarina Banco de Dados Mapeamento ER- Relacional (Material adaptado das profs. Daniela.
SCC Bancos de Dados e Suas Aplicações
(Dependência Funcional e Normalização)
Projeto Lógico Transformação ER para o Modelo Relacional (nível lógico) Baseado em Regras São aplicáveis a maioria dos casos 1 esquema ER pode gerar N.
Projeto de Bancos de Dados
Org. e Projeto de Banco de Dados
Algoritmo Apresentação
Bancos de Dados I Renata Viegas
Banco de Dados Aplicado ao Desenvolvimento de Software
Ricardo de Oliveira Cavalcanti roc3[at]cin.ufpe.br
Modelagem de Dados Usando o Modelo Entidade-Relacionamento
Banco de Dados Prof. MSc Wagner Siqueira Cavalcante
Prof. Alfredo Parteli Gomes
SQL Server 2012 Introdução a Modelagem de Dados
BANCO DE DADOS APLICADO AO DESENVOLVIMENTO DE SOFTWARE
Banco de Dados Aplicado ao Desenvolvimento de Software - BDD
Diferenças entre DER e Engenharia de Informações
Bancos de Dados Projeto de BD
REGRAS DE PRODUÇÃO DO MODELO LÓGICO
Projetando uma base de dados
Introdução a Banco de dados
Banco de dados.
Modelo de Dados Descrição formal de um estrutura de banco de dados.
Análise de Sistemas de Informação
Profa. Ana Karina Barbosa Abril/2008
Banco de Dados Aplicado ao Desenvolvimento de Software
BANCO DE DADOS Aula 3 Josino Rodrigues Neto© Fundamentos em Banco de Dados.
Cristina Paludo Santos URI – Campus de Santo Ângelo
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Projeto de banco de dados
DESENVOLVIMENTO DE SOFTWARE AULA 7 – Sistemas de Banco de Dados
©Silberschatz, Korth and Sudarshan (Modificado)3.1.1Database System Concepts Capítulo 3: Modelo Relacional Estrutura das Bases de Dados Relacionais Redução.
1 24/4/ :29 FMU – 1. Semestre – Tecnologia – Analise e Desenvolvimento de Sistemas Professor: Eduardo Silvestri Aluno:Clóvis de Oliveira- RA
Projeto de BD Análise de Requisitos Projeto Conceitual Projeto Lógico
Banco de Dados I Unidade 3: Projeto de BD Relacional
Fundamento de Banco de Dados
Modelo Relacional Marcelo Mendes Manaus – 2015.
Professora: Sílvia C. Matos Soares
Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional.
Modelo Entidade-Relacionamento
Projeto de Banco de Dados
Banco de Dados I Aula 4 - Projeto Conceitual de Banco de Dados
Banco de Dados I Aula 3 - Projeto Conceitual de Banco de Dados
4 Projeto de Banco de Dados Carlos Alberto Heuser.
Projeto de Banco de Dados Ceça Moraes Dezembro/09.
Salário, Sexo, R$200,00, Veículos, Idade, Marco Antônio, Masculino, R$600,00, Funcionário, Marca, 18 anos, Livros, Motoristas, Maria do Carmo, Endereço,
Banco de Dados Prof. MSc Wagner Siqueira Cavalcante.
Modelagem de Dados Consiste em mapear o mundo real do sistema em um modelo que irá representar a realidade e o relacionamento existente entre os dados.
Modelo Entidade-Relacionamento (ER)
Modelo de Entidade-relacionamento
Modelo relacional Fundamentos de Banco de Dados
Modelagem Entidade-Relacionamento (MER)
Professor: reno nooblath
Modelagem de Dados Aula 4. 2 Implementação de Entidades Não é aconselhável simplesmente transcrever os nomes dos atributos para nomes de colunas. Nomes.
Gestão da Tecnologia da Informação Fundamentos de Sistemas de Banco de Dados Faculdade de Tecnologia Senac Jaraguá do Sul.
Transcrição da apresentação:

Banco de Dados I Modelo Relacional

2 Conteúdo  Parada técnica...onde estamos... de onde viemos.. e para onde vamos..  Modelo Relacional Características do Modelo Relacional Regras de Integridade Regras de Mapeamento  Exercício

3 Parada técnica Ciclo de vida do Proj. de Banco de Dados ou Engenharia de Software Projeto Conceitual (Análise) Projeto Lógico (Projeto) Projeto Físico (Implementação)

4 Parada técnica Ciclo de vida do Proj. de Banco de Dados ou Engenharia de Software Projeto Conceitual (Análise) (de onde viemos) Projeto Lógico (Projeto) (estamos aqui) Projeto Físico (Implementação) (para onde vamos)

5 Parada técnica Mundo Real Diag. Entidade Relacionamento (de onde viemos) Modelo de Dados Diagrama Relacional (estamos aqui) Modelo Lógico SQL (para onde vamos) Projeto Conceitual Projeto Lógico Projeto Físico

6 Projeto Lógico Diag. R (Modelo Relacional) Modelo de Dados Projeto Lógico O esquema Conceitual de alto nível- DER - é mapeado para modelo de implementação de dados do SGBD que será usado, no caso, modelo Relacional. Conceitos:  SGBDRelacional notação gráfica Diag. E-R ( Modelo ER) Modelo Lógico

7 Projeto Lógico  Baseado no Modelo* Relacional. Conjunto de 12 Regras, estabelecida por Edgard F Codd, Estas regras é que definem se um sistema pode ser chamada de Relacional ou não Toda coluna deve somente conter valores atômico (regra) Baseado na teoria de Conjunto: Álgebra Relacional Os modelos comerciais: Rede, Hieráquico, Relacional, Relacional Extendido, OO * O modelo é o que define as características e funcionalidades que o SGBD oferece

8 Modelo Relacional: regras Regras de Integridade Integridade identidade: chave primária: –única e –não nula... identifica um único elemento num conjunto Integridade referencial: chave estrangeira: –pode ser nula – ou existir uma chave primária

9 Regras de Mapeamento Transformação do DER em DR Clientes codigo nome fone* Pedidos número data possui N1 Tabelas

10 Entidade: ? Clientes codigo nome fone

11 1. Entidade: Toda entidade vira tabela seus atributos serão colunas, cuidado com os atributos composto* e multivalorado** atributo determinante = chave primária segue a mesma notação Clientes codigo nome fone Clientes codigo nome fone DER DR

12 2. Relacionamento Clientes codigo nome fone Pedidos número data possui N1 O que determina a estrutura de uma tabela: cardinalidade restrições de totalidade no relacionamento

13 Cardinalidade: 1:1 Motorista codigo nome fone* CNHabilitação número data_expedição possui 11 m1 cnh1 m2 cnh2 m3 cnh3 m4 cnh4

14 Cardinalidade: 1:1 Motorista codigo nome fone CNHabilitação número data_expedição possui 11 Motorista codigo nome fone CNHabilitação número data_expedição DER DR código (motorista) CNHHabilitação numerodata_expedicao /05/ /07/1974 Motorista codigonomefone José Ana85256 cnh (CE) Motorista (CE)

15 Cardinalidade: 1:1 Motorista codigo nome fone* CNHabilitação número data_expedição possui 11 Estratégias: 1. Chave estrangeira: Qualquer dos lados pode absorver a chave estrangeira, preferência do lado da totalidade, garante nunca vazia. ( em CNH) 2. Agrupar Tabelas: quando os dois relacioanmentos são totais. 3. Criar uma relação para o relacionamento, com cada uma das chaves Evitar colocar a chave em ambos os lados, dificuldade no gerenciamento

16 Cardinalidade: 1:N Departamento codigo nome ramall possui N1 d1 f1 d2 f2 d3 f31 f4 Funcionário codigo nomesalario

17 Cardinalidade: 1:N Departamento codigo nome ramall possui N1 Funcionário codigo nomesalario Duas alternativas: 1: Departamento ter várias colunas para indicar os funcionários. ??? 2: Funcionário ter uma coluna adicionar para indicar o departamento???

18 Cardinalidade: 1:N Departamento codigo nome ramall possui N1 Funcionário codigo nomesalario Departamento codigo nome ramall Funcionário codigo nomesalario codigo (departamento) DER DR departamento(CE)

19 Cardinalidade: 1:N Departamento codigo nome ramall possui N1 Funcionário codigo nomesalario Alternativas: 2: Funcionário ter uma coluna adicionar para indicar o departamento: o lado n absorve o lado 1

20 Cardinalidade: 1:N Particularidade: 1. Quando não há totalidade, pode-se criar uma tabela para representar o relacionamento: vantagem:  não terá coluna nula para representar informação  ganho de desempenho em determinadas consultas desvantagem:  uma tabela a mais  perda de desempenho na consultas (join) 2. Atributos do relacionamento? Sócio codigo nome ramall aluga N1 Fita codigodt_aquisição dt_retrada dt_prov_dev

21 Cardinalidade: N:N Peças codigo descrição preço Fornecedores codigo nome possui NN p1 f1 p2 f2 p3 f31 f4 CGC*

22 Cardinalidade: N:N Peças codigo descrição preço Fornecedores codigo nome possui NN CGC* Peças codigo descrição preço Fornecedores codigo nome CGC* Possui codigo (fornecedor) codigo (peca) DER DR peca(CE) fornecedor(CE)

23 Cardinalidade: N:N Peças codigo descrição preço Fornecedores codigo nome CGC* Possui codigo (fornecedor) codigo (peca) DR Pecas Posssui Fornecedores pc forn 01 porca 1, Rei da Porca 02 parafuso 0, Rei do Parafuso 03 prego 0, peca(CE) fornecedor(CE)

24 Cardinalidade: N:N Peças codigo descrição preço Fornecedores codigo nome possui NN CGC*  Sempre gera tabela, novo símbolo para indicar que a tabela é originada de um relacionamento.  Os atributos do relacionamento se mantém na tabela do relacionamento.  As chaves primárias é no mínimo a combinação da chaves estrangeiras, e dependendo do negócio, é mais algum outra atributo.

25 Restrição de Totalidade Indica se uma determinada chave estrangeira poderá ser nula ou não Totalidade indica que a chave estrangeira não poderá ser NULA Ou seja, o codigo de departamento em funcionário deverá ser definido como nunca receber um valor NULO Departamento codigo nome ramall possui N1 Funcionário codigo nomesalario

26 Unário ou Auto-relacionamento DER 1 Funcionário codigo nome salario chefia N subordinado superior

27 Unário ou Auto-relacionamento O determina é a cardinalidade, portanto neste caso a tabela Fucnionário ganha uma nova coluna com o nome do papel (superior). Daí a importância dos nomes dos papéis nos auto- relacionamentos. 1 Funcionário codigo nome salario chefia N subordinado superior 1 Funcionário (superior) codigo nome salario superior (CE) DER DR

28 Relacionamento: ternário ou n-ário Funcionário codigo nome salario LinguagemPro codigo nome Projeto codigo nome participa NN N descrição DER

29 Relacionamento: ternário ou n-ário LinguagemPro codigo nome Projeto codigo nome codigo descrição participa (linguagem) Funcionário codigo nome salario codigo (projeto) (funcionário) linguagem(CE) funcionário(CE) projeto(CE) Relacionamentos ternários ou de grau maior (n-ários), sempre geram tabela. A chave primária desta nova tabela é a combinação de todas as chaves estrangeiras. Os atributos que existirem nete relacionamento mantém nesta tabela DR

30 Atendimento Agregação nome Medico codigo nome especialidade Paciente atende NN gera Exame codigo preço N N codigo nome nacimento

31 Agregação Medico codigo nome especialidade Paciente codigo nome nacimento nome Exame codigo preço atende codigo (medico) gera medico (CE) exame (CE) paciente (CE) codigo (paciente) medico (CE) paciente (CE) codigo(exame) medico, paciente (medico, paciente)

32 Generalização Conta numero saldo Conta_Poupança juros dt_niv Conta_Corrente limite tarifa

33 Generalização Conta numero saldo Conta_Poupança jurosdt_niv Conta_Corrente limite tarifa numero (numero) numero (CE) As Entidades filhas recebem a chave primária da entidade pai

34 Generalização cuidados Deleção/remoção yremover um elemento da classePai implica em remover um elemento da classeFilha (total), vários (sobreposto) ou nenhum (parcial) yinserção na classePai implica em incluir em 1(total e não sobreposto) na classeFilha ou mais de um (sobreposição)

35 Atributo Multivalorado Clientes codigo nome fone* Atributos atômico

36 Atributo Multivalorado Clientes codigo nome fone* Possui Clientes codigo nome fone codigo (cliente) Possui clientefone

37 Entidade Fraca Funcionário codigo nome endereço possui N1 Dependente nomedata_nas Funcionário codigo nome endereço Dependente funcionário (CE) nome data_nas codigo (funcionário) DR DER Chave estrangeira na tabela Dependente: funcionário Chave Primaria na tabela Dependente: funcionário e nome

38 Descrição da Tabela Nome_da_Tabela nome_col1 nome_col2 nome_colN tipo Chave (CP/CE) Nulo (NN) tipo da coluna* tamanho exemplo * Tipos: numérico, caracter, data

39 Exercício 1. Locadora de Vídeo (Mapeamento) 2. João de Barro (Mapeamento) 3. Exercício 4 da prova (Mapeamento)

40 FIM!!!!

41 Próxima aula

42 Bibliografia 1. ELMASRI, R e NAVATHE S. Fundamentos de Sistemas de Banco de Dados. 3 ed. Rio de Janeiro: LTC Capítulo 7 2. MACHADO, Felipe Nery Rodrigues, ABREU, Maurício Pereira de. Projetos de Banco de Dados: uma visão prática. 4ed. São Paulo: Érica, p. Capítulo KORTH, Henry F., Silberschatz, Abraham, Sistemas de Banco de Dados. 3ed. São Paulo: Makron Books p. Capítulo 2 – tópico 2.9