Professional Documents
Culture Documents
Banco de Dados I
Banco de Dados I
Disciplina na modalidade a distncia
Palhoa
UnisulVirtual
2011
Reitor Unisul Assistente e Auxiliar de Luana Borges da Silva Gerncia de Desenho Jeferson Pandolfo
Ailton Nazareno Soares Coordenao Luana Tarsila Hellmann e Desenvolvimento de Karine Augusta Zanoni
Maria de Ftima Martins (Assistente) Luza Koing Zumblick Materiais Didticos Marcia Luz de Oliveira
Vice-Reitor Fabiana Lange Patricio Maria Jos Rossetti Mrcia Loch (Gerente)
Tnia Regina Goularte Waltemann Marilene de Ftima Capeleto Assuntos Jurdicos
Sebastio Salsio Heerdt Ana Denise Goularte de Souza Bruno Lucion Roso
Patricia A. Pereira de Carvalho Desenho Educacional
Chefe de Gabinete da Paulo Lisboa Cordeiro Cristina Klipp de Oliveira (Coord. Grad./DAD) Marketing Estratgico
Coordenadores Graduao Silvana Souza da Cruz (Coord. Ps/Ext.)
Reitoria Adriano Srgio da Cunha Paulo Mauricio Silveira Bubalo Rafael Bavaresco Bongiolo
Rosngela Mara Siegel Aline Cassol Daga
Willian Mximo Alosio Jos Rodrigues Ana Cludia Ta Portal e Comunicao
Ana Lusa Mlbert Simone Torres de Oliveira
Vanessa Pereira Santos Metzker Carmelita Schulze Catia Melissa Silveira Rodrigues
Pr-Reitora Acadmica Ana Paula R. Pacheco Carolina Hoeller da Silva Boeing Andreia Drewes
Arthur Beck Neto Vanilda Liordina Heerdt
Miriam de Ftima Bora Rosa Elosa Machado Seemann Luiz Felipe Buchmann Figueiredo
Bernardino Jos da Silva Gesto Documental Flavia Lumi Matuzawa Marcelo Barcelos
Pr-Reitor de Administrao Catia Melissa S. Rodrigues Lamuni Souza (Coord.) Gislaine Martins Rafael Pessi
Fabian Martins de Castro Charles Cesconetto Clair Maria Cardoso Isabel Zoldan da Veiga Rambo
Diva Marlia Flemming Daniel Lucas de Medeiros Jaqueline de Souza Tartari Gerncia de Produo
Pr-Reitor de Ensino Fabiano Ceretta Eduardo Rodrigues Joo Marcos de Souza Alves Arthur Emmanuel F. Silveira (Gerente)
Jos Carlos da Silva Junior Guilherme Henrique Koerich Francini Ferreira Dias
Mauri Luiz Heerdt Horcio Dutra Mello Josiane Leal
Leandro Roman Bamberg
Letcia Laurindo de Bonfim Design Visual
Itamar Pedro Bevilaqua Marlia Locks Fernandes
Campus Universitrio de Jairo Afonso Henkes
Lygia Pereira Pedro Paulo Alves Teixeira (Coord.)
Tubaro Lis Air Fogolari Adriana Ferreira dos Santos
Janana Baeta Neves Gerncia Administrativa e Luiz Henrique Milani Queriquelli
Diretora Jardel Mendes Vieira Financeira Alex Sandro Xavier
Milene Pacheco Kindermann Marina Melhado Gomes da Silva Alice Demaria Silva
Joel Irineu Lohn Renato Andr Luz (Gerente) Marina Cabeda Egger Moellwald
Jorge Alexandre N. Cardoso Ana Luise Wehrle Anne Cristyne Pereira
Campus Universitrio da Melina de La Barrera Ayres Cristiano Neri Gonalves Ribeiro
Jos Carlos N. Oliveira Anderson Zandr Prudncio Michele Antunes Corra
Grande Florianpolis Jos Gabriel da Silva Daniel Contessa Lisboa Daiana Ferreira Cassanego
Ngila Hinckel Diogo Rafael da Silva
Diretor Jos Humberto D. Toledo Naiara Jeremias da Rocha Pmella Rocha Flores da Silva
Hrcules Nunes de Arajo Joseane Borges de Miranda Rafael Bourdot Back Edison Rodrigo Valim
Rafael Arajo Saldanha Frederico Trilha
Luciana Manfroi Thais Helena Bonetti Roberta de Ftima Martins
Campus Universitrio Luiz G. Buchmann Figueiredo Valmir Vencio Incio Higor Ghisi Luciano
Roseli Aparecida Rocha Moterle Jordana Paula Schulka
UnisulVirtual Marciel Evangelista Catneo Sabrina Bleicher
Maria Cristina S. Veit Gerncia de Ensino, Pesquisa Marcelo Neri da Silva
Diretora Sabrina Paula Soares Scaranto Nelson Rosa
Maria da Graa Poyer e Extenso Viviane Bastos
Jucimara Roesler Mauro Faccioni Filho Oberdan Porto Leal Piantino
Moacir Heerdt (Gerente) Patrcia Fragnani de Morais
Moacir Fogaa Aracelli Araldi Acessibilidade
Nlio Herzmann Vanessa de Andrade Manoel (Coord.) Multimdia
Equipe UnisulVirtual Onei Tadeu Dutra Elaborao de Projeto e Letcia Regiane Da Silva Tobal
Reconhecimento de Curso Srgio Giron (Coord.)
Patrcia Fontanella Mariella Gloria Rodrigues Dandara Lemos Reynaldo
Diretora Adjunta Rogrio Santos da Costa Diane Dal Mago
Patrcia Alberton Vanderlei Brasil Avaliao da aprendizagem Cleber Magri
Rosa Beatriz M. Pinheiro Fernando Gustav Soares Lima
Tatiana Lee Marques Francielle Arruda Rampelotte Geovania Japiassu Martins (Coord.)
Secretaria Executiva e Cerimonial Gabriella Arajo Souza Esteves
Jackson Schuelter Wiggers (Coord.) Valnei Carlos Denardin Extenso Conferncia (e-OLA)
Roberto Iunskovski Jaqueline Cardozo Polla Carla Fabiana Feltrin Raimundo (Coord.)
Marcelo Fraiberg Machado Maria Cristina Veit (Coord.) Thayanny Aparecida B.da Conceio
Tenille Catarina Rose Clr Beche Bruno Augusto Zunino
Rodrigo Nunes Lunardelli Pesquisa
Assessoria de Assuntos Sergio Sell Daniela E. M. Will (Coord. PUIP, PUIC, PIBIC) Gerncia de Logstica Produo Industrial
Internacionais Mauro Faccioni Filho(Coord. Nuvem) Jeferson Cassiano A. da Costa (Gerente) Marcelo Bittencourt (Coord.)
Murilo Matos Mendona Coordenadores Ps-Graduao
Aloisio Rodrigues Ps-Graduao Logsitca de Materiais Gerncia Servio de Ateno
Assessoria de Relao com Poder Bernardino Jos da Silva Anelise Leal Vieira Cubas (Coord.) Carlos Eduardo D. da Silva (Coord.)
Pblico e Foras Armadas Abraao do Nascimento Germano Integral ao Acadmico
Carmen Maria Cipriani Pandini Maria Isabel Aragon (Gerente)
Adenir Siqueira Viana Daniela Ernani Monteiro Will Biblioteca Bruna Maciel
Walter Flix Cardoso Junior Salete Ceclia e Souza (Coord.) Fernando Sardo da Silva Andr Luiz Portes
Giovani de Paula Carolina Dias Damasceno
Karla Leonora Nunes Paula Sanhudo da Silva Fylippy Margino dos Santos
Assessoria DAD - Disciplinas a Renan Felipe Cascaes Cleide Incio Goulart Seeman
Distncia Leticia Cristina Barbosa Guilherme Lentz
Marlon Eliseu Pereira Francielle Fernandes
Patrcia da Silva Meneghel (Coord.) Luiz Otvio Botelho Lento Holdrin Milet Brando
Carlos Alberto Areias Rogrio Santos da Costa Gesto Docente e Discente Pablo Varela da Silveira
Enzo de Oliveira Moreira (Coord.) Rubens Amorim Jenniffer Camargo
Cludia Berh V. da Silva Roberto Iunskovski Juliana Cardoso da Silva
Conceio Aparecida Kindermann Thiago Coelho Soares Yslann David Melo Cordeiro
Capacitao e Assessoria ao Jonatas Collao de Souza
Luiz Fernando Meneghel Vera Regina N. Schuhmacher Docente Avaliaes Presenciais Juliana Elen Tizian
Renata Souza de A. Subtil Simone Zigunovas (Capacitao) Graciele M. Lindenmayr (Coord.) Kamilla Rosa
Gerncia Administrao Alessandra de Oliveira (Assessoria)
Assessoria de Inovao e Acadmica Ana Paula de Andrade Maurcio dos Santos Augusto
Qualidade de EAD Adriana Silveira Angelica Cristina Gollo Maycon de Sousa Candido
Angelita Maral Flores (Gerente) Alexandre Wagner da Rocha
Denia Falco de Bittencourt (Coord) Fernanda Farias Cristilaine Medeiros Monique Napoli Ribeiro
Andrea Ouriques Balbinot Elaine Cristiane Surian Daiana Cristina Bortolotti Nidia de Jesus Moraes
Carmen Maria Cipriani Pandini Secretaria de Ensino a Distncia Juliana Cardoso Esmeraldino Delano Pinheiro Gomes Orivaldo Carli da Silva Junior
Iris de Sousa Barros Samara Josten Flores (Secretria de Ensino) Maria Lina Moratelli Prado Edson Martins Rosa Junior Priscilla Geovana Pagani
Giane dos Passos (Secretria Acadmica) Fabiana Pereira Fernando Steimbach Sabrina Mari Kawano Gonalves
Assessoria de Tecnologia Adenir Soares Jnior Fernando Oliveira Santos Scheila Cristina Martins
Osmar de Oliveira Braz Jnior (Coord.) Tutoria e Suporte
Alessandro Alves da Silva Claudia Noemi Nascimento (Lder) Lisdeise Nunes Felipe Taize Muller
Felipe Jacson de Freitas Andra Luci Mandira Marcelo Ramos Tatiane Crestani Trentin
Jefferson Amorin Oliveira Anderson da Silveira (Lder)
Cristina Mara Schauffert Ednia Araujo Alberto (Lder) Marcio Ventura Vanessa Trindade
Phelipe Luiz Winter da Silva Djeime Sammer Bortolotti Osni Jose Seidler Junior
Priscila da Silva Maria Eugnia F. Celeghin (Lder)
Douglas Silveira Andreza Talles Cascais Thais Bortolotti
Rodrigo Battistotti Pimpo Evilym Melo Livramento
Tamara Bruna Ferreira da Silva Daniela Cassol Peres
Fabiano Silva Michels Dbora Cristina Silveira Gerncia de Marketing
Fabricio Botelho Espndola Francine Cardoso da Silva Fabiano Ceretta (Gerente)
Coordenao Cursos Felipe Wronski Henrique Joice de Castro Peres Relacionamento com o Mercado
Coordenadores de UNA Gisele Terezinha Cardoso Ferreira Karla F. Wisniewski Desengrini
Indyanara Ramos Eliza Bianchini Dallanhol Locks
Diva Marlia Flemming Maria Aparecida Teixeira
Marciel Evangelista Catneo Janaina Conceio Mayara de Oliveira Bastos Relacionamento com Polos
Roberto Iunskovski Jorge Luiz Vilhar Malaquias Patrcia de Souza Amorim Presenciais
Juliana Broering Martins Schenon Souza Preto Alex Fabiano Wehrle (Coord.)
Banco de Dados I
Livro didtico
Design instrucional
Viviane Bastos
4 edio
Palhoa
UnisulVirtual
2011
Design Instrucional
Viviane Bastos
Assistente Acadmico
Roberta de Fatima Martins
Diagramao
Rafael Pessi
Anne Cristyne Pereira (4 edio)
Reviso
Simone Rejane Martins
Diane Dal Mago (4 edio)
005.74
M43 Medeiros, Marcelo
Banco de dados I : livro didtico / Marcelo Medeiros, Luciano Jos
Svio ; reviso e atualizao de contedo Tatiane dos Santos Leal ; design
instrucional Viviane Bastos. 4. ed. Palhoa : UnisulVirtual, 2011.
253 p. : il. ; 28 cm.
Inclui bibliografia.
Apresentao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Palavras dos professores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Plano de estudo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Equipe UnisulVirtual.
Bom estudo!
o livro didtico;
o Sistema Tutorial.
Ementa
Origens de um sistema de banco de dados. Caractersticas
de um sistema de banco de dados. Modelo de dados. Bancos
de dados relacionais e orientados a objetos. Linguagens de
definio e manipulao de dados. Modelos de entidade/
relacionamento.
Objetivos
Geral:
Propiciar o desenvolvimento e a utilizao de sistemas de banco
de dados, por meio dos conceitos fundamentais sobre eles, os
seus sistemas de gerenciamento, formas de modelagem de dados
e as caractersticas da linguagem de programao para banco de
dados.
Especficos:
Conhecer os conceitos bsicos sobre banco de dados,
origem e a sua forma de funcionamento.
Carga Horria
A carga horria total da disciplina de 60 horas-aula.
12
Contedo programtico/objetivos
Veja, a seguir, as unidades que compem o livro didtico desta
disciplina e os seus respectivos objetivos. Estes se referem aos
resultados que voc dever alcanar ao final de uma etapa de
estudo. Os objetivos de cada unidade definem o conjunto de
conhecimentos que voc dever possuir para o desenvolvimento
de habilidades e competncias necessrias sua formao.
Unidades de estudo: 9
13
14
15
Atividades obrigatrias
16
Objetivos de aprendizagem
Compreender a importncia dos bancos de dados na
rea de tecnologia da informao.
Sees de estudo
Seo 1 Banco de dados e a rea de tecnologia da
informao
Unidade 1 19
20
SISTEMAS
Contabilidade Estoque RH
ARQUIVOS DE DADOS
Figura 1.1 Arquitetura de sistemas de informao
Fonte: Elaborao do Autor.
Unidade 1 21
Unidade 1 23
24
SISTEMAS
Contabilidade Estoque RH
SGBD
BD 1 BD 2 BD 3 BD 4
Unidade 1 25
26
Unidade 1 27
28
Unidade 1 29
Usurio final
Usurio final a pessoa cujo trabalho requer acessar o banco de
dados para consulta e atualizar os dados; um banco de dados
existe primariamente para seu uso. A maioria dos usurios
finais utiliza programas voltados ao desempenho de suas
funes profissionais, interagindo com tais programas em seu
dia a dia. Nessa classe, pode-se citar caixa bancrio, caixa de
supermercado, agente de turismo, vendedores de varejo etc.
Alguns usurios mais sofisticados, como engenheiros e cientistas,
esto mais familiarizados com as facilidades de um SGBD e so
capazes de utilizar ferramentas para elaborar suas consultas.
Sntese
30
Unidade 1 31
Atividades de autoavaliao
Ao final de cada unidade, voc realizar atividades de autoavaliao. O
gabarito est disponvel no final do livro didtico. Esforce-se para resolver
as atividades sem ajuda do gabarito, pois, assim, voc estar promovendo
(estimulando) a sua aprendizagem.
32
Saiba mais
33
Objetivos de aprendizagem
Compreender o conceito de banco de dados.
Sees de estudo
Seo 1 Conceitos de banco de dados
36
Unidade 2 37
38
Unidade 2 39
40
Unidade 2 41
42
Unidade 2 43
44
Unidade 2 45
46
Figura 2.4 Acesso a banco de dados centralizado.
Fonte: Elaborao do autor.
Unidade 2 47
SGBD
48
Usurios Finais
Viso VIso
Externa Interna
Nvel Externo
Esquema Interno
Nvel Interno
Unidade 2 49
Independncia de dados
A arquitetura lgica em 3 nveis pode ser usada para esclarecer
o conceito de independncia de dados, que pode ser definida
como a capacidade de alterar o esquema em um nvel sem alterar
o esquema do nvel imediatamente superior. Apresentam-se 2
nveis de independncia de dados:
50
Minicomputador
ou Mainframe
Terminais Locais
Modem
Terminal
Modem Remoto
Unidade 2 51
Consulta Servidor de
Banco de Dados
Resultado da consulta
pc pc
cabo de Rede
pc
52
Unidade 2 53
54
O acesso aos dados de uma tabela pode O acesso ao arquivo pode ser randmico,
obedecer aos mais variados critrios, sem que seqencial ou indexado.
novas estruturas precisem ser criadas.
Colunas /Campos
Linhas / Registros
Unidade 2 55
Lembre-se de que as
linhas representam o
CodigoAluno Nome Idade Sexo
nmero de registros
1 Fulano de Tal 35 M
cadastrados na tabela e
as colunas representam
campos que compem a
estrutura. Alguns campos da tabela, alm do tipo de dados e do nome de
identificao, possuem uma propriedade adicional. Esses campos
recebem o nome de chave.
Chaves
O conceito bsico para identificar linhas e estabelecer relaes
entre linhas de tabelas de um banco de dados relacional o de
chave.Em um banco de dados relacional h ao menos dois tipos
de chaves a considerar: a chave primria e a estrangeira.
56
Chave primria
A chave primria a chave que identifica cada registro, dando-lhe
unicidade. Essa chave primria nunca se repetir dentro da
estrutura da tabela. Ela pode ser formada por um nico campo
ou coluna, ou por vrios campos.
Quando uma chave formada por vrios campos, diz-se que ela
uma chave primria composta.
Uma tabela no pode
ter mais de uma chave
Na tabela Alunos, apresentada anteriormente, o campo
primria. Porm, em se
CodigoAluno uma coluna sujeita a ser uma chave
tratando de uma chave
primria, uma vez que no podero ser cadastrados
primria composta, ela
vrios alunos com o mesmo cdigo. Entretanto, os
ter mais de uma coluna
campos Idade, Nome e Sexo podem ser repetidos
(atributo).
durante o cadastro de alunos, pois podemos ter alunos
com o mesmo nome, idade e sexo, dessa forma, no
podem ser de forma alguma chave primria.
Unidade 2 57
Chave estrangeira
58
Unidade 2 59
60
Unidade 2 61
62
Objeto
Unidade 2 63
Representao do objeto
Em um modelo relacional, cada tabela representa unicamente
a estrutura dos dados que sero armazenados ali e as regras de
integridade, como chaves primrias e estrangeiras.
Os mtodos representam
a forma de acesso ao Figura 2.15 Representao do objeto aluno.
objeto. pelos mtodos Fonte: Elaborao do autor.
que se executa uma
determinada tarefa do
objeto ou se alteram as
Observe que no h mais a representao em forma de tabelas,
suas propriedades. Os com linhas e colunas. O que temos um nico objeto Aluno que
mtodos podem ser do tipo possui como propriedades o codigoaluno, o nome, a idade e o sexo.
construtor, recuperador
ou modificador. O objeto Aluno deve conter as regras de uso desse objeto.
As propriedades dele s podem ser alteradas pelos mtodos
implementados pelo seu criador. Assim, o objeto Aluno passa a
ter uma estrutura mais complexa, como a seguir:
64
Unidade 2 65
66
Modelo conceitual
O modelo conceitual
pode ser facilmente
Um modelo de dados conceitual uma descrio encontrado nas referncias
do banco de dados que ser projetado de forma bibliogrficas como
independente da ferramenta computacional de SGBD. modelo de entidade
relacionamento, ou
simplesmente MER.
Esse modelo representa os dados de cada tabela sem se preocupar
com a forma pela qual esses sero registrados no SGBD
utilizado. A estrutura de cada tabela passa a ser referenciada
como entidade, que compe o esquema de banco de dados,
porm, de forma independente do SGBD a ser utilizado.
Unidade 2 67
1 Fulano de Tal 35 M
Tipo de entidade
Tipo de relacionamento
Atributo
Atributo chave
Atributo multivalorado
Atributo derivado
Atributo composto
E1 R E2 Participao total de E2 em R
E1 R E2 Cardinalidade 1 : N para E1 : E2 em R
(min, max)
68
CdigoAluno
Unidade 2 69
Modelo lgico
70
Sntese
Unidade 2 71
Atividades de autoavaliao
72
Saiba mais
Unidade 2 73
Objetivos de aprendizagem
n Compreender os processos para se projetar um banco
de dados.
n Entender o conceito de modelagem de dados.
Sees de estudo
Seo 1 Projetando um banco de dados
76
Unidade 3 77
78
Unidade 3 79
Tipos de cardinalidade
As cardinalidades classificam-se em mnima e mxima. Veja a
seguir as caractersticas de cada uma delas.
Cardinalidade mnima
80
P1 P2 P3 PASES
P4 P5
O P1,U3 O P2,U4
O P1,U1 OP5,U2 O P3,U5
Relacionamentos de Pases e UFs
U1 U2 UF
U3 U4 U5
Unidade 3 81
Cardinalidade mxima
vrias UF;
cada UF deve pertencer a um nico Pas.
82
Unidade 3 83
UF
UF CAPITAL
CAPITAL
COD_UF NOME_UF COD_CAP NOME_CAP
COD_UF NOME_UF COD_CAP NOME_CAP
11 SC
SC 11 FLORIANPOLIS
FLORIANOPOLIS
22 SP
SP 22 SO PAULO
SO PAULO
UF
COD_UF NOME_UF NOME_CAP
1 SC FLORIANPOLIS
2 SP SO PAULO
84
Unidade 3 85
CONTINENTE PAS
COD_PAIS NOME_PAIS
COD_CON NOME_CON
1 ALEMANHA
1 EUROPA
2 ITLIA
3 FRANA
CONTINENTE
COD_CON NOME_COM NOME_PAS
Voc pode ento indagar: mas que problemas isso pode acarretar?
Uma das dificuldades mais bvias a apresentar se refere
impossibilidade de se definir, a priori, com grau suficiente de
certeza, quantos pases podero pertencer a um continente, a fim
de que possamos definir qual o nmero mximo de caracteres
(letras) que precisaremos reservar para registrar os pases.
86
Unidade 3 87
UF HABITANTES
1 SC 1 JOAO BIS
2 SP 2 MARIA HOFF
3 TECO TROTSK
UF
UF HABITANTES
HABITANTES
COD_UF NOME_UF
COD_UF(PK) NOME_UFHABIT(FK)
HABIT COD_HAB NOME_HAB
COD_HAB(PK) NOME_HAB UF
UF(FK)
(PK) (FK) (FK) (FK)
1 1 SC
SC 1,21,2 11 JOO BIS
JOAO BIS 1 1
2 2 SP
SP 2,32,3 22 MARIA HOFF
MARIA HOFF 1,21,2
33 TECO TROSTSK
TECO TROTSK 2 2
88
Unidade 3 89
90
Sntese
Unidade 3 91
Atividades de autoavaliao
Ao final de cada unidade, voc realizar atividades de autoavaliao. O
gabarito est disponvel no final do livro didtico. Esforce-se para resolver
as atividades sem ajuda do gabarito, pois, assim, voc estar promovendo
(estimulando) a sua aprendizagem.
A empresa Pare Aqui deseja implantar um sistema para controle dos seus
clientes. A empresa possui vrios ptios de estacionamento na cidade,
porm, o controle realizado por meio de anotaes em caderno, e isso
tem gerado uma perda muito grande de recursos financeiros e at mesmo
de clientes.
A empresa adota as seguintes regras:
92
Saiba mais
Unidade 3 93
94
Objetivos de aprendizagem
Entender os conceitos de software livre e de software de
tecnologia proprietria.
Sees de estudo
Seo 1 O mercado de software livre e de software
proprietrio
96
Unidade 4 97
98
Unidade 4 99
A diferena simples.
100
Padronizao
Performance
Unidade 4 101
102
a) MySQL
O aplicativo MySQL um sistema de gerenciamento de banco Acesso direto em: <http://
de dados relacionais baseado em comandos SQL (Structured www.mysql.com>.
b) PostgreSQL
O aplicativo PostgreSQL um sistema de gesto de bases de Acesso direto em: <http://
www.postgresql.org>.
dados relacionais, desenvolvido como projeto de software livre.
Sua origem PostgreSQL est de certo modo ligada ao projeto
Ingres, desenvolvido na Universidade de Berkeley, Califrnia.
O lder do projeto, Michael Stonebraker, um dos pioneiros das
bases de dados relacionais, deixou a universidade em 1982 para
comercializar o Ingres, acabando por regressar a Berkeley.
Unidade 4 103
c) InterBase
Acesso direto em: <http:// O aplicativo InterBase um gerenciador de banco de dados
www.borland.com.br>.
relacionais da Borland, mesmo fabricante das linguagens de
programao Delphi, Borland C++ e Borland Java.
d) SQLite
Acesso direto em: <http://www. O aplicativo SQLite uma biblioteca em linguagem C que
sqlite.org>.
implementa um banco de dados SQL embutido. Programas que
usam a biblioteca SQLite podem ter acesso a banco de dados
SQL sem executar um processo separado.
104
e) MS SQL Server
Acesso direto em: <http://
www.microsoft.com/
O aplicativo MS SQL Server um gerenciador de banco de sqlserver>.
dados fabricado pela Microsoft. um banco de dados muito
robusto e usado em empresas e por grandes sistemas corporativos.
f) Oracle
O aplicativo um sistema de banco de dados que surgiu no final Acesso direto em:
dos anos 70, quando Larry Ellison vislumbrou uma oportunidade <http://www.oracle.
com.br>.
que outras companhias no haviam percebido, quando encontrou
uma descrio de um prottipo funcional de um banco de
dados relacional e descobriu que nenhuma empresa tinha se
empenhado em comercializar essa tecnologia. Ento, Ellison e os
co-fundadores da Oracle Corporation, Bob Miner e Ed Oates,
perceberam que havia um tremendo potencial de negcios no
modelo de banco de dados relacional, tornando-os assim a maior
empresa de software empresarial do mundo.
Unidade 4 105
f) Cach
Acesso direto em: <http:// O banco de dados Cach considerado um banco de dados ps-
www.intersystems.com.br>. relacional. A sua arquitetura unificada de dados constri uma
camada de descrio para objetos e tabelas relacionais e tem como
uma das caractersticas importantes, permitir uma integrao
entre dois mundos: SQL (Relacional) e Objetos.
Veja os motivos.
106
Unidade 4 107
Instalao do MySQL
Unidade 4 109
110
Unidade 4 111
Figura 4.9 Tela que apresenta o nome do servio a ser criado no Windows.
Fonte: MYSQL Server 5.1.
112
Unidade 4 113
114
Sntese
Unidade 4 115
Atividades de autoavaliao
116
Saiba mais
Unidade 4 117
Implementao do projeto de
banco de dados
Objetivos de aprendizagem
n Conhecer a origem da linguagem SQL.
Sees de estudo
Seo 1 A estrutura da Linguagem SQL
Sendo assim, nesta unidade, vamos fazer parte deste seleto grupo
de programadores que usam a linguagem SQL para manipulao
e definio de dados. Bom estudo!
120
Unidade 5 121
Sua sintaxe :
Unidade 5 123
124
Unidade 5 125
126
Unidade 5 127
128
Unidade 5 129
Alter Table Nome_ da_Tabela Operao Nome_ do_ Campo Nova Regra;
Operao Funcionalidade
ADD Adiciona um novo campo.
MODIFY Altera a estrutura de um campo.
130
Quadro 5.3 Estrutura da tabela de alunos aps a execuo do comando describe alunos.
Fonte: Elaborao do autor.
Unidade 5 131
132
Unidade 5 133
134
Unidade 5 135
136
Sua sintaxe :
Unidade 5 137
Figura 5.5 Representao da remoo de uma tabela com campos que so foreign key para outra
tabela.
Fonte: Elaborao do autor.
138
Unidade 5 139
Sntese
Para que uma tabela seja removida, ela no pode ter dados
cadastrados e nem ser uma tabela estrangeira para outra tabela.
140
Atividades de autoavaliao
Ao final de cada unidade, voc realizar atividades de autoavaliao. O
gabarito est disponvel no final do livro didtico. Esforce-se para resolver
as atividades sem ajuda do gabarito, pois, assim, voc estar promovendo
(estimulando) a sua aprendizagem.
Nesta atividade voc revisar os comandos de definio de dados por
meio da criao de um banco de dados fsico, a partir de um modelo
conceitual.
Com base no modelo de dados a seguir, escreva os comandos em SQL que
realizam cada uma das tarefas solicitadas.
LEGENDA
Smbolo Significado
PK Chave Primria
NN Not Null
Chave Primria e
PFK
Chave Estrangeira
FK Chave Estrangeira
Unidade 5 141
142
Unidade 5 143
Saiba mais
144
Unidade 5 145
a proteo por registros (row locking) e no por tabelas (table locking), como o
faz o MyISAM. Contudo, em vrias situaes, innoDB mais lento que MyISAM,
devido ao fato de que innoDB funciona com transaes.
Outro ponto interessante so as restries de chaves estrangeiras (foreign key
constraints) e transaes. Esses recursos esto disponveis apenas no InnoDB.
MyISAM apropriado para tabelas cujos dados no mudam com frequncia. Um
exemplo disso uma tabela de cidades e estados. Como geralmente este tipo de
tabela usado apenas como consulta, no h necessidade do uso de InnoDB.
MyISAM tem a vantagem de ser um arquivo simples, se comparado com o
innodb. Mesmo na opo para criar dentro do contexto, o arquivo fica instvel
em volumes grandes, perfomace de cache sempre importante.
O MyISAM foi implementado a partir do cdigo da tabela ISAM., introduzindo
diversas melhorias, como:
os arquivos de tabela so transportveis entre diferentes sistemas
operacionais;
campos BLOB e TEXT podem ser indexados;
os Arquivos ndices e de dados podem ser armazenados em dispositivos
diferentes (aumento de performance);
algoritmos de distribuio de dados e gerenciamento de ndices
melhorados.
Com relao ao InnoDB, pode-se afirmar que:
rodam sob um engine, desenvolvido pelo Innobase, que acrescenta ao
mysql o suporte a transaes e a constraints de chave estrangeira;
para obter o mximo de performance com tabelas innoDB, necessrio
configurar o arquivo my.conf (ou my.ini no Windows), de acordo com as
caractersticas de hardware do servidor onde o mysql est rodando. Os
Detalhes dessa configurao podem ser obtidos no manual do InnoDB.
para a verso do MySQL, que estamos utilizando esta configurao, j
vem na instalao padro.
A vantagem da utilizao de tipos de tabela que voc poder optar por utilizar
um determinado tipo ou outro, dependendo dos requisitos exigidos pela sua
aplicao. Por exemplo, se a sua aplicao apenas de consulta, voc pode
optar pelo tipo MyISAM, em vez do InnoDB, com isso voc evita o overhead da
transao, obtendo um maior desempenho. importante lembrar que voc
poder utilizar vrios tipos de tabelas em um mesmo banco de dados. Nesse caso,
deve-se tomar cuidado com a utilizao de determinados recursos, por exemplo,
se voc tiver uma transao envolvendo tabelas InnoDB e MyISAM e submeter um
comando ROLLBACK, apenas os comandos executados no InnoDB sero desfeitos,
enquanto que os executados no MyISAM persistiro. A utilizao do tipo de tabela
correto um fator chave para determinar o desempenho da sua aplicao.
Fonte: Adaptado de: DUARTE, Eber M. Trabalhando com os vrios tipos de tabelas do MySQL. Publicado em: 08
nov 2006. Disponvel em: <http://www.criarweb.com/artigos/674.php>. Acesso em: 28 fev 2011.
146
Objetivos de aprendizagem
n Compreender a importncia das ferramentas Case.
Sees de estudo
Seo 1 Ferramentas Case
148
Unidade 6 149
150
Pr-requisito Avaliao
Unidade 6 151
152
Figura 6.4 - Representao da chave primria da tabela Alunos no Toad Data Modeler.
Fonte: Elaborao do autor.
Unidade 6 153
154
a criao de tabelas;
a definio dos nomes de campos e seus respectivos tipos;
a definio das chaves primrias e estrangeiras.
A seguir, tem-se a gerao do script para criao das tabelas
Alunos, Cursos e Matriculas, representadas graficamente nas
figuras anteriores.
3
Figura 6.7 - Script SQL gerado pelo Toad Data Modeler.
Fonte: MySQL Toad Data Modeler.
Unidade 6 155
Principais caractersticas:
156
Unidade 6 157
2 D um duplo clique
na entidade, para inserir
os atributos
1
Figura 6.10 - Interface de definio dos campos da tabela Alunos no MySQL Workbench.
Fonte: MySQL Workbench.
160
Unidade 6 161
Sntese
162
Atividades de autoavaliao
Ao final de cada unidade, voc realizar atividades de autoavaliao. O
gabarito est disponvel no final do livro didtico. Esforce-se para resolver
as atividades sem ajuda do gabarito, pois, assim, voc estar promovendo
(estimulando) a sua aprendizagem.
A empresa Pare Aqui deseja implantar um sistema para controle dos seus
clientes. Ela possui vrios ptios de estacionamento na cidade, porm, o
controle realizado por meio de anotaes em caderno, e isso tem gerado
uma perda muito grande de recursos financeiros e at mesmo de clientes.
A empresa adota as seguintes regras:
Unidade 6 163
164
Saiba mais
Unidade 6 165
Objetivos de aprendizagem
n Identificar os comandos de manipulao de dados (DML).
Sees de estudo
Seo 1 A estrutura dos comandos de manipulao
de dados
Bons estudos!
168
Unidade 7 169
Produto
Codigo_Produto Integer NN (PK)
Descricao_Produto Varchar(30) NN
Preco_Produto Float NN
170
Unidade 7 171
Continuando as inseres:
172
Unidade 7 173
Agora que voc j sabe como inserir dados em uma tabela, que
tal voc aprender a alterar as informaes cadastradas? Esse ser
seu prximo aprendizado, est preparado?
174
Operador Funo
= Igual
<> Diferente
> Maior
< Menor
>= Maior ou Igual
<= Menor ou Igual
AND E lgico Verdadeiro quando todas as condies so verdadeiras.
OR OU lgico Verdadeiro quando pelo menos uma Condio verdadeira.
No Inverte o valor. Se for verdadeiro, troca para falso, se falso troca para
NOT verdadeiro.
Unidade 7 175
ou
ou
176
Unidade 7 177
Por outro lado, a tabela no pode ficar com esses campos nulos
(vazios), pois so do tipo not null.
178
Veja:
Nome Upper(Nome)
fulano FULANO
Fulano FULANO
FULANO FULANO
fulaNO FULANO
Unidade 7 179
Lower (coluna);
Sntese
180
Insert into Tabela values (v1,v2,...,vn); Insert into Tabela (c1,c2,..cn) values (v1,v2,,vn);
Update Tabela set Campo1 = Valor 1 where Condio; Update Tabela set Campo1 = Valor 1;
Unidade 7 181
Atividades de autoavaliao
Produto
Codigo_Produto Integer NN (PK)
Descricao_Produto Varchar(30) NN
Preco_Produto Float NN
A1.
182
A2.
A3.
A4.
Unidade 7 183
Saiba mais
Recuperao de informaes do
banco de dados
Objetivos de aprendizagem
n Selecionar dados em SQL usando a DML.
Sees de estudo
Seo 1 A Estrutura do Comando Select
186
Produto
Codigo_Produto Integer NN (PK)
Descricao_Produto Varchar(30) NN
Preco_Produto Float NN
Unidade 8 187
188
Select Coluna1,Coluna2,...,ColunaN
From Nome_Tabela [ ou tabelas ]
Where condio
Group By expresso
Having condio
Order By expresso;
a) Colunas do Select
A expresso coluna1,coluna2...colunaN representa as colunas
que devem ser listadas pelo comando Select. Caso voc deseje
selecionar todos os campos, pode simplesmente colocar um
asterisco no lugar do nome das colunas.
Unidade 8 189
... ...
... ...
b) A clusula From
Esta clusula especifica uma ou mais tabelas de origem para o
Select. Se mltiplas tabelas de origem forem especificadas, o
resultado ser, conceitualmente, o conjunto das linhas de todas as
tabelas envolvidas na seleo, que se chama produto cartesiano.
190
c) A clusula Where
Esta clusula responsvel por restringir quais as linhas das
tabelas sero apresentadas. A clusula Where possui a forma
geral:
Where expresso_booleana;
A expresso booleana
pode ser qualquer
expresso que retorne um
S para fixar, os operadores lgicos so: valor booleano (verdadeiro
ou falso).
Unidade 8 191
Resultado:
192
Resultado:
Codigo_Produto Descricao_Produto
1 Banana
4 Pra
Resultado:
Unidade 8 193
Resultado:
Resultado:
Descricao_Produto Preco_Produto
Banana 1.00
Ma 2.80
Uva 3.25
Pra 1.00
Maracuj 2.00
Mamo 2.55
Goiaba 2.00
Laranja 3.25
Limo 0.85
Melancia 2.55
194
Para isso, ser necessrio que voc conhea mais duas clusulas
do comando Select, as clusulas Order By e Group By.
a) A clusula Order By
A clusula Order By serve para ordenar os dados que sero
listados. A ordem de apresentao pode ser crescente (ASC) ou
decrescente (DESC).
A sintaxe do comando :
Unidade 8 195
Resultado:
196
Resultado:
Codigo_Produto Descricao_Produto
1 Banana
7 Goiaba
9 Limo
2 Ma
6 Mamo
5 Maracuj
10 Melancia
4 Pra
Quadro 8.9 Tabela Produtos.
Fonte: Elaborao do autor.
Listar os Produtos com cdigo inferior a 5 e ordenados
crescentemente por Preo:
Resultado:
Codigo_Produto Descricao_Produto Preco_Produto
1 Banana 1.00
4 Pra 1.00
2 Ma 2.80
3 Uva 3.25
Quadro 8.10 Tabela Produtos
Fonte: Elaborao do autor.
Unidade 8 197
Resultado:
b) A clusula Group By
A clusula Group By condensa, em uma nica linha, todas as
linhas selecionadas que compartilham os mesmos valores para as
colunas agrupadas.
A sintaxe do comando :
198
Resultado:
Codigo_Regiao Nome_Regiao
1 Sul
2 Norte
3 Centro-oeste
4 Nordeste
Quadro 8.12 Tabela Produtos
Fonte: Elaborao do autor.
Resultado:
Codigo_Produtor Nome_Produtor
1 Produtor 001
2 Produtor 002
3 Produtor 003
Quadro 8.13 Tabela Produtos
Fonte: Elaborao do autor.
Unidade 8 199
Resultado:
Resultado:
200
Codigo_Produtor Codigo_Regiao
1 1
2 2
3 3
2 4
Quadro 8.16 Tabela Produtos
Fonte: Elaborao do autor.
Resultado:
Descricao_Produto Codigo_Produtor
Produto A 1
Produto B 2
Produto D 3
Quadro 8.17 Tabela Produtos
Fonte: Elaborao do autor.
Unidade 8 201
Funo_de_Agregao (Coluna)
select
max(preco_produto) as maior,
min(preco_produto) as menor,
avg(preco_produto) as media,
count(codigo_produto)as Qtde,
sum(preco_produto) as somatrio
from produtos;
Resultado:
202
Preo
1.44
1.45
1.55
1.59
1.99
2.99
Unidade 8 203
Select descricao_produto
From produtos
Where preco_produto = max(preco_produto);
Select descricao_produto
From produtos
Where preco_produto = (Select max(preco_produto ) from produtos);
204
Para produzir uma linha de sada para cada regio, significa que
cada resultado da agregao calculado sobre as linhas da tabela,
correspondendo a uma regio. Essas linhas agrupadas podem ser
filtradas utilizando a clusula Having.
Unidade 8 205
ORDEM CLUSULA
6 Select
1 From
2 Where
3 Group by
4 Having
5 Order By
206
Select Descricao_Produto
From Produtos
Where Descricao_Produto LIKE S%;
Sntese
Unidade 8 207
Select Coluna
from Tabela
where Coluna Like n%;
208
Atividades de autoavaliao
Unidade 8 209
210
Saiba mais
Unidade 8 211
Recuperao de informaes
por meio de tabelas
Objetivos de aprendizagem
Selecionar dados em SQL usando mais de uma tabela
como referncia.
Sees de estudo
Seo 1 O que uma juno
Seo 2 Junes de produto cartesiano
Seo 3 Junes internas
214
Unidade 9 215
Figura 9.2 Juno com a unio dos dados das duas tabelas
Fonte: Elaborao do autor.
Figura 9.3 Juno que retorna os dados que esto na tabela A, mas no esto na tabela B
Fonte: Elaborao do autor.
216
Unidade 9 217
218
Figura 9.4 Modelo de dados para o exemplo de juno por produto cartesiano
Fonte: Elaborao do autor.
Unidade 9 219
220
Unidade 9 221
2 Florianopolis 3
3 Buenos Aires 4
4 La Plata 4
5 Los Angeles 6
6 San Francisco 6
222
Unidade 9 223
Select Cidade.Codigo_Cidade,Cidade.Nome_Cidade,SubRegiao.Nome_SubRegiao
From Cidade,SubRegiao
Where Cidade.Codigo_SubRegiao = SubRegiao.Codigo_SubRegiao;
Select SubRegiao.Nome_SubRegiao
From Cidade, SubRegiao
Where Upper(Cidade.Nome_Cidade) = FLORIANOPOLIS AND
Cidade.Codigo_SubRegiao = SubRegiao.Codigo_SubRegiao;
224
Unidade 9 225
Select SubRegiao.Nome_SubRegiao
From SubRegiao, Pais
Where Upper(Pais.Nome_Pais) = BRASIL AND
Pais.Codigo_Pais = SubRegiao.Codigo_Pais;
O resultado do comando ser:
226
Na prxima seo, voc ver como criar junes sem usar a chave
estrangeira diretamente.
Unidade 9 227
SELECT *
FROM Cidade
INNER JOIN SubRegiao
ON Cidade.Codigo_SubRegiao = SubRegiao.Codigo_SubRegiao;
Figura 9.12 Resultado de uma juno interna entre as tabelas de Cidade e SubRegiao
Fonte: Elaborao do autor.
Select SubRegiao.Nome_SubRegiao,Pais.Nome_Pais
From SubRegiao
INNER JOIN Pais
ON SubRegiao.Codigo_Pais = Pais.Codigo_Pais;
228
Figura 9.13 Resultado de uma juno interna entre as tabelas de SubRegiao e Pais.
Fonte: Elaborao do autor.
Unidade 9 229
SELECT *
FROM SubRegiao
LEFT OUTER JOIN Cidade
ON Cidade.Codigo_SubRegiao = SubRegiao.Codigo_SubRegiao;
Figura 9.14 Resultado de um left outer joiner entre as tabelas SubRegiao e Cidade.
Fonte: Elaborao do autor.
230
SELECT *
FROM SubRegiao
RIGHT OUTER JOIN Pais
ON Pais.Codigo_Pais = SubRegiao.Codigo_Pais;
Figura 9.15 Resultado de um right outer joiner entre as tabelas SubRegiao e Pais
Unidade 9 231
Sntese
232
Atividades de autoavaliao
Ao final de cada unidade, voc realizar atividades de autoavaliao. O
gabarito est disponvel no final do livro didtico. Esforce-se para resolver
as atividades sem ajuda do gabarito, pois, assim, voc estar promovendo
(estimulando) a sua aprendizagem.
Com o modelo de dados abaixo, escreva os comandos em SQL que
resultam na seleo solicitada.
Unidade 9 233
234
Saiba mais
Unidade 9 235
236
240
242
Unidade 1
1) Os elementos formadores da rea de infraestrutura fazem
parte das funes crticas. Dentre esses elementos esto
as reas de redes de computadores, telecomunicaes e
tambm a rea de banco de dados, uma vez que o Sistema
Gerenciador de Banco de Dados (SGBD) quem prov o
acesso s informaes numa organizao. Desta forma,
qualquer problema envolvendo algum elemento da rea de
infraestrutura pode causar uma paralisao das atividades
de grande parte da empresa, inviabilizando o trabalho de
muitas pessoas.
2) As responsabilidades so:
Programador:
Promover a documentao dos projetos, segundo
metodologia estabelecida;
Monitorar a fase de testes das aplicaes desenvolvidas;
Promover manuteno e desenvolvimento dos sistemas;
Analista de sistemas:
Tem a funo de fazer o mapeamento das funcionalidades
do sistema;
A modelagem do modelo de dados que garanta o
atendimento dessas funcionalidades;
Participar do planejamento e projeto de sistemas;
Especificar as etapas de Estudo Preliminares e Anlise de
Requisitos em conjunto com os clientes;
Elaborar o Projeto de Solues;
Usurio final
Cadastrar dados;
Atualizar dados;
Consultar dados;
Respeitar as regras de segurana de acesso aos dados imposta na
empresa.
244
Unidade 2
1) Independente de ser relacional ou orientado a objetos, a ferramenta
computacional deve ser avaliada com base no problema que ser
solucionado. Nem sempre o menor preo significa custos menores.
importante que a ferramenta possua um bom grupo de usurios
no mercado de trabalho, para que seja gerada uma boa base de
conhecimento, para troca de informaes e solues j implementadas.
Alm disso, importante que a ferramenta tenha suporte ao usurio
e referncias bibliogrficas de fcil acesso. Outra caracterstica
fundamental a atualizao da ferramenta, que deve acompanhar
a evoluo da rea da informtica, podendo apresentar novas
metodologias e tecnologias de gerenciamento da informao.
Tecnicamente, essencial que a ferramenta garanta a integridade dos
dados e a fidelidade dos dados. Sem nunca esquecer que a melhor
soluo no aquela que a ferramenta disponibiliza, mas aquela que o
usurio deseja.
2) No. A ferramenta computacional um auxlio s atividades do
especialista em banco de dados. A tarefa de analisar e modelar uma
soluo que atenda s necessidades do usurio final do especialista.
Se a tarefa de anlise e definio das tabelas for realizada de forma
equivocada, a ferramenta implementar a soluo da forma proposta
pelo especialista, ou seja, tambm de forma equivocada.
A garantia de atendimento s necessidades do usurio est diretamente
relacionada ao processo de definio e criao do banco de dados, e
essa tarefa realizada pelo estudo e conhecimento do especialista.
Cabe ao especialista saber utilizar de forma correta as funcionalidades
que a ferramenta computacional lhe disponibiliza.
245
Unidade 3
1)
2) CPF.
3) Placa.
4) Chaves primrias: CPF e Placa.
Chaves estrangeiras:
CPF fazendo referncia ao CPF na tabela de Clientes.
Placa fazendo referncia Placa na tabela de Veculos.
Unidade 4
1) Um banco de dados relacional tem sua estrutura de funcionamento
baseada em tabelas relacionais, que implementam as regras por
meio de chaves primrias e chaves estrangeiras. Um banco de dados
orientado a objeto tem sua estrutura de funcionamento baseada nas
regras de definio da classe. As classes representam o esqueleto do
objeto, no qual se define as propriedades e formas de acesso ao objeto.
2) A escolha da ferramenta, se proprietria ou de uso livre, deve se
adequar necessidade da empresa, ou do usurio final. A avaliao
apenas pelo requisito preo pode levar a escolhas precipitadas.
A ferramenta de uso livre deve ter, alm da gratuidade, suporte,
manuais, garantia de funcionamento e acompanhamento das
atualizaes de mercado. O mais importante avaliar se a ferramenta,
independentemente de custo, atende s necessidades do usurio.
246
Unidade 5
1)
Create Table Produto (
Codigo_Produto Integer,
Descricao_Produto Varchar(30) not null,
Preco_Produto float not null,
Primary key(Codigo_Produto)
);
2)
3)
4)
247
5)
6)
7)
8)
Desc Produto;
ou
Describe Produto;
9)
Desc Nota_Fiscal;
ou
Describe Nota_Fiscal;
10)
248
Unidade 6
1)
Unidade 7
1)
a1) Insert into Produto values (100, Caneta Azul, 1.00);
a2) Insert into Produto values (200, Borracha, 0.80);
a3) Insert into Produto values (300, Caderno de Desenho, 2.20);
a4) Insert into Produto values (400,Rgua,0.25);
b)
b1) Update Produto set Preco_Produto = 2.50
Where Descricao_Produto = Caneta Azul;
b2) Update Produto set Codigo_Produto = 400
Where Descricao_Produto=Rgua;
b3) Update Produto set Descricao_Produto = Caderno 12 Matrias
Where Descricao_Produto = Caderno de Desenho;
c1) Delete from Produtos where Preco_Produto < 1.00;
c2) Delete from Produtos where Codigo_Produto = 100;
c3) Delete from Produtos;
249
Unidade 8
1)
a) Select * from Alunos where Upper(Sexo) = M;
b) Select * from Alunos where Upper(Nome) like %MEDEIROS
Order by Idade;
c) Select AVG (Idade) as Media from Alunos;
d) Select Max (Idade) from Alunos;
e) Select Count(Codigo) from Alunos
where Idade < 20;
f) Select Nome, Codigo from alunos
where Upper(Nome)=Upper(Lucas Giaretta);
g) Select Nome from Alunos
where Idade = (Select Min(Idade) from Alunos);
h) Select Count(Codigo) from Alunos
where (Idade < 10 and Idade <=20) and (Upper(Sexo)=M);
i) Select Count(Codigo) from Alunos
where Upper(Sexo)=F);
Unidade 9
1)
Select Professor.Nome_Professor,Curso.Descricao_Curso,Local.Nome_
Local
From Professor,Curso,Local
Where Professor.Codigo_Curso = Curso.Codigo_Curso AND
Curso.Codigo_Local = Local.Codigo_Local;
2)
Select Curso.Descricao_Curso
From Curso, Local
250
3)
Select Professor.Nome_Professor, Professor.Titulacao_Professor
From Professor, Curso
Where Upper(Curso.Descricao_Curso)=BANCO DE DADOS I AND
Curso.Codigo_Curso = Professor.Codigo_Curso;
4)
Select Local.Nome_Local, Local.Cidade_Local, Local.UF_Local
From Curso, Local
Where Curso.Vagas_Curso > 0 AND
Curso.Codigo_Local = Local.Codigo_Local;
5)
Select *
From Curso
INNER JOIN Local
ON Curso.Codigo_Local = Local.Codigo_Local;
6)
Select *
From Professor
INNER JOIN Curso
ON Professor.Codigo_Curso = Curso.Codigo_Curso;
7)
Select *
From Curso
251
8)
Select *
From Professor
RIGHT OUTER JOIN Curso
ON Professor.Codigo_Curso = Curso.Codigo_Curso;
252