ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da...

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

Transcript of ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da...

Page 1: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

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

Page 2: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

ADEMAR CÉZAR FEIL

ALESSANDRO QUIROLLI

MODELAGEM SEMÂNTICA

Prof. C. José M. Olguín

CASCAVEL – PARANÁ

Page 3: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

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

Page 4: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

Í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

Page 5: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

ÍNDICE DE TABELAS

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

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

Page 6: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é
Page 7: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

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

Page 8: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

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

Page 9: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

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

Page 10: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

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

Page 11: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

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

Page 12: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

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

Page 13: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

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

Page 14: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

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

Page 15: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

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

Page 16: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

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

Page 17: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

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

Page 18: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

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

Page 19: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

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

Page 20: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

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

Page 21: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

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

Page 22: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

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

Page 23: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

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

Page 24: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

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

Page 25: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

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

Page 26: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

Representação de Objetos

Desestruturado

Representação de Relacionamentos

Abstração Standard

Redevs

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

RelacionamentosModelagem Dinâmica

E/R Limitado Independente e tabelas Agregação Forte Rede Não Especí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árioDefinida 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

Page 27: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

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

Page 28: ADEMAR CÉZAR FEIL ALESSANDRO QUIROLLIolguin/4463-semin/g1-monografia.pdf · envolvidos e da definição implícita de relacionamentos e conexões entre as entidades. Para isto, é

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