Escolar Documentos
Profissional Documentos
Cultura Documentos
Teoria Banco Dados
Teoria Banco Dados
Banco de Dados - Representa o arquivo fsico de dados, armazenado em dispositivos perifricos, onde esto
armazenados os dados de diversos sistemas, para consulta e atualizao pelo usurio.
Tabelas Lgicas - Representam as estruturas de armazenamento de dados (arquivos) dos sistemas.
10
15
Contedo do campo - o valor do campo armazenado no Banco de Dados. Ex. O valor do campo "nome do
cliente" sem estar, momentaneamente, sendo utilizado.
Informao - o valor que este campo representa para as atividades da empresa. Ex. Resposta a uma consulta.
Qual os nomes do clientes localizados no Rio de Janeiro?
20
Modelo de Banco de Dados: Modelo Relacional, Modelo Hierrquico e Modelo em Rede. Representa a
estrutura fsica no qual o armazenamento dos dados foram projetados. O modelo identifica a estrutura
interna de recuperao e armazenamento dos dados no qual o SGBD foi projetado.
1.2 - Representao Fsica do Banco de Dados
TABELAS
LGICAS
25
INFORMAES PARA
O USURIO
30
BANCO DE DADOS
(Arquivo Fsico)
35
1.3 - Vises do Banco de Dados
a - Viso Interna - aquela vista pelo responsvel pela manuteno e desenvolvimento do SGBD. Existe a
preocupao com a forma de recuperao e manipulao dos dados dentro do Banco de Dados.
40
45
b - Viso Conceitual - aquela vista pelo analista de desenvolvimento e pelo administrador das bases de
dados. Existe a preocupao na definio de normas e procedimentos para manipulao dos dados, para
garantir a sua segurana e confiabilidade, o desenvolvimento de sistemas e programas aplicativos e a
definio no banco de dados de novos arquivos e campos. Na viso conceitual, existem 2 (duas)
linguagens de operao que so:
a) Linguagem de definio dos dados (DDL) - Linguagem que define as aplicaes, arquivos e campos que
iro compor o banco de dados (comandos de criao e atualizao da estrutura dos campos dos arquivos).
b) Linguagem de manipulao dos dados (DML) - Linguagem que define os comandos de manipulao e
operao dos dados (comandos de consulta e atualizao dos dados dos arquivos).
c - Viso Externa - aquela vista pelo usurio que opera os sistemas aplicativos, atravs de interfaces
desenvolvidas pelo analista (programas), buscando o atendimento de suas necessidades.
5
10
UTILIZAO DAS
APLICAES DESENVOLVIDAS
DESENVOLVIMENTO DE APLICAES
VISO EXTERNA
VISO CONCEITUAL
VISO INTERNA
15
20
25
Sistema Tradicional - So aqueles em que os dados do sistema esto armazenados fisicamente separados um
do outro. O acesso feito pelos programas de aplicao, associando o nome externo dos arquivos e
definindo todo o registro independente da utilizao dos campos.
Sistema de Banco de Dados - aquele em que os dados so definidos para o S.G.B.D., atravs da DDL
(linguagem de definio de dados). Fisicamente esto armazenados em um nico local, sendo o acesso
realizado apenas atravs do S.G.B.D. Nos programas de aplicao, necessrio apenas definir os campos
que sero utilizados pelo programa.
1.4.2 - Vantagens do Banco de Dados
30
35
40
45
50
5 - Padronizao dos Dados - Permite que os campos armazenados na base de dados sejam padronizados
segundo um determinado formato de armazenamento (padronizao de tabela, contedo de comps, etc) e
ao nome de variveis seguindo critrios padres preestabelecido pela empresa. Ex. Para o campo "Sexo"
somente ser permitido armazenamento dos contedos "M" ou "F".
6 - Independncia dos Dados - Representa a forma fsica de armazenamento dos dados no Banco de Dados e a
recuperao das informaes pelos programas de aplicao. Esta recuperao dever ser totalmente
independente da maneira com que os dados esto fisicamente armazenados. Quando um programa retira
ou inclui dados o SGBD compacta-os para que haja um menor consumo de espao no disco. Este
10
b - Quando h incluso de novos campos no arquivo, ser feita manuteno apenas nos programas que utilizam
esses campos, no sendo necessrio mexer nos demais programas. Obs.: Nos sistemas tradicionais este
tipo de operao requer a alterao no lay-out de todos os programas do sistema que utilizam o arquivo.
7 - Manuteno da Integridade - Consiste em impedir que um determinado cdigo ou chave em uma tabela
no tenha correspondncia em outra tabela. Ex. Um cdigo de uma determinada disciplina na tabela
Histrico Escolar sem a sua descrio na tabela Disciplina.
2 - NORMALIZAO DE DADOS
2.1 - Definio
15
20
Consiste em definir o formato lgico adequado para as estruturas de dados identificados no projeto lgico do
sistema, com o objetivo de minimizar o espao utilizado pelos dados e garantir a integridade e
confiabilidade das informaes.
A normalizao feita, atravs da anlise dos dados que compem as estruturas utilizando o conceito chamado
"Formas Normais (FN)". As FN so conjuntos de restries nos quais os dados devem satisfaz-las.
Exemplo, pode-se dizer que a estrutura est na primeira forma normal (1FN), se os dados que a compem
satisfizerem as restries definidas para esta etapa.
A normalizao completa dos dados feita, seguindo as restries das quatro formas normais existentes, sendo
que a passagem de uma FN para outra feita tendo como base o resultado obtido na etapa anterior, ou
seja, na FN anterior.
25
Para realizar a normalizao dos dados, primordial que seja definido um campo chave para a estrutura, campo
este que permite ir identificar os demais campos da estrutura. Formas Normais existentes:
2.2 - Primeira Forma Normal (1FN)
Consiste em retirar da estrutura os elementos repetitivos, ou seja, aqueles dados que podem compor uma
estrutura de vetor. Podemos afirma que uma estrutura est normalizada na 1FN, se no possuir elementos
repetitivos. Exemplo:
30
Estrutura original:
Arquivo de Notas Fiscais (Num. NF, Srie, Data emisso, Cod. do Cliente, Nome do cliente, Endereo do
cliente, CGC do cliente, Relao das mercadorias vendidas (onde para cada mercadoria temos: Cdigo da
Mercadoria, Descrio da Mercadoria, Quantidade vendida, Preo de venda e Total da venda desta
mercadoria) e Total Geral da Nota)
35
Analisando a estrutura acima, observamos que existem vrias mercadorias em uma nica Nota Fiscal, sendo
portanto elementos repetitivos que devero ser retirados.
Estrutura na primeira forma normal (1FN):
Arquivo de Notas Fiscais (Num. NF, Srie, Data emisso, Cdigo do Cliente, Nome Cliente, Endereo do
cliente, CGC do cliente e Total Geral da Nota)
40
Arquivo de Vendas (Num. NF, Cdigo da Mercadoria, Descrio da Mercadoria, Quantidade vendida, Preo de
venda e Total da venda desta mercadoria)
Obs. Os campos sublinhados identificam as chaves das estruturas.
Como resultado desta etapa ocorre um desdobramento dos dados em duas estruturas, a saber:
45
- Primeira estrutura (Arquivo de Notas Fiscais): Dados que compem a estrutura original, excluindo os
elementos repetitivos.
- Segundo estrutura (Arquivo de Vendas): Dados que compem os elementos repetitivos da estrutura original,
tendo como chave o campo chave da estrutura original (Num. NF) e o campo chave da estrutura de
repetio (Cdigo da Mercadoria).
2.3 - Segunda Forma Normal (2FN)
10
Consiste em retirar das estruturas que possuem chaves compostas (campo chave sendo formado por mais de um
campo), os elementos que so funcionalmente dependente de parte da chave. Podemos afirmar que uma
estrutura est na 2FN, se ela estiver na 1FN e no possuir campos que so funcionalmente dependente de
parte da chave. Exemplo:
Estrutura na primeira forma normal (1FN):
Arquivo de Notas Fiscais (Num. NF, Srie, Data emisso, Cdigo do Cliente, Nome do cliente, Endereo do
cliente, CGC do cliente e Total Geral da Nota)
Arquivo de Vendas (Num. NF, Cdigo da Mercadoria, Descrio da Mercadoria, Quantidade vendida, Preo de
venda e Total da venda desta mercadoria)
15
Estrutura na segunda forma normal (2FN):
Arquivo de Notas Fiscais (Num. NF, Srie, Data emisso, Cdigo do Cliente, Nome do cliente, Endereo do
cliente, CGC do cliente e Total Geral da Nota)
Arquivo de Vendas (Num. NF, Cdigo da Mercadoria, Quantidade vendida e Total da venda desta mercadoria)
20
25
- Segundo estrutura (Arquivo de Mercadorias): Contm os elementos que so identificados apenas pelo Cdigo
da Mercadoria, ou seja, independentemente da Nota Fiscal, a descrio e o preo de venda sero
constantes.
2.4 - Terceira Forma Normal (3FN)
30
Consiste em retirar das estruturas os campos que so funcionalmente dependentes de outros campos que no
so chaves. Podemos afirmar que uma estrutura est na 3FN, se ela estiver na 2FN e no possuir campos
dependentes de outros campos no chaves. Exemplo:
Estrutura na segunda forma normal (2FN):
35
Arquivo de Notas Fiscais (Num. NF, Srie, Data emisso, Cdigo do Cliente, Nome do cliente, Endereo do
cliente, CGC do cliente e Total Geral da Nota)
Arquivo de Vendas (Num. NF, Cdigo da Mercadoria, Quantidade vendida e Total da venda desta mercadoria)
Arquivo de Mercadorias (Cdigo da Mercadoria, Descrio da Mercadoria, Preo de venda)
Estrutura na terceira forma normal (3FN):
40
Arquivo de Notas Fiscais (Num. NF, Srie, Data emisso, Cdigo do Cliente e Total Geral da Nota)
Arquivo de Vendas (Num. NF, Cdigo da Mercadoria, Quantidade vendida e Total da venda desta mercadoria)
Arquivo de Mercadorias (Cdigo da Mercadoria, Descrio da Mercadoria, Preo de venda)
Arquivo de Clientes (Cdigo do Cliente, Nome do cliente, Endereo do cliente e CGC do cliente)
45
Como resultado desta etapa, houve um desdobramento do arquivo de Notas Fiscais, por ser o nico que possua
campos que no eram dependentes da chave principal (Num. NF), uma vez que independente da Nota
Fiscal, o Nome, Endereo e CGC do cliente so inalterados. Este procedimento permite evitar
inconsistncia nos dados dos arquivos e economizar espao por eliminar o armazenamento freqente e
repetidas vezes destes dados. A cada nota fiscal comprada pelo cliente, haver o armazenamento destes
dados e poder ocorrer divergncia entre eles.
5
10
Aps a normalizao, as estruturas dos dados esto projetadas para eliminar as inconsistncias e redundncias
dos dados, eliminando desta forma qualquer problema de atualizao e operacionalizao do sistema. A
verso final dos dados poder sofrer alguma alterao, para atender as necessidades especficas do
sistema, a critrio do analista de desenvolvimento durante o projeto fsico do sistema.
3.1 - Definio
Consiste em mapear o mundo real do sistema em um modelo grfico que ir representar o modelo e o
relacionamento existente entre os dados.
Entidade - Identifica o objeto de interesse do sistema e tem "vida" prpria, ou seja, a representao abstrata de
um objeto do mundo real sobre o qual desejamos guardar informaes.
20
25
30
Exemplo: Nome do aluno, Nmero da turma, Endereo do fornecedor, Sexo do funcionrio, etc.
Domnio do Atributo - Universo de valores que um atributo pode armazenar.
Exemplo:
Conjunto de valores do atributo Sexo do funcionrio: M ou F;
Conjunto de valores do atributo Nome do aluno: 40 caracteres alfanumrico.
35
- Entidade
5
- Relacionamento
10
15
- Atributo
20
Relacionamento - Representa a associao entre os elementos do conjunto de um entidade com outra entidade.
25
Exemplo:
O Joo est matriculado na disciplina de Banco de Dados
onde:
30
35
ALUNO
MATRICULADO
DISCIPLINA
40
3.3 - Cardinalidade de Relacionamentos
Exemplo:
Relacionamento 1:1 - O Joo casado com a Maria.
onde:
50
HOMEM
CASAMENTO
MULHER
10
Relacionamento 1:N ou N:1 - O Pedro trabalha no Departamento Pessoal.
onde:
15
20
N
EMPREGADOS
1
LOTAO
DEPARTAMENTO
25
Relacionamento N : M - O Antnio est matriculado na disciplina Banco de Dados.
onde:
30
35
N
ALUNOS
MATRICULAD
O.
M
DISCIPLINA
40
3.4 - Atributos do Relacionamento
- Quando um determinado relacionamento possui atributos, tambm conhecido como relacionamento valorado.
Esta situao ocorre apenas em relacionamento N : M.
Ex. Pedro trabalha no projeto Alfa 30 horas.
45
50
- trabalha - Ligao existente entre um funcionrio e um projeto. Neste caso, este funcionrio trabalha 30
horas neste projeto, porm este mesmo funcionrio poder trabalhar outro nmero de horas em outro
projeto, assim como outro funcionrio trabalha outro nmero de horas no mesmo projeto Alfa. Podemos
concluir que 30 horas o atributo que pertence ao Pedro no projeto Alfa.
FUNCIONRIO
PROJETO
TRABALH
5
HORAS
10
COMERCIALIZA
20
MATERIAIS
M
N
PROJETOS
25
UTILIZAM
MATERIAIS
FORNECEDORES
1
UTILIZADO
35
N
40
PROJETOS
Exemplos de Relacionamento:
- O Professor Alberto leciona Estrutura de Dados e o aluno Pedro cursa Linguagem de Programao
PROFESSOR
DISCIPLINA
LECIONA
10
M
ALUNO
CURSA
15
- Pedro comprou 1 Kg. de banana do vendedor Manoel
PRODUTOS
CLIENTES
20
1
N
VENDA
25
VENDEDORES
30
Obs. Para que haja uma venda, tem que haver um cliente, um produto e um vendedor.
4 - LINGUAGEM SQL
A linguagem SQL (Structured Query Language) representa um conjunto de comandos responsveis pela
definio das tabelas, comandos e atualizao dos dados em um S.G.B.D.
35
40
Objetivo:
Criar a estrutura de uma tabela(arquivo) definido as colunas (campos) e as chaves primrias e
estrangeiras existentes.
45
Sintaxe:
CREATE TABLE <nome-tabela>
(<nome-coluna> , <tipo-do-dado> [NOT NULL]
[NOT NULL WITH DEFAULT] )
PRIMARY KEY (nome-coluna-chave)
50
10
d) NOT NULL - Exige o preenchimento do campo, ou seja, no momento da incluso obrigatrio que
possua um contedo.
15
e) NOT NULL WITH DEFAULT - Preenche o campo com valores pr-definidos, de acordo com o tipo do
campo, caso no seja especificado o seu contedo no momento da incluso do registro. Os valores pr-definidos
so:
e.1) Campos numricos - Valor zero.
e.2 ) Campos alfanumricos - Caracter branco.
e.3) Campo formato Date - Data corrente.
e.4) Campo formato Time - Horrio no momento da operao.
20
f) PRIMARY KEY (nome-coluna-chave) - Definir para o banco de dados a coluna que ser a chave
primria da tabela. Caso ela tenha mais de um coluna como chave, elas devero ser relacionadas entre os
parnteses.
g) FOREIGN KEY (nome-coluna-chave-estrangeira) REFERENCES (nome-tabela-pai) - Definir para o
banco de dados as colunas que so chaves estrangeiras, ou seja, os campos que so chaves primrias de outras
tabelas. Na opo REFERENCES deve ser especificado a tabela na qual a coluna a chave primria.
25
30
h) ON DELETE - Esta opo especifica os procedimentos que devem ser feitos pelo SGBD quando
houver uma excluso de um registro na tabela pai quando existe um registro correspondente nas tabelas filhas.
As opes disponveis so:
h.1) RESTRICT - Opo default. Esta opo no permite a excluso na tabela pai de um registro cuja
chave primria exista em alguma tabela filha.
h.2) CASCADE - Esta opo realiza a excluso em todas as tabelas filhas que possua o valor da chave
que ser excluda na tabela pai.
h.3) SET NULL - Esta opo atribui o valor NULO nas colunas das tabelas filhas que contenha o valor da
chave que ser excluda na tabela pai.
Tipos de dados mais comuns:
35
40
45
1) Numricos:
- Smallint - Armazena valores numricos, em dois bytes binrios, compreendidos entre o intervalo
-32768 a +32767.
- Integer - Armazena valores numricos, em quatro bytes binrios, compreendidos entre o intervalo
-2147483648 a +2147483647
- Decimal(n,m) - Armazena valores numricos com no mximo 15 dgitos. Nesta opo deve ser
definida a quantidade de dgitos inteiros (n) e casas decimais (m) existentes no campo.
2) Alfanumricos:
- Varchar (n) - Definir um campo alfanumrico de at n caracteres, onde n deve ser menor ou igual a 254
caracteres.
- Char (n) - Definir um campo alfanumrico de n caracteres, onde n deve ser menor ou igual a 254
caracteres.
- Long Varchar - Definir um campo alfanumricos de comprimento maior que 254 caracteres.
3) Campo Date - Definir um campo que ir armazenar datas.
4) Campo Time - Definir um campo que ir armazenamento de horrio.
Objetivo:
5
10
15
20
[CASCADE]
[SET NULL]
DROP FOREIGN KEY (nome-coluna-chave-estrangeira) REFERENCES
(nome-tabela-pai)
onde:
25
30
35
40
i) ADD PRIMARY KEY <nome-coluna> - Esta opo utilizada quando acrescido um novo campo
como chave primria da tabela.
j) DROP PRIMARY KEY <nome-coluna> - Esta opo utilizada quando retirado um campo como
chave primria da tabela.
l) ADD FOREIGN KEY <nome-coluna> - Esta opo utilizada quando acrescido um novo campo
sendo ele uma chave estrangeira.
l) DROP FOREIGN KEY <nome-coluna> - Esta opo utilizada quando retirado uma chave
estrangeira da estrutura da tabela.
5
Objetivo:
Deletar a estrutura e os dados existentes em uma tabela. Aps a execuo deste comando estaro
deletados todos dados, estrutura e ndices de acessos que estejam a ela associados.
Sintaxe:
10
15
Objetivo:
Criar uma estrutura de ndice de acesso para uma determinada coluna em uma tabela. Um ndice de
acesso permite um acesso mais rpido aos dados em uma operao de seleo. Os ndices podem ser criados a
partir de um ou mais campos de uma tabela.
Sintaxe:
20
[DESC]
onde:
a) nome-ndice - Representa o nome da estrutura de ndice que ser criada.
25
b) nome-tabela - Representa o nome da tabela que contem a coluna na qual ser criada o ndice de acesso.
c) nome-coluna - Representa o nome da coluna que ser criada.
d) Opo ASC/DESC - Representa a criao do ndice ordenada crescentemente (ASC) ou
decrescentemente (DESC).
4.1.5 - Drop Index
30
Objetivo:
Deletar uma estrutura de ndice de acesso para uma determinada coluna em uma tabela.
Sintaxe:
DROP INDEX <nome-ndice>
onde:
35
Objetivo:
Incluir um novo registro em uma tabela do Banco de Dados.
40
Sintaxe:
INSERT INTO <nome-tabela> [(<nome-coluna>, [<nome-coluna>])]
10
2) Quando apenas parte dos campos da tabela tero contedo - Neste caso devem ser especificadas todas
as colunas que tero contedo e os valores relacionados devero obedecer esta seqncia. Para os campos que
no tem contedo especificado ser preenchido o valor NULL.
4.2.2 - Update
Objetivo:
Atualiza os dados de um ou um grupo de registros em uma tabela do Banco de Dados.
15
Sintaxe:
UPDATE <nome-tabela>
SET <nome-coluna> = <novo contedo para o campo>
[<nome-coluna> = <novo contedo para o campo>]
WHERE <condio>
20
onde:
a) nome-tabela - Representa o nome da tabela cujo contedo ser alterado.
b) nome-coluna - Representa o nome da(s) coluna(s) tero seus contedos alterados com o novo valor
especificado.
25
c) condio - Representa a condio para a seleo dos registros que sero atualizados. Este seleo
poder resultar em um ou vrios registros. Neste caso a alterao ir ocorrer em todos os registros selecionados.
4.2.3 - Delete
Objetivo:
Deletar um ou um grupo de registros em uma tabela do Banco de Dados.
Sintaxe:
30
35
b) condio - Representa a condio para a deleo dos registros. Este seleo poder resultar em um ou
vrios registros. Neste caso a operao ir ocorrer em todos os registros selecionados.
4.2.4 - Select
Objetivo:
40
Selecionar um conjunto de registros em uma ou mais tabelas que atenda a uma determinada condio
definida pelo comando.
Sintaxe:
SELECT ALL FROM <nome-tabela> [, <nome-tabela>]
DISTINCT
WHERE <condio>
GROUP BY <nome-coluna>
HAVING <condio>
5
10
b) condio - Representa a condio para a seleo dos registros. Este seleo poder resultar em um ou
vrios registros.
c) nome-coluna - Representa a(s) coluna(s) cujos resultados so grupados para atender consulta.
d) ALL - Opo default. Mostra todos os valores obtidos na seleo.
e) DISTINCT - Opo que mostra os valores obtidos na seleo eliminando as duplicidades.
15
20
i) ORDER BY - Esta opo quando utilizada apresenta o resultado da consulta ordenado de forma
crescente ou decrescente pelos campos definidos.
Algumas funes utilizadas no comando Select.
a) COUNT(*)
(DISTINCT <nome-campo>)
Objetivo:
25
30
DISTINCT
Objetivo:
Retorna a soma dos valores existentes no campo especificado. Quando a opo DISTINCT utilizada
so consideradas apenas os diferentes valores existentes no campo.
35
40
d) MAX (ALL <nome-campo>)
DISTINCT
Objetivo:
Retorna o maior valor existente no campo especificado. Quando a opo DISTINCT utilizada so
consideradas apenas os diferentes valores existentes no campo.
e) MIN (ALL <nome-campo>)
5
DISTINCT
Objetivo:
Retorna o menor valor existente no campo especificado. Quando a opo DISTINCT utilizada so
consideradas apenas os diferentes valores existentes no campo.
NDICE
1 - CONCEITOS GERAIS DE BANCO DE DADOS
1.1 - Conceitos
1.2 - Representao Fsica do Banco de Dados
1.3 - Vises do Banco de Dados
1.4 - Vantagens do Banco de Dados em relao arquitetura tradicional
1.4.1 - Definies
1.4.2 - Vantagens do Banco de Dados
2 - NORMALIZAO DE DADOS
2.1 - Definio
2.2 - Primeira Forma Normal (1FN)
2.3 - Segunda Forma Normal (2FN)
2.4 - Terceira Forma Normal (3FN)
3 - MODELO DE ENTIDADE E RELACIONAMENTO (MER)
3.1 - Definio
3.2 - Representao Grfica
3.3 - Cardinalidade de Relacionamentos
3.4 - Atributos do Relacionamento
3.5 - Grau do Relacionamento
3.5.1 - Relacionamento Binrio
3.5.2 - Relacionamento Ternrio
4 - LINGUAGEM SQL
4.1 - Comandos DDL
4.1.1 - Create Table
4.1.2 - Alter Table
4.1.3 - Drop Table
4.1.4 - Create Index
4.1.5 - Drop Index
4.2 - Comandos DML
4.2.1 - Insert
4.2.2 - Update
4.2.3 - Delete
4.2.4 - Select
5