
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 a 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 relacionamentos é efetuada no Esquema do Banco de Dados. O fato de ter que definir estas informações no esquema, determina na implementação física do BD, ponteiros (elos explícitos) entre registros.
