O Que É Estrutura Relacional? (Modelo Relacional)

0
3502

Uma definição da Wikipedia traz: O modelo relacional é um modelo de dados representativos (ou de implementação), adequado a ser o modelo subjacente de um Sistema Gerenciador de Banco de Dados(SGBD), que se baseia no princípio em que todos os dados estão guardados em tabelas (ou, matematicamente falando, relações). Toda sua definição é teórica e baseada na lógica de predicados e na teoria dos conjuntos.

Creio que a tabela abaixo seja de autoria do Direção Concursos (a confirmar):

caderno de prova

A Wikipedia discorre, ainda, o seguinte:

Os blocos básicos do modelo relacional são o domínio, ou tipo de dado.

Uma tupla é um conjunto de atributos que são ordenados em pares de domínio e valor. Uma relvar (variável relacional) é um conjunto de pares ordenados de domínio e nome que serve como um cabeçalho para uma relação.

Uma relação é um conjunto desordenado de tuplas. Apesar destes conceitos matemáticos, eles correspondem basicamente aos conceitos tradicionais dos bancos de dados. Uma relação é similar ao conceito de tabela e uma tupla é similar ao conceito de linha. Todo subconjunto de uma tupla é uma tupla;

Em termos de restrições de chave: por definição, todos os elementos de um conjunto são distintos; logo, todas as tuplas, em uma relação / tabela, deve ser distinta, ou seja, duas tuplas quaisquer não podem ter a mesma combinação de valores para todos os seus atributos. Se cadastramos os funcionários de uma empresa, um funcionário qualquer deve ser diferente dos demais em pelo menos um atributo que o descreve. Do contrário é como se tivéssemos uma tupla duplicada – já que todos os atributos de duas tuplas são idênticos.

O princípio básico do modelo relacional é o princípio da informação: toda informação é representada por valores em relações (relvars). Assim, as relvars não são relacionadas umas às outras no momento do projeto. Entretanto, os projetistas utilizam o mesmo domínio em vários relvars, e se um atributo é dependente de outro, esta dependência é garantida através da integridade referencial.

Características do modelo relacional

Relação — representada por uma tabela;

Tupla – representada por uma linha;

Atributo – representado por uma coluna;

Domínio – tipo de dado

Fonte da Figura: UNIVESP.

QUESTÃO CERTA: No modelo relacional, variável corresponde a: um recipiente para se armazenar um valor que pode ser atualizado.

Uma variável é um recipiente para um aparecimento de um valor. Uma variável possui um local no tempo e no espaço. Além disso, logicamente, as variáveis, diferente dos valores, podem ser atualizadas; ou seja, o valor atual da variável em questão pode ser substituído por outro valor, provavelmente, diferente do anterior.

2+x= 5 x é a variável = 3

2+x= 4 x é a variável, mas nesse caso é = 2

QUESTÃO CERTA: No modelo relacional de dados, uma relação é um conjunto de tuplas sem ordenação definida.

A UNIVESP ensina:

Uma relação é definida como um conjunto de tuplas. Matematicamente, os elementos de um conjunto não possuem ordem entre eles; logo, as tuplas em uma relação não possuem nenhuma ordem em particular. Observe que não importa a ordem das linhas (tuplas), as tabelas A e B (ou relações A e B) representam a mesma coisa.

No entanto em relação à ordenação dos valores em uma tupla a coisa é diferente (uma coisa é a ordem das linhas, isto é, das tuplas, não interferir; outra coisa são os valores dentro de uma tupla / linha). Na Figura abaixo, a relação A já não é igual à relação C, pois os tributos “ident” e “nome” estão posicionados de forma distintas.

Valores NULL são utilizados para representar os valores desconhecidos ou que não se aplicam àquele atributo naquela tupla.

QUESTÃO CERTA: Um banco de dados do tipo relacional é aquele composto por um conjunto de relações conhecidas como tabelas.

QUESTÃO ERRADA: Nos modelos lógicos, uma relação é a representação de um relacionamento entre duas tabelas.

Nos modelos lógicos, uma relação é a representação de uma tabela (é uma tabela e não relacionamento entre 2 tabelas).

QUESTÃO CERTA: As cardinalidades, também chamadas de relacionamento, podem ser 1:1, 1:N e N:N.

QUESTÃO ERRADA: Na cardinalidade binária, as ocorrências envolvem duas entidades, com acesso limitado a até dois registros.

A cardinalidade é um número que expressa o comportamento (número de ocorrências) de determinada entidade associada a uma ocorrência da entidade em questão através do relacionamento.

A Cardinalidade expressa o número de entidades ao qual outra entidade pode ser associada por um conjunto de relacionamento. Navathe: a razão de cardinalidade para um relacionamento binário especifica o número máximo de instâncias de relacionamento em que uma entidade pode participar.

Existem dois tipos de cardinalidade: mínima e máxima. A cardinalidade máxima, expressa o número máximo de ocorrências de determinada entidade, associada a uma ocorrência da entidade em questão, através do relacionamento. A cardinalidade mínima, expressa o número mínimo de ocorrências de determinada entidade associada a uma ocorrência da entidade em questão através do relacionamento. Usaremos a seguinte convenção para expressar a cardinalidade:

(**) Uma das principais funções de cardinalidade, é manter a integridade do banco de dados.

QUESTÃO ERRADA: O modelo relacional refere-se à visualização física e não lógica dos dados. Está relacionado ao nível conceitual interno. A teoria relacional não diz nada sobre o nível externo, preocupa-se somente com o armazenamento e manipulação dos dados executados pelo SGBD.

Esquema físico – define como dados são salvos;

Conceitual/logico – define dados consoante modelo de dados;

Externo – define visualização com usuário.

Refere-se ao modelo lógico.

QUESTÃO CERTA: No modelo relacional formal: domínio é um conjunto de valores em que cada valor é indivisível.

“Um domínio D é um conjunto de valores atômicos. Com atômico, queremos dizer que cada valor no domínio é indivisível em se tratando do modelo relacional formal.”

QUESTÃO CERTA: No modelo relacional, variável corresponde a: um recipiente para se armazenar um valor que pode ser atualizado.

Uma variável é um recipiente para um aparecimento de um valor. Uma variável possui um local no tempo e no espaço. Além disso, logicamente, as variáveis, diferente dos valores, podem ser atualizadas; ou seja, o valor atual da variável em questão pode ser substituído por outro valor, provavelmente, diferente do anterior. “

QUESTÃO ERRADA: No modelo relacional, um objeto de dados mantém internamente dados e um conjunto de operações que agem sobre os dados.

Assertiva trata na verdade de um modelo de dados de objetos.

O Modelo de dados de objeto define um banco de dados em termos de objetos, suas propriedades e operações. Os objetos com a mesma estrutura e comportamento pertencem a uma classe, e as classes são organizadas em hierarquias. As operações de cada classe são especificadas com procedimentos predefinidos, chamados métodos.

Por sua vez, no modelo relacional os dados são armazenados em tabelas. O Modelo relacional representa um banco de dados como uma coleção de tabelas, onde cada tabela pode ser armazenada como um arquivo separado.

modelo relacional é um modelo de dados que se baseia no princípio em que todos os dados estão guardados em tabelas, onde cada tabela pode ser armazenada como um arquivo separado.

Advertisement

Modelo orientada a objetos define um banco de dados em termos de objetos, suas propriedades e operações. Os objetos com a mesma estrutura e comportamento pertencem a uma classe, e as classes são organizadas em hierarquias. As operações de cada classe são especificadas com procedimentos predefinidos, chamados métodos. Nesse modelo um objeto de dados mantém internamente dados e um conjunto de operações que agem sobre os dados.

A UFPE ensina o seguinte:

Orientação a Objetos e Bancos de Dados Relacionais

A orientação a objetos e os bancos de dados relacionais não são totalmente compatíveis. Eles representam duas visualizações diferentes: em um RDBMS, tudo o que você vê são os dados; em um sistema Orientado a Objetos, tudo o que você vê é o comportamento. Não é que uma perspectiva seja melhor que a outra: o modelo Orientado a Objetos tende a funcionar melhor em sistemas com comportamento complexo e específico de estados, nos quais os dados são secundários, ou em sistemas nos quais os dados são acessados, através de navegação, em uma hierarquia natural (por exemplo, listas de materiais). O modelo RDBMS é adequado para relatar aplicativos e sistemas cujos relacionamentos sejam dinâmicos ou ad-hoc.

A verdade é que um volume grande de informações é armazenado em bancos de dados relacionais e, se os aplicativos orientados a objetos quiserem ter acesso a esses dados, precisam ser capazes de ler e gravar em um RDBMS. Além disso, é comum os sistemas orientados a objetos precisarem compartilhar dados com sistemas que não são orientados a objetos. É natural, portanto, usar um RDBMS como mecanismo de compartilhamento.

Embora o design orientado a objetos e o design relacional compartilhem algumas características em comum (os atributos de objeto são teoricamente semelhantes às colunas de entidades), há diferenças fundamentais que fazem da integração completa um desafio. A diferença básica é que os modelos de dados expõem os dados (através de valores de coluna), enquanto os modelos de objeto ocultam os dados (encapsulados atrás de suas interfaces públicas).

O Modelo de Dados Relacional

O modelo relacional é composto de entidades e relacionamentos. Uma entidade pode ser uma tabela física ou uma projeção lógica de diversas tabelas, também conhecida como visão. A figura a seguir ilustra as tabelas LINEITEM, ORDER e PRODUCT e os vários relacionamentos entre elas. Um modelo relacional tem os seguintes elementos:

O diagrama é detalhado no conteúdo.

Um Modelo Relacional

As entidades têm colunas. Cada coluna é identificada por um nome e um tipo. Na figura acima, a entidade LINEITEM contém as colunas LineItem_Id (a chave primária), Description, Price, Quantity, Product_Id e Order_Id (as duas últimas são chaves estrangeiras que vinculam a entidade LINEITEM às entidades ORDER e PRODUCT).

As entidades têm registros ou linhas. Cada linha representa um conjunto exclusivo de informações que geralmente representam os dados persistentes de um objeto.

Cada entidade tem uma ou mais chaves principais. LineItem_Id é a chave primária de LINEITEM.

O suporte a relacionamentos é um recurso específico do fornecedor. O exemplo mostra o modelo lógico e o relacionamento entre as tabelas PRODUCT e LINEITEM. No modelo físico, as relações são geralmente implementadas utilizando as referências de chave estrangeira / chave principal. Se uma entidade estiver relacionada a outra, ela conterá colunas que serão chaves estrangeiras. Colunas de chave estrangeira contêm dados que podem relacionar determinados registros na entidade à entidade relacionada.

Há multiplicidade (também chamada de cardinalidade) nos relacionamentos. As cardinalidades comuns são de um para um (1:1), de um para muitos (1:m), de muitos para um (m:1) e de muitos para muitos (m:n). No exemplo, LINEITEM tem um relacionamento 1:1 com PRODUCT, e PRODUCT tem um relacionamento 0:m com LINEITEM.

O Modelo de Objeto

Um modelo de objeto contém, entre outras coisas, classes (consulte [UML01] para uma definição completa de um modelo de objeto). As classes definem a estrutura e o comportamento de um conjunto de objetos, às vezes chamados de instâncias de objetos. A estrutura é representada como atributos (valores de dados) e associações (relacionamentos entre classes). A figura a seguir mostra um diagrama simples de classes que possui apenas atributos (dados) das classes.

Um Modelo de Objetos (Diagrama de Classes)

Um Pedido tem um número (o Número do Pedido) e uma associação com 1 ou mais (1..*) Itens de Linha. Cada Item de Linha tem uma quantidade (a quantidade pedida).

O modelo de objetos suporta heranças. Uma classe pode herdar dados e comportamentos de outra classe. Por exemplo, os produtos de SoftwareProduct e HardwareProduct herdam atributos e métodos da classe Produto).

QUESTÃO CERTA: No modelo relacional de bancos de dados, os elementos ficam armazenados em tabelas bidimensionais simples, contendo linhas (registros) e colunas (campos), e os elementos de um arquivo do banco podem relacionar-se com diversos elementos de outros arquivos.