Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados...

28
Abordagem Relacional Prof. Alfredo Parteli Gomes Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I

Transcript of Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados...

Page 1: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Abordagem RelacionalProf. Alfredo Parteli GomesProf. Alfredo Parteli Gomes

URCAMP – SLCurso de InformáticaBanco de Dados I

Page 2: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Diagrama de DER

Exemplo - Clínica Em uma clínica trabalham médicos e existem pacientes internados.

Cada médico é identificado pelo seu CRM, possui um nome e recebe um salário na clínica;

Um médico tem formação em diversas especialidades (ortopedia, traumatologia, etc), mas só exerce uma delas na clínica;

Para todo paciente internado na clínica são cadastrados alguns dados pessoais: nome, RG, CPF, endereço, telefone(s) para contato e data do nascimento;

Um paciente tem sempre um determinado médico como responsável (com um horário de visita diário pré-determinado). Porém vários outros médicos podem participar do seu tratamento;

Pacientes estão sempre internados em quartos individuais, que são identificados por um número e ficam em um andar da clínica.

Page 3: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Solução Exemplo

Diagrama de DER

Page 4: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Estratégias de Modelagem

Estratégia de modelagem ER: Uma seqüência de passos (uma “receita-de-

bolo”) de transformação de modelos, desde o modelo inicial de modelagem, até o final.

Diferentes estratégias: Top-down (E-R) Bottom-up Inside-out

Page 5: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Estratégias de Modelagem (top-down)

Início: “estudo dos objetivos estratégicos da organização, dos meios pelos quais estes objetivos podem ser realizados, das exigências de informações que devem ser satisfeitas para alcançar estes objetivos e dos sistemas necessários para fornecer estas informações”

MODELO ABSTRATO DE DADOS

Page 6: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Estratégias de Modelagem (top-down)

Ir gradativamente refinando estes conceitos em conceitos mais detalhados.

Modelagem superficial: Enumeração das entidades. Identificação dos relacionamentos (cardinalidade

máxima) e hierarquias de generalização/especialização entre as entidades.

Determinação dos atributos de entidades e relacionamentos.

Determinação dos identificadores de entidades e relacionamentos.

O banco de dados é verificado quanto ao aspecto temporal.

Page 7: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Estratégias de Modelagem (top-down)

Modelagem detalhada: Domínios dos atributos Cardinalidades mínimas Demais restrições de integridade

Validação do modelo: Construções redundantes ou deriváveis a partir

de outras no modelo Validação com o usuário

Page 8: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Estratégias de Modelagem

Enfoque do Modelo E-R é “top-down”

Page 9: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Abordagem Relacional

Modelagem em nível lógico (SGBD) e não conceitual

Conceitos mínimos necessários à compreensão do projeto de bancos de dados relacionais.

Page 10: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Abordagem Relacional

Tabelas compostas de

Linhas, Colunas, Chaves primárias,

relacionadas através de Chaves estrangeiras.

Page 11: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Abordagem Relacional

TabelasTabela ou relação

Nome da tabela

Linha ou tuplaColuna ou atributo

Nome de campo ou nome de

atributo

Valor de campo ou valor de atributo

Page 12: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Abordagem Relacional

Usaremos esta notação

Terminologia

Page 13: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Abordagem Relacional

Chaves (Constraints) Conceito usado para especificar restrições de

integridade básicas de um SGBD relacional.

Três tipos: chave primária (Primary Key) chave alternativa (Candidate Key) chave estrangeira (Foreign Key)

Page 14: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Abordagem Relacional

Chave primária É uma coluna ou uma combinação de colunas

cujos valores distinguem uma linha das demais dentro de uma tabela

Page 15: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Abordagem Relacional

Chave estrangeira Mecanismo que permite a implementação de

relacionamentos em um banco de dados relacional

Pode fazer parte da chave primária

Page 16: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Abordagem Relacional

Chave estrangeira

Page 17: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Abordagem Relacional

Chave estrangeira Para uma chave estrangeira fazer parte de uma

chave primária, ela não poderá ser NULA, ou seja, cardinalidade (0,1) ou (0,n)

Page 18: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Abordagem Relacional

Chave estrangeira na mesma tabela

Auto-relacionamento

Page 19: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Abordagem Relacional

Chave estrangeira na mesma tabela

Auto-relacionamento

Page 20: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Abordagem Relacional

Chave alternativa Mais de uma coluna ou combinações de

colunas podem servir para distinguir uma linha das demais.

Uma das colunas (ou combinação de colunas) é escolhida como chave primária.

As demais colunas ou combinações são denominadas chaves alternativas (UNIQUE KEY em SQL).

Page 21: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Abordagem Relacional

Chave alternativa

Page 22: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Abordagem Relacional

Super-chave É um conjunto de um ou mais atributos que identifica

unicamente uma entidade (Ex: Um conjunto de atributos de chave primária)

Chave natural Uma chave primária que existe no domínio da aplicação,

que tem significado no negócio (Ex: CPF na entidade Pessoa)

Chave substituta Uma chave criada para identificar uma entidade (Ex: ID

de uma entidade qualquer)

Page 23: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Abordagem Relacional

Domínio de uma coluna Conjunto de valores que podem aparecer em

uma coluna (atributo) Um valor de campo pode assumir o valor

NULL, ou seja, vazio

Abordagem relacional: todas colunas que compõem a chave primária

devem ser obrigatórias; demais chaves podem conter colunas opcionais.

Page 24: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Abordagem Relacional

Restrições de integridade básicas Integridade de domínio Integridade de vazio Integridade de chave Integridade referencial Restrições acima:

Garantidas automaticamente por um SGBD relacional através de especificação declarativa

Não é exigido que o programador escreva procedimentos para garanti-las explicitamente

Page 25: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Abordagem Relacional

Restrições de integridade semânticas Há muitas outras restrições de integridade que

não se encaixam nas categorias básicas. Essas restrições são chamadas de restrições

semânticas (ou regras de negócio) Exemplos de restrições semânticas:

Um empregado do departamento denominado “Finanças” não pode ter a categoria funcional “Engenheiro”.

Um empregado não pode ter um salário maior que seu superior imediato

Page 26: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Abordagem Relacional A especificação de um banco de dados

relacional (chamada de esquema do banco de dados) deve conter no mínimo a definição do seguinte:

Tabelas que formam o banco de dados, Colunas que as tabelas possuem, Restrições de integridade.

Page 27: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Abordagem Relacional

Esquema resumido de modelo relacional

Page 28: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I.

Referências Bibliográficas

HEUSER, Carlos Alberto. Projeto de Banco de Dados. Porto Alegre: Sagra Luzzatto, 2001.