Aula - Banco de dados, teoria e prática

2.039 visualizações

Publicada em

Aula Banco de Dados - Tecnologia da Informação aplicado à Ciências Contábeis.

Publicada em: Educação
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.039
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
92
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula - Banco de dados, teoria e prática

  1. 1. BANCO DE DADOS – TI Teoria e Prática Prof. Jorge Cavalcante
  2. 2. “Bancos de dados ou bases de dados são coleções organizadas de dados que se relacionam de forma a criar algum sentido(Informação) e dar mais eficiência durante uma pesquisa ou estudo. São de vital importância para empresas, e há duas décadas se tornaram a principal peça dos sistemas de informação. Normalmente existem por vários anos sem alterações em sua estrutura. São operados pelos Sistemas Gerenciadores de Bancos de Dados (SGBD), que surgiram na década de 70. Antes destes, as aplicações usavam sistemas de arquivos do sistema operacional para armazenar suas informações. Na década de 80 a tecnologia de SGBD relacional passou a dominar o mercado, e atualmente utiliza-se praticamente apenas ele. Outro tipo notável é o SGBD Orientado a Objetos, para quando sua estrutura ou as aplicações que o utilizam mudam constantemente. A principal aplicação de Banco de Dados é controle de operações empresariais. Outra aplicação também importante é gerenciamento de informações de estudos, como fazem os Bancos de Dados Geográficos, que unem informações convencionais com espaciais.”
  3. 3. Modelo relacional (1) ▪ ◮ Baseado no conceito de Rela¸c˜ao. ▪ ◮ Uma Rela¸c˜ao ´e um conceito matem´atico baseado na id´eia de conjunto. ▪ ◮ O ponto forte da abordagem relacional ´e o fundamento formal dado pela teoria das rela¸co˜es.
  4. 4. Modelo relacional (2) ▪ ◮ Proposto por E. F. Codd (IBM) em 1970: A Relational Model for Large Shared Data Banks, Communications of the ACM, June 1970. ▪ ◮ ACM Turing Award. ▪ ◮ Num modelo relacional as estruturas s˜ao tabelas (relac¸o˜es). ▪ ◮ Pode conter restric¸o˜es: de integridade, de dom´ınio, de entidade e referencial. ▪ ◮ As opera¸co˜es s˜ao baseadas em ´algebra relacional.
  5. 5. Conceito ▪ ◮ Um banco de dados estruturado de acordo com o modelo relacional corresponde a uma cole¸c˜ao de rela¸co˜es. ▪ ◮ Informalmente, uma relac¸˜ao ´e uma tabela na qual cada linha expressa ema cole¸c˜ao de dados relacionados, cujos valores podem ser interpretados como um fato que descreve uma entidade ou um relacionamento.
  6. 6. Terminologia ▪ ◮ As linhas de uma rela¸c˜ao, ou tabela, s˜ao chamadas de TUPLAS. ▪ ◮ O cabe¸calho das colunas representa ATRIBUTOS. ▪ ◮ O conjunto de valores que podem aparecer em cada coluna ´e chamado de DOM´INIO.
  7. 7. Um rela¸c˜ao Figura: Exemplo de um rela¸c˜ao: ESTUDANTE.
  8. 8. Esquema de rela¸c˜ao ▪ ◮ E´ uma express˜ao da forma: R(A1,A2,..., An) onde: ▪ ◮ R – ´e o nome de uma rela¸c˜ao; ▪ ◮ Ai – ´e o nome de um atributo que representa um papel de um dom´ınio D em R – dom(Ai ); ▪ ◮ n – ´e o grau da relac¸˜ao.
  9. 9. Instˆancia de uma rela¸c˜ao (1) ◮ A instˆancia de uma rela¸c˜ao r(R) ´e um conjunto de n-tuplas r = { t1, t2, . .. ,tn} onde cada n-tupla t ´e uma lista de n valores t = hv1,v2,.. ., vni. ◮ Cada vi ´e um elemento do dom(Ai ). ◮ Um valor especial null ou nulo ´e usado para representar valores desconhecidos ou inaplic´aveis a certas tuplas.
  10. 10. Instˆancia de uma rela¸c˜ao (1) ◮ Formalmente, r(R) ⊂ (dom(A1) ×dom(A2) ×. .. ×dom(An)). ◮ Um subconjunto do produto cartesiano dos dom´ınios de atributos, que representam fatos do mundo real.
  11. 11. Caracter´ısticas de uma rela¸c˜ao ◮ As tuplas de uma rela¸c˜ao n˜ao s˜ao ordenadas. ◮ Uma tupla ´e uma lista ordenada de valores, portanto, a ordem dos valores em uma tupla, e consequ¨entemente, dos atributos na defini¸c˜ao de um esquema de relac¸˜ao ´e importante. ◮ Valor de cada atributo em uma tupla ´e atoˆmico. ◮ Um esquema de rela¸c˜ao pode ser interpretado como uma declara¸c˜ao, ou seja, uma tupla satisfaz ou n˜ao uma rela¸c˜ao.
  12. 12. Esquema de um BD relacional (1) ▪ ◮ Um esquema de BD relacional S define um conjunto de esquemas rela¸c˜ao R = { R1, R2,. . ., Rn} e um conjunto de restri¸co˜es de integridade I. ▪ ◮ Portanto S = (R,I).
  13. 13. Esquema de um BD relacional (1) ◮ Uma instˆancia B de S ´e um conjunto de rela¸co˜es B = { r1, r2, ...rn} , tal que, cada ri ´e uma instˆancia de Ri e satisfazem as restric¸o˜es de integridade especificadas em I.
  14. 14. Rela¸c˜ao – Vis˜ao formal Termos informais Termos formais Tabela Relação Coluna Atributo/Domínio Linha Tupla Valores em uma coluna Dom´ınio Definiçãoda tabela Esquema da relação Tabela populada Extensão
  15. 15. Exemplo conceitual
  16. 16. Rela¸co˜es (a) Cliente Particular (b) Cliente Empresa (c) Taxi (d) Corrida
  17. 17. Restri¸co˜es de integridade ▪ ◮ Restri¸co˜es s˜ao condi¸co˜es que devem ser v´alidas para todas as instˆancias de relac¸o˜es ▪ ◮ Restri¸c˜ao de chave; ▪ ◮ Restri¸c˜ao de dom´ınio; ▪ ◮ Restri¸c˜ao de integridade de entidade; ▪ ◮ Restri¸c˜ao de integridade referencial.
  18. 18. Restri¸co˜es de dom´ınio ◮ Especificam que o valor de cada atributo A de uma relac¸˜ao deve ser um valor atoˆmico do dom(A). ◮ Exemplo: CPF tem um dom´ınio de 11 nu´meros.
  19. 19. Restri¸co˜es de chave (1) ◮ Superchave: subconjunto de atributos de um esquema R com a propriedade de que duas tuplas, em qualquer estado de rela¸c˜ao r ∈R, n˜ao tenham as mesmas combina¸co˜es de valores para esses atributos.
  20. 20. Restri¸co˜es de chave (2) ▪ ◮ T1[SK] 6= T2[SK]; ▪ ◮ SK ´e um subconjunto de atributos; ▪ ◮ Uma superchave especifica uma restri¸c˜ao de unicidade; ▪ ◮ Superchave pode conter atributos redundantes.
  21. 21. Restri¸co˜es de chave (3) ▪ ◮ Chave: uma chave K ´e uma superchave com a propriedade adicional de, ao remover qualquer atributo A de K, o conjunto de atributos K′ restante n˜ao ´e mais superchave de R. ▪ ◮ Em geral, um esquema de relac¸˜ao pode ter mais de uma ▪ chave. ▪ ◮ Cada uma ´e chamada de ▪ ◮ chave candidata. ▪ ◮ Uma delas ´e indicada como ▪ ◮ chave prim´aria
  22. 22. Restri¸co˜es de chave (4) ◮ Duas tuplas distintas, em qualquer estado, n˜ao podem ter valores idˆenticos para (todos) os atributos chave. ◮ Um chave ´e uma superchave m´ınima. (a) Superchave (b) Chave = superchave-minimal.
  23. 23. Exemplos (1) ◮ Superchaves ◮ { Placa} ; ◮ { Placa,Marca} ; ◮ { Placa,Marca,Modelo} ; ◮ { Placa, Marca, Modelo, AnoFab} .
  24. 24. Exemplos (2) ◮ Chave: ◮ { Placa} .
  25. 25. Integridade de entidade (1) ◮ Esquema de um banco de dados relacional: conjunto S de rela¸co˜es que pertencem ao mesmo banco de dados. ◮ S ´e o nome do banco de dados S = { R1, R2, ...,Rn} .
  26. 26. Integridade de entidade (2) ◮ Integridade de Entidade: os atributos que s˜ao chave prim´aria PK de cada relac¸˜ao R em S n˜ao podem ter valores nulos em nenhuma tupla de r(R). ◮ Motivo: os valores de chaves prim´arias s˜ao usados para identificar tuplas t[PK ] 6= NULO para toda ∀t ∈r(R). ◮ Outros atributos de R podem ter restri¸c˜ao similar, mesmo n˜ao sendo chave prim´aria.
  27. 27. Integridade referencial (1) ▪ ◮ Usado para especificar um relacionamento entre tuplas em duas rela¸co˜es. ▪ ◮ Rela¸c˜ao que referencia uma outra rela¸c˜ao / rela¸c˜ao que ´e referenciada por outra relac¸˜ao. ▪ ◮ Tuplas em uma relac¸˜ao R1 tˆem atributos FK (chave estrangeira) que referencia atributos chave prim´aria PK de uma outra rela¸c˜ao R2. ▪ ◮ Uma tupla t1 ∈R1 aponta para uma tupla t2 ∈R2 se ▪ t1[FK] = t2[PK].
  28. 28. Integridade referencial (2) Figura: Placa ´e chave prim´aria em TAXI e chave estrangeira em CORRIDA.
  29. 29. Restri¸c˜ao de integridade referencial ▪ ◮ Os atributos FK de R1 tˆem o mesmo dom´ınio que os atributos PK de R2. ▪ ◮ O valor de uma chave estrangeira FK de uma relac¸˜ao R1 pode ser ▪ ◮ Um valor de uma chave prim´aria existente em uma outra rela¸c˜ao R2; ▪ ◮ Um nulo. ▪ ◮ No segundo caso, FK em R1 n˜ao deve fazer parte da chave prim´aria de R1.
  30. 30. Outras restri¸c˜oes ▪ ◮ Integridade semˆantica ▪ ◮ Baseada na semˆantica da aplica¸c˜ao; ▪ ◮ N˜ao pode ser expressa no modelo em si; ▪ ◮ Exemplo: nu´mero m´aximo de horas trabalhadas por um empregado n˜ao pode ultrapassar 40 horas por semana.
  31. 31. Restri¸co˜es × Atualiza¸co˜es (1) ▪ ◮ Inser¸c˜ao/Modifica¸c˜ao/Dele¸c˜ao. ▪ ◮ Restri¸co˜es de integridade n˜ao podem ser violadas por operac¸o˜es de atualiza¸c˜ao. ▪ ◮ Atualiza¸co˜es podem ser propagadas, em cascata, automaticamente para respeitar as restri¸co˜es de integridade.
  32. 32. Restri¸co˜es × Atualiza¸co˜es (2) ▪ ◮ Inser¸c˜ao ▪ ◮ Inser¸c˜ao de tupla com chave j´a existente: viola restri¸c˜ao de chave; ▪ ◮ Inser¸c˜ao de tupla com chave nula: viola restri¸c˜ao de integridade de entidade; ▪ ◮ Inser¸c˜ao de tupla com chave estrangeira inv´alida: viola restri¸c˜ao de integridade referencial.
  33. 33. Restri¸co˜es × Atualiza¸co˜es (3) ◮ Remo¸c˜ao ◮ Pode violar restric¸˜ao de integridade referencial.

×