Fundamentos da Administração de Dados: Tabelas, Entidades, Relação, Colunas, Atributos, Linhas, Registros, Tuplas, Índices, Chaves e Relacionamentos Para iniciarmos os estudos e entendermos a teoria sobre Banco de Dados, vamos começar pelo entendimento básico sobre os conceitos principais e abordar os pontos-chave do assunto. Banco de Dados Relacional Este modelo, organiza seus dados em relações, onde essas relações podem ser vistas como uma tabela, onde cada coluna corresponde a atributos da relação e as linhas correspondem às tuplas ou elementos da relação. Um outro conceito importante é o da chave, que permite identificar e diferenciar uma tupla da outra. Através destas chaves, é possível encontrar de forma mais ágil outros elementos através de seus índices e estabelecer relacionamentos entre as tabelas. O modelo relacional permite que você visualize os dados de modo lógico em vez de físico. Em comparação a outros modelos, o modelo relacional é mais fácil de ser compreendido do que os modelos hierárquicos e em rede. A simplicidade lógica tende a produzir metodologias de projetos simples e eficientes. A linguagem utilizada é o SQL. Tabelas / Entidades / Relação Todos os dados ficam armazenados nas tabelas de um Banco de Dados Relacional (BDR). A tabela nada mais é do que o próprio nome está sugerindo, sendo esta uma estrutura bidimensional composta de linhas e colunas com seus dados. Podemos pensar na tabela como uma representação permanente de uma relação lógica, ou seja, de uma relação cujo conteúdo possa ser salvo definitivamente para uso futuro. Já a palavra entidade, está relacionada a uma tabela que pode conter um grupo de ocorrências de entidades relacionadas, ou seja, um conjunto de entidades. Por exemplo, uma tabela chamada FUNCIONÁRIO contém um conjunto de ocorrências de entidades, cada uma representando um funcionário. Colunas / Atributos / Campos São os campos de um tabela, com nomes diferentes e contém tipos de dados diferentes. Por exemplo: uma tabela FUNCIONÁRIO que contém uma coluna chamada FUNC_NOME. Linhas / Registros / Tuplas Cada linha representa um registro diferente, contendo todos os mesmos atributos dentro de uma tabela. Cada linha da tabela descreve uma única ocorrência de entidade no interior do conjunto de entidades. Chaves As tabelas relacionam-se umas as outras através de chaves. Uma chave é um conjunto de um ou mais atributos que determinam a unicidade de cada registro. A unicidade dos registros, determinada por sua chave, também é fundamental para a criação dos índices. A coluna de identificação em uma tabela é chamada de chave ou chave primária. Uma chave também pode consistir em múltiplas colunas. Por exemplo, podemos refirir a um registro específico combinando os campos correpondentes a ele, mas não tendo a garantia de ser única. Temos dois tipos de chaves: Chave primária: (PK – Primary Key) é a chave que identifica cada registro dando-lhe unicidade. A chave primária nunca se repetirá. Chave Estrangeira: (FK – Foreign Key) é a chave formada através de um relacionamento com a chave primária de outra tabela. Define um relacionamento entre as tabelas e pode ocorrer repetidas vezes. Caso a chave primária seja composta na origem, a chave estrangeira também o será. Índices O índice é responsável por apontar para o local onde encontraremos a linha que estamos pesquisando, ou seja, é uma disposição ordenada utilizada para acessar logicamente as linhas de uma tabela. Um exemplo de índice, seria o índice de um livro, onde você iria pesquisar o assunto que está querendo ler e iria diretamente para a página que está sendo demonstrada lá. Olhando pelo lado conceitual do BDR, é composto de uma chave de índice e de um conjunto de ponteiros. Cada chave aponta para a localização dos dados identificados por ela. Relacionamentos Os relacionamentos são associações entre as entidades. As entidades que participam de um relacionamento são também conhecidas como participantes e cada relacionamento é identificado por um nome que o descreve. Utiliza-se o verbo na voz ativa ou passiva. Exemplo: um ALUNO frequenta uma TURMA, um PROFESSOR ensina uma TURMA, um DEPARTAMENTO emprega um PROFESSOR. Os relacionamento estão sempre em ambas direções: Um CLIENTE pode gerar muitas FATURAS; Cada FATURA é gerada por apenas um CLIENTE. Existem relacionamentos dos seguintes tipos Um para um (1 para 1) – indica que as tabelas têm relação unívoca entre si. Você escolhe qual tabela vai receber a chave estrangeira; Um para muitos (1 para N) – a chave primária da tabela que tem o lado 1 vai para a tabela do lado N. No lado N ela é chamada de chave estrangeira; Muitos para muitos (N para N) – quando tabelas têm entre si relação n..n, é necessário criar uma nova tabela com as chaves primárias das tabelas envolvidas, ficando assim uma chave composta, ou seja, formada por diversos campos-chave de outras tabelas. A relação então se reduz para uma relação 1..n, sendo que o lado n ficará com a nova tabela criada.