O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD)

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) - Presentation Transcript

    1. O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) Vinícius Medina Kern De olho na tecnologia 12 a 14 de Julho/2004 Ciclo de palestras do Curso de Ciência da Computação – UNIVALI – São José
    2. Sumário da palestra
        • O que Martinho entende
        • Abstrações, abstrações… Como é que eles fazem isso? Abstrações são traduções de informação sobre um negócio para um modelo de BD de modelos de BD para um modelo genérico (interno)
        • Fazendo sentido : como fazer o mundo bailar sem música
        • Aplicações : arquitetura de SGBD, BDs com modelagem on-the-fly, modelos flexíveis
        • Finalmentes
    3. O que Martinho entende
        • Sonhei que estava sonhando um sonho sonhado O sonho de um sonho magnetizado
        • Martinho da Vila, Rodolfo e Graúna Enredo da Vila Isabel, 1980 (?)
        • (Não é só ele...)
        • Sonhei ter sonhado que havia sonhado. Em sonhos lembrei-me de um sonho passado, o de ter sonhado que estava sonhando.
        • Manuel Bandeira
    4. Abstrações, abstrações...
        • Como é que eles fazem isso? (1) projetar um sistema de banco de dados que aceita a entrada de dados relativos aos processos considerados no projeto, sem saber que dados são esses ; (2) projetar um sistema de gerência de banco de dados (SGBD) que aceita a inclusão de qualquer projeto de banco de dados, sem saber que projeto é esse .
    5. Ponto 1: projetando um BD
        • Abstração de dados ou modelagem de dados: é o que se faz para projetar um BD sem saber exatamente quais dados se vai manipular. Com o modelo ER, faz- se a abstração de entidades (tipos de objetos que existem no ambiente)
    6. Ponto 1: projetando um BD (cont.)
        • Abstração de dados : Abstração de relacionamentos (associações relevantes/significativas entre as entidades)
    7. Ponto 1: projetando um BD (cont.)
        • Abstração de dados  projeto de BD : Desenho das estruturas de informação
    8. Concretizando as abstrações
        • CREATE TABLE Filial (
        • idFil INTEGER NOT NULL,
        • nomeFil VARCHAR(20),
        • PRIMARY KEY ( idFil ) );
        • CREATE TABLE Departamento (
        • idFil INTEGER NOT NULL,
        • numDepto INTEGER NOT NULL,
        • nomeDepto VARCHAR(20),
        • PRIMARY KEY ( idFil , numDepto ) )
        • FOREIGN KEY ( idFil )
        • REFERENCES Filial );
        • CREATE TABLE Setor (
        • idFil INTEGER NOT NULL,
        • numDepto INTEGER NOT NULL,
        • numSetor INTEGER NOT NULL,
        • nomeSetor VARCHAR(20),
        • PRIMARY KEY ( idFil , numDepto , numSetor ),
        • FOREIGN KEY ( idFil , numDepto )
        • REFERENCES Departamento );
        • CREATE TABLE Produto (        idProd             INTEGER NOT NULL,        nomeProd       VARCHAR(20),        unProd            CHAR(2), precoProd DECIMAL(10,2)
        •        PRIMARY KEY ( idProd )  );
        • CREATE TABLE Composicao-prod (        idComponente      INTEGER NOT NULL,        idComposto           INTEGER NOT NULL,        qtde_componente      DECIMAL (10,3),        PRIMARY KEY ( idComponente , idComposto ),         FOREIGN KEY ( idComponente )                              REFERENCES Produto ,         FOREIGN KEY ( idComposto )                              REFERENCES Produto   );
    9. Abstrações são traduções
        • De um jeito semelhante ao engenheiro que muda uma matriz de base vetorial (porque é cartesiana, mas a cilíndrica seria mais conveniente para resolver seu problema), projetistas de bancos de dados “mudam de base” a informação sobre um domínio (negócio).
        • Abstrações de dados, então, são traduções, “mudanças de base”.
      Domínio (ambiente de negócios)                                                                                                                                                                                                                        
    10. Abstrações são traduções (II)
        • E o ponto 2? Como é que eles fazem??? (traduzir qualquer projeto de banco de dados, sem saber que projeto é esse, em um BD com manipulação de dados, indexação, controle de concorrência e recuperação de falhas etc. etc...)
    11. É permitido pensar...
        • Se , para projetar um BD, o projetista…
        • … abstrai um modelo ou esquema da informação de um domínio…
        • … que é capaz de representar quaisquer dados que combinem com o esquema projetado,
        • Então , para projetar um SGBD que permita implementar BDs, o desenvolvedor…
        • … deve abstrair um meta-esquema de BD…
        • … que seja capaz de representar qualquer BD que combine com o meta-esquema projetado.
    12. Abstraindo abstrações
        • Uma tentativa para aquele caso…
      • 3 entidades que representam estruturas administrativas ...
      • ... onde cada estrutura tem uma outra superior (ou não...)
      • ... dependendo do tipo de estrutura administra-tiva em questão...
      • ... que regula o vínculo que a estrutura tem com sua superior.
    13. Abstraindo abstrações (caso geral)
        • O prefixo m (meta) serve para diferenciar objetos de negócios e objetos do metamodelo
        • Esquema Org Esquema Prod
    14. Abstraindo de um outro jeito...
        • CREATE TABLE Produto (        idProd             INTEGER NOT NULL,        nomeProd       VARCHAR(20),        unProd            CHAR(2), precoProd DECIMAL(10,2)
        •        PRIMARY KEY ( idProd )  );
        • CREATE TABLE Montagem (        idComponente      INTEGER NOT NULL,        idComposto           INTEGER NOT NULL,        qtde_componente      DECIMAL (10,3),        PRIMARY KEY ( idComponente , idComposto ),         FOREIGN KEY ( idComponente )                              REFERENCES Produto ,         FOREIGN KEY ( idComposto )                              REFERENCES Produto   );
        • ___________________________________________________________________________
        • CREATE TABLE Setor (
        • FOREIGN KEY ( idFil , numDepto )
        • REFERENCES Departamento );
        • mEsquema ( nmEsq ,
        • mEsquema ( nmEsq , ( nmEnt , ( nmAtrib , dom , tam , isnull ) ,
        • mEsquema ( nmEsq , ( nmEnt , ( nmAtrib , dom , tam , isnull ) , (nmAtribPK) , ( nmEntPai , (nmAtribFK) ) ) ) _______________________________________________________________________________
        • mEsquema ( nmEsq , ( nmEnt , ( nmAtrib , dom , tam , isnull ) , (nmAtribPK) ,
        • mEsquema ( nmEsq , ( nmEnt , ( nmAtrib , dom , tam , isnull ) , (nmAtribPK) , ( nmEntPai ,
        • mEsquema ( nmEsq , ( nmEnt , ( nmAtrib , dom , tam , isnull ) , (nmAtribPK) , ( nmEntPai , (nmAtribFK)
        • mEsquema ( nmEsq , ( nmEnt ,
      mEsquema ( nmEsq ) mEntidade ( nmEsq , nmEnt ) mAtributo ( nmEsq , nmEnt , nmAtrib , dom, tam, isnull) mChave ( nmEsq , nmEnt , nmAtribPK ) mRelacionamento ( nmEsq , nmEnt , nmEntPai ) mChaveEstrangeira ( nmEsq , nmEnt , nmEntPai , nmAtribFK )
    15. Usando o modelo
        • Exemplo:
    16. Fazendo sentido (e o mundo bailar sem música nem guitarras)
        • Para que eu possa comprar um SGBD que implementa meus BDs (cujos dados eu abstraio na forma de esquema), foi preciso que o fornecedor do SGBD abstraísse meus esquemas (e os de todo mundo)
        • Para botar ordem na bagunça (como cada um projeta seu BD, como cada fornecedor constrói seu SGBD), a ANSI encomendou um estudo ao SPARC…
        • … que produziu um documento, um framework para SGBDs – que podemos estudar para entender o que aconteceu com o mundo nos últimos 26 anos.
    17. Arquitetura ANSI-SPARC de 3 níveis (1978)
        • Nível externo Esquemas externos Visões de usuário
        • Nível conceitual Esquema conceitual Visão da comunidade
        • Nível interno Esquema interno Visão física
      Projetistas de BD Analistas, Programadores Desenvolvedores de SGBD
    18. Aplicações (para que serve isso?)
        • Arquitetura de SGBD : para quem precisa construir um sistema de gerência de banco de dados.
        • BDs modeláveis on-the-fly : quem pode querer isso? Talvez alguém que queira construir BDs de forma incremental.
        • Modelos flexíveis : para suportar websites, portais, formulários configuráveis etc.
        • Aprendizagem : para experimentar o mapeamento conceitual-interno. (Pois um bacharel tem responsabilidades diferentes da de um técnico…)
    19. Responsabilidade profissional
        • Um curso técnico deve formar profissionais capacitados a usar as técnicas da profissão.
        • Um curso superior deve formar profissionais com mais do que capacidade técnica (Currículo IFIP/Unesco-12 temas):
        • Representação da informação
        • Formalismo no proc. da informação
        • Modelagem da informação
        • Algoritmos
        • Projeto de sistemas
        • Desenvolvimento de software
        • Potenciais e limitações
        • Arquiteturas e sistemas de computador
        • Comunicação baseada em computador
        • Implicações sociais e éticas
        • Habilidades pessoais e interpessoais
        • Contexto e perspectivas mais amplas
    20. Finalmentes
      • Projeto de iniciação científica Art. 170: “ Gerência de dados e metadados segundo um modelo interno de dados” .
      • Trata, entre outras coisas, da tradução da… … definição e manipulação de dados de negócios em SQL para… … manipulação de dados em SQL no modelo interno.
      • E o que o Martinho da Vila entende de BD, mesmo?
    21. Contato
      • E-mail: kern@sj.univali.br
      • URL: http://www.sj.univali.br/~kern
      • CV Lattes: http://genos.cnpq.br:12010/dwlattes/owa/prc_imp_cv_int?f_cod=K4727979H1
      • Governo do Estado de Santa Catarina (bolsa de pesquisa de iniciação científica, Art. 170 da Constituição Estadual.
      • Profa. Fernanda Cunha, coordenadora, e colegiado do Curso de Ciência da Computação/SJ – pelo convite e organização do evento.
      Obrigado! Reconhecimento

    + vmkernvmkern, 9 months ago

    custom

    702 views, 1 favs, 1 embeds more stats

    Divagações pragmáticas sobre abstrações, divis more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 702
      • 693 on SlideShare
      • 9 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 3
    Most viewed embeds
    • 9 views on http://kern.ispeople.org

    more

    All embeds
    • 9 views on http://kern.ispeople.org

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories