Md7 banco dados

182
-1

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
182
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Md7 banco dados

  1. 1. Módulo 4b: Banco de Dados • Um Banco de Dados (BD) é um armazém de informações sobre algum empreendimento. •UNIVERSIDADE FEDERAL DE CAMPINA GRANDE •CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA •DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO •Professor Ulrich Schiel
  2. 2. Diagrama E-R: Associação dos Amigos dos Animais de Estimação (AAAE)
  3. 3. O Modelo de Entidades-Relacionamentos • Classes de entidades são conjuntos • O relacionamento (a relação) “é proprietário de” entre Pessoa e Animal é uma relação binária do tipo um-para-muitos capturada pelos pares (pessoa, animal) • Um fato do tipo “nenhum animal tem mais de um dono” é uma regra do negócio e deve ser mantida no Banco de Dados. • Entidades e relacionamentos podem ter atributos, que são listas de valores que caracterizam uma entidade.
  4. 4. O Modelo Relacional • As entidades e os relacionamentos podem ser implementados no Modelo Relacional (MR) • Um BD Relacional usa relações matemáticas definidas por tabelas para modelar os objetos (entidades) e seus relacionamentos • Cada linha da tabela representa uma entidade com os seus atributos • Uma tabela é um conjunto
  5. 5. O Modelo Relacional • As tabelas descrevem uma relação • Formalmente uma relação em um BD é uma relação entre domínios de valores • D1 x D2 x D3 x ...... x Dn, • Ou seja, temos • R ⊆ D1 x D2 x D3 x ...... x Dn
  6. 6. Relações Pessoa e Animal
  7. 7. O Modelo Relacional • Chave de uma relação: subconjunto mínimo de atributos cujos valores não se repetem • Se uma das regras de negócio do AAAE determina que pessoas distintas tem nomes distintos, o atributo nome pode ser a chave para a relação pessoa
  8. 8. O Modelo Relacional • Uma Chave Estrangeira é um atributo de uma relação, do mesmo domínio de um atributo que é chave em outra relação. Esse atributo estabelece um relacionamento entre os objetos das duas relações • Na relação que segue, Proprietário, relaciona Pessoa e Animal e é composta por dois atributos que são chaves estrangeiras.
  9. 9. • A primeira tupla estabelece que Roberto da Silva é o proprietário de Pintado
  10. 10. O Modelo Relacional • Relações ou Tabelas representam entidades. • Relacionamentos também podem ficar em relações • Relacionamentos um-para-um ou um-para- muitos também podem ser modelados como atributos • P.ex., o relacionamento é proprietário é do tipo um-para-muitos. Então, a tabela Proprietário pode ser eliminada e o relacionamento ser estabelecido na tabela Animal através de uma chave estrangeira.
  11. 11. Operações Relacionais • União, Diferença, Intersecção, etc.. • Restrição (seleção): cria um subconjunto de uma relação (das linhas ) • Projeção: cria um subconjunto das colunas • Junção: cria um subconjunto do produto cartesiano de duas ou mais relações
  12. 12. Operações nas Relações - Restrição • Exemplo: Seleção de Animal_Proprietário onde Tipo_de_animal = “Cachorro” fornecendo Cachorro-Proprietário • Notação: Cachorro_Proprietário = Animal_Proprietário[Tipo_de_Animal=“Cachorro”]
  13. 13. Operações nas Relações - Projeção • Exemplo: Projeção de Animal_Proprietário sobre (Nome, Tipo_de_animal ) fornecendo Preferência • Notação: Preferência=Animal_Proprietário[Nome, Tipo_de_Animal]
  14. 14. • Exemplo: Junção de Pessoa e Animal_Proprietário baseada em Nome fornecendo Listagem • Notação: Pessoa.P [P.Nome=A.Nome] Animal_Proprietário.A
  15. 15. Operações nas Relações • Como relações são conjuntos de n-tuplas as operações binárias de União, Interseção e Diferença também podem ser aplicadas a duas relações que tenham a mesma estrutura Exemplo: União de Pessoas.CAAE1, Pessoas.CAAE2 fornecendo Pessoas_do_Clube • A Junção, operação que junta relações que tenham um atributo em comum, é implementada pelo Produto Cartesiano seguida da operação de Restrição
  16. 16. Processamento de consultas • Todas operações podem ser combinadas para que um usuário do BD possa fazer uma consulta mais complexa. Exemplo: Considerando que as únicas relações do BD são Pessoa e Animal-Proprietário, como fazer a seguinte consulta? “Forneça o nome de todos os gatos cujos donos vivem no estado do Rio de Janeiro”
  17. 17. EXEMPLO “Forneça o nome de todos os gatos cujos donos vivem no estado do Rio de Janeiro” • Resultado1 = Animal-Proprietario[Tipo-de-animal = “Gato”] - Seleção • Resultado2 = Pessoa[Estado = “RJ”] - Seleção • Resultado3 = Resultado1.R1[R1.Nome=R2.Nome]Resultado2 – Junção • Final = Resultado3[Nome-do-animal] - Projeção • Alternativa: • Final = (Animal-Proprietario[Tipo-de-animal = “Gato”].R1)[R1.Nome= R2.Nome] (Pessoa[Estado = “RJ”].R2) [Nome] • Versão econômica: • Resultado1 = (Animal-Proprietario[Tipo-de-animal = “Gato”]) [Nome, Nome-do- animal] • Resultado2 = (Pessoa[Estado = “RJ”])[Nome] • Resultado3 = Resultado1.R1[R1.Nome=R2.Nome]Resultado2.R2 • Final = Resultado3[Nome-do-Animal]
  18. 18. Álgebra Relacional • A Álgebra Relacional é uma linguagem abstrata para transformação de relações • A Álgebra Relacional permite todas as operações citadas, inclusive o uso combinado das operações de restrição, projeção e junção
  19. 19. Álgebra Relacional • Na Álgebra Relacional a consulta “Forneça o nome de todos os gatos cujos donos vivem no estado do Rio de Janeiro” , seria: projeção junção (restrição Animal-Proprietário onde Tipo-de-animal = “Gato”) e (restrição Pessoa onde Estado = “RJ”) baseada Nome sobre Nome-do-animal fornecendo ResultadoFinal)
  20. 20. SQL • Exemplo: A mesma consulta escrita em SQL “Forneça o nome de todos os gatos cujos donos vivem no estado do Rio de Janeiro” SELECT Nome-do-Animal FROM Animal_Proprietário, Pessoa WHERE Animal-Proprietário.Nome = Pessoa.Nome AND Tipo-animal = “Gato” AND Estado = “RJ” Projeção Restrição Junção
  21. 21. Manipulação do BD • O BD é dinâmico. Além das operações de consulta, está sujeito às operações de: – Inclusão – Exclusão – Atualização • Essas operações não devem afetar a integridade dos dados
  22. 22. Manipulação do BD • Exemplos de operações que modificam o BD (SQL) INSERT INTO Animal_Proprietário VALUE (“Souza, Katia “, “Lex”, “Cachorro”, “Pastor”) UPDATE Animal_Proprietário SET Nome = “Silva, Maria da” WHERE Nome-do-animal = Pintado DELETE Animal_Proprietário Pessoa WHERE Nome = “Lad”
  23. 23. Integridade do BD • As operações que modificam o BD são efetuadas obedecendo as regras de negócio e mantendo o BD correto e consistente, isto é, sem ferir a integridade do BD • Integridade do BD: • Integridade dos Dados (domínio) • Integridade das Entidades (chave primária) • Integridade Relacional (chave estrangeira)
  24. 24. Integridade do BD • Os Sistemas de Gerenciamento de Banco de Dados SGBS tais como Oracle, MySQL, Informix ..., etc, dispõem de recursos que automaticamente gerenciam a Integridade do BD, deixando para os projetistas apenas os cuidados com as regras dos negócios que são implementadas com muita facilidade em SQL • Detalhes sobre essas facilidades serão vistos em Banco de Dados I e Banco de Dados II
  25. 25. Exemplo • Seja o banco de dados PESSOA(Nome, Endereco, Cidade, Estado); ANIMAL(Nome-do-animal, Tipo, Raça); PROPRIETARIO(Nome, Nome-do-anuimal); • Queremos determinar os proprietários que não têm gatos e cachorros ao mesmo tempo. 1. Separar os animais em gatos e cachorros 2. Acrescentar a cada um seus proprietários 3. Determinar a lista dos proprietários de cada um 4. Determinar a lista dos proprietários que só aparecem em uma das listas
  26. 26. Exercício • Seja o banco de dados CURSO(Cur, Disc); EST(Matr, NomeE, CRE); MATR(Matr, Disc, Turma, Nota); PROF(NomeP, Disc, Turma); • Obtenha os dados: • Os nomes dos professores do curso de ‘Ciência da Computação’ • Os nomes e notas dos estudantes reprovados em ‘Matematica Discreta’ pelo professor ‘Ulrich’ • Todas disciplinas cursadas por “Djaildo” e por “Anissa” • OBS: lembre-se que sobre estas relações podem ser aplicadas as operações convencionais sobre conjuntos, como união, intersecção, diferença, assim como as operações relacionais: • .seleção, projeção e junção
  1. A particular slide catching your eye?

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

×