Guia Completo de Sistemas Gerenciadores de Banco de Dados (SGBD)
Classificado em Computação
Escrito em em português com um tamanho de 9,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?
- Durante o modelo conceitual;
- Na derivação do modelo conceitual para o lógico;
- Ou após a derivação do modelo lógico.
Benefícios:
- Estabilidade do modelo lógico;
- Flexibilidade;
- Integridade;
- Economia;
- 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áusulagroup 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;