28
ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLI MODELAGEM SEMÂNTICA Trabalho desenvolvido para a Disciplina de Banco de Dados II, do Curso de Informática da UNIOESTE Universidade Estadual do Oeste do Paraná – Campus de Cascavel. Prof. C. José M. Olguín CASCAVEL – PARANÁ 2005

ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1... · 2020. 10. 3. · comparação. Por exemplo, o artigo de Tsichritzis e Lochovsky [1982] classificou os modelos como

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • ADEMAR CÉZAR FEIL

    ALESSANDRO QUIROLLI

    MODELAGEM SEMÂNTICA

    Trabalho desenvolvido para a Disciplina

    de Banco de Dados II, do Curso de

    Informática da UNIOESTE –

    Universidade Estadual do Oeste do

    Paraná – Campus de Cascavel.

    Prof. C. José M. Olguín

    CASCAVEL – PARANÁ

    2005

  • ADEMAR CÉZAR FEIL

    ALESSANDRO QUIROLLI

    MODELAGEM SEMÂNTICA

    Prof. C. José M. Olguín

    CASCAVEL – PARANÁ

  • 2005

    SUMÁRIOSEPARAÇÃO DAS ESTRUTURAS FÍSICAS E LÓGICAS.................................................................. 5

    MECANISMOS DE ABSTRAÇÃO..............................................................................................5

    ECONOMIA DE EXPRESSÃO...................................................................................................5

    MANUTENÇÃO DA INTEGRIDADE........................................................................................... 8

    FLEXIBILIDADE DE MODELAGEM...........................................................................................8

    EFICIÊNCIA NA MODELAGEM............................................................................................... 8

    REPRESENTAÇÃO DE OBJETOS NÃO-ESTRUTURADOS................................................................9

    REPRESENTAÇÃO DE RELACIONAMENTOS............................................................................... 9

    EXISTÊNCIA DE ABSTRAÇÃO COMUM.................................................................................. 10

    REDE OU HIERARQUIA DE RELACIONAMENTOS......................................................................10

    DERIVAÇÃO / HERANÇA....................................................................................................11

    INSERÇÃO / EXCLUSÃO / MODIFICAÇÃO...............................................................................11

    MODELO DE ENTIDADE-RELACIONAMENTO..................................................12

    TAXIS......................................................................................................................... 13

    SDM............................................................................................................................ 15

    FUNCTIONAL DATA MODEL................................................................................ 16

    RM/T........................................................................................................................... 17

    COMPARAÇÃO ENTRE MODELOS......................................................................................... 18

  • ÍNDICE DE FIGURAS

    FIGURA 1 - GENERALIZAÇÃO................................................................................. 3

    FIGURA 2 - AGREGAÇÃO...........................................................................................4

    FIGURA 3 - ESQUEMA RELACIONAL DA BASE DE DADOS LIVRARIA........6

    FIGURA 4 - ESQUEMA SEMÂNTICO DA BASE DE DADOS LIVRARIA.......... 7

    FIGURA 5 - HIERARQUIA DE AGREGAÇÃO.......................................................11

    FIGURA 6 – REDE DE RELACIONAMENTOS......................................................13

    FIGURA 7 – EXEMPLO DE E-RELATION E P-RELATIONS............................. 18

  • ÍNDICE DE TABELAS

    TABELA 1 – PRINCIPAIS CONCEITOS................................................................... 2

    TABELA 2 – COMPARAÇÃO ENTRE MODELOS................................................20

  • INTRODUÇÃO

    Os sistemas de bancos de dados tradicionais possuem um conhecimento muito

    limitado sobre o significado de dados no banco de dados, tais sistemas compreendem

    certos valores de dados atômicos simples e certos relacionamentos de muitos-para-um

    entre os mesmos, mas pouco mais além disto.

    A Modelagem Semântica foi introduzida, inicialmente, como uma ferramenta de

    desenho: projetava-se um modelo semântico em alto nível, que era traduzido para um

    modelo de dados tradicional.

    No início, o resultado central da modelagem semântica era o desenvolvimento

    de poderosos mecanismos para representar aspectos estruturais de dados comerciais.

    Atualmente, voltou-se a atenção para aspectos de formalismo na modelagem,

    influenciados pelo paradigma de Orientação a Objeto (OO) das linguagens de

    programação.

    Modelos semânticos são mais complexos que o modelo relacional e possibilita

    uma maior visualização dos relacionamentos entre os dados. Embora o modelo

    relacional provê uma metodologia de modelagem independente dos detalhes de

    implementação física, muitos projetistas acreditam que o modelo relacional não oferece

    um modelo conceitual suficientemente rico para problemas que não são mapeados em

    simples tabelas. Uma coleção de dados pode ser caracterizada como um modelo de

    dados semântico desde que forneça um conteúdo mais semântico que o modelo

    relacional.

    Segundo Date, a modelagem semântica é uma classificação apropriada para a

    atividade de representar o sentido e são caracterizadas por:

    • Identificação de um conjunto de conceitos semânticos que parecem úteis

    ao se falar do mundo real;

    • Determinação de um conjunto de objetos simbólicos (formais)

    correspondentes para representarem aqueles conceitos semânticos;

    • Determinação de um conjunto de regras de integridade ao lado dos objetos

    simbólicos;

    • Desenvolvimento de um conjunto de operadores para a manipulação

    daqueles objetos simbólicos.

    1

  • CONCEITOS FUNDAMENTAIS

    A tabela I abaixo traz os principais conceitos da modelagem semântica, segundo

    Date:

    Conceito Definição Informal ExemplosENTIDADE Um objeto passível de distinção

    (de um tipo particular)

    Fornecedor, Peça, Pessoa

    PROPRIEDADE Uma peça de informação que

    descreve uma entidade

    Número de fornecedor,

    Altura da pessoaASSOCIAÇÃO Um relacionamento de muitos-

    para-muitos (um-para-muitos

    etc.) entre entidades

    Expedição (peça do

    fornecedor), Gravação

    (composição-orquestra

    regente)SUBTIPO O tipo de entidade Y é um

    subtipo da entidade de tipo X se,

    e apenas se, cada Y for

    necessariamente um X.

    Funcionário é um subtipo

    de pessoa, Concerto é um

    subtipo de Composição.

    Tabela 1 – Principais Conceitos

    MODELAGEM SEMÂNTICA E ORIENTAÇÃO A OBJETOS

    Existe uma analogia entre modelagem semântica e linguagens de programação

    de alto nível, devido ao grau de abstração utilizado. Em meados de 1970, pesquisas

    tentavam simplificar o projeto e uso dos bancos de dados provendo estruturas de

    modelagem que eram capazes de suportar a visualização dos dados pelo usuário. Na

    mesma época, três importantes artigos [Chen 1976; Schmid e Swenson 1975; Smith e

    Smith 1977] trouxeram duas grandes idéias para a modelagem de dados, sinalizando o

    surgimento dos modelos de dados semânticos.

    A primeira idéia foi a independência dos dados. Influenciada pelas linguagens

    de programação, a idéia é que o usuário deve ficar livre de detalhes sobre a estrutura

    física do banco de dados. Desta forma, o usuário pode modelar os dados de maneira

    similar à percepção humana da aplicação. A segunda idéia envolve a captura semântica

    dos dados no processo de modelagem. Tentativas foram feitas para estender esta

    semântica para relações de dependência ou conexões. Esta abstração utilizada,

    generalização e agregação, são suportadas por todos os modelos de dados semânticos.

    2

  • Generalização é a forma que, diferenças entre objetos similares são ignoradas

    para formar um tipo em que a ênfase é dada às similaridades. Um exemplo disto é uma

    entidade chamada PUBLICAÇÃO em um banco de dados de uma livraria, onde

    características comuns de todas as publicações (livros, revistas, etc.) são consideradas.

    Na figura 1, os relacionamentos entre a entidade PUBLICAÇÃO e outras entidades

    especializadas são representados usando uma hierarquia onde, a generalização se dá de

    baixo para cima e a especialização de cima para baixo. Por exemplo, PUBLICAÇÃO

    pode ser considerada uma generalização de JORNAL_PAPEL, LIVRO e

    CONFERENCIA_PAPEL na base de dados. Similarmente, BOOK pode ser

    considerado uma especialização de PUBLICAÇÃO.

    Figura 1 - Generalização

    A Agregação é o relacionamento entre tipos de baixo-nível que pode ser

    considerado um tipo de alto-nível. O modelo relacional emprega este conceito pela

    agregação de atributos para formar uma relação. Modelos semânticos permitem a

    agregação de entidades (ou relações) para formar outras entidades. Um exemplo é a

    3

  • agregação dos tipos TÍTULO e AUTOR para formar o tipo PUBLICAÇÃO, como

    ilustrado na figura 2.

    Figura 2 - Agregação

    Complementando a generalização e a agregação, muitos modelos semânticos

    suportam relacionamentos de classificação e associação. Classificação é uma forma de

    abstração em que uma coleção de objetos é considerada o nível alto da classe do objeto.

    Essencialmente, isto representa um relacionamento is-instance-of (é instância de).

    Seguindo o mesmo exemplo da base de dados anterior, um objeto da classe

    BEST_SELLING_BOOK consiste em todos os objetos BOOK que venderam mais que

    10.000 cópias. O objeto IT é “uma instancia de” do objeto da classe

    BEST_SELLING_BOOK. A classificação provê um mecanismo para especificar o tipo

    de um objeto específico, onde a especialização envolve a derivação de um tipo através

    de um tipo existente.

    Associação é uma forma de abstração em que um relacionamento entre objetos é

    considerado um conjunto de objetos de alto nível [Brodie 1984]. O conjunto

    DATABASE_BOOKS é uma associação de objetos BOOK, assim como o conjunto

    AI_BOOKS.

    VANTAGENS DA MODELAGEM SEMÂNTICA

    São apresentadas abaixo algumas vantagens obtidas pela modelagem semântica

    quando comparada a outros modelos tradicionais. Como mencionado anteriormente,

    modelos de dados semânticos foram, inicialmente, introduzidos como uma ferramenta

    de desenho e incorporou os tipos fundamentais de relacionamentos existentes em

    4

  • aplicações típicas de banco de dados. Como resultado, modelos e sistemas semânticos

    provêm as seguintes vantagens sobre modelos tradicionais.

    Separação das Estruturas Físicas e Lógicas

    Em modelos orientados à registro o acesso feito por usuários finais tendem a

    imitar a estrutura lógica do esquema de banco de dados. No modelo relacional um

    usuário deve simular ponteiros comparando identificadores de uma relação para outra

    (como em uma operação join). Entretanto, os atributos dos modelos semânticos podem

    ser usados diretamente como ponteiros. Assim, usuários devem passar através de um

    nível extra imposto pelo modelo relacional, fazendo com que seja mais difícil formar

    objetos complexos de simples objetos.

    Mecanismos de Abstração

    Modelos semânticos provêem uma variedade de mecanismos para visualizar e

    acessar o esquema de diferentes níveis de abstração [Hammer e McLeod 1981; King e

    McLeod 1985a; Smith e Smith 1977; Su 1983; Tsichritzis e Lochovsky 1982].

    A primeira dimensão de abstração consiste em um nível de detalhe em que

    porções do esquema podem ser vistos. No nível mais abstrato, somente tipos de objetos

    e relacionamentos são considerados, ignorando a estrutura dos objetos. Uma visão mais

    detalhada inclui a estrutura dos objetos complexos, incluindo atributos e as regras entre

    os componentes.

    A segunda dimensão de abstração nos modelos semânticos é o grau de

    modularidade fornecido. Torna-se fácil isolar informação sobre um tipo, subtipos ou

    atributos. Ambas estas dimensões de abstração são muito usadas no projeto de

    esquemas.

    Uma terceira dimensão de abstração é conseguida derivando componentes do

    esquema que são suportados por alguns modelos semânticos e também por algumas

    implementações relacionais. Estes componentes permitem que usuários definam novas

    porções do esquema, identificando um subconjunto especifico de dados, possibilitando

    aumento de desempenho e uma maneira de estruturar os dados em um novo formato.

    Economia de Expressão

    Os modelos de dados semânticos são geralmente completos no sentido de que o

    usuário é capaz de extrair qualquer informação da base de dados facilmente. Estes

    modelos, no entanto, fornecem uma economia de expressão. Para realizar uma consulta,

    5

  • por exemplo, em um modelo relacional o usuário deve estar ciente dos atributos

    envolvidos e da definição implícita de relacionamentos e conexões entre as entidades.

    Para isto, é necessário o uso de complexas operações sobre estes atributos aplicando

    instruções de projeção e joins para extrair a informação exata. Com o modelo

    semântico, operações são definidas explicitamente sobre os relacionamentos.

    Figura 3 - Esquema relacional da base de dados livraria

    6

  • Figura 4 - Esquema semântico da base de dados livraria

    Considere um exemplo abaixo com escritores (writers) e livros (books) no banco

    de dados da livraria. A figura 3 representa o esquema relacional e a figura 4 a

    representação semântica correspondente. O objetivo envolve encontrar todos os

    escritores com “baixo poder aquisitivo” que tenham publicado um livro de “sucesso”

    por uma “grande” editora (publishing house). A quantificação para os termos “baixo

    poder aquisitivo”, “sucesso” e “grande” aparecem na instrução abaixo:

    SELECT NAME FROM WRITERWHERE WRITER.INCOME < 2000AND WRITER.NAME = BOOK.AUTHORAND BOOK.SALES > 50000

    7

  • AND BOOK.PUBLISHER = PUBLISHER.NAMEAND PUB_HOUSE.GROSS > 1000000

    A mesma instrução pode ser expressa usando o modelo semântico e a notação de

    Tsichritzis e Lochovsky [1982]:

    SELECT NAME FROM WRITERWHERE WRITER.INCOME < 2000AND BOOK.SALES > 50000/WROTEAND PUB_HOUSE.GROSS > 1000000/PUBLISHED

    Como mencionado anteriormente, no modelo semântico os relacionamentos são

    definidos explicitamente e a instrução fica mais compacta, não necessitando informar

    através da instrução ao banco de dados qual relacionamento existe entre as tabelas.

    Manutenção da Integridade

    Os modelos tradicionais forçam o usuário a manter conexões entre os objetos da

    base de dados ou a manter a consistência entre os objetos. Modelos semânticos

    fornecem mecanismos para definir a integridade e, ao mesmo tempo, permite que o

    usuário tenha acesso aos dados abstraindo a estrutura de baixo nível.

    Flexibilidade de Modelagem

    Os modelos de dados mais tradicionais fornecem somente uma maneira de

    representar os dados. Modelos de dados semânticos, através de uso de abstrações,

    permitem que o usuário modele e visualize os dados de vários níveis diferentes. Isto

    aumenta as capacidades de modelar situações do mundo real. Por exemplo, a

    generalização permite ter os objetos em um nível de bastante detalhe ou de forma

    superficial [Hull e King 1987].

    Eficiência na Modelagem

    Em um projeto de banco de dados, o projetista não precisa implementar

    instruções de baixo nível. A maioria dos modelos semânticos contém operações

    elementares já explícitas. Seguindo a figura 4, o objeto BOOK referencia o objeto

    WRITER através do atributo AUTHOR. O relacionamento de referência terá operações

    específicas associadas a ele.

    8

  • BASES DE COMPARAÇÃO

    Diversos Autores tentam classificar os modelos de banco de dados para efeito de

    comparação. Por exemplo, o artigo de Tsichritzis e Lochovsky [1982] classificou os

    modelos como tradicional, entidade-relacionamento, binário e rede semântica. Hull e

    King [1987] classificaram de forma diferente: um modelo construído com os

    componentes fundamentais da modelagem semântica é usado para comparação com

    outro modelo.

    Todo modelo semântico tem objetos (ou entidades), relacionamentos (funcional

    ou relacional), propriedades dinâmicas e controle de integridade. Relacionamentos

    podem ser caracterizados pelas abstrações que são capazes de representar e a forma que

    o as fazem. Propriedades dinâmicas podem ser desde simples especificações sobre

    operações sobre os dados ate a modelagem destas operações e transações. Assim, as

    seguintes características são identificadas como fundamentais para os modelos de dados

    semânticos.

    Representação de Objetos Não-Estruturados

    Tipos de dados não estruturados são definidos por Tsichritzis e Lochovsky

    [1982] como tipos primitivos que não são construídos por agregação de tipos de baixo

    nível. Strings, Integers e Real são exemplos de tipos de baixo nível. Tipos de dados

    desta natureza são suportados diretamente pelo hardware do computador. Alguns

    modelos desenvolvidos para aplicações específicas fornecem primitivas mais elaboradas

    do que às presentes na maioria das máquinas ou compiladores. Exemplos destes tipos

    são dados de texto, voz e imagem.

    Representação de Relacionamentos

    Relacionamentos são analisados em termos de suas apresentações ao projetista.

    Conceitualmente, um relacionamento aparece no modelo como um atributo, entidade,

    elemento independente ou função. Um relacionamento é incorporado por atributos onde

    um atributo de um objeto é conectado, aponta para outro, ou é derivado de outro objeto.

    Por exemplo, se o atributo AUTHOR do tipo BOOK é definido como um tipo WRITER

    (tipo entidade), então o relacionamento entre BOOK e WRITER é representado através

    do atributo da entidade BOOK.

    Um relacionamento é encarado como uma entidade se o relacionamento de dois

    ou mais objetos descreve um objeto diferente. Relacionamentos também podem ser

    9

  • vistos como objetos distintos e independentes das entidades. Isto não implica que o

    banco de dados físico represente relacionamentos e entidades com diferentes estruturas.

    Por exemplo, na figura 4, os relacionamentos WROTE e PUBLISHED têm

    apresentações distintas, sobre as entidades WRITER e PUB_HOUSE. Neste caso o

    usuário do sistema verá o relacionamento como uma simples conexão entre os dois

    tipos, e não como uma entidade separada ou atributo.

    Uma representação funcional é obtida na especificação de relacionamentos entre

    objetos na linguagem de definição de dados. Por exemplo, a declaraçãoDECLARE AUTHOR (BOOK)

    ==>> WRITERpermite ao projetista definir um relacionamento entre os tipos BOOK e

    WRITER em que o AUTHOR de um objeto BOOK é uma função do objeto BOOK e é

    um objeto WRITER.

    Existência de Abstração Comum

    A principal abstração identificada na modelagem semântica é classificação,

    generalização, agregação e associação.

    Rede ou Hierarquia de Relacionamentos

    A modelagem semântica oferece uma forma de diagramar o esquema para

    melhor compreensão. A principal representação é o gráfico de

    generalização/especialização que representa a derivação dos tipos de objetos. Por

    exemplo, o modelo representado na figura 2 pode ser expandido na hierarquia de

    agregação da figura 5, onde PUBLICAÇÃO é uma agregação de TÍTULO e AUTOR,

    com AUTOR definido como uma agregação de NOME, INCOME e STIPEND. Outros

    modelos, como o de entidade relacionamento [Chen 1976], suportam somente redes de

    relacionamentos.

    10

  • Figura 5 - Hierarquia de Agregação

    Derivação / Herança

    Existem duas maneiras como a modelagem semântica trata informações

    repetidas no esquema do banco de dados: conexões semânticas e derivação. Repetições

    em tipos de objetos individuais são tratadas criando dois diferentes tipos com conexões

    semânticas entre eles, limitando assim a redundância. As repetições entre tipos são

    tratadas com derivação.

    Herança na hierarquia de generalização é um meio pelo quais os atributos de um

    objeto mais geral são passados para um objeto mais específico.

    Inserção / Exclusão / Modificação

    Caso objetos sejam conectados em relacionamentos, a inserção, exclusão ou

    modificação de um objeto irá afetar os outros objetos conectados a ele. É importante

    que os relacionamentos do modelo sejam claramente refletidos na semântica do

    relacionamento para os desenvolvedores e os usuários, ou seja, os usuários devem ter

    uma noção clara sobre manipulação do banco de dados.

    11

  • MODELOS DE REPRESENTAÇÃO SEMÂNTICA

    A seguir abordaremos uma série de representações de diversas aproximações da

    modelagem semântica.

    MODELO DE ENTIDADE-RELACIONAMENTO

    Uma das principais propostas da área de modelagem semântica foi definida por

    Chen em 1976. Segundo Chen, entidade é “uma coisa que pode ser identificada

    distintamente” e um relacionamento como “uma associação entre entidades” (uma-para-

    uma ou muitas-para-uma ou muitas-para-muitas). Um relacionamento é algo que pode

    ser “identificado”.

    As entidades e os relacionamentos são representados no banco de dados por

    relações de entidades e relações de relacionamentos. As chaves primárias são

    necessárias em ambos os casos. No caso de um relacionamento a chave primária é uma

    combinação de chaves externas que identificam as entidades envolvidas no

    relacionamento.

    As entidades podem ser classificadas como entidades regulares e entidades

    fracas. Uma entidade fraca é uma entidade cuja existência depende de alguma outra

    entidade. Uma entidade regular é uma entidade que não é fraca, ou seja, não depende de

    outras entidades.

    As principais propriedades das entidades são: simples ou compostas, chaves,

    univalorada (possui valor único) ou multivalorada, básica ou derivada e em falta.

    Podemos utilizar para modelar o banco de dados, diagramas E/R que constituem

    de uma técnica para representar a estrutura lógica de um banco de dados de modo

    pictório.

    12

  • Figura 6 – Rede de Relacionamentos

    Na figura 6, temos os elementos 1, N e M sendo a cardinalidade dos

    relacionamentos, onde os elementos M e N denotam muitos. Por exemplo, a entidade

    Review “Revisões”, depende da entidade book “livro” para existir, desta forma se um

    elemento de book for excluído, todas as review relativas serão excluídas. A dependência

    de existência e demarcada pelo quadro duplo na entidade review e colocando um

    comentário “E” entre as entidades.

    TAXIS

    13

  • TAXIS [Borgida et al 1984, Mylopoulos et al 1980, Nixon et al 1987 e O’Brien

    1983] é uma linguagem para projetos de sistemas de informação interativos, que integra

    a captação dos aspectos estruturais e comportamentais de uma aplicação através de

    mecanismos de abstração. TAXIS oferece as facilidades do gerenciamento de banco de

    dados relacionais, um significado para a especificação semântica de restrições de

    integridade e um mecanismo de tratamento de exceções, integrado numa única

    linguagem, através da qual os conceitos de classe, propriedade e relacionamento de

    generalização são providos.

    Com isso temos um modelo altamente estruturado, fornecendo construtores de

    modelagem integrados para porções do banco de dados estáticas ou dinâmicas.

    TAXIS e um sistema onde a hierarquia de classificação e generalização são

    enfatizadas e estendidas ao banco de dados.

    Para descrever as classes, são utilizados os seguintes grupos de categorias:

    • Chaves – identificar uma instância

    • Características – agrupam as propriedades que não se alteram

    • Atributos – agrupam as propriedades que se alteram

    Através da pré-definição de algumas classes é possível gerar novas classes

    especializadas.

    Abaixo temos um modelo de declaração para a entidade book “Livro”:DATACLASS BOOK WITH

    ATTRIBUTESAUTHOR: SET OF WRITER,SALES: 0...99999999;TITLE: STRING;PUBLISHER: PUB-HOUSE;BORROWER: SET OF PERSON;REVIEWERS: SET OF REVIEWER,REVIEWS: SET OF REVIEW;

    end BOOK;

    TAXIS é um modelo fortemente baseado na abstração de herança (IS-A)

    utilizando-a para estruturar dados e procedimentos de uma aplicação, incluindo as

    expressões, transações e exceções. Este modelo ainda traz uma metodologia para tratar

    restrições semânticas de integridade.

    14

  • SDM

    SDM [Hammer and McLeod 1981] traz uma aproximação diferenciando do

    modelo E/R e do TAXIS, incorporando um grande número de construtores de

    modelagem em uma abstração simples, a classe. É uma descrição de alto nível para

    banco de dados baseado em semântica, formalmente estruturado. Busca permitir ao

    designer de banco de dados expressar o banco de dados claramente com mecanismos

    para mapear diretamente o conceito de design do programador. Ao contrário dos outros

    modelos que oferecem métodos mais primitivos onde o designer cria objetos mais

    complexos, SDM busca oferecer um conjunto completo de facilidades para modelagem.

    Classificação e associação possuem uma maior ênfase no SDM do que

    agregação e generalização.

    Um esquema SDM é uma coleção de entidades organizadas em classes e

    conexões entre as classes e atributos derivados. Nas classes são especificados os

    atributos dos membros e das classes. Existem dois tipos de conexões entre as classes,

    uma que representa o mecanismo de agrupamento e outro que representa o mecanismo

    de generalização/ especialização.

    Um exemplo do modelo SDM podemos visualizar nas declarações de Book

    “Livro” e Data_base_book “de livros banco de dados” abaixo:BOOK

    DESCRIPTION: ALL BOOKS WITHIN THE LIBRARY MEMBERATTRIBUTES:

    TITLEVALUE CLASS: STRINGS

    AUTHORVALUE CLASS: PERSON

    PUBLISHERVALUE CLASS: PUB-HOUSE

    PRICEDESCRIPTION: PRICE OF BOOK AT LIBRARY RATEVALUE CLASS: DOLLARS

    TOPICVALUE CLASS: TOPICS

    INTEREST-INDEXVALUE CLASS: INTEGERS

    ACQUISITION-PRIORITY

    15

  • VALUE CLASS: INTEGERSDERIVATION: ORDER BY DECREASING INTEREST-INDEX WITHIN BOOK.

    IDENTIFIERSTITLE

    DATABASE-BOOKDESCRIPTION: ALL DATABASE BOOKS WITHIN THE LIBRARY INTERCLASS CONNECTION: SUBCLASS OF BOOK WHERE

    BOOK.TOPIC = ‘DATABASE’MEMBER ATTRIBUTES:

    SUBTOPICVALUE CLASS: DB-SUB-TOPICS

    CLASS ATTRIBUTES:TOTAL-COST

    VALUE CLASS: DOLLARSDERIVATION: SUM OF PRICE OVER MEMBERS OF THIS CLASS

    Na descrição temos Total-Cost “custo total” e Acquisition-priority “Prioridade

    de aquisição”, onde os valores assumidos pelos atributos podem ser computados por

    qualquer outra informação no esquema do banco de dados utilizando uma sofistica

    coleção de derivações, como estatísticas ou ordenação.

    FUNCTIONAL DATA MODEL

    O Function Data Model [Shipman 1981] foi construído em conjunto com a

    linguagem de definição de dados DAPLEX. O objetivo era prover um modelo e uma

    linguagem de definição/manipulação que fosse capaz de representar aplicativos com

    naturalidade e simplicidade.

    Neste modelo é possível definir funções para especificar agregações de atributos

    utilizados para formar a entidade, como no exemplo abaixo, onde o símbolo ==>>

    indica elementos multivalorados e a declaração Author(Book) representa a relação entre

    book e person:DECLARE BOOK( )==>> ENTITYDECLARE TITLE (BOOK) ==> STRING

    16

  • DECLARE PUBLISHER (BOOK) ==> PUB-HOUSEDECLARE AUTHOR (BOOK) ==>> PERSONO modelo não traz um meio explícito para generalização e classificação, sendo

    necessário o usuário definir funções para obtê-las.

    RM/T

    O modelo relacional ampliado RM/T foi primeiramente definido por Codd. Uma

    diferença entre RM/T e o modelo entidade-relacionamento, é que o RM/T não faz

    distinções desnecessárias entre entidades e relacionamentos que são considerados um

    tipo especial de entidade. Outras diferenças observadas são que os aspectos estruturais e

    de integridade do modelo são mais ampliados e definidos de forma mais precisa no

    RM/T. O modelo inclui seus próprios operadores especiais, além dos operadores do

    modelo relacional básico.

    O seu funcionamento implica que entidades são representadas por relações E,

    que registram a existência das entidades e relações P que registram certas propriedades

    dessas entidades, e pode existir uma variedade de relacionamentos entre as entidades. O

    RM/T inclui uma estrutura de catálogo formal através do qual o sistema toma

    conhecimento dos relacionamentos (restrições de integridade) e existem vários

    operadores de alto nível para facilitarem a manipulação dos vários objetos RM/T

    (relações E, relações P, relações de catálogo, etc.).

    O modelo RM/T divide as entidades em: Entidades-semente (possuem existência

    independente), Entidades-característica (uma entidade cuja única função é de descrever

    uma outra entidade) e Entidade-associativa (uma entidade cuja função é representar o

    relacionamento de entidades).

    Na Figura 7 temos um exemplo de E-Relation e P-Relation de Book onde a E-

    Relation “Relações E” representa a existência de uma entidade e as P-Relation

    “Relações P” que representa as propriedades da entidade Book.

    17

  • Figura 7 – Exemplo de E-Relation e P-Relations

    Abaixo temos um exemplo de relacionamento entre book “livro” e writer

    “escritos”, onde é adicionado do termo Designation “designação” na definição da E-

    Relation.CREATE E-RELATION BOOKDESIGNATING (AUTHOR VIA WRITER-ID);Um modelo como o RM/T pode ser útil como auxílio ao projeto de banco de

    dados, contudo sua complexidade ultrapassa em muito a complexidade do modelo

    relacional. Parte das extensões semânticas do RM/T são feitas no dicionário de dados do

    modelo relacional, através de relações que descrevem os inter-relacionamentos

    existentes junto a novos operadores.

    Comparação entre Modelos

    18

  • Na tabela II, temos uma comparação entre os modelos mostrados, em relação a

    uma série de características, dentre elas:

    • Representação de Objetos Desestruturados, os modelos são classificados como

    limitados ou aprimorados, dependendo do grau em que os modelos aceitam tipos

    de dados não tradicionais.

    • Representação de Relacionamentos são classificados como independentes,

    entidades, tabelas, funções ou atributos, dependendo da maneira em que o

    modelo representa os relacionamentos para o usuário. Alguns modelos

    apresentam várias maneiras de apresentar os relacionamentos para o usuário.

    • Inserção e Exclusão, os modelos são classificados quanto aos métodos de

    inserção e exclusão que são oferecidos ao designer do banco de dados.

    A tabela II auxilia a visualização das principais diferenças entre os modelos. É

    necessário ressaltar que alguns modelos foram criados para fins específicos, tornando

    assim algumas características mais importantes para aquele ambiente. Desta forma, a

    adoção de um determinado modelo deve ser compatível com a finalidade onde o modelo

    será utilizado.

    19

  • Representação de Objetos

    Desestruturado

    Representação de Relacionamentos

    Abstração Standard

    Redevs

    HierarquiaDerivação/herança Inserção/exclusão Semântica de Relacionamentos

    Modelagem Dinâmica

    E/R Limitado Independente e tabelas Agregação Forte Rede NãoEspecífico do

    UsuárioSelecionada pelo

    usuário Não

    TAXIS Limitado Entidade (Classes)Generalização

    Agregação Classificação

    Forte Hierarquia Herança

    Específica do Usuário exeto na hierarquia IS-A

    Predefinida

    Modelagem Transacional, orientada a

    objeto

    SDM Limitado Independente e entidades (classes)

    Generalização Agregação

    Classificação

    Presença de uma hierarquia

    geralElaborada e Variada Automática Definida pelo Usuário Não

    Funcional Limitado FunçõesAssociaçãoAgregação

    Classificação

    Sem suporte para ambos Funcional

    Específica do usuário

    Definida pelo Usuário Não

    RM/T Limitado IndependenteGeneralização

    Agregação Classificação

    Presença de uma hierarquia

    geralHerança Automática e específica do usuário Predefinida Não

    Tabela 2 – Comparação entre Modelos

    20

  • CONCLUSÃO

    A modelagem semântica traz inúmeros recursos e facilidades para projetistas de

    banco de dados. Sua utilização torna o esquema de dados mais legível se comparado a

    modelos tradicionais, pois incorpora conceitos de orientação a objeto, aplicados em

    linguagens de programação de alto nível. Assim, entidades e relacionamentos são vistas

    de forma semelhante à visualização humana dos mesmos, abstraindo diversos detalhes

    de implementação e trazendo ao usuário o que ele realmente necessita.

    Técnicas de generalização, especialização, agregação e herança, vindas do

    paradigma de orientação a objetos, possibilitam que a modelagem tenha uma maior

    segurança, facilitando a integração dos dados.

    21

  • BIBLIOGRAFIA

    PECKHAM, JOAN; MARYANSKI, FRED. Semantic Data Models. ACM Computing

    Surveys (CSUR). Volume 20 , Issue 3 (September 1988).

    HULL, RICHARD; KING, ROGER. Semantic Database Modeling: Survey,

    Applications, and Research Issues. ACM Computing Surveys (CSUR). Volume

    19 , Issue 3 (September 1987).

    DATE, C. J.. Introdução a Sistemas de Bancos de Dados. Tradução de Daniel Vieira.

    Rio de Janeiro: Elsevier, 2003.

    DATE, C. J.. Introdução a Sistemas de Bancos de Dados. Tradução da 4ª Edição. Rio

    de Janeiro: Campus, 1990.

    22