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ÁRIO
SEPARAÇÃ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
1
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.
2
CONCEITOS FUNDAMENTAIS
A tabela I abaixo traz os principais conceitos da modelagem semântica, segundo
Date:
Conceito
ENTIDADE
Definição Informal
Exemplos
Um objeto passível de distinção Fornecedor, Peça, Pessoa
PROPRIEDADE
(de um tipo particular)
Uma peça de informação que Número de fornecedor,
ASSOCIAÇÃO
descreve uma entidade
Altura da pessoa
Um relacionamento de muitos- Expedição
(peça
para-muitos
(um-para-muitos fornecedor),
etc.) entre entidades
SUBTIPO
do
Gravação
(composição-orquestra
regente)
O tipo de entidade Y é um Funcionário é um subtipo
subtipo da entidade de tipo X se, de pessoa, Concerto é um
e
apenas
se,
cada
Y
for subtipo de Composição.
necessariamente um X.
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.
3
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
4
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
5
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,
6
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
7
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 WRITER
WHERE WRITER.INCOME < 2000
AND WRITER.NAME = BOOK.AUTHOR
AND BOOK.SALES > 50000
8
AND BOOK.PUBLISHER = PUBLISHER.NAME
AND 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 WRITER
WHERE WRITER.INCOME < 2000
AND BOOK.SALES > 50000/WROTE
AND 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.
9
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
10
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ção
DECLARE AUTHOR (BOOK)
==>> WRITER
permite 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.
11
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.
12
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-parauma 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.
13
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
14
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
ATTRIBUTES
AUTHOR: 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.
15
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 MEMBER
ATTRIBUTES:
TITLE
VALUE CLASS: STRINGS
AUTHOR
VALUE CLASS: PERSON
PUBLISHER
VALUE CLASS: PUB-HOUSE
PRICE
DESCRIPTION: PRICE OF BOOK AT LIBRARY RATE
VALUE CLASS: DOLLARS
TOPIC
VALUE CLASS: TOPICS
INTEREST-INDEX
VALUE CLASS: INTEGERS
ACQUISITION-PRIORITY
16
VALUE CLASS: INTEGERS
DERIVATION: ORDER BY DECREASING INTERESTINDEX WITHIN BOOK.
IDENTIFIERS
TITLE
DATABASE-BOOK
DESCRIPTION:
ALL
DATABASE
BOOKS
WITHIN
THE
LIBRARY
INTERCLASS CONNECTION: SUBCLASS OF BOOK WHERE
BOOK.TOPIC = ‘DATABASE’
MEMBER ATTRIBUTES:
SUBTOPIC
VALUE CLASS: DB-SUB-TOPICS
CLASS ATTRIBUTES:
TOTAL-COST
VALUE CLASS: DOLLARS
DERIVATION: 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( )==>> ENTITY
DECLARE TITLE (BOOK) ==> STRING
17
DECLARE PUBLISHER (BOOK) ==> PUB-HOUSE
DECLARE AUTHOR (BOOK) ==>> PERSON
O 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 ERelation “Relações E” representa a existência de uma entidade e as P-Relation
“Relações P” que representa as propriedades da entidade Book.
18
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 ERelation.
CREATE E-RELATION BOOK
DESIGNATING (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
19
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.
20
E/R
Representação
de Objetos
Desestruturado
Representação de
Relacionamentos
Abstração
Standard
Rede
vs
Hierarquia
Derivação/herança
Inserção/exclusão
Semântica de
Relacionamentos
Modelagem
Dinâmica
Limitado
Independente e
tabelas
Agregação
Forte Rede
Não
Específico do
Usuário
Selecionada pelo
usuário
Não
Forte
Hierarquia
Herança
Específica do
Usuário exeto na
hierarquia IS-A
Predefinida
Modelagem
Transacional,
orientada a
objeto
TAXIS
Limitado
Entidade (Classes)
Generalização
Agregação
Classificação
SDM
Limitado
Independente e
entidades (classes)
Generalização
Agregação
Classificação
Presença de
uma hierarquia
geral
Elaborada e Variada
Automática
Definida pelo
Usuário
Não
Funcional
Limitado
Funções
Associação
Agregação
Classificação
Sem suporte
para ambos
Funcional
Específica do
usuário
Definida pelo
Usuário
Não
RM/T
Limitado
Independente
Generalização
Agregação
Classificação
Presença de
uma hierarquia
geral
Herança
Automática e
específica do usuário
Predefinida
Não
Tabela 2 – Comparação entre Modelos
21
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.
22
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.
Download

ademar cézar feil alessandro quirolli modelagem semântica