Gerenciamento de
Banco de Dados
Matheus Franco
Curso Técnico em
Informática para Internet
CÓDIGO DE BARRAS
ISBN
Sistemas de
Gerenciamento de
Banco de Dados
Matheus Franco
Ministério da Educação
CDU 681.31:061.68
Apresentação e-Tec Brasil
Você faz parte de uma rede nacional de ensino, que por sua vez constitui
uma das ações do Pronatec - Programa Nacional de Acesso ao Ensino Téc-
nico e Emprego. O Pronatec, instituído pela Lei nº 12.513/2011, tem como
objetivo principal expandir, interiorizar e democratizar a oferta de cursos de
Educação Profissional e Tecnológica (EPT) para a população brasileira propi-
ciando caminho de o acesso mais rápido ao emprego.
É neste âmbito que as ações da Rede e-Tec Brasil promovem a parceria entre a
Secretaria de Educação Profissional e Tecnológica (SETEC) e as instâncias promo-
toras de ensino técnico como os Institutos Federais, as Secretarias de Educação
dos Estados, as Universidades, as Escolas e Colégios Tecnológicos e o Sistema S.
A educação a distância no nosso país, de dimensões continentais e grande
diversidade regional e cultural, longe de distanciar, aproxima as pessoas ao
garantir acesso à educação de qualidade, e promover o fortalecimento da
formação de jovens moradores de regiões distantes, geograficamente ou
economicamente, dos grandes centros.
A Rede e-Tec Brasil leva diversos cursos técnicos a todas as regiões do país,
incentivando os estudantes a concluir o ensino médio e realizar uma forma-
ção e atualização contínuas. Os cursos são ofertados pelas instituições de
educação profissional e o atendimento ao estudante é realizado tanto nas
sedes das instituições quanto em suas unidades remotas, os polos.
Os parceiros da Rede e-Tec Brasil acreditam em uma educação profissional
qualificada – integradora do ensino médio e educação técnica, - é capaz de
promover o cidadão com capacidades para produzir, mas também com auto-
nomia diante das diferentes dimensões da realidade: cultural, social, familiar,
esportiva, política e ética.
3 e-Tec Brasil
Indicação de ícones
5 e-Tec Brasil
Sumário
Palavra do professor-autor 9
Apresentação da disciplina 11
Projeto instrucional 13
7 e-Tec Brasil
Aula 6 – Projeto final da disciplina 93
6.1 Definição 93
6.2 Projeto de banco de dados 93
Referências 95
Currículo do professor-autor 96
Caro aluno!
Com grande prazer lhe recebo nesta disciplina que tem por objetivo, além
do estudo de sistemas de gerenciamento de banco de dados, formar pesso-
as capazes de manipular bases de dados. Sabemos que através da educação
temos a chance de nos tornamos seres mais capazes de compreender o
nosso meio e de produzir novos conhecimentos. Esta é a nossa missão: Com-
preender e difundir o conhecimento tecnológico que estamos adquirindo
para ajudar a melhorar nosso meio. Dediquem-se ao estudo de todas as dis-
ciplinas do curso, e certamente vocês serão profissionais que terão grandes
oportunidades. Desafio se supera com vontade!
Um grande abraço!
Prof. Matheus Franco
9 e-Tec Brasil
Apresentação da disciplina
11 e-Tec Brasil
Projeto instrucional
CARGA
OBJETIVOS DE
AULA MATERIAIS HORÁRIA
APRENDIZAGEM
(horas)
Compreender os conceitos básicos sobre
banco de dados.
1. Conceitos Identificar as principais características de
Caderno didático da disciplina. 10
Fundamentais um Sistema de Gerenciamento de Banco
de Dados.
13 e-Tec Brasil
Aula 1 – Conceitos fundamentais
Objetivos
1.1 Introdução
Todos nós, em nosso dia a dia, temos a necessidade de armazenar e recupe-
rar dados. Cadernos de endereços, listas de telefones, dados financeiros, re-
ceitas, enfim, estamos sempre lançando mão de memórias auxiliares. O ide-
al seria que estas memórias pudessem ser seguras, confiáveis e estivessem
disponíveis quando precisássemos dela. Um dado guardado, mas que não
sabemos como recuperar é praticamente tão inútil quanto se não existisse.
Assim, temos uma grande necessidade de armazenar informações que não
se encontram isoladas, como por exemplo, as fichas de matricula de um alu-
no que contém informações diversas sobre o mesmo, conforme a Figura 1.1.
Uma solução para este problema foi apresentada com o advento da tecnolo-
gia em Bancos de Dados (BD, Database em Inglês). Para que você comece a
dominar o tema em estudo apresentamos várias definições, assim um banco
Manipular Definir
Usuário Usuário
B.D
Construir
SGBD
Figura 1.2: Sistema de Gerenciamento de Banco de Dados
Fonte: Elaborada pelo autor
1.2 História
Os primeiros SBDs foram lançados no mercado no final da década de 60 e
eram conceitualmente muito simples, de acordo com as necessidades das
aplicações da época. No inicio as empresas que impulsionaram este seg-
mento foram a IBM, ORACLE e SYBASE. Assim, como outras tecnologias
na computação, os fundamentos de bancos de dados relacionais nasceram
na empresa IBM, nas décadas de 1960 e 1970, por meio de pesquisas de
funções de automação de escritório. Foi durante um período da história nas
quais as empresas verificaram que era necessário empregar muitas pessoas,
além do alto custo para fazer trabalhos, tais como: armazenar e organizar
seus arquivos. Por este motivo, eram importantes os esforços e investimen-
tos em pesquisa para obter-se um meio mais barato e eficiente de armaze-
namento de dados.
• Usuários finais: existem profissionais que precisam ter acesso à base de da-
dos para consultar, modificar e gerar relatórios. A base de dados existe para
estes usuários. Podem ser usuários comuns do sistema, analistas de negócios
ou usuários avançados que necessitam de uma maior interação com o BD.
Usuários Finais
Visão Visão
Nível Interna Externa
Externo
Mapeamento
externo/conceitual
Esquema Conceitual
Nível Conceitual
Mapeamento Conceitual/Interno
Observe que os três níveis apresentam apenas descrições dos dados. Como
os três níveis apresentam descrições diferentes para os mesmos dados, tor-
na-se necessário converter uma representação em outra, ou seja, definir ma-
peamentos de dados entre os níveis.
1.5.2 Linguagens
Uma vez que o projeto do BD tenha se completado e um determinado SGBD
tenha sido escolhido para a sua implementação, o primeiro passo consiste
em realizar uma especificação dos esquemas conceituais e internos, e os
respectivos mapeamentos entre eles. Para estas etapas o SGBD oferece algu-
mas linguagens apresentadas a seguir:
Resumo
Nesta aula você pode compreender a definição de um banco de dados como
uma coleção de dados relacionados, na qual os dados significam fatos re-
gistrados. Um SGBD é um pacote de software para implementação e manu-
tenção de dados computadorizados. Em seguida, discutimos as categorias
principais de usuários de um banco de dados. Depois, apresentamos uma
lista de capacidades que devem ser oferecidas por um software SGBD. Final-
mente, vimos as linguagens envolvidas com banco de dados.
Atividades de aprendizagem
1. Um conjunto de programas que apoiam a criação, manutenção e operação
de um banco de dados são chamadas:_______________________________ Como apoio complementar
a esta primeira aula assista
dois vídeos para maior
contextualização. Depois
2. A linguagem usada para definir tabelas, esquemas e domínios de atribu- de assisti-los prepare
to de dados é chamada: uma apresentação digital
comentando sobre ambos
e destacando aquilo que
a) ( ) linguagem de definição de armazenamento. julgou mais importante. Ilustre
sua apresentação e não se
esqueça de citar a fonte de
b) ( ) linguagem de definição de banco de dados. onde retirou as imagens ou
onde fez as consultas para
c) ( ) linguagem de definição de dados. elaborar seu trabalho. Deposite
no ambiente AVEA de nosso
curso. Para acessar aos vídeos
d) ( ) linguagem de definição de visões. sobre Introdução aos SGBDs:
http://www.youtube.com/
e) ( ) linguagem de definição de esquema. watch?v=qgnuH_qSI9o; e
http://www.youtube.com/wat
ch?v=tEEAIs6aB2s&feature=
3. A linguagem de manipulação do banco de dados permite: related
4. Qual das opções abaixo não consiste em uma vantagem de se usar ban-
cos de dados?
a) ( ) informações atualizadas.
b) ( ) flexibilidade.
c) ( ) redundância controlada.
b) ( ) vendedor do SGBD.
d) ( ) usuários finais.
f) ( ) todas as anteriores.
Objetivos
Vamos tomar como exemplo, uma agência bancária como pai de um relacio-
namento pode ter vários clientes e um cliente pode ter várias contas, porém
se um cliente pertencer a mais de uma agência, seus dados terão que ser
replicados, o que pode causar inconsistência e desperdício de espaço.
Agência
Cliente
Conta
Vamos tomar como exemplo a Figura 2.2, um equipamento pode ter várias
bombas e motores, e estes dois podem sofrer manutenção mecânica. Assim
neste modelo perde-se a restrição hierárquica.
Equipamento
Motor Bomba
Manutenção Manutenção
Elétrica Mecânica
Vamos tomar como exemplo, um aluno pode cursar várias disciplinas e uma
disciplina pode ser cursada por vários alunos criando assim uma relação mui-
tos para muitos entre as tabelas Aluno e Disciplina.
Cursa
Disciplina
a) Conjunto de Entidades: uma entidade pode ser vista como uma pes-
soa, “coisa” ou “objeto” no mundo real que é distinguível de todos os
outros objetos, como por exemplo, um cliente de um banco.
Cliente
Figura 2.4: Entidade Cliente
Fonte: Elaborada pelo autor
Animais Pessoas
Figura 2.5: Conjunto de Entidades mundo real
Fonte: Elaborada pelo autor
c2
c3
c4
c5
c6
implementaç
ção
implementação representação
SGBD Modelo
Relacional
Relacional
2.2.1 Representações
A estrutura lógica geral de um banco de dados pode ser expressa grafica-
mente por um diagrama ER, que consiste nos seguintes componentes:
Nome
Aluno Prontuário
Data_Nasc.
Data_Nasc.
2.2.4 Relacionamentos
Nenhuma informação armazenada no Banco de Dados existe isoladamente.
Todos os elementos pertencentes ao mundo real (restrito) modelado de alguma
forma estão associados a outros elementos. Normalmente estas associações
representam ações físicas ou alguma forma de dependência entre os elementos
envolvidos. Um relacionamento é uma associação entre diversas entidades.
1
C1
2
1
F1 P1
2
F2 P2
3
P3
P1
P2
P3
1
F1
2 Produto
F2
3
T1
Funcionário Produz_Utiliza T2
Ferramenta
Figura 2.15: Exemplo de relacionamento ternário
Fonte: Elaborada pelo autor
F1 P1
F2 P2
P3
1
2
Funcionário Produto
3
M1 T1
M2 Produz_Utiliza_Opera T2
Máquina Ferramenta
Figura 2.16: Exemplo de relacionamento quartanário
Fonte: Elaborada pelo autor
N 1 Departamento
Empregado Trabalha_para
r1
e1 d1
e2 r2
d2
e3 r3
d3
e4
r4
e5
r5
e6
e7 r6
r7
e1 r1
d1
e2
e3 d2
r2
e4 d3
e5
r3
e6
e7
1 1 Departamento
Empregado Gerencia
r1
e1 p1
r2
e2 p2
r3
e3 p3
r4
e4 p4
r5
r6
r7
N M
Empregado Trabalha para Projeto
Funcionário
N
Coordena É coordenado
Coordena
Atividades de aprendizagem
1. Através de exemplos de Diagramas ER diferentes dos exemplificados nes-
te caderno, ilustre os conceitos a seguir do modelo ER:
a) Entidade.
b) Relacionamento.
c) Auto-relacionamento.
N N
INSTRUTOR ENSINA CURSO
N
TEXTO USA
Possui
Aluno
Objetivo
3.1 Conceitos
O Modelo Relacional será a base para implementarmos nosso banco de da-
dos. Ele representa os dados da base de dados como uma coleção de re-
lações. Podemos pensar que, cada relação pode ser entendida como uma
tabela ou um simples arquivo de registros (Citação). Por exemplo, a base de
dados de arquivos que são mostradas pela Figura 3.1, é similar a representa-
ção do modelo relacional. No entanto, possui algumas importantes diferen-
ças entre relações e arquivos como veremos a seguir.
Numerodo-
DISCIPLINA IdentificadordeDisciplina Semestre Ano Instrutor
Curso
85 MAT2410 Segundo Semestre 98 Kihg
92 CC1310 Segundo Semestre 98 Anderson
102 CC3320 Primeiro Semestre 99 Knuth
8 92 A
8 102 B
8 135 A
Ao pensarmos em uma relação como uma tabela de valores, cada linha re-
presenta uma coleção de valores que estão relacionados. Esses valores po-
dem ser interpretados como um fato que descreve uma entidade ou uma
instância. Utilizamos o nome da tabela e os nomes das colunas para nos
ajudar a interpretar o significado dos valores em cada linha da tabela, que
são na verdade, dados a respeito dos dados, chamados metadados.
Uma coluna de dados possui um tipo de dado que descreve os valores que
podem aparecer nela, por exemplo, na coluna NÚMERO de um aluno espe-
ramos um valor numérico como 17, 18 e não caracteres, este tipo de dado
que especifica os possíveis valores de uma coluna é chamada de domínio.
3.2 Atributos-chaves
Uma relação é definida como um conjunto de tuplas. Por padrão, todos os
elementos de um conjunto devem ser distintos. Assim, todas as tuplas de
uma relação também são distintas. Isto significa que nenhuma tupla pode
ter a mesma combinação de valores para todos os seus atributos. Desta
maneira, temos que ter um valor que chamamos de atributo-chave que é
utilizado para identificar de modo unívoco uma tupla em uma relação.
Geralmente, um esquema de relação pode ter mais que uma chave. Nos ca-
sos em que isto ocorra, cada chave é chamada chave-candidata. Por exem-
plo, o esquema da relação ALUNO poderia ter um atributo adicional Código,
para indicar o código interno de alunos na escola. Assim, o esquema teria
duas chaves candidatas: Nr e Código.
ALUNO ALUNO
Nome Codigo
Nr Nome
Turma Nr
Departamento Turma
Departamento
Vejamos um exemplo, o atributo Nome da relação ALUNO não deve ser indi-
cado como chave, uma vez que nada garante a que não haja ocorrência de
nomes duplicados (homônimos).
PESSOA
Nome
RG
OrgaoEmissor
DataNasc
FUNCIONARIO SETOR
Nome Cod Setor
CPF Nome_Setor
SETOR Localizacao
DataNasc
DEPENDENTE
CPF_Dependente
CPF_Funcionario
Nome_Dependente
Data_Nasc
Figura 3.5: Tabelas para um esquema de um banco de dados relacional
Fonte: Elaborada pelo autor
DEPENDENTE
n CPF_Dependente
CPF_Funcionario
Nome_Dependente
Data_Nasc
Figura 3.6: Relação entre tabelas
Fonte: Elaborada pelo autor
Possui 1
N Setor
Dependente
FUNCIONARIO
NOME CPF SETOR DATA_NASC
Jose 33875419294 1 10/05/1980
Carlos 26218188892 2 17/05/1970
Setor
Cod_Setor Nome Localizacao
1 Informatica Andar 4
2 RH Térrio
3.5 Mapeamento
Como já vimos anteriormente, o Modelo Relacional (MRel) implementa as
tabelas relacionadas, com muitos recursos para segurança dos dados, con-
trole de acesso, consultas e manutenção dos dados. Porém, este modelo
não é o modelo mais adequado para se fazer projetos de banco de dados.
Então conhecemos o Modelo Entidade Relacionamento MER, que por meio
de seus recursos visuais, se apresenta mais claro, simples e intuitivo.
N
Funcionário Trabalha_em
Funcionário
1 1 Nome 1 Setor
Cód_Setor
Possui 1 CPF
n Nome_Setor
Setor
Setor Localização
N Data de Nasc.
Dependente
Dependente
n
CPF_Dependente
CPF_Funcionário
Mapeamento Nome_Dependente
Data_Nascimento
Agora, veremos como traduzir um DER para um esquema MRel. Para isto
utilizaremos um conjunto de passos para que possamos implementar nosso
O livro texto deste caderno - banco de dados em um SGBD Relacional.
ELMASRI & NAVATHE, 2005
- descreve todas as extensões
possíveis de um banco de dados, Passo 1: Mapeamento dos tipos de entidades: Consiste na criação de
é muito útil para o estudante
que queira se aprofundar no uma relação que inclua todos os atributos de uma entidade. Assim, as en-
conteúdo. tidades do MER são transformadas em tabelas no MRel. O atributo chave
da entidade passa a ser a chave primária da relação (tabela). Vejamos um
exemplo na Figura 3.10.
As opções mais utilizadas e que devem ser seguidas são a primeira e a terceira.
1 1
Funcionário Gerencia Setor
Gerente
Código
Cód_Funcionário
Cód_Setor
Data_Início
Figura 3.13: Terceira opção de mapeamento para relação 1:1
Fonte: Elaborada pelo autor
FUNCIONARIO
NOME CPF SETOR DATA_NASC Data_Inicio
Jose 33875419294 1 10/05/1980 01/01/2000
Carlos 26218188892 2 17/05/1970 01/05/2005
Setor
Cod_Setor Nome Localizacao
1 Informatica Andar 4
2 RH Térrio
Funcionário
N Trabalha_em
N
Projeto
Funcionário_Projeto
Código
Cód_Funcionário
Cód_Projeto
Data_Início
PROJETO
Cod_Projeto Nome_Projeto Localizacao
Informatica para
1 Sala 2
todos
Melhoria de
2 Sala 1
trabalho
FUNCIONARIO_PROJETO
Cod_Fun-
Codigo Cod_Projeto Data_Inicio
cionario
1 1 1 01/01/2000
2 1 2 01/05/2005
3 2 2 01/05/2005
4 2 1 01/01/2000
Atividade de aprendizagem
1. Apresente as funções e o sentido das expressões abaixo:
a) Chave-primária.
b) Chave-composta.
d) Integridade referencial.
1 1
PESSOA É_PREFEITO CIDADE
Nome Cód_Cidade
Data_Posse
CPF Nome_Cidade
N 1
ELEITOR VOTA PREFEITO
Nome Cód_Candidato
Turno
CPF Nome
Data
Nome Cód_DVD
Data_Locação
CPF Nome
Data_Devolução
Gênero
1
Nome Cód_Filme
Diretor
CPF Título
Nome
CPF
Idade
Objetivos
4.1 MySQL
Em nossa disciplina utilizaremos o SGBD Relacional MySQL. Este SGBD é
gratuito e possui código aberto. É comum a utilização deste SGBD em apli- Veja mais sobre o MySQL em
http://dev.mysql.com/doc/
cações para ambiente WEB como é nosso escopo. refman/4.1/pt/index.html,
esta documentação é referente
a versão 4.1 (português), a
Como foi solicitado anteriormente, é necessário o download e instalação do documentação das versões
MySQL. Veja a área do desenvolvedor na Figura 4.1. mais atuais (5.X) podem ser
acessadas em inglês.
No ambiente virtual de
ensino aprendizagem está
disponível um vídeo que explica
passo a passo a instalação
e configuração do MySQL.
Assista-o e encontre um modo
de elaborar uma apresentação
digital ilustrada e explicativa.
Poste-a para que seus colegas
conheçam suas inferências e
criatividade.
Para que possamos criar nosso banco de dados com suas tabelas, utilizare-
mos um conjunto de comandos que compõe a linguagem de definição de
dados DDL, como vimos em nossa primeira aula. Estes comandos possuem
uma série de cláusulas. Em nossa disciplina utilizaremos somente as cláusulas
para a construção de nosso banco de dados. Utilize nosso livro de referência
para conhecer mais sobre as cláusulas de definição de um banco de dados.
Data_Início
Gerencia
1 1
Funcionário
N Trabalha
1
Setor
Gerente_Setor
n
n Cód_Setor
Cód_Funcionário
Data_Início
SHOW DATABASES;
Podemos visualizar na Figura 4.6 que nosso banco de dados exemplo foi
realmente criado, os outros bancos que aparecem são de estruturas internas
ou exemplos do MySQL.
O próximo passo será a criação das tabelas de nosso banco de dados. Antes
disso devemos dizer que nosso banco de dados deve ser utilizado para a
criação de nossas tabelas. Vamos executar o seguinte comando:
USE exemplo;
1. Tipos numéricos.
2. Tipos de Data.
3. Tipos de Cadeia.
a) Tipos numéricos
• SmallInt: número inteiro com ou sem sinal. Com sinal a margem de va-
lores válidos é desde -32768 até 32767. Sem signo, a margem de valores
é de 0 até 65535.
• Integer, Int: número inteiro com ou sem sinal. Com sinal a margem de
valores válidos é desde -2147483648 até 2147483647. Sem signo, a
margem de valores é de 0 até 429496295.
• BigInt: número inteiro com ou sem sinal. Com sinal a margem de valores
válidos é desde -9223372036854775808 até 9223372036854775807.
Sem signal, a margem de valores é de 0 até 18446744073709551615.
b) Tipos de data
• Date: tipo data armazena uma data. A margem de valores vai desde o 1
de Janeiro de 1001 ao 31 de dezembro de 9999. O formato de armaze-
namento é de ano-mes-dia.
• Time: armazena uma hora. A margem de horas vai desde -838 horas, 59
minutos e 59 segundos. O formato de armazenamento é ‘HH:MM:SS’.
c) Tipos de cadeia
TABELA: GERENTE_SETOR
CAMPO TIPO DESCRIÇÃO
Cod_Setor Int Código do Setor que é gerenciado
Cod_Funcionario BigInt Codigo do funcionario que gerencia o setor
DataInicio Date Data de inicio da gerência
Para criarmos nossa tabela SETOR vamos utilizar então a seguinte instrução:
Para visualizarmos as tabelas que nosso banco de dados possui, basta utili-
zarmos o comando SHOW TABLES. Para visualizarmos a estrutura da tabe-
la, devemos utilizar o comando DESCRIBE <nome_tabela>.
Agora vamos dar sequência na criação de nossas tabelas. Temos que criar
as tabelas FUNCIONARIO e GERENTE_SETOR. Vamos criar a tabela FUNCIO-
NARIO. Nesta tabela teremos que implementar uma chave primária (CPF) e
uma chave estrangeira (Setor_Trabalha). Vejamos o dicionário de dados para
a tabela FUNCIONARIO.
Podemos observar na Figura 4.10 que o tipo de dado para o campo CPF é
BigInt, isto se fez necessário pois o tipo inteiro não comportaria o CPF de
uma pessoa, pois possui 11 dígitos. Vejamos agora as instruções necessárias
para implementarmos a tabela FUNCIONARIO.
TABELA: GERENTE_SETOR
CAMPO TIPO DESCRIÇÃO
Cod_Setor Int Código do Setor que é gerenciado
Cod_Funcionario BigInt Codigo do funcionario que gerencia o setor
DataInicio Date Data de inicio da gerência
Podemos observar na Figura 4.12 que a chave primária desta relação é uma
chave composta por dois atributos (Cod_Setor e Cod_Funcionario), e esta
tabela também possui duas chaves estrangeiras. Observe também que o
campo Cod_Funcionario é do tipo BigInt pois o campo a qual ele se relaciona
é deste tipo (CPF).
Figura 4.13: Resultado da execução das instruções para criação da tabela GERENTE_SETOR
Fonte: Elaborada pelo autor
Agora vamos ver todas nossas tabelas criadas. Qual comando devemos utili-
zar? E para ver a estrutura das tabelas? Vejamos na Figura 4.14.
Podemos ver na instrução acima que adicionaremos o campo salário que vai
ser do tipo float com tamanho dez e duas casas decimais.
Para vermos a alteração da tabela com o novo campo vamos utilizar o co-
mando DESCRIBE.
Por algum motivo pode ser necessário excluir uma tabela criada, para isto
devemos utilizar a instrução DROP TABLE <nome_tabela>. Se fosse ne-
cessário removermos a tabela FUNCIONARIO do banco de dados EXEMPLO,
usamos o comando DROP:
Resumo
Nesta aula aprendemos a implementar um banco de dados em um SGBD
relacional de auto nível. Vimos como criar nosso banco de dados e tabelas,
implementar chaves-primárias e estrangeiras em nossas tabelas. Criamos um
banco de dados de exemplo com três tabelas relacionadas. Além disso, vi-
mos como alterar e excluir uma tabela do banco de dados.
Período
Nome
Ano
Cód_Disci
1 N
Professor_Formador Leciona Disciplina
N
Cód_Prof 1 Possui N
Turma Aluno
Nome_Prof
Cód_Turma Prontuário
Descrição Nome_Alu
Objetivo
A partir do exemplo que acabamos de ver acima vamos inserir mais dois
registros em nossa tabela setor.
Agora que nossa tabela SETOR possui dados, insira você, dados nas tabelas
FUNCIONARIO e GERENTE_SETOR.
Para realizar a consulta aos dados de uma tabela, a linguagem SQL dis-
ponibiliza o comando SELECT. Este comando é a base para a recuperação
de dados nos bancos de dados relacionais. Ele possui vários parâmetros, SQL
É uma linguagem padronizada
com diversas combinações possíveis e pode chegar a composições um tanto para a definição e manipulação
quanto complexas. Sua forma básica é: de bancos de dados relacionais.
Podemos observar na Figura 5.3 que o uso do asterisco faz com que todos
os campos da tabela sejam apresentados, como não tivemos cláusula de
condição (WHERE), todos os registros da tabela foram apresentados.
5.2.1 Datas
Normalmente os SGBDs fornecem um repertório de funções para o tratamen-
to de datas, por exemplo, no MySQL temos as funções YEAR, MONTH e DAY,
para consultarmos uma data a partir de um determinado ano, mês ou dia.
Fique atento ao utilizar a instrução DELETE, muito cuidado! Se não for es-
pecificada cláusula WHERE, que indica a condição para a seleção da tupla
que será excluída, todos os dados da tabela serão eliminados! Por exemplo,
o comando: DELETE FROM setor; eliminará todos os registros da tabela!
Podemos observar na Figura 5.10 que o comando DELETE FROM setor WHE-
RE cod_setor=1; gerou um erro devido a tentativa de remoção do registro
1, que possui chaves estrangeiras vinculadas a este registros, ou seja, temos
registros da tabela FUNCIONARIO que possuem o campo Setor_Trabalha=1;
Atividade de aprendizagem
1. Defina a função das seguintes instruções:
a) INSERT INTO
b) SHOW TABLE
c) SELECT FROM
d) UPDADE SET
e) DELETE FROM
ALUNO
PRONTUARIO NOME_ALU TURMA
1234 CARLOS SILVA 2
PROFESSOR_FORMADOR
COD_PROF NOME_PROF
1 MATHEUS FRANCO
2 CLÁUDIO HAURO
3 FÁBIO JUSTO
TURMA
COD_TURMA DESCRICAO
1 Araraquara - 2009
2 Franca - 2009
Objetivo
6.1 Definição
Como já vimos na disciplina de Análise e Projeto de Sistemas, um projeto
consiste num esforço temporário com um objetivo pré-estabelecido, seja
para criar um novo produto, serviço ou processo. Tem início, meio e fim bem
definidos, duração e recursos limitados, com uma sequência de atividades
relacionadas. Em nossa disciplina desenvolveremos um projeto de constru-
ção de um banco de dados relacional utilizando o SGBD MySQL.=
Data_Nasc Ano
Especificação
Tabela1
(campo1, ...) Implementação
Tabela 2 com SQL
(campo1, ...)
CREATE TABLE
+ (...)
INSERT INTO...
UPATE...
Dicionário de DELETE...
Dados
Entidade 1:
...
Entidade 2:
... BD
TAKAI O.K.; ITALIANO I.C.; FERREIRA J.E. Introdução a banco de dados. DCC-IME-
USP, 2005. Disponível em http://www.ime.usp.br/~jef/apostila.pdf. Acesso em: 20 maio
2012.
Curso Técnico em
Informática para Internet
CÓDIGO DE BARRAS
ISBN