• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Base de dados desafio 2
 

Base de dados desafio 2

on

  • 1,259 views

Bases de dados

Bases de dados
Desafio 2

Alargar as funcionalidades de uma base de dados
Luis Borges Gouveia
Maio de 2013

Statistics

Views

Total Views
1,259
Views on SlideShare
675
Embed Views
584

Actions

Likes
1
Downloads
0
Comments
0

21 Embeds 584

http://lmbg.blogspot.pt 443
http://lmbg.blogspot.com 63
http://lmbg.blogspot.com.br 42
http://manuelamoreira1994.wordpress.com 6
http://lmbg.blogspot.co.uk 4
http://lmbg.blogspot.mx 3
http://lmbg.blogspot.it 3
http://lmbg.blogspot.ru 3
http://lmbg.blogspot.in 2
http://www.blogger.com 2
http://lmbg.blogspot.fr 2
http://lmbg.blogspot.nl 2
http://www.lmbg.blogspot.pt 1
http://lmbg.blogspot.com.es 1
http://lmbg.blogspot.sg 1
http://lmbg.blogspot.co.il 1
http://lmbg.blogspot.com.au 1
http://digg.com 1
http://lmbg.blogspot.ro 1
http://lmbg.blogspot.cz 1
http://translate.googleusercontent.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Base de dados desafio 2 Base de dados desafio 2 Presentation Transcript

    • Bases  de  dados  Desafio  2  Alargar  as  funcionalidades  de  uma  base  de  dados  Luis  Borges  Gouveia  Maio  de  2013  
    • Considere  o  seguinte  contexto  •  Considere  a  necessidade  de  registo  de  uma  pequena  coleção  de  livros  associada  a  uma  biblioteca  pessoal  –  Pretende-­‐se  o  registo  de  livros,  indicando  o  respeGvo  Htulo,  isbn  e  língua  em  que  está  escrito  –  É  necessário  associar  os  respeGvos  autores,  considerando  o  seu  nome  e  nacionalidade  –  Deve  ser  igualmente  registada  a  editora  (nome)  –  Deve  ser  considerado  o  registo  de  compra,  indicando  o  livro,  o  valor  e  a  data  de  aquisição  –  Adicionalmente,  as  relações  de  quem  escreveu  o  livro  (associando  o  livro  e  o  autor),  quem  publicou  (associando  o  livro  e  a  editora)  
    • Um  modelo  E-­‐R  do  contexto  proposto  •  Consideram-­‐se:  –  quatro  enGdades:  editora,  livro,  autor  e  compra  –  Três  relações  binárias:  publicado,  escrito  e  pago  •  Publicado:  uma  editora  publica  vários  livros  e  um  livro  é  publicado  por  várias  editoras  •  Escrito:  um  livro  é  escrito  por  vários  autores  e  um  autor  escreve  vários  livros  •  Pago:  um  livro  é  pago  numa  compra  e  uma  compra  paga  um  livro  
    • Esquema  relacional  do  contexto  •  Livro  (idl,  Gtulo,  lingua,  isbn)  •  Autor  (ida,  nome,  nacionalidade)  •  Editora  (ide,  nome)  •  Escrito  (idl,  ida)  •  Publicado  (idl,  ide)  •  Compra  (cmp,  idl,  valor,  data)  
    • Desafio  2  •  Considere  o  modelo  e-­‐r  anterior  e  estenda  a  sua  funcionalidade  de  modo  a  suportar:  –  Notas  de  leitor  associadas  com  determinado  livro  e  que  registe  também  um  conjunto  de  termos  indeterminado  a  cada  nota  realizada  (deve  incluir  informação  de  contexto  da  produção  da  nota,  tal  como  data,  etc...)  –  EmprésGmos  de  livros:  deve  implementar  a  solução  para  que  consiga  realizar  o  emprésGmo  de  um  determinado  livro,  registanto  a  data  e  os  tempos  de  emprésGmo  de  modo  a  permiGr  um  serviço  de  alertas  (não  esquecer  os  dados  de  idenGficação  a  quem  se  empresta  os  livros)  
    • Modelo  E-­‐R  para  extensão  NOTAS    •  Consideram-­‐se:  –  Duas  novas  enGdades:  termo  e  nota  (nota  integra  com  a  enGdade  livro)  –  duas  relações  binárias:  associa  e  colocada  •  colocada:  uma  nota  é  colocada  em  vários  livros  e  num  livro  são  colocadas  várias  notas  •  associa:  um  termo  associa  várias  notas  e  uma  nota  associa  vários  termos  
    • Esquema  relacional  para  notas  •  NOTA(id_n,  Gtulo,  descre,  data)  •  TERMO(id_t,  nome,  desc)  •  NOTA_TERMO(intermo,  id_n,  id_t)  •  NOTA_LIVRO(nlivro,  id_n,  idl)  
    • Modelo  E-­‐R  para  extensão  EMPRÉSTIMOS  •  Consideram-­‐se:  –  Duas  novas  enGdades:  emprésGmo  e  leitor  (emprésGmo  integra  com  a  enGdade  livro)  –  duas  relações  binárias:  associa  e  feito  •  associa:  um  livro  está  associado  a  vários  emprésGmo  (a  tempos  diferentes)  e  um  emprésGmo  está  associado  a  vários  livros  (a  tempos  diferentes)  •  feito:  um  leitor  faz  vários  emprésGmos  e  um  emprésGmo  é  feito  por  um  leitor  
    • Esquema  relacional  para  emprésGmos  •  DATAS_EMP  (nreg,  idl,  n_em,  d_ini;  d_fim)  •  EMPRESTIMO(n_em,  nlei,  notas)  •  LEITOR(nlei,  nome,  nac,  Gpo)  
    • Estender  o  modelo  E-­‐R…  
    • Estender  o  esquema  relacional…  •  Para  suporte  de  notas:  – NOTA(id_n,  Gtulo,  descre,  data)  – TERMO(id_t,  nome,  desc)  – NOTA_TERMO(intermo,  id_n,  id_t)  – NOTA_LIVRO(nlivro,  id_n,  idl)  •  Para  suporte  de  emprésGmos:  – DATAS_EMP  (nreg,  idl,  n_em,  d_ini;  d_fim)  – EMPRESTIMO(n_em,  nlei,  notas)  – LEITOR(nlei,  nome,  nac,  Gpo)  
    • Adicionar  à  Biblio.db  (SQLite)  •  NOTA(id_n,  Gtulo,  descre,  data)  –  Create  table  nota(id_n  integer  primary  key,  Gtulo  text,  descre  text,  data  date);  •  TERMO(id_t,  nome,  desc)  –  Create  table  termo(id_t  integer  primary  key,  nome  text,  desc  text);  •  NOTA_TERMO(intermo,  id_n,  id_t)  –  Create  table  nota_termo(interno  integer  primary  key  autoincrement,  id_n  integer,  id_t  integer);  •  NOTA_LIVRO(nlivro,  id_n,  idl)  –  Create  table  nota_livro(nlivro  integer  primary  key,  id_n  integer,  idl  integer);      •  DATAS_EMP  (nreg,  idl,  n_em,  d_ini;  d_fim)  –  Create  table  datas_emp(nreg  integer  primary  key  autoincrement,  idl  integer,  n_em  integer,  d_ini  date,  d_fim  date);  •  EMPRESTIMO(n_em,  nlei,  notas)  –  Create  table  empresGmo(n_em  integer  primary  key,  nlei  integer,  notas  text);  •  LEITOR(nlei,  nome,  nac,  Gpo)  –  Create  table  leitor(nlei  integer  primary  key,  nome  text,  nac  text,  Gpo  text);  
    • Considere  a  seguinte  nota  •  Para  a  nota,  carregue  os  dados  correspondentes  na  base  de  dados  –  Realizada  uma  nota  para  o  livro  “Negócio  Electrónico  -­‐  conceitos  e  perspecGvas  de  desenvolvimento”  designada  por  posição  com  o  texto:  trata-­‐se  de  um  livro  introdutório  sobre  o  tema  do  e-­‐business  escrito  em  português  que,  em  160  páginas  apresenta  os  conceitos  básicos  do  uso  do  digital  para  a  condução  de  negócios  e  o  que  tal  implica”.  Com  esta  nota  foram  associados  três  termos:  e-­‐business,  negócio  eletrónico  e  e-­‐commerce  
    • Mapear  o  texto  com  os  atributos  •  Realizada  uma  nota  para  o  livro  “Negócio  Electrónico  -­‐  conceitos  e  perspecGvas  de  desenvolvimento”  [nlivro=1],  [id_n=1]  e  [idl=  8]  designada  por  posição  [Gtulo=‘Posição’]  com  o  texto:  trata-­‐se  de  um  livro  introdutório  sobre  o  tema  do  e-­‐business  escrito  em  português  que,  em  160  páginas  apresenta  os  conceitos  básicos  do  uso  do  digital  para  a  condução  de  negócios  e  o  que  tal  implica”  [descre=‘…’]  e  incluir  [id_n]  e  [data].    •  Com  esta  nota  foram  associados  três  termos[3  entradas  na  tabela  NOTA_TERMO]:  e-­‐business  [id_t=1]  e  [nome=‘e-­‐business’],  negócio  eletrónico  [id_t=2]  e  [nome=‘negócio  eletrónico’]  e  e-­‐commerce  [id_t=3]  e  [nome=‘e-­‐commerce’]  
    • Carregar  as  tabelas  •  NOTA(id_n,  Gtulo,  descre,  data)  –  Insert  into  nota  values(1,  ´Posição’,  ‘trata-­‐se  de  um  livro  introdutório  sobre  o  tema  do  e-­‐business  escrito  em  português  que,  em  160  páginas  apresenta  os  conceitos  básicos  do  uso  do  digital  para  a  condução  de  negócios  e  o  que  tal  implica’,  ‘2013-­‐05-­‐22’);  •  TERMO(id_t,  nome,  desc)  –  Insert  into  termo  values(1,  ‘e-­‐business’,’’);  –  Insert  into  termo  values(2,  ‘negócio  eletrónico’,’’);  –  Insert  into  termo  values(3,  ‘e-­‐commerce’,’’);  •  NOTA_TERMO(intermo,  id_n,  id_t)  –  Insert  into  nota_termo  values(1,  1,  1);  –  Insert  into  nota_termo  values(2,  1,  2);  –  Insert  into  nota_termo  values(3,  1,  3);  •  NOTA_LIVRO(nlivro,  id_n,  idl)  –  Insert  into  nota_livro  values(1,  1,  8);  
    • Considere  os  seguintes  emprésGmos  •  Carregue  esta  informação  na  base  de  dados  – Os  livros  2  e  3  foram  emprestados  ao  leitor  Manuel  António  (PT,  aluno)  a  15  de  Fevereiro  de  2013,  tendo  o  livro  2,  sido  entregue  a  22  de  Fevereiro  e  o  livro  3,  a    12  de  Março  de  2013  – Os  livros  10  e  12  foram  emprestados  à  Diana  Alves  (PT,  professora)  a  6  de  Abril  de  2013,  tendo  o  livro  12  sido  entregue  a  4  de  Maio  e  o  10,  ainda  não  foi  entregue.  Na  data  do  emprésGmo  foi  registado  que  o  livro  12  apresentava  anotações  diversas  
    • Mapear  o  texto  com  os  atributos  •  Os  livros  2  e  3  [2  entradas  na  tabela  DATAS_EMP]  foram  emprestados  [1  entrada  na  tabela  EMPRESTIMO]  ao  leitor  Manuel  António  (PT,  aluno)  [nlei=1]  e  [nome=‘Manuel  António’]  e  [nac=‘PT’]  e  [Gpo=‘aluno’]  a  15  de  Fevereiro  de  2013  [d_ini=‘2013-­‐02-­‐15’],  tendo  o  livro  2,  sido  entregue  a  22  de  Fevereiro  [d_fim]  e  o  livro  3,  a    12  de  Março  de  2013  [d_fim]  •  Os  livros  10  e  12  [2  entradas  na  tabela  DATAS_EMP]  foram  emprestados  à  Diana  Alves  (PT,  professora)  [nlei=2]  e  [nome=‘Diana  Alves’]  e  [nac=‘PT’]  e  [Gpo=‘professor’]  a  6  de  Abril  de  2013  [d_ini=‘2013-­‐04-­‐06’],  tendo  o  livro  12  [d_fim]  sido  entregue  a  4  de  Maio  e  o  10,  ainda  não  foi  entregue  [d_fim].  Na  data  do  emprésGmo  foi  registado  que  o  livro  12  apresentava  anotações  diversas  [notas]  
    • Carregar  as  tabelas  •  DATAS_EMP  (nreg,  idl,  n_em,  d_ini;  d_fim)  –  Insert  into  datas_emp  values(1,  2,  1,’2013-­‐02-­‐15’,  ’2013-­‐02-­‐22’);    –  Insert  into  datas_emp  values(2,  3,  1,’2013-­‐02-­‐15’,  ‘2013-­‐03-­‐12’);  –  Insert  into  datas_emp  values(3,  10,  2,’2013-­‐04-­‐06’,  ‘2013-­‐05-­‐04’);  –  Insert  into  datas_emp  values(4,  12,  2,’2013-­‐04-­‐06’,  ‘’);  •  EMPRESTIMO(n_em,  nlei,  notas)  –  Insert  into  empresGmo  values(1,  1,  ‘’);  –  Insert  into  empresGmo  values(2,  2,  ‘o  livro    12  apresenta  notações  diversas’);  •  LEITOR(nlei,  nome,  nac,  Gpo)  –  Insert  into  leitor  values(1,  ‘Manuel  António’,  ‘PT’,  ‘aluno’);  –  Insert  into  leitor  values(2,  ‘Diana  Alves’,  ‘PT’,  ‘professor’);  
    • Algumas  das  consultas  possíveis  •  Listar  os  emprésGmos  •  Listar  os  leitores  •  Listar  as  notas  •  Listar  os  termos  •  Listar  a  frequência  de  uGlização  dos  termos  •  Listar  o  tempo  médio  de  emprésGmo,  por  livro  •  Listar  o  número  de  vezes  que  cada  livro  foi  emprestado  •  Listar  o  número  de  emprésGmos  realizados  por  cada  uGlizador