Sobre banco de dados relacional
Toda organização tem informações que devem armazenar e gerenciar para atender a seus requisitos. Por exemplo, uma corporação deve coletar e manter registros de recursos humanos para seus funcionários. Esta informação deve estar disponível para aqueles que precisam dela.
Um sistema de informação é um sistema formal para armazenar e processar informação. Um sistema de informação pode ser um conjunto de caixas de papelão contendo pastas, juntamente com regras sobre como armazenar e recuperar as pastas. No entanto, a maioria das empresas hoje usa um banco de dados para automatizar seus sistemas de informação.
Um banco de dados é uma coleção organizada de informações tratadas como uma unidade. A finalidade de um banco de dados é coletar, armazenar e recuperar informações relacionadas para uso através de um Sistema Gerenciador de Banco de Dados (SGBD).
Sistema de Gerenciamento de Banco de Dados (SGBD)
Um sistema de gerenciamento de banco de dados (SGBD) é um software que controla o armazenamento, a organização e a recuperação de dados.
Normalmente, um SGBD tem os seguintes elementos:
- Código do kernel: Esse código gerencia a memória e o armazenamento do DBMS.
- Repositório de metadados: Este repositório é geralmente chamado de dicionário de dados.
- Linguagem de consulta: Esta linguagem permite que os aplicativos acessem os dados.
Um SGBD é um programa de software que interage com um banco de dados para acessar e manipular dados.
Modelo relacional
Em seu artigo seminal de 1970, “Um modelo relacional de dados para grandes bancos de dados compartilhados”, E. F. Codd definiu um modelo relacional baseado na teoria dos conjuntos matemáticos. Hoje, o modelo de banco de dados mais aceito é o modelo relacional.
Um banco de dados relacional é um banco de dados que está em conformidade com o modelo relacional. O modelo relacional tem os seguintes aspectos principais:
- Estruturas
Objetos bem definidos armazenam ou acessam os dados de um banco de dados.
- Operações
As ações claramente definidas permitem que os aplicativos manipulem os dados e as estruturas de um banco de dados.
- Regras de integridade
As regras de integridade controlam as operações nos dados e estruturas de um banco de dados.
Um banco de dados relacional armazena dados em um conjunto de relações simples. Uma relação é um conjunto de tuplas. Uma tupla é um conjunto não ordenado de valores de atributos.
Uma tabela é uma representação bidimensional de uma relação na forma de linhas (tuplas) e colunas (atributos). Cada linha de uma tabela tem o mesmo conjunto de colunas. Um banco de dados relacional é um banco de dados que armazena dados em relações (tabelas). Por exemplo, um banco de dados relacional poderia armazenar informações sobre funcionários da empresa em uma tabela de funcionários, uma tabela de departamento e uma tabela salarial.
Sistema de gerenciamento de banco de dados relacional (RDBMS)
O modelo relacional é a base para um sistema de gerenciamento de banco de dados relacional (RDBMS).
Um RDBMS move os dados para um banco de dados, armazena os dados e os recupera para que os aplicativos possam manipulá-los. Um RDBMS distingue entre os seguintes tipos de operações:
- Operações lógicas
Nesse caso, um aplicativo especifica qual conteúdo é necessário. Por exemplo, um aplicativo solicita um nome de funcionário ou adiciona um registro de funcionário a uma tabela. - Operações físicas
Neste caso, o RDBMS determina como as coisas devem ser feitas e executa a operação. Por exemplo, depois que um aplicativo consulta uma tabela, o banco de dados pode usar um índice para localizar as linhas solicitadas, ler os dados na memória e executar muitas outras etapas antes de retornar um resultado para o usuário. O RDBMS armazena e recupera dados para que as operações físicas sejam transparentes para os aplicativos de banco de dados.
O banco de dados Oracle é um SGBDR. Um SGBDR que implementa recursos orientados a objeto, como tipos definidos pelo usuário, herança e polimorfismo, é chamado de sistema de gerenciamento de banco de dados objeto relacional (SGBDOR). O Oracle Database estendeu o modelo relacional para um modelo relacional de objeto, possibilitando o armazenamento de modelos de negócios complexos em um banco de dados relacional, SGBDOR não é abordado na certificação OCA.
Exemplo de banco de dados relacional

Os fornecedores são armazenados em uma tabela chamada S (canto superior esquerdo); cada linha da tabela representa um fornecedor. A tabela é, de fato, equivalente ao arquivo plano de registros homogêneos de um slide aberto, com cada linha sendo um registro e cada coluna sendo um campo. Note, entretanto, que o banco de dados inteiro é composto de várias tabelas, e não apenas uma. Existe uma tabela P para peças e uma tabela SP que nos informa quais partes, e em que quantidade, são fornecidas por qual fornecedor. (A tabela SP, portanto, representa uma das “setas” no diagrama abstrato que vimos anteriormente, enquanto as tabelas S e P representam “retângulos simples”).
Cada linha é essencialmente uma lista de n valores (n é o número de colunas da tabela) ou uma n-tupla em termos matemáticos. Nós chamamos de tupla para abreviar.
Cada coluna representa um campo do registro e é chamado de atributo. O conteúdo de cada atributo (por exemplo, o atributo “cor” de uma peça) só pode receber valores de um determinado conjunto; Esse conjunto de valores permitidos para uma coluna é chamado de domínio.
Uma chave é um atributo ou combinação de atributos que identifica exclusivamente uma linha. Por exemplo, o atributo P# (número de peça) identifica exclusivamente a peça, no sentido de que, dado um número de peça, há no máximo uma parte (uma tupla) que corresponde ao número da peça. A cor da peça não identifica exclusivamente a peça, pois pode haver duas partes com a mesma cor. Observe que qualificar um conjunto de atributos como uma chave é uma decisão semântica que só pode ser tomada com o conhecimento do significado dos dados no banco de dados; não pode ser inferido simplesmente observando a instância atual do banco de dados. Se, por exemplo, em um determinado ponto no tempo não houvesse duas partes com a mesma cor, o atributo de cor ainda não seria uma chave válida para a tabela P – desde que haja a possibilidade de partes com a mesma cor outras partes são inseridas posteriormente no banco de dados. Note também o caso da tabela SP onde nenhum atributo único pode ser chave: o par S# – P# deve ser tomado como chave.
Note como cada tupla na tabela SP se refere a uma tupla em S e uma tupla em P por meio de suas respectivas chaves. Certamente, uma referência, digamos, ao fornecedor S1, não faria sentido se não houvesse nenhuma tupla S1 na tabela S.
As regras de integridade expressam restrições que o banco de dados deve satisfazer para ser consistente internamente; Uma dessas regras, chamada integridade referencial, é que as tuplas no SP só podem se referir a tuplas em S e P que realmente existem. Como conseqüência disso, quando um fornecedor é excluído, deve ser assegurado que, assim como a exclusão de sua tupla S, todas as tuplas SP referentes às suas remessas sejam removidas também.
Por que Relacional?
Vimos os conceitos e terminologias, agora qual o motivo do termo “relacional”?
Relacional vem de relação, basicamente relação entre dois conjuntos de dados que é abordado em Teoria dos Conjuntos. Em banco de dados os “conjuntos” são união entre tabelas. Para mais informações consulte Teoria dos Conjuntos e/ou operações com conjuntos, assim entenderá de onde vem o conceito relacional.
As operações em tabelas de banco de dados são feitas atrevés da linguagem de manipulação de dados DML, que a propósito, é a linguagem de programação usada para expressar operações que interrogam ou atualizam o banco de dados.
Será explicado em maior detalhe nos próximos tópicos.
Fonte Bibliográfica
A Gentle Introduction to Relational and Object Oriented Databases