Year: 2000
Type: dissertation
Abstract: The relational model was first presented thirty years ago.Despite being the most popular database model and still largely used, it has become insuMcieiit to express a string of new concepts demanded by new types of applications, motivating the appeaiance of many data modela.Then, there appeared the need for comparing those new modems, pieferably in a formal wal', in order to discovei whether one modem is more or less expressive thaii another, or whether a combination of concepts of a given modem can express a particular concept in other models.This work aims at proposing and testing a formal environment where several database models could be compared concerning their expressivenesses.It is divided luto two pares.The first one is devoted to structure the manter of database model comparisons and develop an appropriate environment for such comparisons.The second pari is devoted to test the environment developed in pari one.\Vith this aim, a case study was performed and it was analysed in which way and under which conditions a relacional model can express the structural concepts of an object-oriented model.z-'u .P © Sumário l Introdução 4 117 Capítulo l Introdução Há 30 anos foi apresentado o mais popular modelo de bancos de dados utilizado até hoje, o modelo relacional, proposto por Codd em [CODD701.Com o passar dos anos, no entanto, o modelo relacional tornou-se insuficiente para expressar uma série de novos conceitos, decorrentes de novas demandas, dando assim a motivação necessária para o surgimento de diversos outros modelos.Esses modelos, em geral, evoluíram a partir de diferentes paradigmas, tais como paradigmas orientados a objetos, dedutivos, relacionais, ativos, dedutivos orientados a objetos, dentre outros.E foram descritos também através de diferentes representacões, com diferentes graus de formalização, tais como representações gráficas, descritivas, lógicas, etc.Com esses modelos surgiu também a necessidade de se poder compara-los, de preferência de uma maneira formal, buscando saber se um modelo é mais ou menos expressivo que outro, ou se a combinação de conceitos de um dado modelo pode ou não expressar um determinado conceito em outros modelos.Este tipo de análise é muito importante quando precisamos especificar a troca de informações entre bancos de dados heterogêneos ou selecionar, dentre diversos modelos, um mais adequado a alguma aplicação particular.Neste sentido, o presente trabalho tem por objetivo propor e testar um ambiente onde diversos modelos de bancos de dados possam ser comparados relativamente às suas expressividades.Este ambiente deve apresentar, entre suas características mais importantes, um embasamento teórico bem sólido e definido, e possibilitar algum tipo de automatização e metodologia que facilitem o processo de eventuais comparações.Assim este trabalho se divide em duas partes.A primeira parte se destina a estruturar o problema da comparação entre modelos de dados e a desenvolver um ambiente apropriado a essas comparações.Inicialmente apresentamos diversos modelos de dados, com diferentes paradigmas e representações, visando fornecer assim os ingredientes necessários à motivação deste estudo.A seguir fornecemos toda uma teoria que embala e justifica esta comparação, e propomos também ferramentas e metodologias para que a prática dessa comparação possa ser realizada.E no decorrer dessas explicações, Parte l Estrutura do problema Capítulo 2 Modelos de Dados 2.1 Importância Qual a importância de um modelo de dados?Nas palavras de W. Kim, em IKIM901, "um modelo de dados determina uma Linguagem de Banco de Dados, que por sua vez determina a implementação de um Sistema de Banco de Dados" Qualquer sistema de banco de dados é projetado sobre algum modelo de dados, da mesma forma que uma casa é construída sobre o seu alicerce.O sucesso ou fracasso de tal sistema é diretamente dependente da expressividade e eficiência do modelo de dados sobre o qual foi projetado.Daí a importância de se buscar formalizações teóricas matematicamente bem fundadas para estes modelos.2.2 Composição 'lYês componentes de um modelo de dados podem ser distinguidosi 2.2.1 Componente Estrutural Este componente se caracteriza pela modelagem dos objetos ou entidades do universo real em termos de alguma estrutura de dados e por vários relacionamentos entre esses objetos.Aqui devem ser incluídos conceitos como agregação, agrupamento, identidade de objetos, objetos complexos, relacionamentos ISA, herança, etc. Este componente constitui o foco principal de nosso estudo.2.2.2 Componente de Manipulação de Dados Constitui a Linguagem de Manipulação de Dados, que se subdivide em Linguagem de Definição de Dados.Permite a especificação do esquema de um banco de dados.iComo descrito em IABITE87).2.3 M.odeias Estudados 8 Linguagem de Gerenciamento de Dados.Permite a consulta, criação, agua lização e exclusão de instâncias individuais de um banco de dados.Linguagem de Controle de Dados.Permite a especificação de transições e a autorização e gerenciamento de métodos de acesso. Componente de Especificação de IntegridadePermite a especificação de restrições de integridade, com o objetivo de restringir as instâncias permitidas pelo esquema de banco de dados. Outros ComponentesNa verdade outros componentes ainda podem ser imaginados como fazendo parte de um modelo de dados, tal como o controle de versões, um aspecto que tem ganhado muita importância nos últimos anos. Modelos EstudadosNas seções a seguir expomos alguns modelos encontrados na literatura.A idéia aqui não é de se fazer uma resenha do que existe, mas sim de se dar um testemunho da diversidade de modelos que podem ser encontrados.Além disso, foram descritos apenas aqueles modelos cuja formalização teórica pudesse ser extraída, seja de forma implícita ou explícita, na sua totalidade ou parcialmente.Não descrevemos aqui os modelos de rede e hierárquico, por serem modelos antigos, obsoletos e pouco usados anualmente.Dessa forma, apresentamos o modelo relacional, alguns modelos semânticos, o modelo orientado a objetos, o modelo dedutivo, o modelo de banco de dados ativo e, finalmente, o modelo dedutivo orientado a objetos. Modelos RelacionaisO modelo relacional pode não ter sido o primeiro modelo de banco de dados criado, mas com certeza foi o mais importante, simples e popular até hoje concebido.Foi o primeiro a ter uma forte formalização teórica e serviu como base principal para o desenvolvimento da teoria de banco de dados.Este modelo foi inicialmente proposto por E.F.Codd em ICODD701.Neste trabalho o autor define o Modelo de Dados Relacional através de um componente estrutural (o Re/at anal Vier o/ l)ata), onde os dados são organizados em duplas pertencentes a relações, e de um componente de manipulação de dados, que seria a Algebra Relacional, totalmente fundada no Cálculo de Predicados de Primeira Esta uniformidade do modelo relacional, no entanto, é verdadeira apenas no que se refere aos seus conceitos mais básicos.Anualmente, a definição do que Ordem r 2.5 M.odelos Semânticos 9 soja o modelo relacional, em seu sentido mais amplo, é um tanto inexata, como mostra o trecho a seguir extraído de IABITE95j: O [er'mo modelo reZacáona{ é, ào#e, bmtante pago.Como íntmduzído no amigo semínaZ de aodd, este termo se n/ere a um modelo de dados específico com relações como está"usura de dados, uma álgebm para espec{/tear consuZtw, e nenhum mecanismo para ezpnssar ataalázações ou mstHções.Artigos szibseqüentes de Cada ántroduzímm uma segunda linguagem de consulta bmeada no cálculo de predicados da lógica de pómeíra ordem, mostrando isso ser eguiuaZente â áZgebm, e introduziu as phmeÍrus mstHções de integhdade pam o modelo mlacionaZ, ou sega, m dependê7zcÍas Jüncionaás.Z)aí em diante, pesquisadores em sistemas de bancos de dados impZementarnm linguagens óaseadm na álgebrn e calca/a, esfendemm para incluir operadores de atuaZãzaçâo, aãtmétícos e de agregação.41ém disso, uma Hca teoóa sobra restóções de integHdade emergiu.O íelllzo modelo nlacionaZ, portanto, se rle/ere a uma grande cZmse de modelos que tem as re/anões como está'altura de dados e qzte incorporam alguns ou todos os mcursos de consulta, atualízação ou de mstdções de integHdade.Com esta conceituação, muitos dos modelos de BDs ativos e dedutivos po" dem ser considerados como sendo pertencentes à classe dos relacionais.No entanto, por sua importância isolada e características particulares, os mesmos são descritos em seções próprias, mais adiante, neste trabalho. Modelos SemânticosModelos semânticos são modelos conceituais que visam fornecer uma representação formal, gráfica e de alto nível, abstrata, mas bem definida, para aquilo que se quer modelar.São muito úteis na macroespecificação de dados, e também no estudo teórico de diferentes paradigmas.Talvez o mais conhecido deles seja o modelo entidade-relacionamento. Modelo Entidade-RelacionamentoO Modelo E-R (ver figura 2.1) foi originalmente criado por Chen em ICHEN761, e posteriormente melhorado de forma a estender sua expressividade.Baseia-se, como o próprio nome diz, em entidades detentoras de atributos, possivelmente ligadas umas às outras por diferentes tipos de relacionamentos.Este mode]o, como descrito em IBAT191], foi durante muitos anos amplamente utilizado, principalmente na análise do Modelo Re]aciona], pois ambas teorias possuem entre si uma tradução quase que direta.Para a análise 00, o modelo E-R pôde retratar, com alguma profundidade, aspectos importantes tais como Classes e Hierarquia, mas foi incapaz de modelar, por exemplo, Identidade de objetos e Objetos Complexos, dois conceitos fundamentais deste paradigma.2.5 Mlodelos Semânticos 10 Conta Oon'ente N n'ansações Figura 2.1: Exemplo de Diagrama E-R com a entidade Conta Oo mate, a ente dade fraca Transições, e um relacionamento Z-N.2.5.2IFO Um Modelo de Banco de Dados Formal Tentando suprir as deficiências levantadas em modelos anteriores, principalmente no relacional, Abiteboul e Hull propuseram em IABI
Author: Mauricio Pereira de Oliveira
Language: Portuguese
Subfield: Information Systems
Field: Computer Science
Domain: Physical Sciences
Open Access status: green
OpenAlex ID: W4212879694
