Your SlideShare is downloading. ×
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Md7 banco dados
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Md7 banco dados

96

Published on

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

  • Be the first to like this

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

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. Diagrama E-R: Associação dos Amigos dos Animais de Estimação (AAAE)
  • 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. 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. 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. Relações Pessoa e Animal
  • 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. 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. • A primeira tupla estabelece que Roberto da Silva é o proprietário de Pintado
  • 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. 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. 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. 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. • 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. 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. 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. 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. Á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. Á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. 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. 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. 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. 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. 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. 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. 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

×