INTRODUÇÃO A BANCO DE DADOS

Os banco de dados são ferramentas desenvolvidas com a finalidade de ajudar a organizar e a recuparar dados de forma eficiente. Seu conceito não está diretamente vinculado à informática ou a qualquer meio eletrônico. Desse modo pode-se dizer que uma agenda ou lista telefônica são um banco de dados, pois a informação armazenada nesses meios está organizada e pode ser facilmente recuperada.

Com isso pretende-se enfatizar como principais características de um banco de dados, seja ele informaztizado ou não, a organização e facilidade de recuperação das informações ou dados nele armazenados.

Banco de dados informatizados

A tecnologia aplicada aos métodos de armazenamento de informações vem crescendo e gerando um impacto cada vez maior no uso de banco de dados, em qualquer área.

Um banco de dados é, antes de mais nada, uma coleção logicamente coerente de dados, cuja principal finalidade é o armazenamento organizado dessas informações, visando a otimização dos sistemas, facilitando a entrada, alterações, processamentos e consulta de dados. Para criação e manutenção de banco de dados informatizados utiliza-se o sistema gerenciador de banco de dados (SGBD). O conjunto formado por um banco de dados mais as aplicações que o manipulamm é chamado SGBD.

Componentes de um SGBD

  • Dados;

  • Hardware;

  • Software;

  • Usuários.

Características

As principais características de um SGBD são:

  • INTEGRIDADE: Impede que um determinado código ou chave em uma tabela não tenha correspondência em outra tabela. Exemplo: um código de uma determinada disciplina na tabela ‘Histórico Escolar’ sem sua descrição na tabela ‘Disciplina’;

  • RESTRIÇÕES OU CONSISTÊNCIA: Por meio do armazenamento da informação em um único local, sendo compartilhado a vários sistemas. A incosistência ocorre quando um mesmo campo tem valores diferentes em sistemas diferentes;

  • SEGURANÇA OU PRIVACIDADE: define para cada usuário, o nível de acesso. Esse recurso impede que pessoas não autorizadas utilizem ou atualizem determinada informação;

  • RESTAURAÇÃO OU REORGANIZAÇÃO: Também conhecida como tolerância a falhas, essa característica é a facilidade para recuperar falhas de hardware e software;

  • NÃO-REDUNDÂNCIA: Redundância é o armazenamento da mesma informação em locais diferentes, provocando inconsistências. Em um BD, as informações são armazenadas em um único local, não existindo duplicidade descontrolada dos dados;

  • INDEPENDÊNCIA FÍSICA: Os programas de aplicação definem apenas os campos que serão utilizados independente da estrutura interna de armazenamento;

  • PADRONIZAÇÃO DOS DADOS: Permite que as informações da base de dados sejam padronizadas segundo um determinado formato de armazenamento. Exemplo: para o campo ‘sexo’ somente será permitido armazenamento dos conteúdos ‘M’ ou ‘F’.

Agora, já bem claro o conceito de banco de dados, temos a certeza que os dados tem que estar de forma organizada dentro do banco de dados. Então a partir de agora, aprenderemos a maneira mais organizada de colocar os dados dentro do BD, chamada MODELAGEM DE DADOS.

MODELAGEM DE DADOS: DER, ENTIDADES, RELACIONAMENTOS E ATRIBUTOS

Modelagem de dados é uma atividade desenvolvida em fases variadas, com finalidade de garimpar informações para a obtenção do modelo de dados. Modelo de dados é a representação gráfica (e organizada) e textual das estruturas, dos operadores e das regras que definem os dados. Um modelo de dados é uma estrutura de referência para organizar dados logicamente, permitindo uma representação dos dados de uma realidade.

DIAGRAMA ENTIDADE RELACIONAMENTO- DER

O DER é uma ferramenta para modelagem conceitual de banco de dados amplamente utilizada no projeto de banco de dados, sendo considerado praticamente padrão para modelagem, por ser de fácil compreensão e apresentar poucos conceitos, como:

  • ENTIDADES: São componentes físicos e abstratos do mundo real, sobre os quais são armazenados dados. Físicos: Livro, máquina. Abstrato: Curso, empresa.

  • ATRIBUTO: corresponde à representação de propriedade de cada Entidade. Existe apenas para caracterizar uma entidade. Ex: Código e Nome do livro.

  • RELACIONAMENTO: É a correspondência entre as entidades, uma associação entre dois conjuntos de dados (entidades). Ex: uma conta sempre está associada (relacionada), a pelo menos, um cliente.

ENTIDADES

São componentes físicos do mundo real, sobre os quais são armazenados dados. Representam objetos do mundo real, como cliente, conta, banco etc. Cada ocorrência da entidade se apresenta como uma coleção de elementos de dados.

Entidade é algo que desempenha papel específico no sistema que está sendo modelado: é algo sobre o qual se deseja guardar informações. Uma entidade pode ser:

  • Um objeto real, como livro, máquina, lugar, etc;

  • Uma pessoa, como empregado, contribuinte, cliente, aluno, etc;

  • Um conceito abstrato, como curso, cor, empresa, etc;

  • Um acontecimento, uma situação em que algo está ocorrendo ou está planejado, como fornecimento de encomenda, casamento, etc.

Forma da representação de uma entidade:

  • Em forma de retângulo;

  • Nome deve ser um ou mais substantivos;

  • Em caso de nome composto por mais de uma palavra utilizar o separador _ (hífen inferior);

  • Deve ser escrito em letra maiúscula;

  • Deve ser um nome no singular;

  • Não utilizar preposições, ou seja, em vez de HISTORICO_DE_COMPRA, utilizar HISTORICO_COMPRA

CLASSIFICAÇÃO

  • ENTIDADE FORTE: São entidades de dados que possuem alto grau de independência com relação a existência e identificação. São blocos de dados de maior peso específico e podem ter ocorrências independentes da presença de outras entidades.

  • ENTIDADE FRACA: É a entidade cuja existência depende da existência de outra entidade, dita forte. Ex: a entidade AGENCIA não pode existir sem a entidade BANCO (forte).

  • ENTIDADE ASSOCIATIVA: Uma entidade é dita como associativa quando não existe por si só e sua existência está condicionada à existência de duas ou mais entidades. Seu identificador é formado pela concatenação dos identificadores das entidades que se associam para lhe dar origem. Ex: Entidade PUBLICACAO e AUTOR, como relaciono uma com a outra? Atravez da entidade PUBLICACAO_AUTOR.

ATRIBUTOS

Representam uma propriedade de uma entidade que necessita ser mantida (armazenada), como por exemplo, o salário ou nome de um empregado. Suas caracteristicas são:

  • Os atributos são representados dentro de retângulo que representa as entidades;

  • O nome do atributo deve ser no singular;

  • Caso um atributo seja um dos que representem unicamente uma ocorrência da entidade, ele será precedido pelo símbolo #.

  • O valor do atributo, caso ele seja obrigatório, deve ser informado para cada uma das ocorrências da entidade e, em sua representação gráfica, ser precedido pelo símbolo *.

Exemplo: A entidade BANCO possui três atributos que a caracterizam: NR_BANCO (#), o número do banco, que é o atributo determinante da entidade, logo não pode haver mais de um banco com o mesmo número. NM_BANCO (*), o nome do banco que é um campo de preenchimento obrigatório, e ID_BOLETO, o identificador do boleto, que pode ou não ser preenchido.

CLASSIFICAÇÃO quanto a existência de subatributos:

  • Atributo simples: não tem outros atributos aninhados, apenas seu valor.

  • Atributo composto: tem outros atributos aninhados (subatributos). Ex: endereço, que poderia ser composto por rua, número, complemento, bairro, cep.

CLASSIFICAÇÃO quanto a participação em chaves:

  • Identificação: atributos usados para desempenhar o papel de identificação de entidades e relacionamentos, como chaves primárias e secundárias.

  • Determinantes: atributos de preenchimento obrigatório.

  • Atributos conexão ou relacionamento: com o advento do modelo relacional intensificou-se o conceito de chave estrangeira.

QUALIFICADORES

São siglas que identificam o valor de cada atributo, que devem ser enquadrados em categorias básicas de dados. Podem ficar antes ou depois do nome do atributo.

Ex: NM_CLIENTE ou CLIENTE_NM

NR_NOTA ou NOTA_NR

DT_NASCIMENTO ou NASCIMENTO_DT

Os atributos mais utilizados são:

Qualificador

Significado

CD

Código

NM

Nome

NR

Número

VL

Valor

QT

Quantidade

TX

Taxa ou Porcentagem

DS

Descrição

SG

Sigla

DT

Data

HR

Hora

DH

Data Hora

ID

Identificador

IM

Imagem

FORMATOS

Os atributos também devem ser enquadrados em vários formatos. Os tipos de formato são diretamente dependentes do software do banco de dados. Neste caso, iremos utilizar o Oracle.

Integer

Número inteiro até 32.000

Long

Números longos mais de 32.000

Number

Números inteiros ou decimais

Char

Apenas texto

Varchar2

Textos e números

Clob

Textos muito longos

Date

Data Hora

RELACIONAMENTOS

Relacionamentos são associações entre entidades de dados. Representam as formas variadas de ligações entre os blocos de dados. Os relacionamento estão intimamente ligados às ações realizadas pelos processos sobre os dados e representam os caminhos de navegação ou rotas de acesso do modelo de dados.

Um relacionamento é representado graficamente por uma linha que une duas entidades.

Quanto a obrigatoriedade:

  • Obrigatoriedade: (linha contínua)

  • Opcionalidade: (linha tracejada)

Obs: as linhas podem ser contínuas ou tracejadas

Sintaxe: Cada ENTIDADE1 {pode ou deve} nome do relacionamento {um ou mais / um e somente um} ENTIDADE2

Quanto a cardinalidade:

  • Grau “Muitos”: ou

  • Graus “Um”:

IMPORTANTE: Um relacionamento deve ser lido nas duas direções, ou seja, para o exemplo, têm-se:

Cada PRODUTO pode estar em um ou mais ITEM_NOTA

Cada ITEM_NOTA deve possuir um e somente um PRODUTO

GRAU DE CARDINALIDADE

O grau de cardinalidade representa a quantidade de ocorrências de cada entidade que estão envolvidas no relacionamento. Podem ser:

  • 1:1 (um para um): é um tipo de relacionamento muito eficiente para evitar informações vazias, que ocupam espaço em disco e diminuem a performance do banco de dados. Para ilustrar esse tipo de relacionamento, temos a entidade Funcionario, no qual podem ser cadastrados funcionários contratados e terceirizados. Para os funcionários contratados mais informações são necessárias, e para os terceirizados, apenas informações como nome, endereco, salário e telefone. Então:

Um FUNCIONARIO pode ser um e somente um CONTRATADO e um CONTRATADO pode ser um e somente um FUNCIONARIO.

  • 1:N (um para muitos): é o tipo de relacionamento mais comum e utilizado. Ele é usado quando há uma relação hierárquica entre as entidade enviadas, onde uma das entidades pode ser subordinadas a uma de suas ocorrências. Ex: Um DEPARTAMENTO pode gerenciar vários SETORES, mas um SETOR deve estar subordinado a um e somente um DEPARTAMENTO.

  • M:N (muitos para muitos): este tipo de relacionamento é utilizado quando no relacionamento entre duas entidades não há uma relação hierárquica ou complementar. Ex: entre as entidades FILME e CLIENTE, pode-se dizer que um cliente pode locar vários filmes e que um filme pode ser locado por vários clientes. Os relacionamentos desse tipo acabam gerando uma terceira entidade para associação, chamada de associativa. Um relacionamento m:n não pode ser obrigatório para ambos os lados.

RESTRIÇÕES DE INTEGRIDADE DE BANCO DE DADOS

Integridade é um conceito fundamental em banco de dados, uma vez que diz respeito à correção, consistência e segurança dos dados armazenados. Os aspectos de integridade básica do modelo relacional estão associados aos conceitos de chave de acesso. Os principais tipos de chaves de acesso são:

  • Chave Primária (primary key): é a principal chave de acesso a uma tabela. A criação dessa chave faz com que, automaticamente, a tabela seja ordenada por essa chave e que não seja permitida duplicidade em seu valor.

A chave primária visa a manter a consistência e a unicidade dos dados de uma tabela. Ao escolher a chave primária, deve-se escolher um campo que nunca vai se repetir na tabela.

Ex: CNPJ de um cliente poderia ser chave primária? Poderia, porque cada cliente tem um único CNPJ. Mas e no caso de clientes que não tem CNPJ? Então seria indicado criar um código com valor sequencial.

  • Chave secundária: é a chave auxiliar de acesso a uma tabela. Achave secundária também possui indices, que não podem ser repetidos. Ex:

Chave secundária

  • Chave estrangeira (foreign key): permite o acesso e a validação de outras tabelas. Essa chave permite que se estabeleçam os relacionamentos em um banco de dados. A chave estrangeira deve ser compatível (tipo e tamanho dos campos) com sua correspondente em outra tabela. Ex: Os PEDIDOS se relaciona com os clientes pelo campo CLIENTE na tabela PEDIDO.

RESUMO DAS REGRAS PARA DERIVAÇÃO DE TABELAS

LÓGICO

FÍSICO

Entidade

Tabela

Atributo

Coluna/Campo

Atributo determinante

Chave primária

Relacionamento

O atributo determinante da tabela-pai será colocado como um atributo na tabela-filha

Relacionamento determinante

Chave secundária: o atributo determinante da tabela-pai será colocado como atributo na tabela-filha e fará parte da chave primária desta.

EXERCÍCIO 1: Para o Sistema de Video Locadora, temos as primeiras respostas baseadas na entrevista:

  • Tem cadastro de clientes e diferencia clientes VIPs;

  • Os clientes VIPS terão informações adicionais como: conta bancária, banco e agência, pois seus pagamentos podem ser debitados diretamente da conta.

  • Faz apenas locação de FILMES;

  • Os filmes são separados por Categorias como: terror, romance, ação, suspense, etc. E cada filme possui apenas uma Categoria;

  • Além da Categoria, os filmes também terão seus Atores cadastrados. Lembrando que um filme pode ter vários atores.

  • O cliente pode emprestar/locar quantos filmes quiser;

  • A empresa também quer sabe seus fornecedores de Filmes, caso precise trocar por defeitos.

EXERCÍCIO2: Sistema de Vendas de medicamentos. As informações baseadas na entrevista são as seguintes:

  • O sistema vende medicamentos somente para clientes cadastrados;

  • O fornecedor do medicamento pode fornecer vários itens, assim como um medicamento pode ser fornecido por vários fornecedores;

  • Os fornecedores que fornecem os anti-depressivos deverão ter informações adicionais, como inscrição na vigilancia sanitária e validade da inscrição.

  • Os medicamentos estão separados por Grupos, tipo: analgésicos, anti-depressivos, etc

  • O sistema faz apenas vendas desses medicamentos cadastrados. A venda tem que ter pelo menos um item, assim como pode ter vários itens.

Faça o DER completo e: Classifique as entidades em forte, fraca e associativa. Especifique os atributos, identificando os atributos de identificação e determinantes, e colocando seus devidos formatos. Especifique também os relacionamentos.

EXERCÍCIO 3: Sistema Empresa de Transportes Aéreos. As informações baseadas na entrevista são as seguintes:

  • A empresa quer armazenar informações sobre as aeronaves que possui (tipo da aeronava, nº poltronas);

  • Os voos (aeroporto de origem e destino, horário saída e chegada);

  • Um cliente pode fazer vários voos e quando os clientes compram os voos, eles já tem informações como: numero bilhete e número poltrona.

  • A empresa quer informações de seus clientes para uma possível mala direta.

Faça o DER completo e: Classifique as entidades em forte, fraca e associativa. Especifique os atributos, identificando os atributos de identificação e determinantes, e colocando seus devidos formatos. Especifique também os relacionamentos.

Comentários