0% acharam este documento útil (0 voto)
13 visualizações12 páginas

Tabelas Base e Estendidas em GeneXus

O documento explica os conceitos de tabela base e tabela estendida no contexto do GeneXus, destacando como as tabelas físicas são criadas a partir das transações definidas. A tabela base é a tabela física em que se está trabalhando, enquanto a tabela estendida inclui todos os atributos da tabela base e das tabelas relacionadas por chaves estrangeiras. O texto também menciona a criação de diagramas de tabelas para visualizar as relações entre elas.

Enviado por

Luiz Gonzaga
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
13 visualizações12 páginas

Tabelas Base e Estendidas em GeneXus

O documento explica os conceitos de tabela base e tabela estendida no contexto do GeneXus, destacando como as tabelas físicas são criadas a partir das transações definidas. A tabela base é a tabela física em que se está trabalhando, enquanto a tabela estendida inclui todos os atributos da tabela base e das tabelas relacionadas por chaves estrangeiras. O texto também menciona a criação de diagramas de tabelas para visualizar as relações entre elas.

Enviado por

Luiz Gonzaga
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Identificando atributos disponíveis

Tabela Base e tabela Estendida


Tabelas

View / Tables

Explicaremos agora a definição de tabela base e tabela estendida.

São dois conceitos muito simples, e é importante compreendê-los, porque


eles são muito usados no uso da ferramenta em geral.

Observemos o nó Tables
Abaixo deste nó, podemos ver quais tabelas físicas GeneXus determinou
criar no banco de dados a partir das estruturas das transações que
definimos.
Transação - Tabela

Category: A transação e a tabela tem os mesmos atributos.

=
Attraction: A transação tem mais atributos que a tabela.

Atributos
inferidos

Chaves
estrangeiras

Se abrirmos por exemplo a tabela Category vemos que a tabela física


contém exatamente os mesmos atributos definidos na estrutura da
transação Category.

No entanto, se abrirmos a composição da tabela Attraction, vemos que ela


contém menos atributos do que aqueles referenciados na transação
Attraction.

Isto porque na transação Attraction há diversas chaves estrangeiras e


portanto, através delas, há valores de atributos que são obtidos quando a
aplicação é executada, daquelas tabelas em que se encontram.
Transaction - Table

Tabela de chave composta

A tabela CountryCity foi criada pelo GeneXus na base de dados, com base no que foi definido no
segundo nível da transação Country.

Vejamos também que abaixo do nó Tables aparece uma tabela chamada


CountryCity

Esta tabela física foi criada por GeneXus no banco de dados com base na
definição do segundo nível que fizemos na transação Country:

Como tínhamos visto, quando definimos um nível aninhado a outro em uma


transação, é criada uma tabela de chave composta que neste caso é a tabela
CountryCity.
Diagrama de tabelas

File / New Object

Agora... observamos o nó Tables abaixo do qual podemos visualizar as


tabelas físicas criadas no banco de dados e suas composições

Vamos ver agora que podemos criar um diagrama de tabelas, para visualizá-
las em um diagrama que mostra, além de sua composição, como se
relacionam entre elas.

Selecionamos File / New / Object


Selecionamos criar um objeto do tipo Diagram e deixamos o nome oferecido
por padrão: Diagram1

Selecionamos Create e arrastamos a partir do nó Tables todas as tabelas para


o diagrama...

Agora pressionamos o botão direito do mouse e selecionamos Arrange

obtendo a distribuição das tabelas no diagrama e que se vejam claramente as


setas que representam como se relacionam entre si:

Observando este diagrama de tabelas, explicaremos o que denominamos


tabela base e tabela estendida em GeneXus.

Chamamos tabela base a qualquer tabela do banco de dados na qual


estamos posicionados em determinado momento, por exemplo, para
exibir seus dados ou modificá-los.
Exemplo

▪ Tabela estendida tabela base Attraction

TABELA BASE
N
1

Tabela estendida

Poderia ser esta...


Exemplo

▪ Tabela estendida tabela base Customer

TABELA BASE

Tabela estendida

Ou qualquer uma das tabelas do diagrama.


Exemplo

▪ Tabela estendida tabela base CountryCity

TABELA BASE

Tabela estendida

Quando executamos uma transação de um nível ela tem uma tabela base
associada ou seja, uma tabela física, na qual se realizam as inserções,
modificações e exclusões que operamos por exemplo, através da tela da
transação, de forma interativa.

Quando trabalhamos com uma transação de mais de 1 nível, cada nível tem
uma tabela base associada na qual se realizam as inserções, modificações
e eliminações que processamos através deste nível.

Também quando definimos consultas (por exemplo, uma listagem), estaremos


navegando em uma determinada tabela base.
Conceitos fundamentais

▪ Tabela Base:
Qualquer tabela física no banco de dados, na qual estejamos
posicionados trabalhando em determinado momento.

▪ Tabela Estendida:
Para uma determinada tabela, sua tabela estendida é um conceito que nos permite considerar todas
as informações que podemos acessar a partir dela, usando suas chaves estrangeiras.
É o conjunto de todos os atributos da própria tabela base mais todos os atributos das tabelas com as
quais ela tenha uma relação N-1 direta ou indireta.

Tabela Base

Tabela Estendida

A tabela base, então, é qualquer tabela física no banco de dados, na qual


estejamos posicionados trabalhando em determinado momento.

Vejamos agora o conceito de tabela estendida. Este conceito surge para


simplificar a tarefa de saber a quais tabelas temos alcance quando
estamos posicionados em determinada tabela base.

Intuitivamente, já acessamos a tabela estendida de determinada tabela


base

Por exemplo, a transação de Attraction tem por tabela base ou tabela física
associada a tabela ATTRACTION.

E como vimos antes, como CategoryId é um atributo chave estrangeira na


transação Attraction podemos referenciar o atributo CategoryName

CategoryName não pertence à tabela base associada à transação


Attraction mas podemos obter o seu valor, porque ele está na tabela
estendida.

Generalizando, sempre a partir de uma chave estrangeira como são


CategoryId, CountryId e CityId em Attraction podemos obter os valores
de seus atributos secundários das tabelas em que estão localizados.

E se nestas tabelas por sua vez há outra ou outras chaves estrangeiras, a


cadeia continua e também se podem obter seus dados relacionados.
Tabela Estendida

N 1

1
N 1

Agora, uma vez que entendemos intuitivamente o conceito, formalmente


dizemos que:

Dada determinada tabela qualquer que consideremos tabela base em


determinado momento, sua tabela estendida é o conjunto de todos os atributos
da própria tabela base mais todos os atributos das tabelas com as quais ela
tenha uma relação N-1 direta ou indireta

Se voltamos agora a observar o diagrama de tabelas que tínhamos criado,


veremos outra maneira de determinar a tabela estendida de uma
determinada tabela base.

Se tomamos como tabela base ATTRACTION sua tabela estendida compreende a


própria tabela ATTRACTION e se seguimos a seta simples vemos que CATEGORY
também é incluída

Para este outro lado há uma seta simples que indica que COUNTRYCITY também
está incluída... e a partir de COUNTRYCITY há uma seta simples, de modo que
COUNTRY também pertence à tabela estendida da tabela base ATTRACTION.

Assim, observando um diagrama de tabelas, para obter a tabela estendida de


uma determinada tabela base, podemos começar a partir dela e seguir as setas
que têm seta dupla a partir da tabela base e ponta simples na outra extremidade,
e a tabela a que chegamos também será parte de sua tabela estendida... e assim
todas as tabelas que podem ser alcançadas seguindo setas simples, farão parte
da tabela estendida.

Em suma, nós estaremos navegando no sentido das relações N a 1.


Exemplo

▪ Tabela estendida tabela

Voltando ao diagrama, observemos que se COUNTRYCITY é a tabela base na


qual estamos posicionados em determinado momento, sua tabela
estendida compreende a ela mesma, a tabela COUNTRY e nenhuma mais.

E dada a tabela base COUNTRY, vemos que sua tabela estendida é


compreendida somente por ela mesma, pois não tem nenhuma flecha simples
que possamos seguir.
[Link]
[Link]

Você também pode gostar