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



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

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

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

TECNOLOGIA EM SISTEMAS PARA INTERNET. Banco de dados em aplicativos WEB. Aula 5

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

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

MODELAGEM DE DADOS PARTE 2

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

ANÁLISE E PROJETO DE BANCO DE DADOS

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

Chave alternativa. Angélica Toffano Seidel Calazans Abordagem Relacional

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

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

8/9/2008. Curso Superior de Tecnologia em Bando de Dados Disciplina: Projeto de Banco de Dados Relacional II Prof.: Fernando Hadad Zaidan

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

Modelo Entidade- Relacionamento

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

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

Marcelo Henrique dos Santos

Sistemas Gerenciadores de Banco de Dados

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

BCD29008 Banco de dados

liberada por se tratar de um documento não aprovado pela PUC Goiás.

Modelo Entidade- Relacionamento. Hugo Barros

Revisando Banco de Dados. Modelo Relacional

Banco de Dados I. Tabelas. Fabricio Breve

GBC043 Sistemas de Banco de Dados

OBJETIVO GERAL DA DISCIPLINA

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

INE 5623 Projeto de Banco de Dados

MODELO DE BANCO DE DADOS RELACIONAL

Programação com Acesso a Banco de Dados

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

INE 5423 Banco de Dados I

Banco de Dados I Módulo III: Linguagens de Consulta. (Aulas 7) Clodis Boscarioli

Aula 0 15/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

INE 5423 Banco de Dados I

MODELAGEM DE DADOS PARTE 1

Plano de Trabalho Docente 2017 Ensino Técnico

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

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

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

Sistemas de Banco de Dados

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

Banco de Dados I Módulo III: Linguagens de Consulta. (Aula 8) Clodis Boscarioli

Núcleo de Pós Graduação Pitágoras

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

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

Banco de Dados I. Prof. Edson Thizon

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Tecnologia da Informação

Plano de Trabalho Docente

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

Modelo Relacional Wendel Melo

Banco de Dados I Parte I: Introdução

Fundamentos de Bancos de Dados 3 a Prova Caderno de Questões

BCD29008 Banco de dados

Centro Universitário de Araraquara Uniara Bacharelado em Sistemas de Informação

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

Banco de Dados I Módulo V: Indexação em Banco de Dados. (Aulas 4) Clodis Boscarioli

Banco de Dados II. Prof. Fiorin

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

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

INE 5454 Tópicos Especiais em Gerência de Dados

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

BCD29008 Banco de dados

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

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

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?

Abordagem relacional. Capítulo 4

Bancos de Dados Não- Convencionais

Projeto de BD Relacional

Projeto de BD Relacional

Análise e Projeto de Sistemas

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

Projeto de BD Relacional

Banco de Dados. Sistemas de Informação Engenharia de Produção

Modelagem Conceitual parte I

Modelagem Conceitual parte I

MODELO RELACIONAL PARTE 2

CONTEÚDO PROGRAMÁTICO

SISTEMA DE INFORMAÇÃO MODELAGEM DE DADOS

Modelo Relacional Wendel Melo

Modelo Entidade Relacionamento

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

Transcrição:

Modelo Lógico: Tabelas, Chaves Primárias e Estrangeiras 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. 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. Para entender o processo de chave estrangeira, veja o inforgráfico abaixo. Este inforgráfico faz parte da sequência desta aula e, portanto, é essencial para a aprendizagem.

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.