Cursos / Informática para Internet / Banco de dados / Aula

arrow_back Aula 03 - Modelo Relacional

Modelo relacional

Na aula anterior, você estudou o Modelo de Entidade e Relacionamento. Viu seus conceitos, conheceu sua história, estudou as entidades, os atributos, os relacionamentos e suas cardinalidades. Viu que o Modelo ER é independente de Sistema de Gerenciamento de Banco de Dados (SGDB) e, portanto, deve ser o primeiro modelo gerado após a entrevista para levantamento de requisitos.

Note que, conforme a Figura 1, o projeto lógico é uma transição entre o projeto conceitual e o físico, ou seja, estamos saindo do projeto conceitual independente de SGDB para o físico que é específico de SGDB. Na nossa disciplina, iremos utilizar como modelo específico de SGDB o modelo relacional.

Fases do Projeto de um Banco de Dados.

O Modelo Relacional foi introduzido por Edgar Frank Codd (1970) e tornou-se um padrão para aplicações comerciais, devido a sua simplicidade e desempenho. É um modelo formal, bastante representativo e ao mesmo tempo bastante simples, foi o primeiro modelo de dados descrito teoricamente.

Um dos SGBD precursores que implementaram esse modelo foi o System R (IBM) – cuja sua história você estudou na nossa primeira aula –, baseado em seus conceitos, surgiram: DB2 (IBM), SQL-DS (IBM), Oracle, Informix, Ingres, Sybase, entre outros.

O Modelo Relacional representa os dados num Banco de Dados como uma coleção de relações e seus relacionamentos. Cada relação contém um nome e um conjunto de atributos com seus respectivos nomes. Informalmente, as relações do Modelo Relacional são também chamadas de tabelas pela maioria dos desenvolvedores. Como a nossa ferramenta MySQL Workbench usa o nome “tabela” ao invés de “relação”, iremos de agora em diante chamar relações de tabelas.

  • Tabela

Toda a informação de um banco de dados relacional é armazenada em tabelas, que, na linguagem do modelo relacional, também são chamadas de relações (BATISTI, 2010).

Por exemplo, posso ter uma tabela "Empregado", em que seriam armazenadas informações sobre os diversos empregados. No entanto, como posso armazenar as informações em uma tabela? Para responder tal pergunta, vamos relembrar o conceito de atributo.

  • Atributos

Atributos são todas as informações que existem em uma tabela. Essas informações são chamadas informalmente de campos. Exemplos: Nome, CPF, Rua, Bairro, Telefones, CEP, Data de Nascimento etc.

  • Domínio

Todo atributo para armazenar as informações de uma tabela deve ter um domínio definido. O domínio representa todos os valores possíveis que um atributo pode receber. Por exemplo, o atributo Telefone pode receber um conjunto de número com oito dígitos. Por outro lado, o atributo Nome pode receber um conjunto de cadeias de caracteres que representa o nome de uma pessoa. Desse modo, o domínio de um atributo define qual o tipo de dado e o formato que o dado pode ser armazenado por aquele atributo. Por exemplo, o formato do atributo Data de Nascimento é "dd/mm/ano". O formato do atributo CEP é "nnnnn-nnn". Assim, o formato descreve como o dado será exibido para o usuário do sistema.

  • Tuplas

As tuplas representam os valores de uma tabela. A Figura 2 mostra uma tabela "Empregado" preenchida com valores hipotéticos. Note que as colunas da tabela representam os atributos, enquanto as linhas representam as tuplas. Se uma tabela não tiver tuplas, ela estará vazia, ou seja, sem dados. Desse modo, quando efetuarmos uma busca em um site de busca, recebemos como resposta as tuplas do banco de dados daquele site, que estão relacionadas de alguma forma com o texto procurado. Informalmente, as tuplas são também chamadas pelos desenvolvedores de registros.

Os atributos e as tuplas de uma tabela Empregado.

Depois de aprender o significado dos conceitos Tabela, Atributo, Domínio e Tuplas, é importante agora aprender como utilizar a ferramenta MySQL Workbench para definir tais conceitos no Modelo Relacional.

Versão 5.3 - Todos os Direitos reservados