Guia Completo de Sistemas Gerenciadores de Banco de Dados (SGBD)

Computação9,19 KB

Sistemas Gerenciadores de Banco de Dados (SGBD)

Sistema responsável por gerenciar, armazenar e controlar volumes diferenciados de dados. É constituído por um banco de dados e programas para manipular, manter e tratar os dados.

Sistemas Gerenciadores de Arquivos

Sistema responsável por gerenciar arquivos dispersos ou não na organização. Não possui um programa único para manipular, gerenciar e garantir a qualidade dos dados. Cada programador aplica as regras conforme a sua conveniência. Não garante a qualidade dos dados, nem a sua integridade, diminuindo assim a confiabilidade e segurança.

Banco de Dados

Conjunto de dados inter-relacionados com um assunto ou propósito comum.

Vantagens de um SGBD

  • Segurança
  • Integridade
  • Confiabilidade
  • Velocidade na obtenção dos dados
  • Dados compactados
  • Regras de controle e validação centralizadas

Abstração dos Dados

Refere-se aos níveis de complexidade nos quais encontramos os dados, podendo ser num nível simplificado conhecido como visão, um nível intermediário denominado conceitual e, por fim, o mais complexo conhecido como físico.

Instância

Como os dados estão armazenados em um determinado instante no banco de dados. É bastante volátil, pois sofre alterações constantes.

Esquema

Sofre poucas alterações, pois qualquer alteração na estrutura gera grandes transtornos. O esquema é, então, o projeto de um banco de dados implantado em um SGBD.

Níveis de Modelo

Mundo Real → Modelo Descritivo → Modelo Conceitual → Modelo Lógico → Modelo Físico

Mundo Real

É o ambiente fonte das análises e interpretações do analista de sistemas. Este ambiente é totalmente abstrato e sem nenhum formalismo, o que dificulta a implementação computacional.

Modelo Descritivo

Modelo descrito em linguagem natural sem nenhum formalismo. Este tipo de modelo consiste em um documento textual onde o analista define e delimita o escopo do problema e as informações relevantes para sua análise. Pode gerar muita ambiguidade.

Modelo Conceitual

Modelo preocupado com a semântica e as interações entre as entidades mapeadas do modelo descritivo. Demonstra de forma simplória os relacionamentos entre as entidades. É o primeiro modelo formal e é derivado do modelo descritivo. Sua principal vantagem é a visualização simples das entidades e relacionamentos e a possibilidade de validar o modelo com o cliente.

Modelo Lógico

Modelo formal derivado do modelo conceitual onde empregamos elementos que afetam o projeto, pois neste modelo devemos levar em consideração o SGBD, a performance desejada, o ambiente onde será inserido, e tudo mais que afetar o projeto. Este modelo é a imagem que será implementada no SGBD.

Modelo Físico

Modelo derivado do modelo lógico, que é o resultado da implementação do modelo em um SGBD através de linguagem SQL. Esse modelo não é facilmente visualizado, pois depende da estrutura de arquivos utilizada pelo SGBD.

Domínio

Conjunto de valores válidos para uma coluna de uma tupla.

Normalização e Formas Normais

Tem como finalidade definir o formato lógico adequado para a estrutura de dados de uma tabela de um banco de dados relacional. Seu objetivo principal é diminuir a redundância e garantir a integridade e confiabilidade das informações. Para isso, foi proposto uma série de passos para que possamos verificar, validar e ajustar a estrutura de dados. A normalização não possui finalidade restritiva, e sim organizacional.

Quando pode ocorrer?

  1. Durante o modelo conceitual;
  2. Na derivação do modelo conceitual para o lógico;
  3. Ou após a derivação do modelo lógico.

Benefícios:

  1. Estabilidade do modelo lógico;
  2. Flexibilidade;
  3. Integridade;
  4. Economia;
  5. Fidelidade ao ambiente.

1ª Forma Normal

Um modelo está na 1ª forma normal, se e somente se, estiver integrado por tabelas (tuplas). Cada linha da tabela seja única e não contenha itens repetitivos, e os atributos devem ser atômicos e não podem possuir valores nulos (hoje já não é mais exigido).

  • Integrado por tabelas;
  • Linhas únicas;
  • Não possui itens repetitivos;
  • Atributos atômicos;
  • Não possui valores nulos (hoje já não é mais exigido).

Exemplo de tabela:

Numero | Serie | Nomecliente | Produtovendido | Endereço | CGC | Data | Totalnota

Esquema:

Nota fiscal (numero, serie, nomecliente, produtovendido (codigo,descricao, quantidade, valorunitario, valortotal), endereco, CGC, data, totalnota).

Esta tabela fere a norma, pois produtovendido está limitado; o correto é dividir em outra coluna.

2ª Forma Normal

Uma tabela está na 2ª forma normal, se e somente se, estiver na 1ªFN e cada uma das colunas não pertencentes à chave não for dependente parcial desta (mais de uma coluna faz parte da chave primária).

3ª Forma Normal

Uma tabela está na 3ª forma normal, se e somente se, estiver na segunda Forma Normal e não possuir nenhuma coluna dependente de um campo não chave.

SQL (Structured Query Language)

  • Criada pela IBM;
  • Chamada de SEQUEL;
  • Foi padronizada pela ISO/ANSI em 1986;
  • Suportada hoje pela maioria dos SGBDs.

DDL: Linguagem de Definição de Dados

Define as estruturas do banco de dados, criando banco de dados, tabelas, índices, relacionamentos, etc.

Exemplos:

  • Create: cria uma tabela a partir de um esquema. Gera entradas nos metadados do SGBD.
  • Drop: elimina uma tabela do banco de dados, retira linhas dos metadados.
  • Alter: altera o esquema de um elemento de um banco de dados.

Sintaxe Create:


Create table nome (
  coluna1 tipo [null/not null],
  ...
  colunaN tipo [null/not null],
  primary key(coluna1, ..., colunaN),
  foreign key(Coluna N) references (chave_primaria)
);

Sintaxe Drop:


Drop table nome;

Sintaxe Alter:


Alter table nome drop coluna1, ..., colunaN;
Alter table nome add coluna1 tipo, ...,
            colunaN tipo;

DML (Linguagem de Manipulação de Dados)

São instruções que operam com os dados contidos no banco de dados.

  • Select: Consulta os dados de uma ou mais tabelas.

Sintaxe Select:


Select colunas from tabelas where condição;

Colunas: Colunas desejadas na pesquisa.
Tabelas: Determina em quais tabelas serão efetuadas as pesquisas.
Condição: Condição para que se execute a pesquisa.

Outras Cláusulas do Select

  • Order by: ordena as linhas de uma consulta por uma coluna especificada;
  • Group by: agrupa as linhas com o mesmo valor;
  • Having: filtra as linhas agrupadas sempre após a cláusula group by.

Funções Agregadas

São funções pré-programadas da linguagem SQL. Pegam uma coleção de valores e retornam um valor simples.

  • AVG: calcula média;
  • MIN: pega o menor;
  • MAX: pega o maior;
  • SUM: soma dados;
  • COUNT: conta os valores.
  • UPDATE: Permite modificar colunas de uma tabela. Deve-se sempre ter um filtro para limitar a quantidade de linhas afetadas.

Sintaxe Update:


UPDATE nomedatabela SET coluna1=valor1, colunan=valorn WHERE filtro;
  • DELETE: Elimina uma ou mais linhas de uma tabela. O filtro é importante para não termos resultados insatisfatórios.

Sintaxe Delete:


DELETE FROM tabela WHERE filtro;
  • INSERT: Cria uma nova linha em uma tabela, baseado no esquema da mesma.

Sintaxe Insert:


INSERT INTO tabela(coluna1, ..., colunan) values (valor1, ..., valorn);

Comandos DCL (Data Control Language)

É a linguagem de controle de dados utilizada para garantir o controle e segurança ao acessar elementos de um banco de dados, dando ou tirando privilégios.

Comandos:

  • GRANT: Dá acesso a um usuário ou grupo de usuários para ver, excluir, modificar ou incluir dados em uma ou várias tabelas de um banco de dados.

Exemplo:


GRANT INSERT, UPDATE, DELETE, SELECT PESSOA TO ANALISTAS;
  • REVOKE: Retira os acessos de um ou mais usuários de uma ou mais tabelas ou outro objeto de um banco de dados.

Exemplo:


REVOKE INSERT, UPDATE, DELETE, SELECT PESSOA TO ANALISTAS;

Baixar

PDF Word HTML