
As Entidades no OpenBASE podem se relacionar a outras Entidades diretamente ou indiretamente (Relacionamento entre registros de arquivos distintos).
Declarar um Relacionamento no OpenBASE não é simplesmente declarar em um arquivo de dados, os itens associativos (chave estrangeira das Entidades envolvidas no Relacionamento): é estabelecer as ligações e caminhos a serem percorridos pelo Banco de Dados.
Toda Entidade é identificada através de seu atributo determinante (chave primária). Aliado a este atributo é informado o número de ligações, ou seja, em quantos arquivos de dados a chave primária da Entidade, é referenciada como chave estrangeira.
Numa relação entidade (tipo E ou T) o número de ligações pode ser especificado como *, o que será automaticamente substituído pelo número de referências nos arquivos posteriormente definidos, por exemplo
nome: PESSOA e
NOMEP (*) u30 <<(*) será substituído por (1) >>
IDADE n2
nome: FILHOS r
NOMEP1 (PESSOA) U30
IDADEF n2
Todo Relacionamento é identificado através dos atributos associativos (chave estrangeira). Aliado a estes atributos, são informados os nomes das Entidades aos quais eles se referem, ou seja, as procedências das chaves estrangeiras.
Após definir as ligações e caminhos dos Relacionamentos, o OpenBASE administra automaticamente a Integridade Referencial, além de permitir, para obtenção de dados (se não existir itens com nomes repetidos no Banco de Dados), junção de dados dos registros relacionados em vários níveis de Relacionamento.
Na construção do esquema de dados, não é preciso que o usuário se preocupe com a ordem em que os arquivos foram declarados, isto é, os arquivos ou tabelas mestres podem ser definidos após os arquivos ou tabelas ligados a eles por chave estrangeira
banco bd_empresa 1
nome: empregado E
emp_mat (0) u06
emp__nome u40
emp_depart (depart) u03
nome:depart E
dep_cod(1) u03
dep_nome u30
A definição de todas as ligações e caminhos dos eelacionamentos é efetuada no Esquema do Banco de Dados, ou seja, estarão definidas também no dicionário de dados. O fato de ter que definir estas informações no esquema, não determina na implementação física do BD, ponteiros (elos explícitos) entre registros. Todas as ligações são efetuadas de forma lógica, através do dicionário de dados.
