Your SlideShare is downloading. ×
0
AVEC
Análise e Desenvolvimento de
Sistemas
Professor Daniel Brandão
Disciplina: Banco de dados II
1
Quem sou eu:
Daniel Brandão
•Graduado em Sistemas para Internet (FATESM – 2008)
•Especialização em Tecnologias Para Aplica...
Ementa
• Linguagem SQL Avançada. Visões, Procedimentos
Armazenados, Cursores, Transações, Gatilhos e Funções de
banco de d...
Sobre o que falaremos
A. Introdução e conceito
B. Modelo relacional
C. Conceitos Gerais
D. Dicionário de dados
E. Relações...
INTRODUÇÃO 5
O que é um banco de dados?
• Podemos entender por banco de dados qualquer sistema que
reúna e mantenha organizada uma séri...
DADOS X INFORMAÇÕES
• Muitos consideram dados e informações como palavras
sinônimas, mas na verdade não são. Para entender...
•Por exemplo:
• O número 2001 isoladamente faz algum sentido? Não! Isso é
um dado. E se disséssemos:
• “Ano do atentado te...
METADADOS
• Todo dado relativo a outro dado é chamado
de metadados. No exemplo anterior do ano 2001 o dado
“Ano do atendad...
MODELOS DE BANCO DE DADOS
 Hierárquico
 Rede
 Relacional
10
Modelo Hierárquico
HIERÁRQUICO: é um tipo de sistema de gerenciamento de
banco de dados que conecta registos numa estrutur...
Modelo de rede
O modelo em redes surgiu como uma extensão ao modelo hierárquico,
eliminando o conceito de hierarquia e per...
O MODELO RELACIONAL 13
Definição
• Banco de dados Modelo Relacional é um conceito abstrato
que define maneiras de armazenar, manipular e recupera...
Breve histórico
• Os Bancos de dados relacionais (BDR) surgiram em meados
da década de 1970. Porém, apenas alguns anos mai...
Modelo Relacional -
Características
• Organização dos dados
• conceitos do modelo: atributo, relação, chave, ...
• Integri...
Conceitos Gerais: Atributo
• Um item de dado do Banco de Dados (BD)
• Possui um nome e um domínio
• Exemplos
• nome: varch...
Conceitos Gerais: Tupla
• Um conjunto de pares (atributo, valor)
• Valor de um atributo
• Definido no momento da criação d...
Exemplo: Tupla
20/02/198501427Maria
03/07/197602467Vânia
12/11/198001035Renata
DataNascMatrículaNome
Tupla 1
Atributo: Nom...
Exemplo: Tupla
20/02/198501427Maria
03/07/197602467Vânia
12/11/198001035Renata
DataNascCPFNome
Tuplas
Dicionário de Dados!
Dentro do contexto de SGBD, um dicionário de dados é um
grupo de tabelas, habilitadas apenas para lei...
Dicionário de Dados! Exemplos:
• Definição precisa sobre elementos de dados.
• Perfis de usuários, papéis e privilégios
• ...
Conceitos Gerais: Relação
• Composto por um cabeçalho e um corpo
• Cabeçalho
• número fixo de atributos (grau da relação)
...
Exemplo Relação
20/02/1985São Diego 310/3401427Maria
03/07/1976Capote Valente, 3502467Vânia
Rua das Flores, 210
Endereço
1...
Exemplo Relação
20/02/1985São Diego 310/3401427Maria
03/07/1976Capote Valente, 3502467Vânia
Rua das Flores, 210
Endereço
1...
Revisando...
Conceitos Gerais: Relação
20/02/1985São Diego
310/34
Maria
03/07/1976Capote
Valente, 35
Vânia
Rua das
Flores, 210
Endereço...
Conceitos Gerais: Atributos
Definição: dada uma relação
R, define-se como seus
atributos os nomes das
funções que mapeiam ...
Conceitos Gerais: Domínios
Definição: Dada uma relação
R, o domínio do atributo Aj, é
o conjunto Sj no qual o
atributo ass...
Relembrando...
• Relação é uma Tabela
• Atributo é um Campo (coluna da tabela)
• Tupla é uma linha da tabela
• Domínio: ti...
Esquema e Instância
• Esquema
• Aluno (nome,matrícula, endereço, DataNasc, Curso)
• Curso (codigo, descrição)
• Instância
...
Chave
• Conjunto de um os mais atributos de uma relação
• Chave Primária (primary key) – PK
• Chave Estrangeira (foreign k...
Chave Primária
• Primary key (PK)
• atributo(s) cujo (conjunto de) valor(es) identifica(m) unicamente uma
tupla em uma rel...
Chave Primária (PK)
20/02/1985São Diego 310/3401427Maria
03/07/1976Capote Valente, 3502467Vânia
Rua das Flores, 210
Endere...
Chave Primária (PK)
20/02/1985São Diego 310/3401427Maria
03/07/1976Capote Valente, 3502467Vânia
Rua das Flores, 210
Endere...
Chave Primária (PK)
20/02/1985São Diego 310/34347685784432Maria
03/07/1976Capote Valente, 35693529876987Vânia
Rua das Flor...
Chave Primária (PK) –
Composta
Alocação (Cod_Projeto, Cod_Func, DataIni, Tempo)
Um funcionário pode estar em mais de um pr...
Chave Primária (PK)
Alocação (Cod_Projeto, Cod_Func, DataIni, Tempo)
Chave primária composta
38
Chave Candidata
• Possui as mesmas propriedades que a chave primária
347685784432
693529876987
701034263890
CPF
20/02/1985...
Chave Candidata
• Possui as mesmas propriedades que a chave primária
347685784432
693529876987
701034263890
CPF
20/02/1985...
Chave Candidata
• Qual escolher para Chave Primária?
• Escolhe-se para chave primária aquela com o atributo único ou
menor...
Chave Candidata
347685784432
693529876987
701034263890
CPF
20/02/198501427Maria
03/07/197602467Vânia
12/11/198001035Renata...
Chave Alternativa
347685784432
693529876987
701034263890
CPF
20/02/198501427Maria
03/07/197602467Vânia
12/11/198001035Rena...
Chave Estrangeira
• Foreign Key (FK)
• Atributo(s) de uma relação, cujos valores devem
obrigatoriamente aparecer na chave ...
Chave Estrangeira (FK)
1
2
1
Curso
347685784432
693529876987
701034263890
CPF
01427Maria
02467Vânia
01035Renata
MatrículaN...
Chave Estrangeira (FK)
1
2
1
Curso
347685784432
693529876987
701034263890
CPF
01427Maria
02467Vânia
01035Renata
MatrículaN...
Chave Estrangeira (FK)
Aluno(CPF, Nome, Endereço, DataNasc, #Curso)
Curso (Codigo, Descrição)
47
Chave Estrangeira (FK)
Funcionário (CodFunc, Nome, Endereço, #Cod_Chefe)
2Carlos Gomes, 50Carla4
1
3
4
Cod_Chefe
Anita Gar...
Revisando...
• Chave Primária (PK)
• Chave candidata
• Chave alternativa
• Chave Estrangeira (FK)
49
Restrições de Integridade
• É uma regra que deve ser obedecida em todos os
estados válidos da base de dados.
• Garantem qu...
Restrições de Integridade
• Domínio: conjunto de valores que um atributo pode
assumir
Exemplo: Nome: varchar (20)- Alessan...
Integridade de Entidade
• Garantia de acesso a todos os dados
sem ambigüidade
• Atributos pertencentes a chave-
primária d...
Integridade Referencial
• Chave estrangeira (FK)
• Garantia de
relacionamentos válidos
• Os valores que aparecem na
FK dev...
Integridade Semântica
• Especificada através de regras sobre o esquema do
banco de dados
• Exemplos:
• O salário de um emp...
Restrições de Atualização
• Inserção: insere tuplas em uma relação
• Pode violar 4 restrições de integridade:
55
Restrições de Atualização
• Inserção: insere tuplas em uma relação
• Pode violar 4 restrições de integridade:
• Integridad...
Restrições de Atualização
• Inserção: insere tuplas em uma relação
• Pode violar 4 restrições de integridade:
• Integridad...
Restrições de Atualização
• Inserção: insere tuplas em uma relação
• Pode violar 4 restrições de integridade:
• Integridad...
Restrições de Atualização
• Inserção: insere tuplas em uma relação
• Pode violar 4 restrições de integridade:
• Integridad...
Restrições de Atualização
• Exclusão: exclui tuplas de uma relação
• Pode violar :
60
Restrições de Atualização
• Exclusão: exclui tuplas de uma relação
• Pode violar :
Integridade referencial: se a tupla que...
Restrições de Atualização
• Exclusão:
Ciências Jurídicas e Sociais
Administração de Empresas
Ciência da Computação
Descriç...
Restrições de Atualização
• Procedimento a ser adotado:
• Rejeitar a operação
• Excluir em cascata
• Mudar os valores dos ...
Restrições de Atualização
• Atualização : altera os valores de atributos nas tuplas existentes
• Pode violar:
64
Restrições de Atualização
• Atualização : altera os valores de atributos nas tuplas existentes
• Pode violar:
• Restrição ...
Restrições de Atualização
• Atualização : altera os valores de atributos nas tuplas existentes
• Pode violar:
• Restrição ...
Restrições de Atualização
• Atualização : altera os valores de atributos nas tuplas existentes
• Pode violar:
• Restrição ...
68
Exercício: Considere o seguinte
esquema relacional:
Categoria(CodCategoria, Descrição)
Cliente (CodCli, Nome, Endereco, CP...
• Sistemas de Banco de Dados, Elmasri-Navathe
- 4a. Edição: Capítulo 5
• Php e Mysql - Desenvolvimento Web - 3ª Edição.
Au...
Upcoming SlideShare
Loading in...5
×

Introdução ao Banco de dados - Prof. Daniel Brandão

4,396

Published on

Slides revisados sobre introdução ao estudo de Banco de dados, feito especificamente para atender a grade do curso de Análise e Desenvolvimento de Sistemas da faculdade AVEC.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,396
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
202
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide
  • define uma ocorrência de um fato do mundo real ou de um relacionamento entre fatos
  • define uma ocorrência de um fato do mundo real ou de um relacionamento entre fatos
  • define uma ocorrência de um fato do mundo real ou de um relacionamento entre fatos
  • Nesse caso, cada chave da relação é chamada de CHAVE CANDIDATA . n A chave candidata escolhida para identificar as tuplas de uma relação é chamada de CHAVE PRIMÁRIA. Em geral, entre todas as chaves candidatas, escolhe-se para chave primária aquela com o menor número de atributo
  • Nesse caso, cada chave da relação é chamada de CHAVE CANDIDATA . n A chave candidata escolhida para identificar as tuplas de uma relação é chamada de CHAVE PRIMÁRIA. Em geral, entre todas as chaves candidatas, escolhe-se para chave primária aquela com o menor número de atributo
  • Nesse caso, cada chave da relação é chamada de CHAVE CANDIDATA . n A chave candidata escolhida para identificar as tuplas de uma relação é chamada de CHAVE PRIMÁRIA. Em geral, entre todas as chaves candidatas, escolhe-se para chave primária aquela com o menor número de atributo
  • Nesse caso, cada chave da relação é chamada de CHAVE CANDIDATA . n A chave candidata escolhida para identificar as tuplas de uma relação é chamada de CHAVE PRIMÁRIA. Em geral, entre todas as chaves candidatas, escolhe-se para chave primária aquela com o menor número de atributo
  • Transcript of "Introdução ao Banco de dados - Prof. Daniel Brandão"

    1. 1. AVEC Análise e Desenvolvimento de Sistemas Professor Daniel Brandão Disciplina: Banco de dados II 1
    2. 2. Quem sou eu: Daniel Brandão •Graduado em Sistemas para Internet (FATESM – 2008) •Especialização em Tecnologias Para Aplicações Web (UNOPAR 2013) •Desenvolvedor web/Webdesigner (desde 2004) •Programador Web (desde 2006) •Professor AVEC e Instrutor SENAI (desde 2011) •Como me achar: •BLOG/Siste: www.danielbrandao.com.br •E-mail: professordanielbrandao@gmail.com •Twitter: Twitter.com/Dan85br 2
    3. 3. Ementa • Linguagem SQL Avançada. Visões, Procedimentos Armazenados, Cursores, Transações, Gatilhos e Funções de banco de dados. Conceitos de administração. Projeto e desenvolvimento para banco de dados. • Bibliografia Básica: • SILBERSCHATZ, Abraham et al.; Arquitetura de Sistemas de Bancos de Dados. São Paulo: Makron Books, 1997. • DATE, C. J. ; Banco de dados. Rio de Janeiro: Campus, 1990. • Complementar: • MACHADO, Felipe Nery R. Banco de dados – Projeto e implementação. Editora Érica. • FERRARI , Fabrício Augusto; Crie banco de dados em MySQL: São Paulo: Digerati Books, 2007. 3
    4. 4. Sobre o que falaremos A. Introdução e conceito B. Modelo relacional C. Conceitos Gerais D. Dicionário de dados E. Relações F. Domínios G. Esquemas e Instâncias H. Chaves I. Integridades J. Restrições 4
    5. 5. INTRODUÇÃO 5
    6. 6. O que é um banco de dados? • Podemos entender por banco de dados qualquer sistema que reúna e mantenha organizada uma série de informações relacionadas a um determinado assunto em uma determinada ordem. • A lista telefônica é um exemplo , nela percebemos que todos os dados referentes a uma pessoa estão na mesma linha , a isso chamamos registros.. • O tipo ou categoria da informação (nome, telefone, etc.) sobre uma pessoa está separada em colunas, as quais chamamos campos.. • Um Sistema Gerenciador de banco de dados relacionais(SGBDR) é usado para armazenar as informações de uma forma que permita às pessoas examiná-las de diversas maneiras. 6
    7. 7. DADOS X INFORMAÇÕES • Muitos consideram dados e informações como palavras sinônimas, mas na verdade não são. Para entender o que é um banco de dados é muito importante saber a diferença entre essas duas palavras. • DADOS: são fatos brutos, em sua forma primária. E muitas vezes os dados podem não fazer sentido sozinhos. • INFORMAÇÕES: consiste no agrupamento de dados de forma organizada para fazer sentido, gerar conhecimento. 7
    8. 8. •Por exemplo: • O número 2001 isoladamente faz algum sentido? Não! Isso é um dado. E se disséssemos: • “Ano do atentado terrorista às torres gêmeas: 2001 ?″ • Agora faz sentido! Isso é uma informação. Portanto, um banco de dados é uma estrutura de dados organizada que permite a extração de informações. 8
    9. 9. METADADOS • Todo dado relativo a outro dado é chamado de metadados. No exemplo anterior do ano 2001 o dado “Ano do atendado terrorista às torres gêmeas” é um metadado, pois ele é um dado sobre o dado “2001 . Um″ outro exemplo mais comum em banco de dados: o campo telefone da tabela cliente tem, entre outros, os seguinte metadados: nome (telefone), tipo (texto), tamanho (30 caracteres), obrigatoriedade (não), etc. • Um banco de dados é formado por dado e metadados. Sem os metadados não seria possível organizar e extrair informações de um banco de dados. 9
    10. 10. MODELOS DE BANCO DE DADOS  Hierárquico  Rede  Relacional 10
    11. 11. Modelo Hierárquico HIERÁRQUICO: é um tipo de sistema de gerenciamento de banco de dados que conecta registos numa estrutura de dados em árvore através de ligações de tal modo que cada tipo de registo tenha apenas um possuidor. A base de dados se baseia em um Modelo de Entidades e Relacionamentos: cada registro é uma coleção de atributos (campos), cada um dos quais contendo somente uma informação; uma ligação é a associação entre dois registros. 11
    12. 12. Modelo de rede O modelo em redes surgiu como uma extensão ao modelo hierárquico, eliminando o conceito de hierarquia e permitindo que um mesmo registro estivesse envolvido em várias associações. Tanto o Modelo Hierárquico como o de Redes são orientados a registros, isto é, qualquer acesso à base de dados – inserção, consulta, alteração ou remoção – é feito em um registro de cada vez. Como já foi mencionado, a organização do Modelo em Redes é semelhante a do Modelo Hierárquico, mas com a diferença de que cada registro filho pode ser ligado a mais de um registro pai, criando conexões bastante complexas e são bastante utilizados em sistemas para computadores de grande porte. 12
    13. 13. O MODELO RELACIONAL 13
    14. 14. Definição • Banco de dados Modelo Relacional é um conceito abstrato que define maneiras de armazenar, manipular e recuperar dados estruturados unicamente na forma de tabelas, construindo um banco de dados. • O termo é aplicado aos próprios dados, quando organizados dessa forma, ou a um Sistema Gerenciador de Banco de Dados Relacional (SGBDR) – do inglês Relational database management system (RDBMS) – um programa de computador que implementa a abstração. 14
    15. 15. Breve histórico • Os Bancos de dados relacionais (BDR) surgiram em meados da década de 1970. Porém, apenas alguns anos mais tarde as empresas passaram a utilizá-los no lugar de arquivos planos (do inglês flat file), bancos de dados hierárquicos e em rede. 15
    16. 16. Modelo Relacional - Características • Organização dos dados • conceitos do modelo: atributo, relação, chave, ... • Integridade • restrições básicas para dados e relacionamentos • Manipulação • linguagens formais (álgebra e cálculo relacional) • SQL (comercial) 16
    17. 17. Conceitos Gerais: Atributo • Um item de dado do Banco de Dados (BD) • Possui um nome e um domínio • Exemplos • nome: varchar(20) • matrícula: integer • dataNasc: date DataNascMatrículaNome
    18. 18. Conceitos Gerais: Tupla • Um conjunto de pares (atributo, valor) • Valor de um atributo • Definido no momento da criação de uma tupla deve ser: • compatível com o domínio ou NULL • Atômico (indivisível) 18
    19. 19. Exemplo: Tupla 20/02/198501427Maria 03/07/197602467Vânia 12/11/198001035Renata DataNascMatrículaNome Tupla 1 Atributo: Nome Valor: Renata
    20. 20. Exemplo: Tupla 20/02/198501427Maria 03/07/197602467Vânia 12/11/198001035Renata DataNascCPFNome Tuplas
    21. 21. Dicionário de Dados! Dentro do contexto de SGBD, um dicionário de dados é um grupo de tabelas, habilitadas apenas para leitura ou consulta, ou seja, é uma base de dados.
    22. 22. Dicionário de Dados! Exemplos: • Definição precisa sobre elementos de dados. • Perfis de usuários, papéis e privilégios • Descrição de objetos • Restrições de integridade • Pequeno trecho de programa de computador, armazenado em um SGBD, que pode ser chamado freqüentemente por um programa principal. • Índices
    23. 23. Conceitos Gerais: Relação • Composto por um cabeçalho e um corpo • Cabeçalho • número fixo de atributos (grau da relação) • atributos não-ambíguos • Corpo • número variável de tuplas (cardinalidade da relação) • ordem não é relevante 23
    24. 24. Exemplo Relação 20/02/1985São Diego 310/3401427Maria 03/07/1976Capote Valente, 3502467Vânia Rua das Flores, 210 Endereço 12/11/198001035Renata DataNascCPFNome Aluno Cabeçalho
    25. 25. Exemplo Relação 20/02/1985São Diego 310/3401427Maria 03/07/1976Capote Valente, 3502467Vânia Rua das Flores, 210 Endereço 12/11/198001035Renata DataNascCPFNome Aluno Corpo
    26. 26. Revisando...
    27. 27. Conceitos Gerais: Relação 20/02/1985São Diego 310/34 Maria 03/07/1976Capote Valente, 35 Vânia Rua das Flores, 210 Endereço 12/11/1980Renata DataNascNome S1 S2 S3 TUPLAS
    28. 28. Conceitos Gerais: Atributos Definição: dada uma relação R, define-se como seus atributos os nomes das funções que mapeiam os valores de cada um dos elementos de cada tupla nos respectivos conjuntos S1, S2 , ...., S3 .. 20/02/1985São Diego 310/34 Maria 03/07/1976Capote Valente, 35 Vânia Rua das Flores, 210 12/11/1980Renata S1 S2 S3 DataNascEndereçoNome DataNascEndereçoNome Relação ATRIBUTOS
    29. 29. Conceitos Gerais: Domínios Definição: Dada uma relação R, o domínio do atributo Aj, é o conjunto Sj no qual o atributo assume valores 20/02/1985São Diego 310/34 Maria 03/07/1976Capote Valente, 35 Vânia Rua das Flores, 210 12/11/1980Renata S1 S2 S3 DataNascEndereçoNome DataNascEndereçoNome Relação R ATRIBUTOS Domínio
    30. 30. Relembrando... • Relação é uma Tabela • Atributo é um Campo (coluna da tabela) • Tupla é uma linha da tabela • Domínio: tipo de dado, formato de um atributo 30
    31. 31. Esquema e Instância • Esquema • Aluno (nome,matrícula, endereço, DataNasc, Curso) • Curso (codigo, descrição) • Instância • (Daniela, 12345, São Diego, 310, 28/06, 1) 31
    32. 32. Chave • Conjunto de um os mais atributos de uma relação • Chave Primária (primary key) – PK • Chave Estrangeira (foreign key) - FK 32
    33. 33. Chave Primária • Primary key (PK) • atributo(s) cujo (conjunto de) valor(es) identifica(m) unicamente uma tupla em uma relação • Unicidade de valores na coluna que compõe a chave 33
    34. 34. Chave Primária (PK) 20/02/1985São Diego 310/3401427Maria 03/07/1976Capote Valente, 3502467Vânia Rua das Flores, 210 Endereço 12/11/198001035Renata DataNascCPFNome Aluno Qual(is) atributo(s) representam unicamente uma tupla? 34
    35. 35. Chave Primária (PK) 20/02/1985São Diego 310/3401427Maria 03/07/1976Capote Valente, 3502467Vânia Rua das Flores, 210 Endereço 12/11/198001035Renata DataNascCPFNome Aluno Qual(is) atributo(s) representam unicamente uma tupla? CPF 35
    36. 36. Chave Primária (PK) 20/02/1985São Diego 310/34347685784432Maria 03/07/1976Capote Valente, 35693529876987Vânia Rua das Flores, 210 Endereço 12/11/1980701034263890Renata DataNascCPFNome Aluno Aluno(CPF, Nome, Endereço, DataNasc)
    37. 37. Chave Primária (PK) – Composta Alocação (Cod_Projeto, Cod_Func, DataIni, Tempo) Um funcionário pode estar em mais de um projeto 37
    38. 38. Chave Primária (PK) Alocação (Cod_Projeto, Cod_Func, DataIni, Tempo) Chave primária composta 38
    39. 39. Chave Candidata • Possui as mesmas propriedades que a chave primária 347685784432 693529876987 701034263890 CPF 20/02/198501427Maria 03/07/197602467Vânia 12/11/198001035Renata DataNascMatrículaNome Aluno 39
    40. 40. Chave Candidata • Possui as mesmas propriedades que a chave primária 347685784432 693529876987 701034263890 CPF 20/02/198501427Maria 03/07/197602467Vânia 12/11/198001035Renata DataNascMatrículaNome Aluno Chaves candidatas 40
    41. 41. Chave Candidata • Qual escolher para Chave Primária? • Escolhe-se para chave primária aquela com o atributo único ou menor número de caracteres 347685784432 693529876987 701034263890 CPF 20/02/198501427Maria 03/07/197602467Vânia 12/11/198001035Renata DataNascMatrículaNome 41
    42. 42. Chave Candidata 347685784432 693529876987 701034263890 CPF 20/02/198501427Maria 03/07/197602467Vânia 12/11/198001035Renata DataNascMatrículaNome Chave Primária 42
    43. 43. Chave Alternativa 347685784432 693529876987 701034263890 CPF 20/02/198501427Maria 03/07/197602467Vânia 12/11/198001035Renata DataNascMatrículaNome Chave Primária Chave alternativa Chave alternativa: chave candidata que não é primária 43
    44. 44. Chave Estrangeira • Foreign Key (FK) • Atributo(s) de uma relação, cujos valores devem obrigatoriamente aparecer na chave primária de uma relação (da mesma ou de outra) • Implementa o relacionamento em um BD relacional 44
    45. 45. Chave Estrangeira (FK) 1 2 1 Curso 347685784432 693529876987 701034263890 CPF 01427Maria 02467Vânia 01035Renata MatrículaNome
    46. 46. Chave Estrangeira (FK) 1 2 1 Curso 347685784432 693529876987 701034263890 CPF 01427Maria 02467Vânia 01035Renata MatrículaNome Ciências Jurídicas e Sociais Administração de Empresas Ciência da Computação Descrição 3 2 1 Codigo
    47. 47. Chave Estrangeira (FK) Aluno(CPF, Nome, Endereço, DataNasc, #Curso) Curso (Codigo, Descrição) 47
    48. 48. Chave Estrangeira (FK) Funcionário (CodFunc, Nome, Endereço, #Cod_Chefe) 2Carlos Gomes, 50Carla4 1 3 4 Cod_Chefe Anita Garibaldi, 12 Oscar Freire, 10 Av. Joaquim 2 Endereço Pedro3 João2 Maria1 NomeCodFu n
    49. 49. Revisando... • Chave Primária (PK) • Chave candidata • Chave alternativa • Chave Estrangeira (FK) 49
    50. 50. Restrições de Integridade • É uma regra que deve ser obedecida em todos os estados válidos da base de dados. • Garantem que os dados refletem corretamente a realidade modelada. • Domínio, Chave Primária, Valores Vazios • Integridade de Entidade • Integridade Referencial • Semântica 50
    51. 51. Restrições de Integridade • Domínio: conjunto de valores que um atributo pode assumir Exemplo: Nome: varchar (20)- Alessandra Vogel Oliveira viola a regra Vazio: define se os atributos podem ou não ser vazios 51
    52. 52. Integridade de Entidade • Garantia de acesso a todos os dados sem ambigüidade • Atributos pertencentes a chave- primária de uma relação não podem ter valor nulo • A chave primária representa uma entidade na base de dados Carla4 Pedro3 João2 Maria1 NomeCodFu n
    53. 53. Integridade Referencial • Chave estrangeira (FK) • Garantia de relacionamentos válidos • Os valores que aparecem na FK devem aparecer na PK da relação referenciada 1 2 1 Curso 347685784432 693529876987 701034263890 CPF 01427Maria 02467Vânia 01035Renata MatrículaNome 1 2 1 Curso 347685784432 693529876987 701034263890 CPF 01427Maria 02467Vânia 01035Renata MatrículaNome Ciências Jurídicas e Sociais Administração de Empresas Ciência da Computação Descrição 3 2 1 Curso Ciências Jurídicas e Sociais Administração de Empresas Ciência da Computação Descrição 3 2 1 Curso
    54. 54. Integridade Semântica • Especificada através de regras sobre o esquema do banco de dados • Exemplos: • O salário de um empregado deve ser menor ou igual ao do seu supervisor • O número de horas semanais de um empregado em um projeto não pode ser maior do que 50 54
    55. 55. Restrições de Atualização • Inserção: insere tuplas em uma relação • Pode violar 4 restrições de integridade: 55
    56. 56. Restrições de Atualização • Inserção: insere tuplas em uma relação • Pode violar 4 restrições de integridade: • Integridade de Domínio: valor não é do domínio 56
    57. 57. Restrições de Atualização • Inserção: insere tuplas em uma relação • Pode violar 4 restrições de integridade: • Integridade de Domínio • Integridade de Chave: valor já existe 57
    58. 58. Restrições de Atualização • Inserção: insere tuplas em uma relação • Pode violar 4 restrições de integridade: • Integridade de Domínio • Integridade de Chave • Integridade de Entidade: chave primária é nula 58
    59. 59. Restrições de Atualização • Inserção: insere tuplas em uma relação • Pode violar 4 restrições de integridade: • Integridade de Domínio • Integridade de Chave (ex.: chave duplicada) • Integridade de Entidade • Integridade Referencial: valor da FK refere-se a uma tupla que não existe na relação referenciada 59
    60. 60. Restrições de Atualização • Exclusão: exclui tuplas de uma relação • Pode violar : 60
    61. 61. Restrições de Atualização • Exclusão: exclui tuplas de uma relação • Pode violar : Integridade referencial: se a tupla que está sendo excluída está referenciada por uma FK de outra tupla 61
    62. 62. Restrições de Atualização • Exclusão: Ciências Jurídicas e Sociais Administração de Empresas Ciência da Computação Descrição 3 2 1 Curso 1 2 1 Curso 347685784432 693529876987 701034263890 CPF 01427Maria 02467Vânia 01035Renata MatrículaNome
    63. 63. Restrições de Atualização • Procedimento a ser adotado: • Rejeitar a operação • Excluir em cascata • Mudar os valores dos atributos referenciados 63
    64. 64. Restrições de Atualização • Atualização : altera os valores de atributos nas tuplas existentes • Pode violar: 64
    65. 65. Restrições de Atualização • Atualização : altera os valores de atributos nas tuplas existentes • Pode violar: • Restrição de Domínio para atributos que não são chave 65
    66. 66. Restrições de Atualização • Atualização : altera os valores de atributos nas tuplas existentes • Pode violar: • Restrição de Domínio para atributos que não são chave • Chave primária e entidade 66
    67. 67. Restrições de Atualização • Atualização : altera os valores de atributos nas tuplas existentes • Pode violar: • Restrição de Domínio para atributos que não são chave • Chave primária e entidade • Referencial 67
    68. 68. 68
    69. 69. Exercício: Considere o seguinte esquema relacional: Categoria(CodCategoria, Descrição) Cliente (CodCli, Nome, Endereco, CPF, CodCategoria) Funcionário (CodFunc, Nome, CT, CPF, End, Fone) Fornecedor (CodFornec, Nome, Cidade) Produto (CodProd, CodFornec, Nome, Peso, Valor) 69 1) Identificar as chaves primárias e chaves estrangeiras 2) Identificar o que é cada ítem das tabelas a seguir:
    70. 70. • Sistemas de Banco de Dados, Elmasri-Navathe - 4a. Edição: Capítulo 5 • Php e Mysql - Desenvolvimento Web - 3ª Edição. Autor: Welling, Luke; Thomson, Laura. Editora: Campus. Leitura Complementar 71 Créditos: Material extraído de pesquisa em Livros e Slides do Slideshare e de blogs especializados na internet
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×