Академический Документы
Профессиональный Документы
Культура Документы
DE DADOS
Gratuliano Lucena
E-book 3
Neste E-Book:
INTRODUÇÃO����������������������������������������������������������� 3
COMANDOS SQL PARA CRIAÇÃIO DE
BANCOS E MANUTENÇÃO DE DADOS������������� 4
COMANDOS DDL – DATA DEFINITION
LANGUAGE���������������������������������������������������������������� 5
Criação de Schema�������������������������������������������������������������������5
Exclusão de Banco de Dados ou Schema�������������������������������7
Criação de colunas�������������������������������������������������������������������7
Alteração de colunas����������������������������������������������������������������9
Exclusão de colunas���������������������������������������������������������������10
Incluir uma coluna�������������������������������������������������������������������10
Criação de Tabelas������������������������������������������������������������������11
Concessão de acesso a tabelas – privilégios�����������������������18
Criação de chave estrangeira�������������������������������������������������18
Execução de Scripts de um modelo de dados para
Criação de Tabelas������������������������������������������������������������������19
Modelo de dados após criação de tabelas no IDE
Workbench MySQL������������������������������������������������������������������29
2
CONSIDERAÇÕES FINAIS�����������������������������������42
SÍNTESE��������������������������������������������������������������������43
3
INTRODUÇÃO
O Modelo Lógico abrange, em primeiro lugar, enten-
der a regra de negócio que envolve o entendimento
dos requisitos dos usuários. Com isso, encaminha-
-se uma solução intelectual de dados que atendam
simultaneamente os requisitos do usuário e também
às funções de inteligência do sistema.
4
COMANDOS SQL PARA
CRIAÇÃIO DE BANCOS E
MANUTENÇÃO DE DADOS
Todo o processo de aprendizado é realizado numa
ferramenta IDE Workbench MySQL para fixar os co-
nhecimentos explicados de forma prática.
5
COMANDOS DDL – DATA
DEFINITION LANGUAGE
A criação de tabela tem o objetivo de reunir um con-
junto de tabelas, o qual podemos referenciar para o
acesso às tabelas e para realizar as conexões com
aplicativos ou servidor de banco de dados.
Criação de Schema
6
o mesmo nome, estando cada uma em um “Schema”
diferente.
7
Quando criamos o “Schema” tem-se o mesmo efeito
de criar o Banco de Dados. Por exemplo, conforme
demonstrado na figura 1, podemos notar que o “test”
que foi criado com a sintaxe 2 CREATE DATABASE
test gerou um “Schema” chamado “test” e utilizan-
do CREATE SCHEMA ‘teste1’ também gerou um
“Schema” chamado “teste2”.
Exclusão de Banco de
Dados ou Schema
Criação de colunas
8
Tipos de Dados
9
Tipos de Tempo
Alteração de colunas
10
1. Criação de Tabelas
C H A N G E C O LU M N ‘ P R O D U TO D E S C R I C A O ’
‘PRODUTODESCRICAO’ VARCHAR(50) NULL DEFAULT
NULL.
Exclusão de colunas
11
C H A N G E C O LU M N ‘ P R O D U TO D E S C R I C A O ’
VARCHAR(60) NULL.
Criação de Tabelas
12
3. AUTO_INCREMENT – Campo que soma automá-
tica e sequencialmente mais 1 ao conteúdo anterior.
4. ON DELETE NO ACTION - Exclui somente o pai
sem afetar o(s) registro(s) filhos ou relacionados
em outras entidades.
5. ON DELETE CASCADE – É a exclusão com efeito
realizado em cascata, quando se exclui o registro de
uma tabela principal, também exclui todos os regis-
tros de outras tabelas com conteúdo associado por
chaves estrangeiras à tabela principal.
6. CASCADE: A opção CASCADE permite excluir ou
atualizar os registros relacionados presentes na ta-
bela filha automaticamente, quando um registro da
tabela pai for atualizado (ON UPDATE) ou excluído
(ON DELETE). É a opção mais comumente aplicada.
7. RESTRICT: Impede que ocorra a exclusão ou a
atualização de um registro da tabela principal, caso
haja alguma tabela com conteúdo associado à tabela
principal com chave estrangeira. A verificação de
integridade referencial é realizada antes de tentar
executar a instrução UPDATE ou DELETE.
8. SET NULL: Esta opção é usada para definir com
o valor NULL o campo na tabela filha, quando um
registro da tabela pai for atualizado ou excluído.
9. NO ACTION: Essa opção equivale à opção
RESTRICT, porém a verificação de integridade re-
ferencial é executada após a tentativa de alterar a
tabela. É a opção padrão, aplicada caso nenhuma das
opções seja definida na criação da chave estrangeira.
13
10. SET DEFAULT: “Configura Padrão” – Define um
valor padrão na coluna na tabela filha, aplicado
quando um registro da tabela pai for atualizado ou
excluído.
11. PRIMARY KEY (PK): Esta restrição cria um índice
único para um conjunto de colunas ou uma coluna
para Chave Primária.
12. UNIQUE: Esta Contraint determina que uma co-
luna não poderá ter duas linhas com o mesmo valor.
13. FOREIGN KEY (FK ou Chave Estrangeira):
Determina uma ou mais colunas, a qual se consi-
dera o seu conteúdo como único dentro da tabela.
14. CHECK: Especifica uma condição lógica que
condiciona para efetivar o salvamento da tabela.
15. NOT NULL: Determina que a coluna tem preen-
chimento obrigatório.
14
INT –Tipo da coluna (campo).
15
PRIMARY KEY (‘Aluno_CPF’, ‘Disciplina_Codigo’),
16
CONSTRAINT ‘alunoxdisciplina_ibfk_1’
17
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT ‘alunoxdisciplina_ibfk_2’
ON DELETE NO ACTION
ON UPDATE NO ACTION);
18
Figura 3: Exemplo de criação de tabela. Fonte: Elaboração
própria.
Concessão de acesso a
tabelas – privilégios
19
Figura 4: Exemplo de entidade associativa para criar chave
estrangeira. Fonte: Elaboração própria.
20
CREATE TABLE ‘test’.‘aluno’ (
_____________________________________
_____________________________________
21
CREATE TABLE ‘test’.‘alunoxdisciplina’ (
CONSTRAINT ‘alunoxdisciplina_ibfk_1’
R E F E R E N C E S ‘ t e s t ’ .‘ d i s c i p l i n a ’
(‘Disciplina_Codigo’)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT ‘alunoxdisciplina_ibfk_2’
ON DELETE NO ACTION
ON UPDATE NO ACTION);
_____________________________________
22
CREATE TABLE ‘test’.‘turma’ (
_____________________________________
CONSTRAINT ‘alunoxturma_ibfk_1’
ON DELETE NO ACTION
23
ON UPDATE NO ACTION,
CONSTRAINT ‘alunoxturma_ibfk_2’
ON DELETE NO ACTION
ON UPDATE NO ACTION);
_____________________________________
_____________________________________
24
INDEX ‘CursoxDisciplina_FKIndex2’ (‘Curso_Codigo’
ASC) VISIBLE,
CONSTRAINT ‘cursoxdisciplina_ibfk_1’
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT ‘cursoxdisciplina_ibfk_2’
ON DELETE NO ACTION
ON UPDATE NO ACTION);
_____________________________________
-- Table ‘test’.‘professor’
_____________________________________
25
‘Professor_Endereco’ VARCHAR(40) NULL DEFAULT
NULL,
_____________________________________
CONSTRAINT ‘professorxaluno_ibfk_1’
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT ‘professorxaluno_ibfk_2’
26
REFERENCES ‘test’.‘professor’ (‘Professor_CPF’)
ON DELETE NO ACTION
ON UPDATE NO ACTION);
_____________________________________
CONSTRAINT ‘professorxcurso_ibfk_1’
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT ‘professorxcurso_ibfk_2’
27
REFERENCES ‘test’.‘curso’ (‘Curso_Codigo’)
ON DELETE NO ACTION
ON UPDATE NO ACTION);
_____________________________________
CONSTRAINT ‘professorxturma_ibfk_1’
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT ‘professorxturma_ibfk_2’
28
REFERENCES ‘test’.‘turma’ (‘Turma_Numero’)
ON DELETE NO ACTION
ON UPDATE NO ACTION);
_____________________________________
CONSTRAINT ‘turmaxdisciplina_ibfk_1’
R E F E R E N C E S ‘ t e s t ’ .‘ d i s c i p l i n a ’
(‘Disciplina_Codigo’)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT ‘turmaxdisciplina_ibfk_2’
29
FOREIGN KEY (‘Turma_Numero’)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
30
Figura 5: Criação das tabelas após execução do script.
Fonte: Elaboração própria.
31
Para converter as tabelas criadas em um mode-
lo lógico, por meio de uma opção do Workbench,
clicar no seguinte caminho: Database/Reverse
Engineer/Connect to DBMS/Select Schemas. Após
isso, será gerado o modelo lógico, conforme ilus-
trado na figura 7.
32
COMANDOS DML –
DATA MANIPULATION
LANGUAGE
Para manipulação de dados é utilizada a linguagem
DML (Data Manipulation Language), que é aplicada
universalmente dentro de linguagens de aplicativos
com compatibilidade de 100%.
33
● SELECT: usado para consultar o BD e retornar da-
dos que satisfazem a determinada expressão em
um comando.
Inclusão de Dados
34
Após a execução dos “Inserts” na tabela Aluno, o
resultado com dados cadastrados na tabela Alunos
fica conforme mostrado na figura 8.
Inclusão de Dados da
tabela disciplina
35
Inclusão de Dados da
tabela Alunoxdisciplina
36
Figura 10: R e s u l t a d o d a s e x e c u ç õ e s n a t a b e l a
Alunoxdisciplina. Fonte: Elaboração própria.
37
Quando tentamos reinserir os mesmos dados já an-
tes cadastrados na tabela Alunoxdisciplina, ocorre
um erro “Duplicate entry for key PRIMARY”, por tratar-
-se de dados da chave estrangeira (ocorrência de
somente uma vez em toda tabela), sendo recusada a
inclusão dos dados, conforme mostrado na figura 11.
Exclusão de Dados
38
Quando tentamos fazer a mesma exclusão pela se-
gunda vez, executamos a instrução abaixo.
Alteração de Dados
39
Figura 14: Resultado após a Alteração de dados na tabela
Alunoxdisciplina. Fonte: Elaboração própria.
Consulta de Dados
40
abaixo, pois o “*” é mostrado em todas as colunas
da tabela que se deseja consultar.
Figura 16: R e s u l t a d o a p ó s a c o n s u l t a d a t a b e l a
Alunoxdisciplina. Fonte: Elaboração própria.
41
Figura 17: R e s u l t a d o a p ó s a c o n s u l t a d a t a b e l a
Alunoxdisciplina com seleção de coluna. Fonte: Elaboração
própria.
42
CONSIDERAÇÕES FINAIS
O aprendizado contido neste módulo teve como ob-
jetivo conscientizar você, estudante, sobre todo o
fluxo que envolve o trabalho com banco de dados.
43
SÍNTESE
DE
ATH
Banco de
YST
Dados
• Composição de tabelas.
• Schema.
• Tabelas.
• Linhas e colunas.
• Construção de índices.