Escolar Documentos
Profissional Documentos
Cultura Documentos
E3 Bada
E3 Bada
DE DADOS
Gratuliano Lucena
E-book 3
Neste E-Book:
INTRODUÇÃO���������������������������������������������� 4
UTILIZAÇÃO DE COMANDOS SQL
PARA CRIAÇÃO E MANUTENÇÃO
DE DADOS���������������������������������������������������� 5
CRIAÇÃO DE BANCOS DE DADOS������� 6
Criação de Schema��������������������������������������������������6
Exclusão de Banco de Dados ou Schema��������������8
Criação de colunas��������������������������������������������������8
Alteração de colunas�������������������������������������������� 11
Exclusão de colunas��������������������������������������������� 11
Incluir uma coluna������������������������������������������������ 12
Criação de Tabelas����������������������������������������������� 12
Concessão de acesso a tabelas – privilégios����� 19
Criação de chave estrangeira������������������������������� 20
Execução de Scripts de um modelo de dados
para Criação de Tabelas��������������������������������������� 21
Modelo de dados após criação de tabelas no
IDE Workbench MySQL����������������������������������������� 30
MANIPULAÇÃO DE DADOS������������������ 33
Inclusão de Dados������������������������������������������������ 34
Inclusão de Dados da tabela Aluno��������������������� 34
Inclusão de Dados da tabela disciplina��������������� 35
Inclusão de Dados da tabela Alunoxdisciplina��� 36
2
Exclusão de Dados����������������������������������������������� 38
Alteração de Dados ���������������������������������������������� 39
Consulta de Dados������������������������������������������������ 41
CONSIDERAÇÕES FINAIS��������������������� 44
SÍNTESE�������������������������������������������������������45
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
UTILIZAÇÃO DE COMANDOS
SQL PARA CRIAÇÃO 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
CRIAÇÃO DE
BANCOS DE DADOS
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
A permissão de um “Schema” pode ser concedida
para usuários e grupos de usuários. Quando o usuário
tem acesso a um “Schema”, ele tem autorização para
acessar todas às tabelas que compõem o “Schema”.
6
Em segmentação de dados por grupo de usuários,
você pode ter na mesma database duas tabelas com
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”.
Criação de colunas
Há configurações que precisamos entender quando
da criação das colunas (campos) dentro de uma ta-
bela. Temos que estabelecer um tamanho de coluna
que seja suficiente para comportar o conteúdo da
informação, de acordo com a regra de negócio; e que
o dimensionamento do tamanho da coluna possa
suportar, por um bom tempo, frente ao aumento das
informações por parte do usuário.
8
gócio do usuário. A escolha deve ser feita conforme
demonstrado nas tabelas 1, 2 ou 3.
Tipos de Dados
TINYINT Número inteiro muito pequeno (tiny).
SMALLINT Número inteiro pequeno.
MEDIUMINT Número inteiro de tamanho médio.
INT Número inteiro de tamanho comum.
BIGINT Número inteiro de tamanho grande.
FLOAT Número de ponto flutuante de precisão
simples (32 bits).
DOUBLE Número de ponto flutuante de precisão
dupla (64 bits).
DECIMAL (N,D) Número decimal, com N = inteiro e D =
Decimal.
9
Tipos de Tempo
DATE valor referente a uma data no
formato ‘AAAA-MM-DD’.
TIME Valor horário no forma-
to ‘hh:mm:ss’ (hora:minutos:segundos).
TIMESTAMP “Timestamp” é uma sequência de caracte-
res ou informação codificada que identifica
uma marca temporal ou um dado momento
em que um evento ocorreu. Tem o forma-
to ‘AAAA-MM-DD hh:mm:ss’.
YEAR Armazena um ano no
formato ‘CCYY’ ou ‘YY’
10
Alteração de colunas
Às vezes, surge a necessidade de aumentar o tama-
nho ou o tipo de dados de uma coluna. Quando isso
acontece, podemos fazer com o comando ALTER.
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
Às vezes, surge a necessidade de excluir uma
coluna. Podemos fazer com o comando DROP.
11
Incluir uma coluna
Para incluir uma coluna ou mais numa tabela já exis-
tente, podemos fazer com o comando CHANGE.
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.
Podcast 1
Criação de Tabelas
A tabela nasce com um nome e se compõe de linhas
(Registro) e colunas (Campos); contém definições
de tamanho e tipo de cada coluna. Contém nomes
de colunas, definição de coluna chave, e definição
de chaves estrangeiras. As linhas e as colunas ser-
vem de referência para armazenar os conteúdos dos
dados.
12
1. UNSIGNED – Modificador que faz com que uma
coluna aceite apenas números positivos (sem sinal).
Somente para tipo “integer”.
13
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.
14
Um exemplo para criação de tabela (abaixo)
explicado:
15
NULL – Coluna com conteúdo opcional.
16
CONSTRAINT ‘alunoxdisciplina_ibfk_1’
REFERENCES ‘test’.‘disciplina’
(‘Disciplina_Codigo’)
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.
19
Criação de chave estrangeira
Toda que vez que temos uma relação terceira forma
normal entre tabelas, temos de juntar as chaves de
duas tabelas numa terceira tabela, chamada de en-
tidade associativa, conforme ilustrado na figura 4.
20
Execução de Scripts de um
modelo de dados para Criação
de Tabelas
A partir de um modelo de dados criado na ferramen-
ta DBDesignerfork, foi gerado um script completo
em linguagem DML. Esse script foi executado na
ferramenta IDE Workbench do MySQL, o resultado
foi a criação de todas as tabelas. A partir das tabe-
las criadas, foi gerado um modelo lógico dentro da
ferramenta Workbench, o que resultou numa figu-
ra gráfica do DER, conforme apresentado no item
anterior, semelhante ao modelo lógico da fermenta
DBDesignerfork.
-- -----------------------------------------------------
21
PRIMARY KEY (‘Disciplina_Codigo’));
-- -----------------------------------------------------
CONSTRAINT ‘alunoxdisciplina_ibfk_1’
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT ‘alunoxdisciplina_ibfk_2’
ON DELETE NO ACTION
ON UPDATE NO ACTION);
22
-- -----------------------------------------------------
-- -----------------------------------------------------
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
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
CREATE TABLE ‘test’.‘professorxaluno’ (
CONSTRAINT ‘professorxaluno_ibfk_1’
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT ‘professorxaluno_ibfk_2’
ON DELETE NO ACTION
ON UPDATE NO ACTION);
-------------------------------------------------------
26
‘Professor_CPF’ INT(10) UNSIGNED NOT NULL,
CONSTRAINT ‘professorxcurso_ibfk_1’
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT ‘professorxcurso_ibfk_2’
ON DELETE NO ACTION
ON UPDATE NO ACTION);
-------------------------------------------------------
27
‘Turma_Numero’ INT(10) UNSIGNED NOT NULL,
CONSTRAINT ‘professorxturma_ibfk_1’
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT ‘professorxturma_ibfk_2’
ON DELETE NO ACTION
ON UPDATE NO ACTION);
-------------------------------------------------------
28
‘Turmaxdisciplina_DataValidade’ DATE NULL
DEFAULT NULL,
CONSTRAINT ‘turmaxdisciplina_ibfk_1’
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT ‘turmaxdisciplina_ibfk_2’
ON DELETE NO ACTION
ON UPDATE NO ACTION)
29
Modelo de dados após criação
de tabelas no IDE Workbench
MySQL
30
Figura 6: Engenharia reversa para gerar modelo lógico. Fonte:
Elaboração própria.
31
Figura 7: Modelo lógico após engenharia reversa. Fonte: Elaboração
própria.
32
MANIPULAÇÃO DE
DADOS
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
Nos comandos DML da linguagem SQL
(Structured Query Language) são executadas as
inclusões (Insert) nas tabelas: Aluno, Disciplina e
Alunoxdisciplina, conforme descrito anteriormente.
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.
35
Após a execução dos “Inserts” na tabela Disciplina, o
resultado com dados cadastrados na tabela Disciplina
fica conforme mostrado na figura 9.
36
INSERT INTO ‘test’.‘alunoxdisciplina’ (‘Aluno_CPF’,
‘Disciplina_Codigo’, ‘Alunoxdisciplina_DataValidade’)
VALUES (3, 2, “2019/09/23”);
37
INSERT INTO ‘test’.‘alunoxdisciplina’ (‘Aluno_CPF’,
‘Disciplina_Codigo’, ‘Alunoxdisciplina_DataValidade’)
VALUES (1, 3, “2019/09/23”);
Exclusão de Dados
Quando precisamos excluir uma linha (registro) da ta-
bela, é necessário que os dados já existam na tabela.
38
Figura 12: Resultado após a exclusão de dados na tabela
Alunoxdisciplina. Fonte: Elaboração própria.
Alteração de Dados
Quando precisamos alterar dados na tabela, é ne-
cessário que os dados já existam nela.
39
Vamos executar a instrução de alteração de dados
conforme abaixo. Observamos que temos a cláusula
Where para selecionar em qual linha devemos alterar.
No Caso do Where comparamos os campos de chave
primária, ‘Aluno_CPF’ = 3 AND ‘Disciplina_Codigo’ = 2.
Ainda, a cláusula SET define qual a coluna deve ser
alterada, e após o sinal de igual, coloca-se o conteúdo
novo que deve ser alterado.
40
Figura 15: Resultado após a alteração de dados inexistentes na
tabela Alunoxdisciplina. Fonte: Elaboração própria.
Consulta de Dados
Um dos comandos mais utilizados é á consulta de
dados, em que podemos ter inúmeras variações na
forma de consulta; a mais simples é o que consta
abaixo, pois o “*” é mostrado em todas as colunas
da tabela que se deseja consultar.
41
O resultado do select é mostrar os conteúdos de to-
das as colunas da tabela Alunoxdisciplina, conforme
ilustrado na figura 15.
42
Pode ocorrer quando executamos uma seleção de
a comparação da coluna não encontrar nenhuma
linha que satisfaça a condição. Para essa situação,
executamos a instrução a seguir.
Podcast 2
43
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.
44
SÍNTESE
DE
ATH
Banco de
YST
Dados
• Composição de tabelas.
• Schema.
• Tabelas.
• Linhas e colunas.
• Construção de índices.