abordagem relacional prof. alfredo parteli gomes urcamp – sl curso de informática banco de dados...
TRANSCRIPT
![Page 1: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/3.jpg)
Solução Exemplo
Diagrama de DER
![Page 4: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/16.jpg)
Abordagem Relacional
Chave estrangeira
![Page 17: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/21.jpg)
Abordagem Relacional
Chave alternativa
![Page 22: Abordagem Relacional Prof. Alfredo Parteli Gomes URCAMP – SL Curso de Informática Banco de Dados I](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc12b497959413d8cf715/html5/thumbnails/28.jpg)
Referências Bibliográficas
HEUSER, Carlos Alberto. Projeto de Banco de Dados. Porto Alegre: Sagra Luzzatto, 2001.