MODELO LÓGICO: TABELAS, CHAVES PRIMÁRIAS E ESTRANGEIRAS

Documentos relacionados
Modelo Lógico: Tabelas, Chaves Primárias e Estrangeiras

Modelagem de Dados. Aula 01. Os direitos desta obra foram cedidos à Universidade Nove de Julho

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Pró-Reitoria de Graduação - PROGRAD Plano de Ensino 2016/2

Banco de Dados II. Transações. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.

MODELO DE BANCO DE DADOS RELACIONAL

MODELAGEM DE DADOS PARTE 2

Banco de Dados I. Sejam bem-vindos! Prof. Fred Lucena. 1

Unidade 3 23/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

PLANO DE ENSINO. PRÉ-REQUISITO: Modelagem e Programação Orientada a Objetos. PROFESSORA RESPONSÁVEL: Roberta Macêdo Marques Gouveia

BCD29008 Banco de dados

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

MODELO RELACIONAL DE UM SISTEMA DE GERENCIAMENTO DE VAGAS DE ESTÁGIO

Marcelo Henrique dos Santos

Modelo Entidade- Relacionamento

Etapas da Elaboração de um Projeto de Banco de Dados

Sistemas Gerenciadores de Banco de Dados

Banco de Dados II. Transações (Oracle) Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.

Banco de Dados II. PL/SQL - Procedures -Cursor - Funções. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.

Modelo Entidade- Relacionamento. Hugo Barros

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

Abordagem relacional. Capítulo 4

Revisando Banco de Dados. Modelo Relacional

Entidade Associativa

conteúdos. bases de dados, SGBD e aplicações. conceitos. modelo relacional (DER) conceitos

Modelo Relacional Wendel Melo

Banco de Dados II. PL/SQL Introdução. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.

Seleção, Projeção, Produto Cartesiano e Junção

Introdução à Banco de Dados

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

Fundamentos de Banco de Dados Aula II

Roteiro. Noções de Recuperação de Falhas. BCC321 - Banco de Dados I. Ementa. Posicionamento

MODELAGEM DE DADOS PARTE 1

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

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

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

Sistemas de Banco de Dados

BCD29008 Banco de dados

MODELAGEM DE DADOS UNIDADE 4 Modelo Entidade-Relacionamento. Luiz Leão

Modelagem Conceitual parte I

Modelagem Conceitual parte I

Programação com Acesso a Banco de Dados

Modelo Relacional: Entidades e Relacionamentos. Cardinalidade. Normalização. Linguagem SQL: DDL e DML.

1 U.E. Edgar Tito site: - PROF. RANILDO LOPES U.E PROF EDGAR TITO PROF. RANILDO LOPES DISCIPLINA: Banco de Dados

INE 5423 Banco de Dados I

Banco de Dados. Modelo Entidade - Relacionamento. João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP

Modelo Lógico de Dados. Modelo Relacional

OBJETIVO GERAL DA DISCIPLINA

INE 5423 Banco de Dados I

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Banco de Dados Modelagem Conceitual de Dados. Prof. Edjandir Corrêa Costa

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

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

INTRODUÇÃO AO MODELO RELACIONAL

Banco de Dados II. Prof. Fiorin

Análise e Projeto de Sistemas

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

Banco de Dados I. Tabelas. Fabricio Breve

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

Conceitos SQL SQL 19/03/2017 O que é dado? O que é BD? O que é uma informação? O que é SGBD? O que é SQL? O que é BD? O que é SGBD?

Modelo Entidade Relacionamento

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

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

Modelos e SGBDs MODELAGEM DE DADOS. Esquema de banco de dados. Modelos de Dados. Modelo de Dados (níveis de abstração) Modelo conceitual

BCD29008 Banco de dados

Banco de Dados I Parte I: Introdução

Normalização de Dados. Disciplina: Fundamentos de Banco de dados Docente: Kelyn Schenatto

SISTEMA DE INFORMAÇÃO MODELAGEM DE DADOS

Faculdade Ieducare 4º Semestre Sistemas de Informação Professor: Rhyan Ximenes

Transcrição:

MODELO LÓGICO: TABELAS, CHAVES PRIMÁRIAS E ESTRANGEIRAS

OBJETIVO Apresentar a próxima etapa da modelagem de dados: o modelo lógico e os conceitos de tabelas, chaves primárias e estrangeiras e como o banco de dados mantém controle sobre os dados relacionados. MODELO LÓGICO: TABELAS, CHAVES PRIMÁRIAS E ESTRANGEIRAS A próxima etapa do projeto de banco de dados envolve o chamado modelo lógico. Atualmente, grande parte dos sistemas de banco de dados utiliza o modelo relacional. Um banco de dados relacional é composto por tabelas (também denominadas relações). Observe a seguir alguns conceitos importantes para pleno entendimento do modelo relacional: Tabela Estrutura bidimensional composta por linhas (tuplas) e campos (ou atributos). Chave primária

Atributo por meio do qual é possível identificar determinado registro. Uma chave primária não pode ser repetida, ou seja, o conjunto de valores que constituem a chave primária deve ser único dentro de uma tabela. Chave primária simples: apenas um atributo (campo) compõe a chave primária. Chave primária composta: mais de um atributo compõe a chave primária. Na aula anterior falamos sobre atributo identificador, responsável por identificar uma ocorrência na entidade. Trata-se de um atributo em que não se encontra duplicidade de dados. O atributo identificador corresponde normalmente à chave primária no modelo lógico (relacional). Portanto, para escolher uma chave primária é preciso certificar-se de que esse atributo não terá duplicidade. Chave estrangeira Utilizada quando queremos que o valor de um atributo seja validado a partir do valor de atributo de outra tabela. Criamos, assim, uma relação de dependência (um relacionamento) entre as tabelas. Observe que, no exemplo a seguir, antes de efetuar a alocação de um funcionário em um departamento, é necessário que o departamento em questão conste na tabela de departamentos.

Para que haja equivalência, o conteúdo da chave estrangeira deve ser igual ao da chave primária. O SGBD (Sistema de Gerenciamento de Banco de Dados) liga todos os registros em que o conteúdo da chave primária seja igual ao de sua chave estrangeira. Acesse o ambiente virtual de aprendizagem UNINOVE para a visualização do Infográfico sobre chave estrangeira. Chave única (Unique) Utilizada quando determinado campo não deve ser repetido e não é chave primária. Aumenta a consistência do banco de dados. Exemplo: cadastro de funcionários. Cada funcionário recebe um código único, que é a chave primária. Para maior segurança e consistência, podemos optar para que o campo CPF também seja único, evitando que o mesmo funcionário seja cadastrado duas vezes.

Notação resumida Notação compacta, útil para discussões sobre a estrutura geral do banco de dados, utilizada quando não se deseja entrar em um nível maior de detalhamento. Para simplificar a representação da modelagem relacional, podemos utilizar o esquema resumido da seguinte maneira: 1. Escrever o nome da entidade e, entre parênteses, todos os atributos, chave primária e chaves estrangeiras (se houver). 2. Sublinhar a chave primária. 3. Na linha abaixo à da entidade devem ser referenciadas todas as chaves estrangeiras e a entidade com as quais se relacionam. O exemplo apresentado anteriormente poderia ser representado utilizando-se a notação resumida da seguinte forma: Departamento (CodDept, Nome) Funcionario (CodFunc, Nome, CPF, CodDept) CodDept referencia Departamento O relacionamento entre as tabelas Departamento e Funcionario também pode ser representado por meio do seguinte diagrama:

Observe que por meio da notação resumida não é possível determinar se o relacionamento é do tipo 1:1 ou 1:N (como no caso representado na figura acima). Chave alternativa É aquela chave que poderia, por causa de suas características, ser chave primária, mas não é. Ela é única na entidade, assim como a chave primária, e pode ser considerada uma chave secundária. Podemos considerar chave alternativa o CPF. No mundo real, é o que identifica qualquer pessoa física. Escolha da chave primária Geralmente, a chave primária é um número criado pela aplicação costuma-se utilizar um recurso de numeração automática do próprio banco de dados, de modo que o número não se repita. Se a chave primária é muito grande, está sujeita a erros de digitação. Um nome de pessoa pode ser considerado uma chave primária? O maior problema do nome é que duas ou mais pessoas podem apresentar o mesmo nome (homônimos) e a chave deve ser única para cada registro de dados. As pessoas podem ter os mesmos nome e sobrenome, mas o RG e CPF são diferentes, entretanto, são números muito grandes, por isso, é costume escolher outros identificadores como chaves primárias. Integridade de dados Impor a integridade de dados garante a qualidade destes em um banco de dados. Eles devem refletir corretamente a realidade representada pelo banco e também devem ser

consistentes entre si. A integridade de dados deve ser implementada de diversas formas em um banco de dados. Integridade de domínio Zela pelos valores ideais e necessários para um atributo. Para isso, definimos algumas regras de validação por meio de expressões compostas de valores constantes. Exemplos: Não permitir um estoque negativo. Impedir uma data de nascimento superior à data atual. Não permitir que o valor de um produto seja negativo. Integridade de entidade Tem o objetivo de validar os valores permitidos a partir de valores já inseridos na própria entidade. Após uma autoconsulta a entidade vai permitir ou não a gravação do novo registro. Exemplos: Não permitir duas pessoas com o mesmo CPF. Impedir a locação de uma fita que já está locada. Integridade referencial Zela pela consistência dos registros de uma entidade a partir de valores provenientes de outras entidades, isto é, determinado registro vai depender diretamente de um registro de outra tabela. Exemplos: Um registro em uma tabela pai pode ter um ou mais registros em uma tabela filho.

Um registro em uma tabela filho sempre tem um registro coincidente em uma tabela pai. Para a inclusão de um registro em uma determinada tabela filho, é necessário que exista um registro pai coincidente. Um registro pai só poderá ser excluído se não possuir nenhum registro filho. REFERÊNCIAS CHEN, Peter. Modelagem de dados: a abordagem entidade-relacionamento para projeto lógico. São Paulo: Makron Books, 1990. DATE, C. J. Introdução a sistemas de banco de dados. Rio de Janeiro: Campus, 1991. ELMASRI, Ramez; NAVATHE, Shamkant B. Sistemas de banco de dados. 4. ed. São Paulo: Pearson Addison Wesley, 2005. HEUSER, Carlos Alberto. Projeto de banco de dados. Porto Alegre: Sagra Luzzatto, 2004. SETZER, Valdemar W.; SILVA, Flávio Soares Corrêa da. Banco de dados: aprenda o que são, melhore seu conhecimento, construa os seus. São Paulo: Edgard Blücher, 2005. SILBERSCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN, S. Sistema de banco de dados. 3. ed. São Paulo: Makron Books, 1999.