Características
•
Integridade
•
Restrições
•
Segurança/
Privacidade
•
Restauração
•
Reorganização
•
Eficiência
DADO
•
É o valor do campo quando é
armazenado no Banco de Dados. Ex. O
valor do campo "nome do cliente"
para quem está fazendo a entrada de
dados.
Exemplo (simples): coleção
de nomes das pessoas que
você conhece, juntamente
com o endereço e telefone
de cada uma delas (podem
ser armazenados em uma
agenda
ou
em
um
CONCEITOS
•
Um Banco de Dados ou Base de
Dados (BD) e uma coleção de
dados relacionados entre si.
Com dados queremos dizer
fatos conhecidos que podem
ser armazenados e possuem
um significado implícito.
Diferenças
•
Arquivos
Podemos dizer quando
salvamos
em
arquivos
acontecem
dados
em
duplicidade e muito mais
espaço para armazenar
•
BD
Quando salvamos em
banco
de
dados
podemos
verificar
se
existe duplicidade no
arquivo e diminuir
espaço
em
disco
e
Sistema de Bancos de Dados
•
É um sistema de manutenção
de registros por computador,
envolvendo
quatro
componentes principais:
– dados,
– hardware,
– software e
– usuários.
•
O sistema de bancos de
dados pode ser considerado
como uma sala de arquivos
eletrônica [Date91].
•
Existe uma série de métodos,
técnicas e ferramentas que
visam
sistematizar
o
desenvolvimento de sistemas
de bancos de dados.
Os Componentes de um Sistema de
Bancos de Dados
Objetivos de um Sistema de Bancos de
Dados
•
–
Isolar
os
usuários
dos
detalhes mais internos do
banco de dados (abstração de
dados).
•
– Prover independência de
dados às aplicações (estrutura
física de armazenamento e à
estratégia de acesso).
Vantagens:
• – rapidez na manipulação e no acesso à
informação,
• – redução do esforço humano
(desenvolvimento e utilização),
• – disponibilização da informação no tempo
necessário,
• – controle integrado de informações distribuídas fisicamente,
• – redução de redundância e de inconsistência de informações,
• – compartilhamento de dados,
• – aplicação automática de restrições de
segurança,
Níveis de Abstração
•
Nível físico: nível mais baixo de
abstração. Descreve como os
dados
estão
realmente
armazenados,
englobando
estruturas complexas de baixo
nível.
•
Nível conceitual: descreve quais
dados estão armazenados e seus
relacionamentos. Neste nível, o banco
de dados é descrito através de
estruturas relativamente simples, que
podem envolver estruturas complexas
no nível físico.
•
Nível de visões do usuário: descreve
partes do banco de dados, de acordo
com as necessidades de cada usuário,
individualmente.
Tipos de Dados
•Servem para definir qual a melhor forma de armazenar uma informação para que ocupe menos espaço no Banco de Dados.
•Os tipos de dados que pode ter um campo, podem-se agrupar em três grandes grupos:
•Tipos numéricos
•Tipos de Data
CONCEITO
•
S.G.D.B. (SISTEMA GERENCIADOR
DE BANCO DE DADOS) - É o
software
responsável
pelo
gerenciamento (armazenamento e
recuperação) dos dados no Banco de
Dados.
–Exemplos: Oracle, MySql, Ingres,
Paradox*, Access*, DBase*.
SGBD
•
Um sistema de gerenciador de
banco de dados é composto por
vários módulos distintos:
▫
Gerenciador de dados
armazenados;
▫
Compilador DDL;
▫
Processador run-time;
▫
Compilador de consultas;
▫
O
pré-compilador
extrai
comandos DML;
MODELOS DE DADOS
•
ESQUEMAS
▫
É a descrição da base de dados e é
especificado durante o projeto da
criação da base e não costuma
sofrer mudanças.
•
DIAGRAMA DE ESQUEMA
▫
É a visualização de um esquema, e
•
INSTANCIA
São
os
dados
armazenados em um
determinado momento e
estes
dados
sofrem
alteração
LINGUAGEM DE BANCO DE DADOS
•
Linguagem de Definição de Dados
( DDL - Data Definition Language)
Utilizada pelo administrador e
projetistas da base de dados para
definição dos esquemas
O SGBD possui um compilador
para que traduz descrições em
DDL em descrições dos esquemas
em catálogo.
•
Linguagem de Manipulação
de Dados ( DML - Data
Manipulation Language)
Utilizada pelos usuários
para manipulação
( recuperação, inserção,
remoção e modificação)
dos dados.
Objetivo
•
Tabelas
•
Visões
Tabela
•
Objeto criado para armazenar os
dados fisicamente
•
Os dados são armazenados em linhas
( registros) e colunas ( campos)
•
Os
dados
de
uma
tabela
normalmente descrevem um assunto
tal como clientes, vendas, etc.
Visões
•
Tabela lógica de um banco de
Dados, não contem dados
Índices
•
É uma ferramenta usada pelo gerenciador de
Banco de Dados para facilitar a busca de
linhas dentro de uma tabela
•
Índice Único
Índice criado a partir da chave primária,
não permite a inclusão de linhas duplicadas
•
Índice de Performance
Modelo de dados
•
Um modelo de dados é a coleção de, pelo
menos, 3 componentes:
•
1) Um conjunto de tipos de estruturas de
dados
•
Define o tipo de dados e como se
inter-relacionam
•
2) Um conjunto de operadores
•
Operações que permitem manipular as
estruturas de dados definidas.
•
3) Um conjunto de
regras de integridade
Regras que definem que
dados são válidos
SQL
Operadores
lógicos,
aritméticos e relacionais
Cláusulas
• As cláusulas são condições de modificação utilizadas para definir os dados que deseja selecionar ou modificar em uma consulta.
• FROM - Utilizada para especificar a tabela que se vai selecionar os registros.
▫ SELECT * FROM Empregado
• WHERE – Utilizada para especificar as condições que devem reunir os registros que serão selecionados.
• SELECT * FROM Empregado WHERE LastName = 'Smith'
• GROUP BY – Utilizada para separar os registros selecionados em grupos específicos.
• SELECT Employee, SUM (Hours)
FROM Empregado
• HAVING – Utilizada para expressar a
condição que deve satisfazer cada grupo.
•SELECT Employee, SUM (Hours)
FROM EmployeeHours GROUP BY Employee
HAVING SUM (Hours) > 24
• ORDER BY – Utilizada para ordenar os
registros selecionados com uma ordem especifica.
• SELECT * FROM Customers ORDER BY Data DESC ou ASC
• DISTINCT – Utilizada para selecionar
dados sem repetição.
• SELECT DISTINCT LastName FROM Customers
Operadores Lógicos
• AND – E lógico. Avalia as condições e
devolve um valor verdadeiro caso ambos sejam corretos.
▫SELECT * FROM Customers
WHERE FirstName = 'Jorge' AND LastName = ‘Ciffoni'
• OR – OU lógico. Avalia as condições e
devolve um valor verdadeiro se algum for correto.
▫SELECT * FROM Customers
WHERE FirstName = 'James' OR FirstName = 'Paula'
• NOT – Negação lógica. Devolve o valor contrário da expressão.
Operadores Aritméticos
Para criar expressões aritméticas em uma consulta SQL usamos os operadores
abaixo: +(somar) -(subtrair)
*(multiplicar) /(dividir)
Os operadores acima podem ser usados apenas em colunas do tipo numérico.
Você poderá usar operadores aritméticos em qualquer cláusula, exceto na cláusula FROM
Operadores Relacionais
• < – Menor que
• > – Maior que
• <> – Diferente de
• <= – Menor ou Igual que
• >= – Maior ou Igual que
• BETWEEN – Utilizado para especificar um
intervalo de valores.
▫SELECT Column1, Column2, Column3, …
FROM Table1
WHERE Column1 BETWEEN Value1 AND Value2
• LIKE – Utilizado na comparação de um
modelo e para especificar registros de um banco de dados."Like" + extensão % vai
significar buscar todos resultados com o mesmo início da extensão.
▫SELECT * FROM Customers
Funções de Agregação
•As funções de soma se usam dentro de uma cláusula SELECT em grupos de registros
para devolver um único valor que se aplica a um grupo de registros.
•AVG – Utiliza para calcular a media dos
valores de um campo determinado.
•SELECT Employee, AVG(Hours)
FROM EmployeeHours GROUP BY Employee
•
COUNT – Utilizada para devolver o
número de registros da seleção.
•
SELECT COUNT(Column1)
FROM Table1
•
SUM – Utilizada para devolver a soma de
todos os valores de um campo
determinado.
•
SELECT SUM (Hours)
FROM EmployeeHours
•
MAX – Utilizada para devolver o valor
mais alto de um campo especificado.
▫SELECT MAX(Column1) FROM Table1
•
MIN – Utilizada para devolver o valor
mais baixo de um campo especificado.
▫SELECT MIN(Column1) FROM Table1