A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) © Vinícius Kern, O que Martinho da.

Apresentações semelhantes


Apresentação em tema: "1O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) © Vinícius Kern, O que Martinho da."— Transcrição da apresentação:

1 1O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) © Vinícius Kern, kern@sj.univali.br 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 2O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) © Vinícius Kern, kern@sj.univali.br 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 3O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) © Vinícius Kern, kern@sj.univali.br 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 4O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) © Vinícius Kern, kern@sj.univali.br 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 5O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) © Vinícius Kern, kern@sj.univali.br 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 6O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) © Vinícius Kern, kern@sj.univali.br Ponto 1: projetando um BD (cont.) Abstração de dados: Abstração de relacionamentos (associações relevantes/significativas entre as entidades)

7 7O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) © Vinícius Kern, kern@sj.univali.br Ponto 1: projetando um BD (cont.) Abstração de dados projeto de BD: Desenho das estruturas de informação

8 8O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) © Vinícius Kern, kern@sj.univali.br 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 9O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) © Vinícius Kern, kern@sj.univali.br 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 10O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) © Vinícius Kern, kern@sj.univali.br 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 11O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) © Vinícius Kern, kern@sj.univali.br É 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 12O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) © Vinícius Kern, kern@sj.univali.br 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 13O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) © Vinícius Kern, kern@sj.univali.br 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 14O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) © Vinícius Kern, kern@sj.univali.br 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 15O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) © Vinícius Kern, kern@sj.univali.br Usando o modelo Exemplo:

16 16O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) © Vinícius Kern, kern@sj.univali.br 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 17O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) © Vinícius Kern, kern@sj.univali.br Arquitetura ANSI-SPARC de 3 níveis (1978) Nível externoEsquemas externos Visões de usuário Nível conceitualEsquema conceitual Visão da comunidade Nível internoEsquema interno Visão física Projetistas de BDAnalistas, Programadores Desenvolvedores de SGBD

18 18O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) © Vinícius Kern, kern@sj.univali.br 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 19O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) © Vinícius Kern, kern@sj.univali.br 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): 1.Representação da informação 2.Formalismo no proc. da informação 3.Modelagem da informação 4.Algoritmos 5.Projeto de sistemas 6.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 20O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) © Vinícius Kern, kern@sj.univali.br 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 21O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) © Vinícius Kern, kern@sj.univali.br 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


Carregar ppt "1O que Martinho da Vila entende de BD? (sobre abstrações de abstrações e modelos internos de BD) © Vinícius Kern, O que Martinho da."

Apresentações semelhantes


Anúncios Google