Você está na página 1de 17

Teoria de Banco de Dados

1 - CONCEITOS GERAIS DE BANCO DE DADOS


1.1 - Conceitos

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

S.G.D.B. (Sistema Gerenciador de Banco de Dados) - o software responsvel pelo gerenciamento


(armazenamento e recuperao) dos dados no Banco de Dados.
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.

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

UTILIZANDO RECURSOS DO S.G.B.D.


DESENVOLVIMENTO DO S.G.B.D.

VISO INTERNA

15

1.4 - Vantagens do Banco de Dados em relao arquitetura tradicional


1.4.1 - Definies

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

1 - Reduo ou Eliminao de Redundncias - Possibilita a eliminao de dados privativos de cada sistema.


Os dados, que eventualmente so comuns a mais de um sistema, so compartilhados por eles, permitindo
o acesso a uma nica informao sendo consultada por vrios sistemas.
2 - Eliminao de Inconsistncias - Atravs do armazenamento da informao em um nico local com acesso
descentralizado e, sendo compartilhada vrios sistemas, os usurios estaro utilizando uma informao
confivel. A inconsistncia ocorre quando um mesmo campo tem valores diferentes em sistemas
diferentes. Exemplo, o estado civil de uma pessoa solteiro em um sistema e casado em outro. Isto ocorre
porque esta pessoa atualizou o campo em um sistema e no o atualizou em outro. Quando o dado
armazenado em um nico local e compartilhado pelos sistemas, este problema no ocorre.
3 - Compartilhamento dos Dados - Permite a utilizao simultnea e segura de um dado, por mais de uma
aplicao ou usurio, independente da operao que esteja sendo realizada. Deve ser observada apenas o
processo de atualizao concorrente, para no gerar erros de processamento (atualizar simultaneamente o
mesmo campo do mesmo registro). Os aplicativos so por natureza multiusurio.
4 - Restries de Segurana - Define para cada usurio o nvel de acesso a ele concedido (leitura, leitura e
gravao ou sem acesso) ao arquivo e/ou campo. Este recurso impede que pessoas no autorizadas
utilizem ou atualizem um determinado arquivo ou campo.

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

conhecimento do formato de armazenamento do campo totalmente transparente para o usurio. A


independncia dos dados permite os seguintes recursos:
a - Os programas de aplicao definem apenas os campos que sero utilizados independente da estrutura interna
dos arquivos
5

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

Arquivo de Mercadorias (Cdigo da Mercadoria, Descrio da Mercadoria, Preo de venda)


Como resultado desta etapa, houve um desdobramento do arquivo de Vendas (o arquivo de Notas Fiscais, no
foi alterado, por no possuir chave composta) em duas estruturas a saber:
- Primeira estrutura (Arquivo de Vendas): Contm os elementos originais, sendo excludos os dados que so
dependentes apenas do campo Cdigo da Mercadoria.

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

As estruturas alteradas foram pelos motivos, a saber:


- Primeira estrutura (Arquivo de Notas Fiscais): Contm os elementos originais, sendo excludo os dados que
so dependentes apenas do campo Cdigo do Cliente (informaes referentes ao cliente).
- Segundo estrutura (Arquivo de Clientes): Contm os elementos que so identificados apenas pelo Cdigo do
Cliente, ou seja, independente da Nota Fiscal, o Nome, Endereo e CGC dos clientes sero constantes.

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 - MODELO DE ENTIDADE E RELACIONAMENTO (MER)


15

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

Exemplo: Clientes, Fornecedores, Alunos, Funcionrios, Departamentos, etc.


No so entidades:
- Entidade com apenas 1 elemento;
- Operaes do sistema;
- Sadas do sistema;

25

- Pessoas que realizam trabalhos (usurios do sistema);


- Cargos de direo
Instncia de Entidade - So os elementos da entidade.
Exemplo: Cliente 10, Funcionrio Joo, Aluno Pedro, etc.
Atributo - Informaes que desejamos guardar sobre a instncia de entidade.

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

Conjunto de valores do atributo salrio: inteiro maior que 5000

3.2 - Representao Grfica

- 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

- Joo - Elemento do conjunto de valores do atributo Nome do aluno da entidade Aluno;


- Banco de Dados - Elemento do conjunto de valores do atributo Nome da disciplina da entidade
Disciplina;
- matriculado - Ligao existente entre um aluno e uma disciplina.

35
ALUNO

MATRICULADO

DISCIPLINA

40
3.3 - Cardinalidade de Relacionamentos

Representa a freqncia com que existe o relacionamento.


45

Exemplo:
Relacionamento 1:1 - O Joo casado com a Maria.
onde:

50

- Joo - Elemento do conjunto de valores do atributo Nome da entidade Homem.

- Maria - Elemento do conjunto de valores do atributo Nome da entidade Mulher.


- casado - Ligao entre um homem e uma mulher, sendo que um homem pode ser casado com uma e
apenas uma mulher, assim como uma mulher pode ser casada com um e apenas um homem.
5
1

HOMEM

CASAMENTO

MULHER

10
Relacionamento 1:N ou N:1 - O Pedro trabalha no Departamento Pessoal.
onde:
15

- Pedro - Elemento do conjunto de valores do atributo Nome da entidade Funcionrio.


- Depart. Pessoal - Elemento do conjunto de valores do atributo Nome do departamento da entidade
Departamento.
- trabalha - Ligao entre um Funcionrio e um Departamento, onde um funcionrio pode trabalhar em
um e somente um departamento e um departamento pode ter vrios funcionrios.

20
N
EMPREGADOS

1
LOTAO

DEPARTAMENTO

25
Relacionamento N : M - O Antnio est matriculado na disciplina Banco de Dados.
onde:
30

- Antnio - Elemento do conjunto de valores do atributo Nome da entidade Aluno.


- Banco de Dados - Elemento do conjunto de valores do atributo Nome da Disciplina da entidade
Disciplina.
- matriculado - Ligao existente entre um aluno e uma disciplina, onde um aluno pode estar
matriculado em vrias disciplinas e cada disciplina pode ter vrios alunos matriculados.

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

- Pedro - Elemento do conjunto de valores do atributo Nome da entidade Funcionrio.


- Alfa - Elemento do conjunto de valores do atributo Nome do Projeto da entidade Projeto.

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

3.5 - Grau do Relacionamento

10

Indica o nmero de entidade que se relacionam.


3.5.1 - Relacionamento Binrio

Quando existe o relacionamento entre apenas duas entidades.


Ex. Um fornecedor comercializa materiais que so utilizados em diversos projetos.
15
FORNECEDOR

COMERCIALIZA

20

MATERIAIS
M

N
PROJETOS
25

UTILIZAM

3.5.2 - Relacionamento Ternrio

Quando existe o relacionamento entre trs entidades.


Ex. Um fornecedor comercializa materiais que so utilizados em projetos especficos.
30

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

Os comandos existentes nesta linguagem so subdivididos em dois grupos:


- Comandos DDL (Data Definition Language) - Conjunto de comandos responsveis pela criao,
alterao e deleo da estrutura das tabelas e ndices de um sistema.
- Comandos DML (Data Manipulation Language) - Conjunto de comandos responsveis pela consulta e
atualizao dos dados armazenados em um banco de dados.

40

4.1 - Comandos DDL


4.1.1 - Create Table

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

FOREIGN KEY (nome-coluna-chave-estrangeira) REFERENCES

(nome-tabela-pai) ON DELETE [RESTRICT]


[CASCADE]
[SET NULL]
onde:
5

a) nome-tabela - Representa o nome da tabela que ser criada.


b) nome-coluna - Representa o nome da coluna que ser criada. A definio das colunas de uma tabela
feita relacionando-as uma aps a outra.
c) tipo-do-dado - Clusula que define o tipo e tamanho dos campos definidos para a tabela. Os tipos de
dados mais comuns sero definidos mais frente.

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.

4.1.2 - Alter Table

Objetivo:
5

Alterar a estrutura de uma tabela(arquivo) acrescentando, alterando, retirando e alterando nomes,


formatos das colunas e a integridade referencial definidas em uma determinada tabela.
Sintaxe:
ALTER TABLE <nome-tabela>
DROP <nome-coluna>
ADD <nome-coluna> <tipo-do-dado> [NOT NULL]

10

[NOT NULL WITH DEFAULT]


RENAME <nome-coluna> <novo-nome-coluna>
RENAME TABLE <novo-nome-tabela>
MODIFY <nome-coluna> <tipo-do-dado> [NULL]
[NOT NULL]

15

[NOT NULL WITH DEFAULT]


ADD PRIMARY KEY <nome-coluna>
DROP PRIMARY KEY <nome-coluna>
ADD FOREIGN KEY (nome-coluna-chave-estrangeira) REFERENCES
(nome-tabela-pai) ON DELETE [RESTRICT]

20

[CASCADE]
[SET NULL]
DROP FOREIGN KEY (nome-coluna-chave-estrangeira) REFERENCES
(nome-tabela-pai)
onde:

25

a) nome-tabela - Representa o nome da tabela que ser atualizada.


b) nome-coluna - Representa o nome da coluna que ser criada.
c) tipo-do-dado - Clusula que define o tipo e tamanho dos campos definidos para a tabela.
d) DROP <nome-coluna> - Realiza a retirada da coluna especificada na estrutura da tabela.

30

e) ADD <nome-coluna> <tipo-do-dado> - Realiza a incluso da coluna especificada na estrutura da


tabela. Na coluna correspondente a este campo nos registros j existentes ser preenchido o valor NULL (Nulo).
As definies NOT NULL e NOT NULL WITH DEFAULT so semelhantes do comando CREATE TABLE.
f) RENAME <nome-coluna> <novo-nome-coluna> - Realiza a troca do nome da coluna especificada.
g) RENAME TABLE <novo-nome-tabela> - Realiza a troca do nome da tabela especificada.

35

h) MODIFY <nome-coluna> <tipo-do-dado> - Permite a alterao na caracterstica da coluna


especificada.
Opes:
Alm das existentes na opo ADD (NOT NULL e NOT NULL WITH DEFAULT), temos a opo NULL
que altera a caracterstica do campo passando a permitir o preenchimento com o valor Nulo.

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

4.1.3 - Drop Table

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

DROP TABLE <nome-tabela>


onde:
a) nome-tabela - Representa o nome da tabela que ser deletada.

4.1.4 - Create Index

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

CREATE [UNIQUE] INDEX <nome-ndice>


ON <nome-tabela> (<nome-coluna> [ASC ], [<nome-coluna> [ASC ] ])
[DESC]

[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

a) nome-ndice - Representa o nome da estrutura de ndice que ser deletada.


4.2 - Comandos DML
4.2.1 - Insert

Objetivo:
Incluir um novo registro em uma tabela do Banco de Dados.
40

Sintaxe:
INSERT INTO <nome-tabela> [(<nome-coluna>, [<nome-coluna>])]

VALUES (<relao dos valores a serem includos>)


onde:
a) nome-tabela - Representa o nome da tabela onde ser includa o registro.
b) nome-coluna - Representa o nome da(s) coluna(s) tero contedo no momento da operao de incluso.
5

Obs.: Este comando pode ser executado de duas maneiras:


1) Quando todos os campos da tabela tero contedo - Neste caso no necessrio especificar as colunas,
entretanto a relao dos valores a serem includos devero obedecer a mesma seqncia da definio da tabela.

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

DELETE FROM <nome-tabela>


WHERE <condio>
onde:
a) nome-tabela - Representa o nome da tabela cujos registros sero deletados.

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

ORDER BY <nome-campo> ASC


DESC
onde:
a) nome-tabela - Representa o nome da(s) tabela(s) que contem as colunas que sero selecionadas ou que
sero utilizadas para a execuo da consulta.

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

f) WHERE - Especifica o critrio de seleo dos registros nas tabelas especificadas.


g) GROUP BY - Especifica o(s) campo(s) que sero grupados para atender a consulta.
h) HAVING - Especifica uma condio para seleo de um grupo de dados. Esta opo s utilizada
combinada com a opo GROUP BY.

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

Retorna a quantidade de registros existentes no campo especificado. Quando a opo * utilizada o


resultado a quantidade de registros existentes. Quando referenciado o nome de um campo retorna a
quantidade de valores existentes na coluna.
b) SUM (ALL <nome-campo>)

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

c) AVG (ALL <nome-campo>)


DISTINCT
Objetivo:
Retorna a mdia dos valores existentes no campo especificado. Quando a opo DISTINCT utilizada
so consideradas apenas os diferentes valores existentes no campo.

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

Você também pode gostar