Buscar

21-Banco de Dados I

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 104 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 104 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 104 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
BANCO DE DADOS I
2
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
A Faculdade Multivix está presente de norte a sul 
do Estado do Espírito Santo, com unidades em 
Cachoeiro de Itapemirim, Cariacica, Castelo, Nova 
Venécia, São Mateus, Serra, Vila Velha e Vitória. 
Desde 1999 atua no mercado capixaba, des-
tacando-se pela oferta de cursos de gradua-
ção, técnico, pós-graduação e extensão, com 
qualidade nas quatro áreas do conhecimen-
to: Agrárias, Exatas, Humanas e Saúde, sem-
pre primando pela qualidade de seu ensino 
e pela formação de profissionais com cons-
ciência cidadã para o mercado de trabalho.
Atualmente, a Multivix está entre o seleto 
grupo de Instituições de Ensino Superior que 
possuem conceito de excelência junto ao 
Ministério da Educação (MEC). Das 2109 institui-
ções avaliadas no Brasil, apenas 15% conquistaram 
notas 4 e 5, que são consideradas conceitos 
de excelência em ensino.
Estes resultados acadêmicos colocam 
todas as unidades da Multivix entre as 
melhores do Estado do Espírito Santo e 
entre as 50 melhores do país.
 
MISSÃO
Formar profissionais com consciência cida-
dã para o mercado de trabalho, com ele-
vado padrão de qualidade, sempre mantendo a 
credibilidade, segurança e modernidade, visando 
à satisfação dos clientes e colaboradores.
 
VISÃO
Ser uma Instituição de Ensino Superior reconheci-
da nacionalmente como referência em qualidade 
educacional.
GRUPO
MULTIVIX
3
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
BIBLIOTECA MULTIVIX (Dados de publicação na fonte)
As imagens e ilustrações utilizadas nesta apostila foram obtidas no site: http://br.freepik.com
Costa, Charles Edward.
Banco de Dados I /Charles Edward Costa. – Serra: Multivix, 2018.
EDITORIAL
Catalogação: Biblioteca Central Anisio Teixeira – Multivix Serra
2018 • Proibida a reprodução total ou parcial. Os infratores serão processados na forma da lei.
FACULDADE CAPIXABA DA SERRA • MULTIVIX
Diretor Executivo
Tadeu Antônio de Oliveira Penina
Diretora Acadêmica
Eliene Maria Gava Ferrão Penina
Diretor Administrativo Financeiro
Fernando Bom Costalonga
Diretor Geral
Helber Barcellos da Costa
Diretor da Educação a Distância
Pedro Cunha
Conselho Editorial
Eliene Maria Gava Ferrão Penina (presidente 
do Conselho Editorial)
Kessya Penitente Fabiano Costalonga
Carina Sabadim Veloso
Patrícia de Oliveira Penina
Roberta Caldas Simões
Revisão de Língua Portuguesa
Leandro Siqueira Lima
Revisão Técnica
Alexandra Oliveira
Alessandro Ventorin
Graziela Vieira Carneiro
Design Editorial e Controle de Produção de Conteúdo
Carina Sabadim Veloso
Maico Pagani Roncatto
Ednilson José Roncatto
Aline Ximenes Fragoso
Genivaldo Félix Soares
Multivix Educação a Distância
Gestão Acadêmica - Coord. Didático Pedagógico
Gestão Acadêmica - Coord. Didático Semipresencial
Gestão de Materiais Pedagógicos e Metodologia
Direção EaD
Coordenação Acadêmica EaD
4
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
Aluno (a) Multivix,
Estamos muito felizes por você agora fazer parte 
do maior grupo educacional de Ensino Superior do 
Espírito Santo e principalmente por ter escolhido a 
Multivix para fazer parte da sua trajetória profissional.
A Faculdade Multivix possui unidades em Cachoei-
ro de Itapemirim, Cariacica, Castelo, Nova Venécia, 
São Mateus, Serra, Vila Velha e Vitória. Desde 1999, 
no mercado capixaba, destaca-se pela oferta de 
cursos de graduação, pós-graduação e extensão 
de qualidade nas quatro áreas do conhecimento: 
Agrárias, Exatas, Humanas e Saúde, tanto na mo-
dalidade presencial quanto a distância.
Além da qualidade de ensino já comprova-
da pelo MEC, que coloca todas as unidades do 
Grupo Multivix como parte do seleto grupo das 
Instituições de Ensino Superior de excelência no 
Brasil, contando com sete unidades do Grupo en-
tre as 100 melhores do País, a Multivix preocupa-
-se bastante com o contexto da realidade local e 
com o desenvolvimento do país. E para isso, pro-
cura fazer a sua parte, investindo em projetos so-
ciais, ambientais e na promoção de oportunida-
des para os que sonham em fazer uma faculdade 
de qualidade mas que precisam superar alguns 
obstáculos. 
Buscamos a cada dia cumprir nossa missão que é: 
“Formar profissionais com consciência cidadã para o 
mercado de trabalho, com elevado padrão de quali-
dade, sempre mantendo a credibilidade, segurança 
e modernidade, visando à satisfação dos clientes e 
colaboradores.”
Entendemos que a educação de qualidade sempre 
foi a melhor resposta para um país crescer. Para a 
Multivix, educar é mais que ensinar. É transformar o 
mundo à sua volta.
Seja bem-vindo!
APRESENTAÇÃO 
DA DIREÇÃO 
EXECUTIVA
Prof. Tadeu Antônio de Oliveira Penina 
Diretor Executivo do Grupo Multivix
5
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
APRESENTAÇÃO DA DISCIPLINA
Caro (a) aluno (a) seja bem-vindo(a) a disciplina Banco de Dados.
Ao lado da programação e desenvolvimento de sistemas, o banco de dados é uma 
peça essencial de qualquer aplicação/programa. Atualmente, vivemos em um ce-
nário de constante troca e compartilhamento de informação, que acontece por 
meio dos mais diferentes tipos de dispositivos de hardware. Podemos citar aplica-
ções desktop operando em computadores pessoais e também aplicações diversas 
em nosso cotidiano com a utilização de smartphones e tablets. O profissional de 
tecnologia, membro de uma equipe de desenvolvimento, precisa demonstrar do-
mínio em assuntos diversos ligados a banco de dados. Na disciplina de banco de 
dados I é proposto o primeiro contato com essa maravilhosa tecnologia e espera-se 
a absorção de conceitos básicos como: a arquitetura de banco de dados, introdução 
e práticas em um SGBD relacional como o mundialmente consagrado MySQL. Nas 
unidades mais avançadas deste material introduziremos como se dá a modelagem 
de dados em diversos níveis, como são realizados os procedimentos de criação e 
manipulação de banco de dados utilizando para isso o padrão SQL. Veremos de 
forma objetiva questões de normalização, visões, transações e na última unidade de 
estudo, faremos uma introdução de banco de dados distribuídos. É importante que 
você sempre consulte a bibliografia deste material, além da participação ativa nos 
fóruns de discussão. Bons estudos!
Ao final desta disciplina, esperamos que você:
• Descreva conceitos básicos de banco de dados como a arquitetura de um sistema 
de banco de Dados e usuário de Banco de Dados. 
• Narre a modelagem de Dados e os modelos: relacional, hierárquicos e de redes. 
• Aplique o básico de SQL - linguagem de definição e manipulação de dados.
• Descreva sobre projeto de banco de dados Relacional, dependência Funcional e 
chaves.
• Discuta a normalização, visões e integração de visões.
• Descreva o que são transações em banco de dados. 
• Esclareça o que são banco de dados distribuídos.
6
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
 > FIGURA 1 - Palavras 15
 > FIGURA 2 - Representação de um sistema de banco de dados 17
 > FIGURA 3 - Entidades e atributos 20
 > FIGURA 4 - Tipos diferentes de atributos 21
 > FIGURA 5 - Tipos diferentes de atributos 22
 > FIGURA 6 - Relacionamento entre duas entidades 22
 > FIGURA 7 - Relacionamento UM para UM 23
 > FIGURA 8 - Relacionamento UM para N 24
 > FIGURA 9 - Explicação do relacionamentoUM para N 24
 > FIGURA 10 - Relacionamento N para N 25
 > FIGURA 11 - Exemplo de modelo entidade-relacionamento (MER) 26
 > FIGURA 12 - Administrador de banco de dados 26
 > FIGURA 13 - Modelo de rede 32
 > FIGURA 14 - Modelo hierárquico 33
 > FIGURA 15 - Tabela no modelo relacional 36
 > FIGURA 16 - Tabela populada 36
 > FIGURA 17 - Tabela populada 38
 > FIGURA 18 - Evidenciando a chave estrangeira 39
 > FIGURA 19 - MER com cardinalidade 1 para 1 40
 > FIGURA 20 - MR com cardinalidade (1 para 1), apresentando dois casos 40
 > FIGURA 21 - Tabelas populadas do MR (1 para 1), apresentando dois casos 40
 > FIGURA 22 - MR (1 para N) e tabela populada 41
 > FIGURA 23 - Mapeando N para N cria-se nova tabela (Professores-Disciplinas) 42
 > FIGURA 24 - Tabelas populadas em cardinalidade N para N 42
 > FIGURA 25 - Ana (uma professora) leciona várias disciplinas 43
 > FIGURA 26 - Música (uma disciplina) é lecionada por vários professores 44
 > FIGURA 27 - Exemplo de MR representado de forma padronizada 45
 > FIGURA 28 - Comando CREATE TABLE explicado 51
 > FIGURA 29 - Comando CREATE TABLE com FK 52
LISTA DE FIGURAS
7
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
 > FIGURA 30 - Tabela Alunos sem normalização 65
 > FIGURA 31 - Alunos em 1FN 65
 > FIGURA 32 - Exemplo de instância da relação Alunos 68
 > FIGURA 33 - Tabela Aluno-Cursos 69
 > FIGURA 34 - Atendendo 2FN 70
 > FIGURA 35 - Tabela Alunos violando a 3FN 71
 > FIGURA 36 - Atendendo a 3FN 72
 > FIGURA 37 - Diagrama ER banco de dados didático - Ordem de serviço 84
 > FIGURA 38 - Dados populados nas tabelas físicas 85
 > FIGURA 39 - Exemplo de visão atualizável em somente uma tabela 88
 > FIGURA 40 - Exemplo de visão somente leitura 89
 > FIGURA 41 - Inserção em Visão 89
 > FIGURA 42 - Alteração de dados em Visão 89
 > FIGURA 43 - Removendo dados através de Visão 90
 > FIGURA 44 - Verificando engine da tabela cliente no MySQLWorkbench 99
 > FIGURA 45 - Abstração de banco de dados distribuídos 100
8
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
LISTA DE TABELAS
 > QUADRO 1 - Principais problemas na utilização de sistemas de arquivos 18
 > QUADRO 2 - Comando CREATE TABLE explicado 51
 > QUADRO 3 - Tabela para exemplo de DF 67
 > QUADRO 4 - Exemplo de transação em pseudocódigo 96
 > QUADRO 5 - Formas de armazenamento de banco de dados distribuídos 101
9
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
SUMÁRIO
2UNIDADE
1UNIDADE 1 CONCEITOS BÁSICOS DE BANCO DE DADOS, ARQUITETURA E USUÁRIO 14
1.1 CONCEITOS BÁSICOS 14
1.1.1 DADO E INFORMAÇÃO 15
1.1.2 ARQUITETURA DE SISTEMA DE BANCO DE DADOS 16
1.1.3 SISTEMA GERENCIADOR DE BANCO DE DADOS 17
1.1.3.1 EXEMPLOS DE SGBD 19
1.2 ENTIDADE E ATRIBUTO 19
1.2.1 O QUE É ENTIDADE 20
1.2.2 O QUE É ATRIBUTO 20
1.2.3 TIPOS BÁSICOS DE ATRIBUTOS 21
1.3 RELACIONAMENTO E MER 22
1.3.1 CARDINALIDADE 23
1.4 USUÁRIOS DE BANCOS DE DADOS 26
CONCLUSÃO 28
2 MODELOS DE DADOS: DE REDES, HIERÁRQUICO E RELACIONAL 31
2.1 MODELOS DE DADOS 31
2.1.1 MODELO DE REDE 32
2.1.2 MODELO DE DADOS HIERÁRQUICO 33
2.2 MODELO DE DADOS RELACIONAL 34
2.2.1 TABELAS 35
2.2.2 CHAVE PRIMÁRIA 37
2.2.3 CHAVE ESTRANGEIRA 38
2.3 MAPEAMENTO MER PARA MR 39
2.3.1 MAPEAMENTO 1 PARA 1 39
2.3.2 MAPEAMENTO 1 PARA N 41
2.3.3 MAPEAMENTO N PARA N 42
2.4 NOTAÇÕES PRÁTICAS 44
CONCLUSÃO 45
10
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
3 LINGUAGENS DE DEFINIÇÃO E 
MANIPULAÇÃO DE DADOS. 47
3.1 LINGUAGENS DE DEFINIÇÃO E MANIPULAÇÃO 47
3.2 DEFINIÇÃO DE DADOS 48
3.2.1 CRIE PARA MIM SGBD! 49
3.2.2 ELIMINE O BANCO INTEIRO! 50
3.2.3 CRIE UMA TABELA! 50
3.2.4 ALTERE MINHA TABELA, POR GENTILEZA. 53
3.2.5 ELIMINE UMA TABELA 54
3.3 MANIPULAÇÃO DE DADOS 55
3.3.1 OPERADORES LÓGICOS 55
3.3.2 INSERIR NA TABELA! 56
3.3.3 SELECIONAR DE UMA TABELA! 57
3.3.4 ALTERAR DADOS DA TABELA! 58
3.3.5 APAGAR DADOS DA TABELA! 60
4 NORMALIZAÇÃO EM PROJETOS DE BANCO DE DADOS 62
4.1 NORMALIZAÇÃO EM BANCO DE DADOS 62
4.1.1 A PRIMEIRA FORMA NORMAL 64
4.1.2 DEPENDÊNCIA FUNCIONAL 66
4.1.3 A SEGUNDA FORMA NORMAL 69
4.1.4 A TERCEIRA FORMA NORMAL 71
4.1.5 OUTRAS FORMAS NORMAIS 73
4.2 VISÃO GERAL DE UM PROJETO DE BANCO DE DADOS 74
CONCLUSÃO 76
5 VISÕES EM BANCO DE DADOS 78
5.1 VISÕES 78
5.2 VANTAGENS DA UTILIZAÇÃO DE VIEWS 80
5.3 INTRODUÇÃO À CRIAÇÃO DE VIEWS 82
5.4 EXEMPLO DE CRIAÇÃO E UTILIZAÇÃO DE VIEWS 83
5.5 ATUALIZAÇÃO DE DADOS ATRAVÉS DE VIEWS 87
CONCLUSÃO 91
3UNIDADE
4UNIDADE
5UNIDADE
11
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
6 TRANSAÇÕES E BANCO DE DADOS DISTRIBUÍDOS 93
6.1 TRANSAÇÕES 93
6.1.1 PROPRIEDADES 94
6.1.2 SERVIÇOS DE TRANSPARÊNCIA 95
6.1.3 EXEMPLOS DE TRANSAÇÃO EM BANCO DE DADOS 96
6.2 BANCO DE DADOS DISTRIBUÍDOS 100
CONCLUSÃO 102
REFERÊNCIAS BIBLIOGRÁFICAS 103
6UNIDADE
12
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
ICONOGRAFIA
ATENÇÃO 
PARA SABER
SAIBA MAIS
ONDE PESQUISAR
DICAS
LEITURA COMPLEMENTAR
GLOSSÁRIO
ATIVIDADES DE
APRENDIZAGEM
CURIOSIDADES
QUESTÕES
ÁUDIOSMÍDIAS
INTEGRADAS
ANOTAÇÕES
EXEMPLOS
CITAÇÕES
DOWNLOADS
13
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
OBJETIVO 
Ao final desta 
unidade, 
esperamos 
que possa:
> Descrever a diferenciação 
de dado e informação.
> Explicar a arquitetura de 
um sistema de banco de 
dados.
> Expressar o que é um SGBD 
e conheça dois exemplos.
> Apontar o que é entidade, 
atributo e relacionamento 
em banco de dados.
> Relatar como se dá a 
construção do modelo 
entidade-relacionamento.
> Analisar quem são os 
usuários de bancos de 
dados.
UNIDADE 1
14
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
1 CONCEITOS BÁSICOS 
DE BANCO DE DADOS, 
ARQUITETURA E USUÁRIO
Nesta unidade, serão apresentados os conceitos básicos de dados, tais como, a arqui-
tetura de um sistema de banco de dados, SGBD e exemplos, conceitos importantes 
de entidades, atributos, além da introdução de como acontece o relacionamento em 
um banco de dados, sendo exemplificado com modelos simples de MER. Ao final será 
abordado quem são os usuários em um banco de dados e seus papéis. Esperamos 
que essa seja a base fundamental para guiar seus estudos nas próximas unidades.
1.1 CONCEITOS BÁSICOS
Realizar o armazenamento de dados se tornou uma necessidade essencial desde 
o surgimento do homem. As informações devem ser armazenadas proporcionando 
fácil acesso e, podemos dizer que os livros são exemplos de destaque como uma das 
formas mais antigas de se realizar armazenamento de informações. A partir do avan-
ço tecnológico e da crescente necessidade de se armazenar grandes quantidades 
de informações, houve o surgimento do arquivo em computadores. Nesse momento 
também se levou em consideração formas de acesso às informações, além obvia-
mente de como armazená-las.
A forma como as informações eram armazenadas neste início foi denominada como 
sistema de arquivos. Em sua concepção o acesso às informações era eficiente, mas a 
partir do momento que houve um crescimento no número de informações, surgiram 
problemas relacionados com a separação de dados e isolamento. Tais problemas 
aconteciam na consulta de dados relacionados e na inserção deles, pois eram feitas 
duplicidades, o que fazia com que as informações tivessem um crescimento signifi-
cativo. Neste cenário ocorria muita redundância, inconsistênciade dados e também 
problemas relacionados à segurança da informação.
15
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
Podemos então pressupor que era necessário desenvolver uma forma mais inteligen-
te para realizar o armazenamento de dados, certo? Pois bem, foram pensadas formas 
de se criar um banco que fizesse o armazenamento de dados, mas estruturado de 
forma predefinida. Essa ideia tinha como premissa que os dados tivessem proprieda-
des definidas, apresentando lógica e coerência e acima de tudo que fossem criados 
com propósitos determinados.
Surgiu então o que se entende como banco de dados. Nos próximos tópicos iremos 
detalhar o significado de conceitos importantes na busca da melhor assimilação des-
se conhecimento. 
1.1.1 DADO E INFORMAÇÃO
No cotidiano existe uma percepção equivocada em relação a dados significarem o 
mesmo que informações. Existe uma diferença importante entre estes conceitos e 
iremos exemplifica-lo de forma simples, veja o exemplo na figura 1.
FIGURA 1 - PALAVRAS
Fonte: Elaborado pelo autor
Analisando as palavras da figura 1, não conseguimos obter informações concretas a 
não ser o significado de cada uma delas. Começou a entender a diferença entre dado 
e informação? Podemos até imaginar que existe uma informação fazendo uma jun-
16
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
ção dessas palavras: “a manga verde é uma fruta grande”. Mas podemos pensar tam-
bém que “na manga de uma camisa verde, existem estampas de frutas grandes”. Veja 
que a mudança é o nível da abstração. O menor nível de abstração da informação é 
um dado, sendo assim um fato apresentado em sua forma primária. Os dados geram 
informação, que por sua vez fornecem o conhecimento.
Um dado isolado não tem significado relevante e não nos leva 
a uma compreensão para gerar algum conhecimento ou nos 
fazer tomar decisões. A informação por sua vez é uma forma 
ordenada e organizada de dados com objetivo de transmissão 
de significado, em um contexto.
Como são denominados os dados que descrevem um dado? 
Estes são chamados metadados! Pesquise a respeito.
1.1.2 ARQUITETURA DE SISTEMA DE BANCO DE 
DADOS
O armazenamento elaborado de informações existindo formas de consultas define o 
que é um banco de dados. A estrutura de um banco de dados é constituída por um 
modelo de dados e une recursos para armazenar e recuperá-los.
Um sistema de banco de dados é composto pelo banco da-
dos, um sistema de software para operá-lo (SGBD) e as aplica-
ções que fazem sua manipulação. Conforme figura 2.
17
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
FIGURA 2 - REPRESENTAÇÃO DE UM SISTEMA DE BANCO DE DADOS
Fonte: CARDOSO, 2008.
No contexto de sistema de banco de dados, o sistema gerenciador de banco de da-
dos é um ator muito importante. Através dele são operacionalizadas diversas ações 
do banco e também são organizadas as formas como os dados são armazenados. No 
próximo tópico iremos detalhar o essencial sobre o SGBD – Sistema Gerenciador de 
Banco de Dados.
1.1.3 SISTEMA GERENCIADOR DE BANCO DE DADOS
Antes de falarmos do SGBD iremos abordar rapidamente a diferença entre se utilizar 
um sistema de banco de dados (como visto anteriormente) ou utilizar um sistema de 
arquivos. Conforme quadro 1, a utilização de um sistema de arquivos traz vários pro-
blemas em comparação com o uso de sistemas gerenciadores de banco de dados.
18
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
QUADRO 1 - PRINCIPAIS PROBLEMAS NA UTILIZAÇÃO DE SISTEMAS DE ARQUIVOS
CRITÉRIOS NO USO DE 
 SISTEMAS DE ARQUIVOS PROBLEMAS IDENTIFICADOS
Quanto à aplicação desenvolvida
Ela quem manipula os dados e deve conter as 
informações do sistema de arquivos, existindo 
com isso restrições.
Quanto à estrutura dos dados
É incorporada ao programa de acesso. Mudança 
na estrutura dos arquivos implica alterações no 
código dos programas.
Quanto à redundância de dados
Não são garantidas propriedades corretas no 
gerenciamento dos dados. Ocorre redundância. 
Mesma informação em arquivos distintos.
Quanto ao acesso aos dados
Existe dificuldade de acesso. Em cada consulta 
de informação, é preciso escrever um programa.
Quanto ao tipo de dado
Não fornece recursos para lidar com dados de 
formatos diferentes incluídos em arquivos dife-
rentes. 
Quanto à integridade dos dados
Ocorrem problemas de consultas com resulta-
dos enganosos, nas relações entre informações 
em arquivos distintos.
Fonte: Elaborado pelo autor. Adaptado de CARDOSO, 2008.
Um SGBD é um pacote de programas que compõe um sistema de banco de dados. 
Sua utilização no gerenciamento de dados traz ao SBD (Sistema de banco de dados), 
várias vantagens.
Um SBD é diferente de um SGBD, caso isso não tenha ficado 
claro, revise os tópicos que estudamos anteriormente. Vamos 
listar algumas vantagens da utilização de um SGBD em rela-
ção ao uso de sistemas de arquivos, veja:
• Um SGBD multiusuário permite que vários usuários acessem o banco 
de dados simultaneamente.
• Prover formas complexas de relacionamento de dados
• Mantem o controle de concorrência.
• Fornece recursos para: recuperação de falhas (software e hardware). 
sua manipulação. Conforme figura 2.
19
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
1.1.3.1 EXEMPLOS DE SGBD
Até aqui já conseguimos absorver vários conceitos básicos, de forma ainda não apro-
fundada das premissas de banco de dados. Nas próximas unidades da disciplina serão 
aprofundados os diversos conceitos de forma específica e exemplifica na prática. Va-
mos agora informar dois dos principais SGBD’s utilizados no mercado da computação.
• MySQL: É um sistema gerenciador de banco de dados (SGBD) adquirido em 2009 
pela empresa Oracle. É mundialmente utilizado e considerado o mais popular en-
tre todos. Segundo do site do Mysql, na página “Why Mysql?” (Acesso em junho de 
2018), aplicações como Facebook, Twitter e até o YouTube fazem uso do MySQL 
em algum momento, em seus sistemas. O MySQL é um banco de dados relacional 
e é operado utilizando a linguagem de SQL. Não se preocupe neste momento em 
entender o que é bando de dados relacional e o que é a linguagem SQL.
Complete seus estudos entendendo mais a respeito do SQL 
Server através do seu site oficial. Existem carreiras específicas 
de desenvolvedores com certificações que envolvem o conhe-
cimento específico neste SGBD.
1.2 ENTIDADE E ATRIBUTO
É importante nesse momento de estudo, introduzir o que são os termos entidade e 
atributo. Nas próximas unidades de estudo, trataremos da modelagem de dados e 
será uma premissa a compreensão desses conceitos.
20
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
1.2.1 O QUE É ENTIDADE
Em banco de dados, uma entidade é uma representação de 
um objeto ou conceito do mundo que vivemos – mundo real. 
Veja a conceituação na percepção da autora Virgínia Cardoso, 
em seu livro Sistemas de Banco de Dados:
Para a conceituação de entidade, entende-se como 
coisa ou objeto do mundo real que pode ser separada 
ou distinguível de outro objeto. Nesse contexto, exem-
plificamos com uma entidade Livro, Carro e Pessoa 
como entidade concreta, mas podemos encontrar en-
tidades abstratas como Viagens ou um Aluguel, Com-
pra ou um Empréstimo. Mesmo com essa classificação, 
a representação é a mesma. (CARDOSO, 2008 p. 28)
1.2.2 O QUE É ATRIBUTO
Um atributo como o próprio nome nos remete é o termo formal das qualidades quedescrevem uma entidade, sendo estes específicos de cada entidade. Veja na figura 3, 
a representação de duas entidades e alguns atributos.
FIGURA 3 - ENTIDADES E ATRIBUTOS
Fonte: CARDOSO, 2008.
21
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
Na representação da figura 3 existem duas entidades: alunos e viagem. Para cada 
uma delas existem vários atributos, como o nome na entidade aluno e data de saída 
na entidade viagem. Nota-se que podemos representar os atributos de duas formas, 
utilizando elipses ou a representação pelo ícone de um ponto e seu nome. Quando 
chegarmos ao estudo de modelos e a modelagem de banco de dados, essas duas 
formas de notação podem ser apresentadas, mas a forma de elipse é sempre a mais 
utilizada. Em relação à representação de entidades, por padrão sempre é utilizado 
um retângulo contendo seu nome.
1.2.3 TIPOS BÁSICOS DE ATRIBUTOS
Existe uma particularidade em relação aos atributos. Eles podem ser representados 
de acordo com seu tipo. Perceba na figura 3 atributos de diferentes tipos, tais como:
• Atributo simples.
• Atributo multivalorado.
• Atributo composto.
FIGURA 4 - TIPOS DIFERENTES DE ATRIBUTOS
Fonte: CARDOSO, 2008.
Os atributos simples representam apenas um valor para cada elemento na entida-
de. O atributo multivalorado é a representação para elementos que possuem mais 
22
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
de um valor. O telefone é um exemplo: residencial, comercial etc. Neste caso, usa-se 
apenas uma representação do atributo telefone, mas constando duas elipses na re-
presentação. Um atributo composto representa uma divisão entre outros atributos. 
Sua representação é como uma árvore, assim como mostrado na figura 3.
Existe também o atributo-chave. Veja na figura 4 como ele é representado. O atribu-
to-chave informa que se trata de um atributo que não se repete na entidade. Perceba 
que a matrícula na figura 4 é o atributo-chave da entidade alunos, onde ela é repre-
sentada de forma sublinhada. Ou seja, a matrícula é um dado único de cada registro 
de aluno que temos nessa entidade. 
FIGURA 5 - TIPOS DIFERENTES DE ATRIBUTOS
Fonte: CARDOSO, 2008.
1.3 RELACIONAMENTO E MER
O relacionamento é a ligação estabelecida entre as entidades de um banco de da-
dos. Veja a figura 5 como é feita essa representação.
FIGURA 6 - RELACIONAMENTO ENTRE DUAS ENTIDADES
Fonte: CARDOSO, 2008.
23
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
Percebe-se no modelo da figura 5, que as entidades aluno e cursos se relacionam 
com a representação de um losango entre eles, contendo o termo cursar interna-
mente a ele.
As representações de relacionamento sempre utilizam um 
verbo, como falamos neste exemplo, o verbo cursar.ua mani-
pulação. Conforme figura 2.
1.3.1 CARDINALIDADE
Os relacionamentos possuem também a chamada cardinalidade. Isso significa o nú-
mero de vezes que uma entidade toma parte no relacionamento, e também expres-
sa possibilidades e restrições entre as entidades. 
De forma prática: Quantas ocorrências em uma entidade podem estar associadas a 
uma determinada ocorrência de outra.
Vamos entender como é representada a cardinalidade na prática. Entendemos a car-
dinalidade da seguinte forma:
• Um para Um.
• Um para N.
• N para Um.
Veja na figura 6 um exemplo de relacionamento de cardinalidade: um para um.
FIGURA 7 - RELACIONAMENTO UM PARA UM
Fonte: CARDOSO, 2008.
24
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
Perceba que o modelo ganhou números entre as ligações na figura 6. Nessa especi-
ficação, um professor ministra apenas uma disciplina. E não menos importante, uma 
disciplina é ministrada apenas por um professor. 
Em outra especificação, podemos ter que um professor que pode ministrar várias 
matérias, e cada disciplina pode ser ministrada por um único professor. Veja o exem-
plo na figura 7.
FIGURA 8 - RELACIONAMENTO UM PARA N
Fonte: CARDOSO, 2008.
Agora a letra N está ao lado da entidade disciplinas na figura 7. Ela informa que um 
professor leciona várias disciplinas. É importante entender que a letra N ao lado da 
entidade disciplinas remete a entidade professores, perceba isso na figura 8.
FIGURA 9 - EXPLICAÇÃO DO RELACIONAMENTO UM PARA N
Fonte: Adaptado de CARDOSO, 2008.
25
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
As cores verde e azul foram inseridas na explicação da figura 8, para ajudar a você 
associar como deve ser lido/entendido o relacionamento. Visualizando da esquerda 
para direita (azul), estamos falando de professores em relação à disciplina, logo, da di-
reita para esquerda (verde), estamos falando de disciplinas em relação à professores. 
Assimilar esse “movimento” pode facilitar sua compreensão entre entidades que tem 
um contexto de relacionamento mais complexo.
Continuando nesse mesmo exemplo de relação entre professores e disciplinas, pode-
mos imaginar que cada professor ministra várias disciplinas e cada disciplina é minis-
trada por N professores. Um exemplo: a disciplina de banco de dados pode possuir 
os professores João e José, e, além disso, João e José lecionarem outras disciplinas. 
Perfeito, vamos representá-la na figura 9.
FIGURA 10 - RELACIONAMENTO N PARA N
Fonte: CARDOSO, 2008.
Percebemos então, a representação de relacionamentos e cardinalidade. Com isso 
conseguimos introduzir o que é o modelo entidade-relacionamento. Este modelo é 
conhecido através da sigla MER. (A pronúncia é realizada soletrando as letras “M-E-R” 
e não falando: “Mér”). 
Segundo CARDOSO (2008), a denominação Diagrama de Entidade e Relacionamen-
to (DER), comumente remete ao diagrama que é usado para ilustrar sua representa-
ção gráfica.
Para solidificar este aprendizado, vamos exemplificar um MER envolvendo várias en-
tidades e relacionamentos. Perceba na figura 10.
26
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
FIGURA 11 - EXEMPLO DE MODELO ENTIDADE-RELACIONAMENTO (MER)
Fonte: CARDOSO, 2008.
Na representação da figura 9 podemos perceber diversas entidades se relacionando 
umas com as outras, além de que cada entidade possui diversos atributos. Faça uma 
reflexão no contexto desse exemplo de banco de dados. Exercite por exemplo dizen-
do para você mesmo: no relacionamento entre usuários e livros, um usuário reserva 
um livro e um livro só pode ser reservado por um usuário. Assim por diante.
1.4 USUÁRIOS DE BANCOS DE DADOS 
FIGURA 12 - ADMINISTRADOR DE BANCO DE DADOS
Fonte: SHUTTERSTOCK, 2018.
27
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
Vários são os atores no contexto de manipulação de banco de dados. Os profissionais 
que atuam diretamente com o banco de dados e diretamente com o sistema geren-
ciador de banco de dados (SGBD) se dividem entre:
• Administrador de banco de dados (DBA): Responsável pela administração de 
recursos ligados ao banco de dados, como os dados em si e também o SGBD, 
além de ser responsável por autorizar acessos e por coordenar e monitorar o uso 
do banco de dados.
• Projetista de banco de dados: Responsável por identificar os dados que serão 
armazenados no banco de dados, definindo estruturas corretas para realizar o 
armazenamento. Também é responsabilidade do projetista, avaliar o que é neces-
sário para os grupos de usuários, fazendo com que o banco de dados seja capaz 
de atender os requisitos deusuários.
• Analista de sistemas: O analista de sistema faz a determinação dos requisitos 
dos usuários que esperam pelo serviço, e fazem também o desenvolvimento de 
especificações para as transações atenderem a estes requisitos. Precisam ter co-
nhecimento sobre recursos do SGBD.
• Programadores: Desenvolvem as especificações realizadas pelo analista através 
de programas. São responsáveis muitas vezes pelos testes, depuração, documen-
tação e manutenção. Assim como os analistas, precisam ter conhecimento sobre 
recursos do SGBD.
Temos também os usuários finais no contexto de usuários de banco de dados. Este 
não tem relação com as pessoas que atuam com a estrutura do banco de dados. Para 
eles existem a formalização de três classificações:
• Usuários casuais: Estes realizam o acesso no banco de dados ocasionalmente, 
mas podem também necessitar de diferentes tipos de informações a cada aces-
so que realizam. Para isso, utilizam linguagens de consulta para especificar suas 
necessidades.
• Usuários novatos: Diferentemente dos usuários casuais, estes fazem uso de partes 
predefinidas do banco de dados e consultas estabelecidas que já foram testadas.
• Usuários sofisticados: São familiarizados com o SGBD e realizam consultas complexas.
28
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
A partir dessa divisão e classificação entre as pessoas que manipulam um banco de 
dados, podemos perceber de forma clara que um sistema de banco de dados é um 
fator fundamental dentro de uma aplicação, não somente a aplicação em si contra-
tada para desenvolvimento.
Uma curiosidade de carreira: Em relação aos usuários envol-
vidos no desenvolvimento das aplicações (e não usuários fi-
nais), muitas vezes nos deparamos com situações em que um 
profissional desenvolve mais de uma função. Isso acontece co-
mumente entre analistas e desenvolvedores, onde na maioria das vezes 
um mesmo profissional exerce ambos papéis. Isso deve ser encarado com 
naturalidade (em perspectiva de mercado) quando se participa de equi-
pes de pequeno porte, pois diversos fatores externos a uma equipe de 
desenvolvimento constituem essa realidade, podendo ser citado: o porte 
da solução em questão, a maturidade de gestão empresarial da organiza-
ção que você trabalha e também os recursos financeiros que envolvem a 
contratação de vários profissionais para atuar em um mesmo projeto. Ob-
serva-se também nesse sentido que muitos projetos podem ser contrata-
dos com premissa de investimento partindo do cliente que está contra-
tando a solução. Ou seja, um profissional técnico sempre precisa ter uma 
visão mais abrangente do seu ambiente de trabalho, não só entre seus 
pares diretos, mas também em relação aos seus gestores e o ambiente 
macro que envolve a organização e o cliente. Visualize sempre outras pers-
pectivas, outros lados de uma mesma moeda. “Pense fora da caixa”!
CONCLUSÃO 
Nesta unidade, você teve contato com os principais assuntos relacionados à introdu-
ção de banco de dados. Foi apresentada a diferenciação de dados e informação, o 
que compõe um SBD, detalhando o sistema gerenciador de banco de dados. Vimos 
como o banco de dados se apresenta e também foi apresentado o que é um modelo 
entidade-relacionamento - MER e como ele é constituído. Detalhamos entidades, 
atributos e seus tipos, além da abordagem objetiva de cardinalidade. Ao final foi visto 
29
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
também de forma breve os usuários envolvidos a cerca de um banco de dados.
Recomenda-se que seus estudos em banco de dados, sejam aprofundados com a 
leitura dos livros da bibliografia básica e complementar deste material. 
Na próxima unidade, trataremos da modelagem de dados e os modelos de dados: 
relacional, hierárquicos e de Redes. Bons estudos!
30
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
OBJETIVO 
Ao final desta 
unidade, 
esperamos 
que possa:
> Analisar o modelo de 
dados de rede.
> Analisar o modelo de 
dados hierárquico.
> Definir o modelo 
relacional.
> Identificar o que são 
tabelas e chaves no 
modelo relacional.
> Aplicar o 
mapeamento entre 
MER e MR.
> Apontar notações do 
modelo relacional.
UNIDADE 2
31
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
2 MODELOS DE DADOS: DE 
REDES, HIERÁRQUICO E 
RELACIONAL
Caro aluno, seja bem-vindo à unidade que apresentará os modelos de dados, tais 
como o modelo de rede e hierárquico, além do consagrado modelo relacional. Iremos 
aprofundar no modelo relacional, apresentando diferenças entre o modelo entidade-
-relacionamento, e também como é realizado o mapeamento entre os dois modelos. 
Ao final, serão abordadas, de forma objetiva, as notações básicas de representação 
do modelo relacional. Esperamos que essa seja a base fundamental para guiar seus 
estudos em conceitos do uso do modelo relacional, ao qual será amplamente tratado 
até o final desta disciplina.
2.1 MODELOS DE DADOS
Anteriormente, já fizemos uma abordagem, inclusive prática, do modelo de entida-
de-relacionamento, e nesta unidade iremos abordar os modelos de rede, hierárquico 
e o também o consagrado modelo relacional. 
O modelo de dados é um conjunto de ferramentas que representa conceitos e des-
creve a estrutura lógica e física de um sistema de banco de dados.
O modelo tem por objetivo fornecer representação usando conceitos como objetos, 
juntamente às suas propriedades. O modelo de dados tem uma classificação defini-
da conforme a seguir:
• Modelo classificado como alto nível.
• Modelo classificado como baixo nível. 
No modelo de alto nível, temos uma proximidade maior do modo como o usuário 
enxerga os dados em suas visões, conceitualmente. Já o modelo de baixo nível, é 
denominado de modelo físico, pois expressa a forma mais detalhada em como os 
32
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
dados são armazenados realmente na máquina.
De acordo com os modelos já criados, até então no mercado de tecnologia, temos 
modelos conceituais baseados em objetos, e os modelos conceituais baseados em 
registros.
Como vimos, o modelo entidade-relacionamento é baseado em objetos. Diferente 
do modelo entidade-relacionamento, os modelos de rede, hierárquico e relacional 
são baseados em registros. O modelo relacional, como será focado bastante nos nos-
sos esforços daqui em diante, é um destaque na utilização para criação de banco de 
dados corporativos em todos os níveis, atualmente.
Os modelos com base em registros são utilizados na descrição de dados e disponibi-
lizam recursos flexíveis.
Vamos entender a seguir dois modelos pouco utilizados no mercado atualmente: 
modelo de dados de rede e depois o modelo hierárquico. Após, iremos entrar no es-
tudo do que realmente é usual nos dias de hoje, o modelo relacional.
2.1.1 MODELO DE REDE
O modelo de rede apresenta os dados como registros, como já informado diferente-
mente do modelo entidade-relacionamento. Conforme podemos perceber na Figura 
1, nele os dados são relacionados através de links ou também chamados ponteiros.
FIGURA 13 - MODELO DE REDE
Fonte: Cardoso (2008, p. 22)
33
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
Dessa forma, os dados são representados em conjuntos arbitrários de gráficos. Por ser 
um modelo não tanto usual na realidade de análise e desenvolvimento comumente 
empregado nas empresas atualmente, não iremos aprofundar em sua modelagem 
ou conceituaçãomais avançada.
Você pode pesquisar mais a respeito deste modelo aces-
sando o site DevMedia, inserindo o termo: a história dos 
bancos de dados.
2.1.2 MODELO DE DADOS HIERÁRQUICO
O modelo hierárquico teve sua utilização originalmente focada em mainframes. Nes-
se modelo, os registros são conectados através de uma estruturação em árvore. A 
diferença entre o modelo de rede é que não são arbitrários conforme Figura 2.
FIGURA 14 - MODELO HIERÁRQUICO
Fonte: Cardoso (2008, p. 23)
Perceba que o modelo hierárquico parte de uma raiz, formando uma árvore. Da mes-
ma forma que o modelo de rede, apresenta registros na representação de dados e 
links para demonstrar relacionamento.
34
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
O sistema SABRE foi considerado o maior sucesso de uso desse 
modelo, criado pela empresa IBM juntamente à American Air-
lines. O sistema SABRE foi implementado para reservas de pas-
sagens aéreas e permitiu que diversas pessoas fizessem acesso 
os mesmos dados através de uma rede. É interessante notar que, atualmen-
te, o mesmo sistema SABRE é usado para disponibilizar serviços populares 
de viagens baseados em ambiente Web. Podemos citar o Travelocity.
Assim como o modelo de rede, não iremos aprofundar nosso estudo nesse modelo 
ou em sua forma de modelagem e aplicação. A seguir, você irá conhecer o modelo 
que mudou a forma como os bancos de dados são organizados e desenvolvidos.
2.2 MODELO DE DADOS RELACIONAL
O modelo relacional, conhecido também apenas pela sigla MR, deu sequência ao 
modelo hierárquico. Foi proposto, em 1970, por Edgar Codd, na IBM. Este modelo 
se consolidou a partir de então como um marco na história de como os sistemas de 
banco de dados deveriam ser desenvolvidos. O sucesso foi tanto que Codd ganhou, 
em 1981, o prêmio Turing por originalidade em seu trabalho.
O modelo relacional é utilizado nos dias atuais e daqui em diante nosso estudo será 
focado nele, em sua modelagem, forma de implementação lógica e meios de realizar 
consultas através da linguagem SQL através de um SGBD MySQL.
Apesar de ser um modelo simples, com poucos conceitos, o modelo relacional é uma 
ferramenta muito eficiente. Vimos que o modelo entidade-relacionamento apresenta 
uma diagramação voltada a objetos do mundo real, utilizado em uma primeira fase 
de concepção de um banco de dados, ou seja, uma primeira modelagem do projeto.
É importante entender que nada é perdido realizando uma modelagem entidade-
-relacionamento (MER) para então se fazer uma modelagem relacional (MR). O que 
acontece é uma migração de um modelo para outro. Essa migração entre modelo 
entidade-relacionamento e modelo relacional é denominada mapeamento.
35
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
Apesar de estarmos apresentando a forma teórica de se traba-
lhar entre MER e MR, na prática corporativa de desenvolvi-
mento de softwares, muitas empresas adotam a modelagem 
diretamente através do modelo relacional. É muito comum 
no mercado, que equipes de desenvolvimento já realizem a criação de um 
banco de dados diretamente no modelo relacional, utilizando, para isso 
ferramentas CASE para modelagem de dados. Para isso usando fortemen-
te uma extensão da linguagem UML. Fique tranquilo! Você será iniciado 
nessas ferramentas no decorrer desta disciplina.
Continuando com o modelo relacional, veja que se trata de um modelo com estru-
turas de tabelas.
O modelo relacional tem esse nome devido a relações mate-
máticas, especificamente relacionado à álgebra/cálculo rela-
cional e teoria de conjuntos, e não aos relacionamentos pro-
priamente ditos.
2.2.1 TABELAS
As tabelas em banco de dados relacionais são expressas assim como as conhecemos 
no cotidiano, linhas na horizontal e colunas na vertical. A definição teórica, no entan-
to, nos informa que o modelo é composto por estruturação sintática.
Essa estruturação sintática significa que as tabelas também chamadas por relação, 
possuem valores que são os dados do mundo real. Além dos valores, possuem linhas 
denominadas como tuplas ou registros. As colunas são chamadas de campos ou atri-
butos. O conjunto dos atributos se chama esquema. Veja a seguir na Figura 3.
Observação: Tenho certeza que você está se lembrando do modelo entidade-relacio-
namento e visualizando o quanto mais simples é representar os dados no modelo 
relacional, dessa forma.
36
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
FIGURA 15 - TABELA NO MODELO RELACIONAL
Fonte: Elaborado pelo autor, adaptado de Cardoso (2008, p. 56)
As tabelas do modelo relacional apresentam valores atômicos. Não estamos falando 
de química, apesar de significar que os valores devem ser indivisíveis. Dessa forma, 
um valor de uma tupla não pode ser dividido internamente a ele mesmo. Um exem-
plo: O nome João Alberto é um valor da coluna Nome. Esse valor, nessa coluna, não 
se divide. Caso for necessário dividir, cria-se colunas diferentes. Por exemplo, ter em 
uma tabela uma coluna para DDD e outra coluna o campo telefone. A divisão se faz 
necessária quando precisamos realizar consultas específicas, como: a quantidade de 
telefones do DDD 11 da tabela de clientes.
Dizemos que uma tabela está populada quando ela se apresenta preenchida. Veja 
na Figura 4.
FIGURA 16 - TABELA POPULADA
Fonte: Cardoso (2008 p. 57)
37
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
Perceba que cada linha (tupla) na figura 4 corresponde a uma pessoa. Para cada pes-
soa, temos três atributos, matrícula, nome e endereço respectivamente.
Dessa forma, são representados os registros no modelo relacional. Conjuntos de valo-
res atômicos com atribuições. A tabela da Figura 4 “está presente” em todos os siste-
mas que você possa imaginar, pois reúne dados de pessoas. 
Entre um sistema e outro, o que muda é o contexto dessas pessoas. Há pessoas que 
são clientes, pessoas que são alunos, pessoas que são usuários e entre outros.
2.2.2 CHAVE PRIMÁRIA
As chaves de modo geral no modelo relacional são conhecidas como keys. Compa-
rando com o modelo entidade-relacionamento, a chave primária no modelo relacio-
nal é o mesmo que o atributo chave naquele modelo. Na Figura 4, você percebeu a 
coluna Matrícula sublinhada?
As chaves primárias não se repetem e não aceitam valores nu-
los! Elas identificam o registro para que seja possível criar os 
relacionamentos de conjuntos de dados no modelo relacional.
Perceba na Figura 5 duas tabelas contendo registros de alunos em uma tabela e cur-
sos em outra tabela. Na tabela Cursos, é possível observar a presença de um campo 
Matrícula fazendo referência à chave primária da tabela Alunos. Vemos claramente 
uma relação onde, por exemplo, o aluno José, residente no endereço Av. Das Flo-
res 25, cursa a disciplina de Redes. Identifica-se isso vendo que a matrícula do José 
(1085123) está presente na tabela Cursos na primeira tupla da tabela Cursos.
38
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
FIGURA 17 - TABELA POPULADA
Fonte: Cardoso (2008, p. 58)
A falta de relação também nos entrega informações. Você percebeu que Maria não 
está cursando nenhuma disciplina? Isso é comum em banco de dados, da mesma 
forma que um aluno não está matriculado em todas as disciplinas de uma faculdade 
inteira, no mundo real. Correto?
2.2.3 CHAVE ESTRANGEIRA
A chave estrangeira é denominada dessa forma para identificar um atributo de outra 
tabela. Conforme vimos no tópico anterior, a matrícula da tabela alunos está contida 
na tabela cursos.Essa existência dela na tabela cursos informa que ela é uma chave 
estrangeira, pois se trata de um campo que veio de fora, de outra tabela. Para não 
restar dúvidas quanto a isso, veja a Figura 6.
39
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
FIGURA 18 - EVIDENCIANDO A CHAVE ESTRANGEIRA
Fonte: Elaborado pelo autor, adaptado de Cardoso (2008, p. 58)
Perceba na Figura 6 que a matrícula que consta na tabela Cursos é uma chave estran-
geira da tabela Alunos. Repete-se o número da matrícula. 
2.3 MAPEAMENTO MER PARA MR
Como já foi falado, é possível realizar o chamado mapeamento entre o modelo enti-
dade-relacionamento (MER) para o modelo relacional (MR). Através do mapeamen-
to, podemos migrar a modelagem, mas precisamos que o modelo entidade-rela-
cionamento tenha basicamente a determinação de cardinalidade. Vamos ver nos 
próximos tópicos como acontecem os três tipos de mapeamentos, de acordo com a 
cardinalidade: 1 para 1, 1 para N e N para N.
2.3.1 MAPEAMENTO 1 PARA 1
Conforme Figura 7, temos um MER envolvendo duas entidades: alunos e professores. 
Observe os atributos de cada entidade, incluindo o atributo-chave e também note a 
representação de cardinalidade 1 para 1.
40
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
FIGURA 19 - MER COM CARDINALIDADE 1 PARA 1
Fonte: Cardoso (2008, p. 60)
Já na Figura 8, temos a migração para o modelo relacional envolvendo agora duas 
tabelas, constando: duas tabelas, o esquema (cabeçalho de atributos) e o relaciona-
mento entre a chave primária e chave estrangeira. A representação é feita de dois 
casos diferentes. No caso 1, há o CPF do professor (chave primária em professores) 
presente na tabela Disciplina como chave estrangeira. Já no caso 2, há o código da 
Disciplina (chave primária em disciplinas) presente na tabela Professores. 
FIGURA 20 - MR COM CARDINALIDADE (1 PARA 1), APRESENTANDO DOIS CASOS
Fonte: Elaborador pelo autor, adaptado de Cardoso (2008, p. 61-63)
Veja na Figura 9, com os dados populados, que ambas as formas se apresentam cor-
retas. 
FIGURA 21 - TABELAS POPULADAS DO MR (1 PARA 1), APRESENTANDO DOIS CASOS
Fonte: Elaborador pelo autor, adaptado de Cardoso (2008, p. 63)
41
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
Analisando a diferença entre os casos de cardinalidade 1 para 1, temos uma diferen-
ça interessante. Você percebeu no caso 2 que a professora Joana está com o campo 
código (da disciplina) vazio? Isso demonstra que Joana não leciona nenhuma disci-
plina. Da mesma forma que, analisando o caso 1, não há o CPF da Joana relacionado 
na tabela disciplina.
Qual forma escolher? Isso depende de qual forma é melhor ao 
projeto como um todo. Na prática, procura-se não ter tabelas 
com espaços em brancos ou, caso exista tal necessidade, que 
se tenham menos possíveis. Mas, não se preocupe com isso, 
que é extremamente normal, e você terá uma equipe para discutir sobre 
isso em sua carreira, avaliando sempre o melhor ao projeto. Adquirindo 
experiência, você verá também facilmente qual usar em cada caso prático.
2.3.2 MAPEAMENTO 1 PARA N
Para o mapeamento 1 para N, segue-se o mesmo raciocínio. Porém, essa cardinalida-
de possui somente um caso, onde a chave primária da tabela do lado de cardinalida-
de 1 deve sempre ser chave estrangeira do lado N. A figura 10 mostra a representação 
do relacionamento e, ao lado, a tabela populada, para ficar fácil compreender.
FIGURA 22 - MR (1 PARA N) E TABELA POPULADA
Fonte: Elaborador pelo autor, adaptado de Cardoso (2008, p. 64)
Ora, se trata da mesma representação do modelo relacional 1 para 1! Sim, e o que irá 
mudar são os valores contidos na tabela. Veja na tabela populada da figura 10 que a 
professora Ana ministra as disciplinas de artes e música. Isso é percebido, pois o seu 
CPF, que é chave estrangeira na tabela Disciplina, repete-se nos registros de ambas 
as disciplinas. O CPF da Ana é 231.654.007-22.
42
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
2.3.3 MAPEAMENTO N PARA N
O mapeamento N para N se difere dos demais, pois nesse caso, na representação em 
um modelo relacional, é necessário criar uma terceira tabela. Veja isso na Figura 11.
FIGURA 23 - MAPEANDO N PARA N CRIA-SE NOVA TABELA (PROFESSORES-DISCIPLINAS)
Fonte: Cardoso (2008, p. 67)
Perceba que agora há uma tabela denominada Professores-Disciplinas. É interessante 
notar que ela é composta por dois campos: CPF e Código. Estes, logicamente, são as 
chaves estrangeiras das tabelas Professores e Disciplinas, respectivamente. Ambos são 
representados de forma sublinhada nessa nova tabela, o que quer dizer se tratar de 
uma chave primária composta, ou seja, composta por dois campos distintos das tabe-
las que tem relacionamento. Veja na agora na figura 12 essas três tabelas populadas.
FIGURA 24 - TABELAS POPULADAS EM CARDINALIDADE N PARA N
Fonte: Cardoso (2008, p. 68)
43
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
Perceba através do código da disciplina de música (268) que ela é ministrada por dois 
professores distintos: Ana, que tem o CPF: 231.654.007-22, e também pelo professor 
Pedro, de CPF: 405.900.765-12. Nota-se também que a Ana, além de ministrar mú-
sica, também leciona artes, visto que o seu CPF também está atrelado ao código da 
disciplina 111. Essa percepção se dá na nova tabela Professores-Disciplinas.
Temos então professores lecionando várias disciplinas e uma disciplina sendo lecio-
nada por vários professores. Relacionamento N para N.
Para não restar dúvidas nessa questão, observe a evidenciação do relacionamento 
nas figuras 13 e 14. Perceba a associação representada pelas cores: azul/vermelho.
FIGURA 25 - ANA (UMA PROFESSORA) LECIONA VÁRIAS DISCIPLINAS
Fonte: Elaborado pelo autor
44
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
FIGURA 26 - MÚSICA (UMA DISCIPLINA) É LECIONADA POR VÁRIOS PROFESSORES
Fonte: Elaborado pelo autor
2.4 NOTAÇÕES PRÁTICAS
Existem notações importantes a serem citadas na modelagem relacional. As chaves 
primárias são conhecidas também por primary key, uma tradução direta do inglês ou 
apenas pela sua sigla: PK. Dessa forma, é comum se referir a uma chave primária ape-
nas pelas letras PK, como, por exemplo, o CPF é a PK da tabela Funcionários. Em rela-
ção à chave estrangeira, também existe isso, pode-se referir a ela como foreign key, ou 
apenas FK, como, por exemplo, o campo CPF-Funcionários é uma FK na tabela Livros.
Em relação à representação de tabelas, diferentemente da forma didática como 
apresentamos nos tópicos deste material, na prática, a modelagem não é realizada 
utilizando papel e caneta (ou tabelas de Excel!). Usa-se ferramentas de modelagem 
como, por exemplo, a ferramenta MySQL Workbench que, além de várias funções, 
45
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
possibilita realizar modelagem relacional de um sistema de banco de dados. Perceba 
na Figura 15, um exemplo de representação simples, ao qual qualquer profissional 
ligado ao desenvolvimento de softwares consegue entender de forma padronizada. 
FIGURA 27 - EXEMPLO DE MR REPRESENTADO DE FORMA PADRONIZADA
Fonte: Cardoso, (2008, p. 71)
Veja também que, ao lado da PK em cada tabela, existe um pequeno ícone de chave, 
que visualmente já nos informa que se trata de uma chave primária. Mas, atenção! 
Existem outros íconesde chaves, não somente da PK. Entretanto, nesse momento, 
não iremos entrar nessas questões, pois na continuidade do estudo desta disciplina 
isso será evidenciado.
CONCLUSÃO 
Nesta unidade, você teve contato os principais tópicos relacionados a modelos de 
dados. Vimos de forma mais aprofundada o modelo relacional, por ser um modelo 
amplamente utilizado no mercado de computação. Também foi apresentado como 
se pode fazer o mapeamento do modelo entidade-relacionamento para o modelo 
relacional, apresentando exemplos de mapeamentos entre cardinalidades distintas.
Recomenda-se que seus estudos em banco de dados sejam aprofundados com a 
leitura dos livros da bibliografia básica e complementar deste material. 
Na próxima unidade, serão analisadas as linguagens de definição e manipulação de 
dados. Bons estudos!
46
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
OBJETIVO 
Ao final desta 
unidade, 
esperamos 
que possa:
> Apontar o que é SQL em banco de 
dados.
> Analisar comandos DDL para 
definição de dados.
> Definir e aplique comandos DDL.
> Identificar comandos DML para 
manipular dados.
> Aplicar comandos DML em banco 
de dados relacionais.
> Identificar e aplique operadores 
lógicos em comandos SQL.
UNIDADE 3
47
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
3 LINGUAGENS DE 
DEFINIÇÃO E 
MANIPULAÇÃO DE DADOS.
Como um administrador de banco de dados ou uma aplicação de software pode 
conversar com o SGBD a fim de existir um modelo físico de banco de dados? Pode-
mos escrever de forma lógica utilizando alguma linguagem específica para manipu-
lar dados diretamente em um SGBD, independentemente da linguagem de progra-
mação utilizada para criação de aplicações? Essa será a base para discutir assuntos de 
projetos de bancos de dados, que será visto mais adiante na disciplina. Aproveite esta 
unidade para realizar treinos e pesquisar mais a respeito da linguagem de definição 
e manipulação de dados, utilizada em sistemas de banco de dados relacionais.
3.1 LINGUAGENS DE DEFINIÇÃO E MANIPULAÇÃO
A partir da modelagem de um banco de dados relacional se faz necessário algo que 
crie o banco de dados fisicamente, para que seja possível uma aplicação interagir 
com os dados armazenados através de consultas padronizadas. 
Nessa questão, temos desde 1970 a chamada Structured Query Language, co-
nhecida por sua sigla SQL. A SQL é uma linguagem declarativa padronizada para 
banco de dados relacionais. No início era chamada de Structured English Query 
Language – SEQUEL.
A linguagem SQL se tornou padrão a partir de 1986 através 
de reconhecimento da American National Standards Institu-
te - ANSI e no ano posterior da International Organization for 
Standardization – ISO.
48
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
A linguagem SQL formalmente se apresenta de forma dividida. Sendo: 
• Partes que permitem definir dados.
• Partes que manipulam dados. 
• Partes que definem comandos para a segurança e integridade dos dados.
É importante entender que a SQL é utilizada amplamente 
no mercado atual sendo uma premissa essencial para pro-
fissionais ligados à análise e desenvolvimento de softwares a 
compreenda em suas formas mais básicas.
Iremos tratar aqui das partes da linguagem que definem dados e das partes que ma-
nipulam dados. Quando se fala linguagem, entenda simplesmente como um meio 
de comunicação, afinal precisamos “conversar” com o SGBD informando a ele como 
criar nossa estrutura de dados e posteriormente como inserir os registros, além de 
como alterá-los e como os excluirmos da base. Ah! Precisamos saber “perguntar” tam-
bém, ou seja, consultar os dados. Ficou mais clara a questão de linguagem?
3.2 DEFINIÇÃO DE DADOS
Vamos pensar brevemente o que é definir dados. Pesquisar em um livro é definir o 
livro? Obviamente que não! Definir um livro é, por exemplo, estabelecer suas divisões, 
estruturar como serão os capítulos, como eles se relacionam entre os temas do livro 
como um todo.
Em banco de dados segue-se essa mesma lógica, definir os dados é informar como 
será a estruturação de tabelas, atributos e relacionamento de tabelas. Para isso te-
mos comandos específicos da linguagem SQL que traduzem a modelagem relacio-
nal para uma estrutura física do banco de dados. É realmente simples assim, acredite.
Para formalizar, vamos chamar essa parte da SQL de Data Definition Language – DDL, 
ou seja, linguagem de definição de dados.
49
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
Comandos de DDL são responsáveis por definir os cha-
mados metadados de uma base de dados. Lembrando 
que metadados são dados de outro dado. Exemplo prá-
tico: “O valor de um registro da tabela ABC deve ser um 
número inteiro de até X posições”.
Vamos então compreender como podemos conversar com o SGBD para que ele crie 
as estruturas, para que ele exclua estruturas e também para que ele modifique as 
estruturas. Para facilitar a compreensão, temos que utilizar verbos simples nessa lin-
guagem de comunicação padronizada:
• CREATE – Para criar estruturas.
• ALTER – Para alterar estruturas.
• DROP – Para excluir estruturas.
3.2.1 CRIE PARA MIM SGBD!
Dentro da DDL, tudo se inicia pelo comando CREATE. Ora, precisamos criar nossas 
tabelas! Mas antes disso precisa-se existir o banco de dados propriamente dito. Para 
isso realizamos a seguinte declaração:
CREATE DATABASE <nome do banco de dados>;
Se queremos criar um banco de dados chamado MeuBanco, temos que declarar:
CREATE DATABASE MeuBanco;
Perceba que ao final da declaração usa-se um ponto e vír-
gula. Ele informa ao SGBD que essa declaração terminou 
e que, posteriormente a ela poderá existir outra.
50
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
3.2.2 ELIMINE O BANCO INTEIRO!
Da mesma forma que criamos uma nova base de dados, precisamos saber como eli-
miná-la, quando isso se fizer necessário:
DROP DATABASE MeuBanco;
Para verificar a remoção de um banco de dados, você pode utilizar o comando: SHOW 
DATABASES;
Em alguns SGBDs do mercado, não é disponibilizado o 
comando DROP DATABASE.
3.2.3 CRIE UMA TABELA!
Para informar ao SGBD que precisamos criar uma tabela utilizamos também o co-
mando CREATE, mas, além disso, já informamos os tipos de dados dos nossos cam-
pos, ou seja, caso um campo CPF deverá aceitar apenas números ou se poderá aceitar 
números, ponto e traço. Compreendeu? O SGBD precisa saber de tudo detalhada-
mente para conseguir operar as consultas posteriormente. Além disso, o comando de 
criação de tabela já informa as chaves primárias e estrangeiras da tabela em questão.
Veja como é estruturado um comando de criação de tabela:
CREATE TABLE <nome da tabela> (<nome do atributo> <tipo de dado> [NOT NULL],..., 
PRIMARY KEY (<nome do atributo1>, <nome do atributo2>,...) FOREIGN KEY (<nome 
do atributo>) REFERENCES (<nome da tabela>);
Vendo dessa forma pode até ser difícil compreender, vamos detalhar utilizando 
exemplos que já tratamos nessa disciplina, por exemplo, uma tabela de alunos.
51
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
FIGURA 28 - COMANDO CREATE TABLE EXPLICADO
Fonte: Elaborado pelo autor, adaptado de CARDOSO, 2008.
Perceba na figura 28 que criamos um único comando utilizando várias linhas, mas 
informamos que ele termina no ponto e vírgula da última linha.
Visualizando linha a linha temos um detalhamento completo que você pode perce-
ber lendo oquadro 1. Por mais que pareça algo desnecessário, leia linha a linha do 
quadro associando os detalhes inerentes de cada linha do comando.
QUADRO 2 - COMANDO CREATE TABLE EXPLICADO
COMANDO LINHA A LINHA EXPLICAÇÃO DETALHADA
Linha 1 CREATE TABLE Alunos 
Inicia o comando de criar a tabela Alunos e abre o 
parêntese para definição de campos.
Linha 2 matricula int(11),
Informa o atributo matrícula sendo do tipo inteiro 
aceitando 11 caracteres.
Linha 3 nome char(20) NOT NULL,
Informa o atributo nome sendo do tipo char aceitan-
do 20 caracteres. E definindo que nele não pode acei-
tar valor nulo.
Linha 4 endereço char(30),
Informa o atributo endereço sendo do tipo char acei-
tando 30 caracteres.
Linha 5 PRIMARY KEY (matricula));
Informa que o atributo PK é a matrícula. Perceba que 
matrícula está contida entre parênteses e existe um 
parênteses fechando depois, se trata do fechamento 
do parênteses aberto na linha 1. Finaliza o comando 
com ponto e vírgula. 
Fonte: Elaborado pelo autor, 2018.
52
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
Nesse momento você pode se perguntar: É necessário atentar para cada caractere de 
um comando SQL? A resposta cruel é que sim! A falta de uma vírgula, uma abertura 
de parênteses sem fechamento, ou declarações específicas da linguagem escritas 
de forma errada resultam em um comando ao qual o SGBD não irá conseguir inter-
pretar. Tenha atenção aos detalhes e sempre crie comandos organizados em linhas, 
formatado para melhor leitura tanto de você como os membros da sua equipe.
É muito comum existirem query’s SQL (outra forma de se fa-
lar comandos SQL) extensas e ser gasto um tempo precioso 
de trabalho as escrevendo sem formatação adequada, ge-
rando erros que deverão ser tratados, e com isso ainda mais 
desperdício de esforços.
Vamos agora demonstrar uma criação de tabela que precise uma chave estrangeira 
(FK). Para isso iremos utilizar a tabela Cursos, que se relaciona com a tabela Alunos ao 
qual já abordamos.
Temos que ter em mente que nesse exemplo, a matrícula do aluno (PK da tabela 
Alunos) deverá constar na tabela Cursos como uma chave estrangeira (FK). Esses con-
ceitos nós já tratamos anteriormente nessa disciplina e caso não tenha ficado claro é 
primordial que você retorne a esses tópicos para continuar a partir daqui.
FIGURA 29 - COMANDO CREATE TABLE COM FK
Fonte: Elaborado pelo autor, adaptado de CARDOSO, 2008.
53
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
Conforme percebemos na figura 2, temos a mesma estrutura de criação de tabela, mas 
agora acrescentamos a linha que informa a nossa FK. Lembre-se que independente da 
declaração da FK a linha acima está tratando da PK da tabela Cursos, correto?
3.2.4 ALTERE MINHA TABELA, POR GENTILEZA.
Podemos solicitar ao SGBD que realize alterações na estrutura de uma tabela. Para 
isso utilizamos o ALTER TABLE. Sua sintaxe é definida por:
ALTER TABLE <nome da tabela> [ ADD <nome do atributo> <tipo de dado>; | CHANGE 
<nome do atributo> <tipo de dado>;| RENAME <nome novo da tabela >| DROP < nome 
do atributo>; ]
Acima informamos a sintaxe constando diferentes formas de utilizar o comando AL-
TER. Vamos explicar detalhadamente a seguir, não se desespere.
• ALTER TABLE usando cláusula ADD: É utilizado quando precisamos, por 
exemplo, adicionar um atributo na tabela, veja um exemplo.
ALTER TABLE Alunos 
ADD cidade VARCHAR(20) not null;
• ALTER TABLE usando cláusula CHANGE: É utilizado quando precisamos, por 
exemplo, modificar um atributo na tabela, veja um exemplo.
ALTER TABLE Alunos 
CHANGE nome nomeAluno VARCHAR(40) not null; 
Perceba que após CHANGE, temos primeiramente a repre-
sentação do atributo a ser alterado (nome) e após o novo (no-
meAluno). Evidenciado de vermelho. Ou seja, nessa tabela o 
atributo nome passará se chamar nomeAluno, além de ser 
agora um VARCHAR aceitando até 40 caracteres não nulos.
54
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
• ALTER TABLE usando cláusula DROP: É utilizado quando precisamos, por 
exemplo, excluir um atributo na tabela. Veja um exemplo da exclusão de um 
possível atributo cidade da tabela alunos.
ALTER TABLE Alunos
DROP cidade; 
• ALTER TABLE usando cláusula RENAME: É utilizado quando precisamos, por 
exemplo, renomear a tabela.
ALTER TABLE Cursos
RENAME CursosEAD; 
• ALTER TABLE usando cláusula ADD PRIMARY KEY ou ADD FOREIGN KEY: 
É utilizado quando precisamos adicionar chaves na tabela caso não as tenha-
mos feito no momento de criação da tabela.
ALTER TABLE Alunos
ADD PRIMARY KEY(matricula);
ALTER TABLE Cursos
ADD FOREIGN KEY(matricula) 
REFERENCES Alunos(matricula);
3.2.5 ELIMINE UMA TABELA
Os comandos DDL chegam ao fim com a utilização do comando DROP TABLE. É sim-
ples compreende-lo, veja:
DROP TABLE Cursos
55
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
3.3 MANIPULAÇÃO DE DADOS
Os comandos responsáveis pela manipulação de dados são a parte da SQL denomi-
nada como Data Manipulation Language – DML. A manipulação dos dados se dá por: 
• Inserção de dados de tabelas.
• Atualização de dados de tabelas.
• Exclusão de dados em uma tabela.
• Seleção de dados de uma tabela.
Vamos ver detalhadamente como são compostos estes comandos dentro da lin-
guagem SQL a seguir, mas antes disso precisamos entender os conceitos de opera-
dores lógicos.
3.3.1 OPERADORES LÓGICOS
Através dos operadores lógicos é possível criar query’s SQL que nos permitem usar mais 
de uma única condição em uma mesma cláusula. Dessa forma podem-se produzir re-
sultados únicos utilizando esses operadores. A linguagem SQL faz uso de três operadores:
• AND: Com a utilização do operador AND teremos como retorno nas consultas 
se as duas condições forem atendidas.
Exemplo: “Alunos do estado de São-Paulo AND DDD_telefone = 11”
Explicação: Não haverá no retorno dessa consulta alunos de Minas-Gerais, 
como também não haverá retorno de alunos de São-Paulo com telefone dife-
rente do DDD 11. Serão exibidos somente alunos de São-Paulo que seu tele-
fone tenha DDD 11.
• OR: Com a utilização do operador OR teremos como retorno nas consultas se 
umas das duas condições forem atendidas.
Exemplo: “Alunos do estado de São-Paulo OR DDD_telefone = 11”
Explicação: Aqui serão exibidos alunos de São-Paulo ou qualquer aluno que tenha 
DDD do telefone = 11 em seu registro.
56
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
• NOT: Com a utilização do operador NOT teremos como retorno nas consultas 
se não for atendida uma condição em sequência, por exemplo.
Exemplo: “Alunos com DDD_telefone NOT BETWEEN 11 AND 21”
Explicação: Aqui serão exibidos alunos que tenham DDD do telefone que não 
estão entre 11 e 21. Por exemplo, serão retornados alunos com DDD = 31.
Os exemplos acima foram didáticos, mesclando “português com SQL” para conseguir 
transmitir a você o funcionamento dos operadores lógicos. Adiante veremos como se 
dão as consultas propriamente ditas, somente em SQL. 
3.3.2 INSERIR NA TABELA!
Agora sim iremos começar a popular os registros em nosso banco de dados. O co-
mando de inserção de registros acontece com a utilização do comando INSERT, veja 
a sua sintaxe:
INSERT INTO <nome da tabela> [(<nome dos atributos>)] 
VALUES (<valores dos atributos>);
Imagine uma tabela que contém os dados de pilotos de corrida, e nela temos sete 
campos: código, nome, pais, idade, equipe, motor, pontos. O comando de inserção 
seria:
INSERT INTO Pilotos (código, nome, pais, idade, equipe, motor, pontos) 
VALUES (140, ‘CarlosAlmeida’, ‘Brasil’, 26, ‘Hispania’, ‘Cosworth’,0);
Perceba que dizemos ao SGBD para inserir na tabela pilotos (INSERT INTO Pilotos), 
nos campos (código, nome, pais, idade, equipe, motor, pontos) os seguintes VALUES 
(140, ‘Carlos Almeida’, ‘Brasil’, 26, ‘Hispania’, ‘Cosworth’,0);
Para cada atributo dentro do primeiro parênteses, temos o seu valor correspondente 
no segundo parênteses do comando, de forma sequencial.
57
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
Explicando de forma simples: o código será 140, o nome do piloto é Carlos Almeida, 
o país é o Brasil etc. Cada atributo e valor devem estar sequenciado e separado por 
vírgula dentro dos parênteses.
Um erro será retornado caso você informe campos a 
mais e não estipule seus valores corretamente. Exemplo: 
Solicitar inserção em sete campos nos parênteses INTO 
Pilotos(), apresentando apenas cinco valores dentro dos 
parênteses VALUES(). 
3.3.3 SELECIONAR DE UMA TABELA!
Agora a proposta fica interessante. Um sistema de banco de dados passa a ter total 
sentido quando conseguimos nos beneficiar de consultas de dados para atender o 
que o usuário final necessita, concorda?
O comando da linguagem SQL necessário para isso é o SELECT. Conforme abaixo 
realizamos uma seleção simples envolvendo apenas uma tabela, veja:
SELECT nome FROM Pilotos
Essa consulta irá retornar todos os nomes de pilotos. O FROM é essencial para infor-
mar de qual tabela se trata a consulta. Vamos agora restringir um pouco os resultados 
utilizando um operador lógico, acompanhe:
SELECT nome FROM Pilotos WHERE idade = 26 AND pontos = 0;
Segue-se o mesmo raciocínio, mas agora teremos a listagem dos nomes de pilotos que 
tem idade = 26 e pontos = 0. Percebeu o WHERE? Onde idade = 26 e pontos = 0. Vamos 
continuar, agora simplesmente acrescentando mais campos a serem retornados.
SELECT nome, pais, equipe FROM Pilotos WHERE idade = 26 AND pontos = 0;
58
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
A diferença agora é que queremos que seja retornado além do nome, também o país e a 
equipe de pilos que tenham idade = 26 e pontos = 0. Mas e seu quiser todos os campos?
SELECT * FROM Pilotos WHERE idade = 26 AND pontos = 0;
OK, podemos utilizar o asterisco entre o SELECT e o FROM, conforme acima. Dessa 
forma serão exibidos todos os atributos de pilotos, atendendo o que foi pedido no 
WHERE. (Idade = 26 e pontos = 0).
Através do SELECT pode-se também relacionar campos de 
diferentes tabelas. Veremos isso de forma prática utilizando 
o SGBD MySQL através de aula interativa que acompanha 
essa unidade de estudo. Um exemplo disso seria retornar 
os nomes de pilotos, juntamente com dados do carro que 
eles pilotam (que estão relacionados em outra tabela) de 
um possível banco de dados de um campeonato de corrida. 
Além de ver isso de forma prática aqui na disciplina, aconse-
lha-se que você pesquise mais a respeito das diversas formas 
de utilizar o SELECT através de consultas SQL, por exemplo, 
acessando os livros disponíveis no sistema Minha Biblioteca. 
Comandos SELECT possuem grande variação de utilização e 
é fundamental se aprofundar em suas formas de utilização.
3.3.4 ALTERAR DADOS DA TABELA!
Para alterar os dados em tabelas, fazemos uso do UPDATE, conforme sintaxe:
UPDATE <nome da tabela> SET <alteração> [WHERE <condição>];
Vamos seguir apresentando exemplos práticos. Imagine que precisamos alterar o 
atributo país de todos os pilotos para Brasil. Veja como seria o comando:
UPDATE Pilotos
SET pais = ‘Brasil’;
59
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
Dessa forma todos os registros da tabela Pilotos teriam agora o valor Brasil no atributo 
pais. Pois através da cláusula SET informamos que o valor para país deve ser = Brasil. 
Vamos agora alterar mais atributos:
UPDATE Pilotos SET equipe = ‘Ferrari’, pontos = 0;
Agora alteramos todos os registros da tabela Piloto informando que todos eles são da 
equipe Ferrari e estão com 0 pontos.
Poderíamos ser demitidos nesse momento, pois simples-
mente alteramos todos os registros de pilotos. É altamente 
recomendável que comandos UPDATE possuam restrições 
utilizando WHERE. Veja abaixo:
UPDATE Pilotos SET equipe = ‘Williams’ WHERE idade > 25;
Agora estamos restringindo a alteração para apenas os pilotos com idade maior que 
25 anos. Percebeu o WHERE?
Uma dica de carreira! Aprendemos que podemos usar o 
WHERE em comandos SELECT, correto? Para não corrermos 
risco de realizar operações UPDATE erradas, pode-se pri-
meiramente realizar um SELECT para averiguar os registros 
que serão retornados, e sabendo que através do SELECT, por 
exemplo, somente cinco registros foram retornados, enten-
demos logicamente que um UPDATE com mesma definição 
WHERE irá alterar somente cinco registros.
Perceba: SELECT * FROM Pilotos WHERE idade > 25
60
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
Supondo o SELECT acima retornou apenas cinco registros, sabemos que um UPDATE 
que se utilize de mesmo WHERE, logicamente terá que alterar somente cinco regis-
tros, ao solicitar que o UPDATE abaixo seja executado:
UPDATE Pilotos SET equipe = ‘Williams’ WHERE idade > 25;
Em resumo, antes de realizar um comando UPDATE, você pode realizar um comando 
SELECT para garantir que sua alteração irá acontecer somente com os registros que 
você espera que ocorra. Evite o conhecido “UPDATE sem WHERE”!
3.3.5 APAGAR DADOS DA TABELA!
Antes de apresentar esse último comando da DML da linguagem SQL, o que acaba-
mos de perceber na dica do “UPDATE sem WHERE”, também é válido para o coman-
do de remover registros. Vamos a sua sintaxe:
DELETE FROM <nome da tabela> [WHERE <condição>];
Exemplo prático:
DELETE FROM Pilotos;
É isso mesmo que você imaginou. Todos os dados de Pilotos foram apagados.
Já aqui teríamos um comando de DELETE de forma mais restrita:
DELETE FROM Pilotos WHERE idade > 24 AND pais = ‘Brasil’;
Somente seriam apagadas as duplas (registros) de pilotos com idade acima de 24 
anos e do país Brasil.
Podemos e devemos utilizar operadores lógicos principalmente com comandos DE-
LETE através da cláusula WHERE, assim como vimos com o comando de UPDATE.
61
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017
BANCO DE DADOS I
SUMÁRIO
OBJETIVO 
Ao final desta 
unidade, 
esperamos 
que possa:
UNIDADE 4
> Apontar o que é normalização em banco de 
dados.
> Analisar tabelas básicas em 1FN, 2FN e 3FN.
> Identificar outras formas normais como a 
FNBC e a 4FN.
> Definir o que é dependência funcional 
visualizando exemplos práticos.
> Aplicar normalização 1FN, 2FN e 3FN em 
tabelas relacionais.
> Definir o motivo de normalizar tabelas em 
um projeto de banco de dados.
> Definir em qual parte de um projeto de 
banco de dados podemos normalizar.
> Definir até que ponto a normalização é 
benéfica na prática de um projeto de banco 
de dados.
62
BANCO DE DADOS I
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
4 NORMALIZAÇÃO EM 
PROJETOS DE BANCO DE 
DADOS
Estamos preparados para grandes aplicações a partir de uma modelagem de banco 
de dados simplificada? Conseguimos usar alguma lógica para refinar nossas tabelas 
a fim de evitar redundâncias? Essas preocupações nos levam a questão de normali-
zação de tabelas em banco de dados. Nessa unidade iremos introduzir o que é nor-
malizar e quais são as formas normais às quais podemos aplicar em nossas tabelas de 
banco de dados. Faremos também uma abordagem geral do processo que envolve

Continue navegando