Banco de Dados - SQL Server
O Modelo Relacional de Dados - Parte I
Em uma série de quatro artigos, apresentarei alguns conceitos básicos sobre Bancos de Dados, mais especificamente sobre o Modelo Relacional de Dados.
por Júlio Cesar Fabris BattistiIntrodução
Objetivo: Em uma série de quatro artigos, apresentarei alguns conceitos básicos sobre Bancos de Dados, mais especificamente sobre o Modelo Relacional de Dados. Para a melhor utilização, ou seja, para uma utilização eficiente de bancos de dados como o Microsoft Access, SQL Server, ORACLE, DB2 ou qualquer outro banco de dados relacional, é importante o conhecimento e correto entendimento dos conceitos apresentados nesta série de artigos.Vou abordar os seguintes Conceitos:
- Entidades e atributos
- Chave primária
- Relacionamentos entre entidades (tabelas)
- Integridade Referencial
- Normalização de tabelas
- Um Problema Proposto
- Arquitetura do Microsoft Access.
Nota: Os exemplos apresentados utilizarão telas do Microsoft Access. Porém os princípios básicos do modelo relacional aplicam-se a qualquer banco de dados baseado no modelo relacional de dados. Estes bancos de dados são algumas vezes denominados: SGBDR - Sistemas Gerenciadores de Banco de Dados Realacionais.
Entidades e Atributos:
Toda a Informação de um banco de dados relacional é armazenada em Tabelas, que na linguagem do modelo relaciona, também são chamadas de Entidades. Por exemplo, posso ter uma Tabela "Clientes", onde seriam armazenadas informações sobre os diversos clientes.
Sobre cada um dos clientes podem ser armazenadas diversas informações tais como:
- Nome
- RG
- CPF
- Rua
- Bairro
- Telefone
- CEP
- Data de Nascimento
Essas diversas características de cada Cliente são os "Atributos" da entidade Cliente, também chamados de campos da tabela Cliente.
"O Conjunto de todos os Atributos de um cliente e os valores dos atributos é o que forma o Registro do Cliente".
Com isso temos uma Tabela que é constituída por um conjunto de Registros (uma linha completa com informações sobre o cliente) e cada Registro formado por um conjunto de atributos (Nome, Endereço, etc).
Resumindo: Entidade ou Tabela: Um conjunto de Registros.
Campos ou Atributos: Características Individuais da tabela. Considere o Exemplo da figura abaixo, mostro uma tabela com cadastro de Clientes com os seus diversos Campos (atributos):
Figura 1: Tabela Cliente.
No exemplo da figura anterior temos entidade: "Clientes" e seus diversos atributos: "Código do Cliente", "Nome da Empresa", "Nome do Contato", "Cargo do Contato", "Endereço", etc. Em cada linha temos um conjunto de atributos e seus valores. Cada linha forma um Registro. Cada Coluna é um atributo da Tabela Clientes.
Um dos grandes desafios em se projetar um Banco de Dados com sucesso é a correta Determinação das Entidades que existirão no Banco de Dados, bem como dos Atributos de Cada Entidade.
Chave Primária
Objetivo: Neste item falarei sobre o conceito de Chave Primária e a sua importância no Modelo Relacional de dados.
Chave Primária
O Conceito de "Chave Primária" é fundamental para o correto entendimento de como funciona um Banco de Dados baseado no modelo relacional. Vamos entender o que significa um campo ser a Chave Primária de uma Tabela e como tornar um Campo a Chave Primária de uma Tabela.
"Ao Definirmos um Campo como sendo uma Chave Primária, estamos informando ao Microsoft Access que não podem existir dois registros com o mesmo valor no campo que é a Chave Primária, ou seja, os valores no campo Chave Primária precisam ser únicos".
Por exemplo, se defino um campo "Número da Identidade", da tabela Clientes, como sendo um campo do tipo Chave Primária, estou dizendo que não podem ser cadastrados dois clientes com o mesmo valor no campo "Número da Identidade". Na prática estou garantindo que não possam ser cadastrados dois clientes com o mesmo Número de Identidade".
Em outras palavras poderíamos dizer que o Campo Chave Primária identifica de Maneira Única cada Registro de uma Tabela, isto é, de posse do valor da Chave Primária somente localizaremos um registro com aquele valor no campo Chave Primária. Outros exemplos de campos que podem ser definidos como chaves primária:
- Campo CPF em uma tabela de cadastro de clientes.
- Campo CNPJ em uma tabela de cadastro de fornecedores.
- Matrícula do aluno em uma tabela de cadastro de alunos.
- Código da Peça em uma tabela de cadastro de peças.
- Matrícula do funcionário em uma tabela de cadastro de funcionários.
- Número do pedido em uma tabela de cadastro de pedidos
Este é um conceito muito importante, pois conforme veremos mais adiante os conceitos de Integridade Referencial e Normalização estão diretamente ligados ao conceito de Chave Primária. Na próxima figura apresento um exemplo da tabela Cliente onde o Campo "Código do Cliente" é definido como uma Chave Primária. Observe que não existem dois clientes com o Mesmo Código.
Figura 2: Campo "Código do Cliente" definido como Chave Primária.
Após ter definido um campo como sendo a Chave Primária da tabela, o próprio banco de dados (quer seja Access, SQL Server, ORACLE ou qualquer outro), garante que não sejam inseridos dados duplicados no campo que é a chave primária. Por exemplo, se o usuário tentar cadastrar um pedido com o mesmo número de um pedido já existente, o registro não será cadastrado e uma mensagem de erro será emitida.
Um último detalhe importante para lembrarmos é que a Chave Primária pode ser formada pela combinação de Mais de Um Campo. Podem existir casos em que um único campo não é capaz de atuar como chave primária, pelo fato deste apresentar valores repetidos. Nestes casos podemos definir uma combinação de 2 ou mais campos para ser a nossa chave primária.
Além disso, uma tabela somente pode ter uma Chave Primária, seja ela simples ou composta. Ou seja, não posse definir dois ou mais campos de uma tabela para serem cada um, uma chave primária separada. Não confundir com o caso de uma chave primária composta, onde a união de dois ou mais campos é que forma a única chave primária da tabela. Ou seja, cada tabela pode ter uma única chave primária.
Conclusão:
Nesta primeiro artigo da série, você aprendeu sobre os conceitos de entidades (tabelas), atributos (campos) e registros. Estes são os elementos básicos do modelo relacional de dados. Em seguida falei sobre o conceito de Chave Primária. Falei sobre as características do campo chave primária e da possiblidade de existir uma chave primária composta por dois ou mais campos. No próximo artigo da séria você aprenderá sobre "Relacionamentos entre Tabelas".
Entre em contato. Deixe-me conhecer a sua opinião e também suas sugestões. Entre em contato através do e-mail webmaster@juliobattisti.com.br ou diretamente através de um dos seguintes sites: www.juliobattisti.com.br e www.certificacoes.com.br.
Read more: http://www.linhadecodigo.com.br/artigo/109/o-modelo-relacional-de-dados-parte-i.aspx#ixzz23wMTOaHm- Representando dados em XML no SQL ServerSQL Server
- Diferenças entre SEQUENCES x IDENTITY no Microsoft SQL Server 2012SQL
- Utilizando FILETABLE no SQL Server 2012SQL Server
- NHibernate com o Delphi Prism: Acessando um Banco de Dados SQL ServerVisual Studio
- Novidades no SQL Server Codinome DenaliSQL Server