You are on page 1of 17

Faculdade de Imperatriz FACIMP

Introduo a Sistemas Gerenciadores de Bancos de Dados (SGBDs)


Material etra!do li"remente de apostilas e tutoriais na Internet
#$ Introduo e Conceitos Gerais
A tecnologia aplicada aos mtodos de armazenamento de informaes vem crescendo e
gerando um impacto cada vez maior no uso de computadores, em qualquer rea em que os
mesmos podem ser aplicados.
Um banco de dados pode ser definido como um con!unto de dados devidamente
relacionados. "or dados podemos compreender como fatos con#ecidos que podem ser
armazenados e que possuem um significado impl$cito. "orm, o significado do termo banco de
dados mais restrito que simplesmente a defini%o dada acima. Um banco de dados possui as
seguintes propriedades&
um banco de dados uma cole%o l'gica coerente de dados com um significado
inerente( uma disposi%o desordenada dos dados n%o pode ser referenciada como um
banco de dados(
um banco de dados pro!etado, constru$do e populado com dados para um prop'sito
espec$fico( um banco de dados possui um con!unto pr definido de usurios e
aplicaes(
um banco de dados representa algum aspecto do mundo real, o qual c#amado de
mini)mundo ( qualquer altera%o efetuada no mini)mundo automaticamente refletida
no banco de dados.
Um banco de dados pode ser criado e mantido por um con!unto de aplicaes
desenvolvidas especialmente para esta tarefa ou por um *istema +erenciador de ,anco de
-ados .*+,-/. Um *+,- permite aos usurios criarem e manipularem bancos de dados de
prop'sito geral. 0 con!unto formado por um banco de dados mais as aplicaes que manipulam o
mesmo c#amado de *istema de ,anco de -ados.
#$#$ A%orda&em Banco de Dados ' A%orda&em Processamento
(radicional de Ar)ui"os
#$#$#$ Auto In*ormao
Uma caracter$stica importante da abordagem ,anco de -ados que o *+,- mantm n%o
somente os dados mas tambm a forma como os mesmos s%o armazenados, contendo uma
descri%o completa do banco de dados. 1stas informaes s%o armazenadas no catlogo do
*+,-, o qual contm informaes como a estrutura de cada arquivo, o tipo e o formato de
armazenamento de cada tipo de dado, restries, etc. A informa%o armazenada no catlogo
c#amada de 2eta -ados. 3o processamento tradicional de arquivos, o programa que ir
manipular os dados deve conter este tipo de informa%o, ficando limitado a manipular as
informaes que o mesmo con#ece. Utilizando a abordagem banco de dados, a aplica%o pode
manipular diversas bases de dados diferentes.
#$#$+$ Separao entre Pro&ramas e Dados
3o processamento tradicional de arquivos, a estrutura dos dados est incorporada ao
programa de acesso. -esta forma, qualquer altera%o na estrutura de arquivos implica na
altera%o no c'digo fonte de todos os programas. 4 na abordagem banco de dados, a estrutura
alterada apenas no catlogo, n%o alterando os programas.
Sistemas de Bancos de Dados "gina 5
*+,-
"rogramas de Aplica%o67onsulta
*oft8are para processar manipula%o
*oft8are de Acesso aos -ados
2eta -ados -ados
*istema de ,anco
de -ados
Faculdade de Imperatriz FACIMP
Introduo a Sistemas Gerenciadores de Bancos de Dados (SGBDs)
Material etra!do li"remente de apostilas e tutoriais na Internet
9igura 5. Um ambiente de *istema de ,anco de -ados
#$#$,$ A%strao de Dados
0 *+,- deve fornecer ao usurio uma representa%o conceitual dos dados, sem
fornecer muitos detal#es de como as informaes s%o armazenadas. Um modelo de dados
uma abstra%o de dados que utilizada para fornecer esta representa%o conceitual utilizando
conceitos l'gicos como ob!etos, suas propriedades e seus relacionamentos. A estrutura detal#ada
e a organiza%o de cada arquivo s%o descritas no catlogo.
#$#$-$ M.ltiplas /is0es de Dados
7omo um con!unto de informaes pode ser utilizada por um con!unto diferenciado de
usurios, importante que estes usurios possam ter vises diferentes da base de dados. Uma
vis%o definida como um subcon!unto de uma base de dados, formando deste modo, um
con!unto virtual de informaes.
#$+$ 1su2rios
"ara um grande banco de dados, e:iste um grande n;mero de pessoas envolvidas, desde o
pro!eto, uso at manuten%o.
#$+$#$ Administrador de Banco de Dados (DBA)
1m um ambiente de banco de dados, o recurso primrio o banco de dados por si s' e o
recurso secundrio o *+,- e os soft8ares relacionados. A administra%o destes recursos cabe
ao Administrador de ,anco de -ados, o qual responsvel pela autoriza%o de acesso ao banco
de dados e pela coordena%o e monitora%o de seu uso.
#$+$+$ Pro3etista de Banco de Dados
Sistemas de Bancos de Dados "gina <
Faculdade de Imperatriz FACIMP
Introduo a Sistemas Gerenciadores de Bancos de Dados (SGBDs)
Material etra!do li"remente de apostilas e tutoriais na Internet
0 "ro!etista de ,anco de -ados responsvel pela identifica%o dos dados que devem ser
armazenados no banco de dados, escol#endo a estrutura correta para representar e armazenar
dados. 2uitas vezes, os pro!etistas de banco de dados atuam como staff do -,A, assumindo
outras responsabilidades ap's a constru%o do banco de dados. = fun%o do pro!etista tambm
avaliar as necessidades de cada grupo de usurios para definir as vises que ser%o necessrias,
integrando)as, fazendo com que o banco de dados se!a capaz de atender a todas as necessidades
dos usurios.
#$+$,$ 1su2rios Finais
1:istem basicamente tr>s categorias de usurios finais que s%o os usurios finais do banco
de dados, fazendo consultas, atualizaes e gerando documentos&
usurios casuais& acessam o banco de dados casualmente, mas que podem necessitar de
diferentes informaes a cada acesso( utilizam sofisticadas linguagens de consulta para
especificar suas necessidades(
usurios novatos ou paramtricos& utilizam pores pr)definidas do banco de dados,
utilizando consultas preestabelecidas que ! foram e:austivamente testadas(
usurios sofisticados& s%o usurios que est%o familiarizados com o *+,- e realizam
consultas comple:as.
#$+$-$ Analistas de Sistemas e Pro&ramadores de Aplica0es
0s analistas determinam os requisitos dos usurios finais e desenvolvem especificaes
para transaes que atendam estes requisitos, e os programadores implementam estas
especificaes como programas, testando, depurando, documentando e dando manuten%o no
mesmo. = importante que, tanto analistas quanto programadores, este!am a par dos recursos
oferecidos pelo *+,-.
#$,$ /anta&ens e des"anta&ens do uso de um SGBD
#$,$#$ Controle de 4edund5ncia
3o processamento tradicional de arquivos, cada grupo de usurios deve manter seu pr'prio
con!unto de arquivos e dados. -esta forma, acaba ocorrendo redund?ncias que pre!udicam o
sistema com problemas como&
toda vez que for necessrio atualizar um arquivo de um grupo, ent%o todos os grupos
devem ser atualizados para manter a integridade dos dados no ambiente como um todo(
a redund?ncia desnecessria de dados levam ao armazenamento e:cessivo de
informaes, ocupando espao que poderia estar sendo utilizado com outras
informaes.
#$,$+$ Compartil6amento de Dados
Um *+,- multi)usurio deve permitir que m;ltiplos usurios acessem o banco de dados
ao mesmo tempo. 1ste fator essencial para que m;ltiplas aplicaes integradas possam acessar
o banco.
0 *+,- multi)usurio deve manter o controle de concorr>ncia para assegurar que o
resultado de atualizaes se!am corretos. Um banco de dados multi)usurios deve fornecer
recursos para a constru%o de m;ltiplas vises.
Sistemas de Bancos de Dados "gina @
Faculdade de Imperatriz FACIMP
Introduo a Sistemas Gerenciadores de Bancos de Dados (SGBDs)
Material etra!do li"remente de apostilas e tutoriais na Internet
#$,$,$ 4estrio a Acesso no Autorizado
Um *+,- deve fornece um subsistema de autoriza%o e segurana, o qual utilizado pelo
-,A para criar contas e especificar as restries destas contas( o controle de restries se
aplica tanto ao acesso aos dados quanto ao uso de soft8ares inerentes ao *+,-.
#$,$-$ 4epresentao de 4elacionamentos Compleos entre Dados
Um banco de dados pode incluir uma variedade de dados que est%o interrelacionados de
vrias formas. Um *+,- deve fornecer recursos para se representar uma grande variedade de
relacionamentos entre os dados, bem como, recuperar e atualizar os dados de maneira prtica e
eficiente.
#$,$7$ (oler5ncia a Fal6as
Um *+,- deve fornecer recursos para recupera%o de fal#as tanto de soft8are quanto de
#ard8are.
#$,$8$ 9uando no 1tilizar um SGBD
1m algumas situaes, o uso de um *+,- pode representar uma carga desnecessria aos
custos quando comparado A abordagem processamento tradicional de arquivos como por
e:emplo&
alto investimento inicial na compra de soft8are e #ard8are adicionais(
generalidade que um *+,- fornece na defini%o e processamento de dados(
sobrecarga na provis%o de controle de segurana, controle de concorr>ncia, recupera%o
e integra%o de funes.
"roblemas adicionais podem surgir caso os pro!etistas de banco de dados ou os
administradores de banco de dados n%o elaborem os pro!etos corretamente ou se as aplicaes
n%o s%o implementadas de forma apropriada. *e o -,A n%o administrar o banco de dados de
forma apropriada, tanto a segurana quanto a integridade dos sistemas podem ser
comprometidas. A sobrecarga causada pelo uso de um *+,- e a m administra%o !ustificam a
utiliza%o da abordagem processamento tradicional de arquivos em casos como&
o banco de dados e as aplicaes s%o simples, bem definidas e n%o se espera mudanas
no pro!eto(
a necessidade de processamento em tempo real de certas aplicaes, que s%o
terrivelmente pre!udicadas pela sobrecarga causada pelo uso de um *+,-(
n%o #aver m;ltiplo acesso ao banco de dados.
Sistemas de Bancos de Dados "gina B
Faculdade de Imperatriz FACIMP
Introduo a Sistemas Gerenciadores de Bancos de Dados (SGBDs)
Material etra!do li"remente de apostilas e tutoriais na Internet
+$ Conceitos e Ar)uiteturas de um SGBD
+$#$ Modelos de Dados
Uma das principais caracter$sticas da abordagem banco de dados, que a mesma fornece
alguns n$veis de abstra%o de dados omitindo ao usurio final, detal#es de como estes dados s%o
armazenados. Um modelo de dados um con!unto de conceitos que podem ser utilizados para
descrever a estrutura l'gica e f$sica de um banco de dados. "or estrutura podemos
compreender o tipo dos dados, os relacionamentos e as restries que podem recair sobre os
dados.
0s modelos de dados podem ser basicamente de dois tipos&
alto n$vel& ou modelo de dados conceitual, que fornece uma vis%o mais pr':ima do
modo como os usurios visualizam os dados realmente(
bai:o n$vel& ou modelo de dados f$sico, que fornece uma vis%o mais detal#ada do modo
como os dados est%o realmente armazenados no computador.
+$+$ :s)uemas e Inst5ncias
1m qualquer modelo de dados utilizado, importante distinguir a descri%o do banco de
dados do banco de dados por si pr'prio. A descri%o de um banco de dados c#amada de
esquema de um banco de dados e especificada durante o pro!eto do banco de dados.
+eralmente, poucas mudanas ocorrem no esquema do banco de dados.
0s dados armazenados em um banco de dados em um determinado instante do tempo
formam um con!unto c#amado de inst?ncia do banco de dados. A inst?ncia altera toda vez que
uma altera%o no banco de dados feita.
0 *+,- responsvel por garantir que toda inst?ncia do banco de dados satisfaa ao
esquema do banco de dados, respeitando sua estrutura e suas restries. 0 esquema de um banco
de dados tambm pode ser c#amado de intens%o de um banco de dados e a inst?ncia de
e:tens%o de um banco de dados.
+$,$ A Ar)uitetura (r;s :s)uemas
A principal meta da arquitetura tr>s esquemas .figura </ separar as aplicaes do
usurio do banco de dados f$sico. 0s esquemas podem ser definidos como&
n$vel interno& ou esquema interno, o qual descreve a estrutura de armazenamento f$sico
do banco de dados( utiliza um modelo de dados e descreve detal#adamente os dados
armazenados e os camin#os de acesso ao banco de dados(
n$vel conceitual& ou esquema conceitual, o qual descreve a estrutura do banco de dados
como um todo( uma descri%o global do banco de dados, que n%o fornece detal#es do
modo como os dados est%o fisicamente armazenados(
n$vel e:terno& ou esquema de vis%o, o qual descreve as vises do banco de dados para
um grupo de usurios( cada vis%o descreve quais pores do banco de dados um grupo
de usurios ter acesso.
Sistemas de Bancos de Dados "gina C
Dis%o 1:terna 5 Dis%o 1:terna n
1squema 7onceitual
1squema Enterno
...
2apeamento
7onceitual 1:terno
2apeamento
7onceitual Enterno
,anco de -ados Armazenado
3FD1G
E3H1I30
3FD1G
70371EHUAG
3FD1G
1JH1I30
Usurios 9inais
Faculdade de Imperatriz FACIMP
Introduo a Sistemas Gerenciadores de Bancos de Dados (SGBDs)
Material etra!do li"remente de apostilas e tutoriais na Internet
9igura <& Arquitetura Hr>s 1squemas
+$-$ Independ;ncia de Dados
A independ>ncia de dados pode ser definida como a capacidade de se alterar um
esquema em um n$vel em um banco de dados sem ter que alterar um n$vel superior .figura </.
1:istem dois tipos de independ>ncia de dados&
independ>ncia de dados l'gica& a capacidade de alterar o esquema conceitual sem ter
que alterar o esquema e:terno ou as aplicaes do usurio(
independ>ncia de dados f$sica& a capacidade de alterar o esquema interno sem ter que
alterar o esquema conceitual, o esquema e:terno ou as aplicaes do usurio.
+$7$ As <in&ua&ens para Manipulao de Dados
"ara a defini%o dos esquemas conceitual e interno pode)se utilizar uma linguagem
c#amada --G .-ata -efinition Ganguage ) Ginguagem de -efini%o de -ados/. 0 *+,- possui
Sistemas de Bancos de Dados "gina K
Faculdade de Imperatriz FACIMP
Introduo a Sistemas Gerenciadores de Bancos de Dados (SGBDs)
Material etra!do li"remente de apostilas e tutoriais na Internet
um compilador --G que permite a e:ecu%o das declaraes para identificar as descries dos
esquemas e para armazen)las no catlogo do *+,-. A --G utilizada em *+,-s onde a
separa%o entre os n$veis interno e conceitual n%o muito clara.
1m um *+,- em que a separa%o entre os n$veis conceitual e interno s%o bem claras,
utilizado uma outra linguagem, a *-G .*torage -efinition Ganguage ) Ginguagem de -efini%o
de Armazenamento/ para a especifica%o do esquema interno. A especifica%o do esquema
conceitual fica por conta da --G.
1m um *+,- que utiliza a arquitetura tr>s esquemas, necessria a utiliza%o de mais
uma linguagem para a defini%o de vises, a D-G .Dision -efinition Ganguage ) Ginguagem de
-efini%o de Dises/.
Uma vez que o esquema este!a compilado e o banco de dados este!a populado, usa)se uma
linguagem para fazer a manipula%o dos dados, a -2G .-ata 2anipulation Ganguage )
Ginguagem de 2anipula%o de -ados/.
+$8$ =s M>dulos Componentes de um SGBD
Um *+,- um sistema comple:o, formado por um con!unto muito grande de m'dulos. A
figura @ mostra um esquema da estrutura de funcionamento de um *+,-.
+$?$ Classi*icao dos SGBDs
0 principal critrio para se classificar um *+,- o modelo de dados no qual baseado.
A grande maioria dos *+,-s contepor?neos s%o baseados no modelo relacional, alguns em
modelos conceituais e alguns em modelos orientados a ob!etos. 0utras classificaes s%o&
usurios& um *+,- pode ser mono)usurio, comumente utilizado em computadores
pessoais ou multi)usurios, utilizado em estaes de trabal#o, mini)computadores e
mquinas de grande porte(
localiza%o& um *+,- pode ser localizado ou distribu$do( se ele for localizado, ent%o
todos os dados estar%o em uma mquina .ou em um ;nico disco/ ou distribu$do, onde os
dados estar%o distribu$dos por diversas mquinas .ou diversos discos/(
ambiente& ambiente #omog>neo o ambiente composto por um ;nico *+,- e um
ambiente #eterog>neo o ambiente compostos por diferentes *+,-s.
Sistemas de Bancos de Dados "gina L
Faculdade de Imperatriz FACIMP
Introduo a Sistemas Gerenciadores de Bancos de Dados (SGBDs)
Material etra!do li"remente de apostilas e tutoriais na Internet
9igura @& 1strutura de um *istema +erenciador de ,anco de -ados
Sistemas de Bancos de Dados "gina M
*+,-
programas de
aplica%o
c#amadas de
rotina
consultas esquema de
banco de dados
pr)compilador da
linguagem de
manipula%o de
dados
processador de
consultas
compilador da
linguagem de
defini%o de dados
c'digo ob!eto
dos programas
de aplica%o
gerenciador do
banco de dados
gerenciador de
arquivos
arquivo de
dados
dicionrio de
dados
2em'ria de
-isco
usurios
simples
programadores de
aplicaes
usurios
ocasionais
-,A
Usurios
Faculdade de Imperatriz FACIMP
Introduo a Sistemas Gerenciadores de Bancos de Dados (SGBDs)
Material etra!do li"remente de apostilas e tutoriais na Internet
,$ = Modelo 4elacional
0 modelo relacional foi criado por 7odd em 5NLO e tem por finalidade representar os
dados como uma cole%o de relaes, onde cada rela%o representada por uma ta%ela, ou
falando de uma forma mais direta, um arquivo. "orm, um arquivo mais restrito que uma
tabela. Hoda tabela pode ser considerada um arquivo, porm, nem todo arquivo pode ser
considerado uma tabela.
Puando uma rela%o pensada como uma tabela de valores, cada lin#a nesta tabela
representa uma cole%o de dados relacionados. 1stes valores podem ser interpretados como fatos
descrevendo uma inst?ncia de uma entidade ou de um relacionamento. 0 nome da tabela e das
colunas desta tabela s%o utilizados para facilitar a interpreta%o dos valores armazenados em
cada lin#a da tabela. Hodos os valores em uma coluna s%o necessariamente do mesmo tipo.
3a terminologia do modelo relacional, cada tabela c#amada de relao( uma lin#a de
uma tabela c#amada de tupla( o nome de cada coluna c#amado de atri%uto( o tipo de dado
que descreve cada coluna c#amado de dom!nio.
,$#$ Dom!nios@ (uplas@ Atri%utos e 4ela0es
Um dom!nio D um con!unto de valores atQmicos, sendo que por atQmico, podemos
compreender que cada valor do dom$nio indivis$vel. -urante a especifica%o do dom$nio
importante destacar o tipo, o taman#o e a fai:a do atributo que est sendo especificado. "or
e:emplo&
Coluna (ipo (aman6o Faia
I+ 3umrico 5O,O O@OOOOOO)<CNNNNNN
3ome 7aracter @O a)z, A)R
*alrio 3umrico C,< OO5OO,OO)5<NNN,NN
Um es)uema de relao 4, denotado por R(A
1
, A
2
, ... , A
n
), onde cada atributo A
i
o
nome do papel desempen#ado por um dom$nio D no esquema rela%o 4, onde D c#amado
dom$nio de A
i
e denotado por dom(A
i
). 0 grau de uma rela%o 4 o n;mero de atributos
presentes em seu esquema de rela%o.
A inst5ncia r de um esquema rela%o denotado por r(R) um con!unto de n)tuplas
r = [t
1
, t
2
, ... , t
n
] onde os valores de [t
1
, t
2
, ... , t
n
] devem estar contidos no dom$nio D. 0 valor
nulo tambm pode fazer parte do dom$nio de um atributo e representa um valor n%o con#ecido
para uma determinada tupla.
,$+$ Atri%uto C6a"e de uma 4elao
Uma rela%o pode ser definida como um con!unto de tuplas distintas. Esto implica que a
combina%o dos valores dos atributos em uma tupla n%o pode se repetir na mesma tabela.
1:istir sempre um subcon!unto de atributos em uma tabela que garantem que n%o #aver valores
repetidos para as diversas tuplas da mesma, garantindo que t1[SC] t2[SC].
SC c#amada de superc6a"e de um esquema de rela%o. Hoda rela%o possui ao menos
uma superc#ave ) o con!unto de todos os seus atributos. Uma c6a"e C de um esquema de rela%o
4 uma superc#ave de 4 com a propriedade adicional que removendo qualquer atributo A de A,
resta ainda um con!unto de atributos AS que n%o uma superc#ave de 4. Uma c#ave uma
superc#ave da qual n%o se pode e:trair atributos. "or e:emplo, o con!unto& (RA, Nome,
Endereo) uma superc#ave para estudante, porm, n%o uma c#ave pois se tirarmos o campo
Endereo continuaremos a ter uma superc#ave. 4 o con!unto (Nome da Revista, Volume, N
o
da
Sistemas de Bancos de Dados "gina N
Faculdade de Imperatriz FACIMP
Introduo a Sistemas Gerenciadores de Bancos de Dados (SGBDs)
Material etra!do li"remente de apostilas e tutoriais na Internet
Revista) uma superc#ave e uma c#ave, pois qualquer um dos atributos que retirarmos,
dei:aremos de ter uma superc#ave, ou se!a, (Nome da Revista, Volume) n%o identifica uma ;nica
tupla.
1m outras palavras, uma superc#ave uma c6a"e composta, ou se!a, uma c#ave formada
por mais que um atributo. De!a o e:emplo abai:o&
(a%ela D:P:BD:B(:S
I+ Iesponsvel 3ome -ependente -t. 3ascimento Iela%o *e:o
5O5O5O5O 4orge <L65<6MK 9il#o 2asculino
5O5O5O5O Guiz 5M6556LN 9il#o 2asculino
<O<O<O<O 9ernanda 5B6O<6KN 7on!uge 9eminino
<O<O<O<O Angelo 5O6O<6NC 9il#o 2asculino
@O@O@O@O 9ernanda O56OC6NO 9il#o 9eminino
Puando uma rela%o possui mais que uma c#ave .n%o confundir com c#ave composta/ )
como por e:emplo I+ e 7E7 para empregados ) cada uma destas c#aves s%o c#amadas de
c6a"es candidatas. Uma destas c#aves candidatas deve ser escol#ida como c6a"e prim2ria.
Uma c6a"e estran&eira C: de uma tabela 4
#
em 4
+
ou vice)versa, especifica um
relacionamento entre as tabelas 4
#
e 4
+
.
(a%ela D:PA4(AM:B(=
3ome 3;mero I+ +erente
Contailidade 1 1!1!1!1!
En"en#aria Civil 2 $!$!$!$!
En"en#aria %e&'ni&a $ 2!2!2!2!
(a%ela :MP4:GAD=
3ome I+ 7E7 -epto. I+ *upervisor *alrio
(o)o *ui+ 1!1!1!1! 11111111 1 NULO $.!!!,!!
,ernando 2!2!2!2! 22222222 2 1!1!1!1! 2.-!!,!!
Ri&ardo $!$!$!$! $$$$$$$$ 2 1!1!1!1! 2.$!!,!!
(or"e .!.!.!.! ........ 2 2!2!2!2! ..2!!,!!
Renato -!-!-!-! -------- $ 2!2!2!2! 1.$!!,!!
,$-$ S9< C Structured 9uerD <an&ua&e
*PG um con!unto de declaraes que utilizado para acessar os dados utilizando
gerenciadores de banco de dados. 3em todos os gerenciadores utilizam *PG. *PG n%o uma
linguagem procedural pois processa con!untos de registros, ao invs de um por vez, provendo
navega%o automtica atravs dos dados, permitindo ao usurio manipular tipos comple:os de
dados. *PG pode ser utilizada para todas as atividades relativas a um banco de dados podendo
Sistemas de Bancos de Dados "gina 5O
Faculdade de Imperatriz FACIMP
Introduo a Sistemas Gerenciadores de Bancos de Dados (SGBDs)
Material etra!do li"remente de apostilas e tutoriais na Internet
ser utilizada pelo administrador de sistemas, pelo -,A, por programadores, sistemas de suporte
A tomada de decises e outros usurios finais.
,$-$#$ De*inio de Dados 1tilizando S9<
,$-$#$#$ Comando C4:A(: (AB<:
0 comando create ta%le permite ao usurio criar uma nova tabela .ou rela%o/. "ara cada
atributo da rela%o definido um nome, um tipo, mscara e algumas restries. 0s tipos de uma
coluna s%o&
c6ar(n)& caracteres e strings onde n o n;mero de caracteres(
inte&er& inteiros
*loat& ponto flutuante(
decimal(m@n)& onde m o n;mero de casas inteiras e n o n;mero de casas decimais.
A restri%o not null indica que o atributo deve ser obrigatoriamente preenc#ido( se n%o for
especificado, ent%o o default que o atributo possa assumir o valor nulo.
A forma geral do comando create ta%le ent%o &
&reate tale /nome0taela1 ( /nome0&oluna
1
1 /ti2o0&oluna
1
1 /N34
N5**1,
/nome0&oluna
2
1 /ti2o0&oluna
2
1 /N34
N5**1,
6
/nome0&oluna
n
1 /ti2o0&oluna
n
1 /N34 N5**1
)7
"or e:emplo, para criar a tabela 12"I1+A-0* do ap>ndice A, ter$amos o seguinte
comando&
&reate tale E%8RE9A:3S ( nome &#ar ($!) N34 N5**,
r" inte"er N34 N5**,
&i& inte"er,
de2to inte"er N34 N5**,
r"0su2ervisor inte"er,
salario, de&imal (;,2) N34 N5** )7
,$-$#$+$ Comando D4=P (AB<:
0 comando drop ta%le permite a e:clus%o de uma tabela .rela%o/ em um banco de dados.
A forma geral para o comando drop ta%le &
dro2 tale /nome0taela17
"or e:emplo, para eliminar a tabela 12"I1+A-0* do ap>ndice A ter$amos o seguinte
comando&
dro2 tale E%8RE9A:3S7
0bserve que neste caso, a c#ave da tabela 12"I1+A-0*, .rg/ utilizada como c#ave
estrangeira ou como c#ave primria composta em diversos tabelas que devem ser devidamente
corrigidas.
Sistemas de Bancos de Dados "gina 55
Faculdade de Imperatriz FACIMP
Introduo a Sistemas Gerenciadores de Bancos de Dados (SGBDs)
Material etra!do li"remente de apostilas e tutoriais na Internet
1ste processo n%o assim t%o simples pois, como vemos neste caso, a e:clus%o da tabela
12"I1+A-0* implica na altera%o do pro!eto f$sico de diversas tabelas. Esto acaba implicando
na constru%o de uma nova base de dados.
,$-$#$,$ Comando A<(:4 (AB<:
0 comando alter ta%le permite que o usurio faa a inclus%o de novos atributos em uma
tabela. A forma geral para o comando alter ta%le a seguinte&
alter tale /nome0taela1 add /nome0&oluna1 /ti2o0&oluna17
3o caso do comando alter ta%le, a restri%o 30H 3UGG n%o permitida pois assim que
se insere um novo atributo na tabela, o valor para o mesmo em todas as tuplas da tabela
receber%o o valor 3UGG.
,$-$+$ Consultas em S9<
,$-$+$#$ = comando S:<:C(
0 comando select permite a sele%o de tuplas e atributos em uma ou mais tabelas. A forma
bsica para o uso do comando select &
sele&t /lista de atriutos1
<rom /lista de taelas1
=#ere /&ondi>es17
"or e:emplo, para selecionar o nome e o rg dos funcionrios que trabal#am no
departamento n;mero < na tabela 12"I1+A-0* utilizamos o seguinte comando&
sele&t nome, r"
<rom E%8RE9A:3S
=#ere de2to = 27
obteremos ent%o o seguinte resultado&
Nome RG
,ernando 2!2!2!2!
Ri&ardo $!$!$!$!
(or"e .!.!.!.!
A consulta acima originria da seguinte fun%o em lgebra relacional&

nome, rg
.
depto T <

.12"I1+A-0*/
/(
1m *PG tambm permitido o uso de condies m;ltiplas. De!a o e:emplo a seguir&
sele&t nome, r", salario
<rom E%8RE9A:3S
=#ere de2to = 2 AN: salario 1 2-!!.!!7
que fornece o seguinte resultado&
Nome RG Salrio
(or"e .!.!.!.! ..2!!,!!
e que originria da seguinte fun%o em lgebra relacional&

nome, rg, salario


.
depto T < .and. salario U @COO.OO
.12"I1+A-0*/
/(
Sistemas de Bancos de Dados "gina 5<
Faculdade de Imperatriz FACIMP
Introduo a Sistemas Gerenciadores de Bancos de Dados (SGBDs)
Material etra!do li"remente de apostilas e tutoriais na Internet
A opera%o sele&t?<rom?=#ere em *PG pode envolver quantas tabelas forem necessrias.
Geve em considera%o a seguinte consulta&
sele&ione o n@mero do de2artamento Aue &ontrola 2roBetos lo&ali+ados em Rio Claro7
sele&t t1.numero0de2to
<rom de2artamento02roBeto t1, 2roBeto t2
=#ere t1.numero02roBeto = t2.numero7
3a e:press%o *PG acima, t1 e t2 s%o c#amados aliasC .apelidos/ e representam a mesma
tabela a qual est%o referenciando. Um alias muito importante quando # redund?ncia nos
nomes das colunas de duas ou mais tabelas que est%o envolvidas em uma e:press%o. Ao invs de
utilizar o alias, poss$vel utilizar o nome da tabela, mas isto pode ficar cansativo em consultas
muito comple:as alm do que, impossibilitaria a utiliza%o da mesma tabela mais que uma vez
em uma e:press%o *PG. 7onsidere a seguinte consulta&
sele&ione o nome e o r" de todos os <un&ionDrios Aue s)o su2ervisores7
sele&t e1.nome, e1.r"
<rom em2re"ado e1, em2re"ado e2
=#ere e1.r" = e2.r"0su2ervisor7
que gera o seguinte resultado&
Nome RG
(o)o *ui+ 1!1!1!1!
,ernando 2!2!2!2!
A consulta acima decorrente da seguinte e:press%o em lgebra relacional&

nome, rg
. 12"I1+A-0*
tgVt5 T rgVsupervisorVt<
12"I1+A-0*/(
0 operador E dentro do especificador sele&t seleciona todos os atributos de uma tabela,
enquanto que a e:clus%o do especificador =#ere faz com que todas as tuplas de uma tabela se!am
selecionadas. -esta forma, a e:press%o&
sele&t E
<rom em2re"ados7
gera o seguinte resultado&
Nome RG CIC Depto. RG Supervisor *alrio
(o)o *ui+ 1!1!1!1! 11111111 1 NULO $.!!!,!!
,ernando 2!2!2!2! 22222222 2 1!1!1!1! 2.-!!,!!
Ri&ardo $!$!$!$! $$$$$$$$ 2 1!1!1!1! 2.$!!,!!
(or"e .!.!.!.! ........ 2 2!2!2!2! ..2!!,!!
Renato -!-!-!-! -------- $ 2!2!2!2! 1.$!!,!!
-iferente de lgebra relacional, a opera%o sele&t em *PG permite a gera%o de tuplas
duplicadas como resultado de uma e:press%o. "ara evitar isto, devemos utilizar o especificador
distinct. De!a a seguir os e:emplos com e sem o especificador distinct.
sele&t de2to sele&t distin&t de2to
<rom em2re"ado7 <rom em2re"ado7
que gera os seguintes resultados&
Sistemas de Bancos de Dados "gina 5@
Faculdade de Imperatriz FACIMP
Introduo a Sistemas Gerenciadores de Bancos de Dados (SGBDs)
Material etra!do li"remente de apostilas e tutoriais na Internet
Depto. Depto.
1 1
2 2
2 $
2
$
"odemos gerar consultas anin#adas em *PG utilizando o espeficicador in, que faz uma
compara%o do especificador F6ere da consulta mais e:terna com o resultado da consulta mais
interna. 7onsidere a consulta a seguir&
sele&ione o nome de todos os <un&ionDrios Aue traal#am em 2roBetos lo&ali+ados em
Rio Claro7
sele&t e1.nome, e1.r", e1.de2to
<rom em2re"ado e1, em2re"ado02roBeto e2
=#ere e1.r" = e2.r"0em2re"ado
and e2.numero02roBeto in ( sele&t numero
<rom 2roBeto
=#ere lo&ali+a&ao = FRio ClaroG)7
"ara selecionar um con!unto de tuplas de forma ordenada devemos utilizar o comando
order %D. Geve em considera%o a seguinte consulta&
sele&ione todos os em2re"ados 2or ordem al<aHti&a6
sele&t nome, r", de2to
<rom em2re"ado
order I nome7
,$-$,$ Inser0es e Atualiza0es
"ara elaborar inseres em *PG, utiliza)se o comando insert into. A forma geral para o
comando insert into &
insert into /nome da taela1 /(lista de &olunas)1
values /(lista de valores)17
7onsidere a seguinte declara%o&
insira na taela em2re"ados, os se"uintes dados6
nome& (or"e 9on&alves
r&& J!J!J!J!
cic& JJJJJJJJ
departamento& $
r&Vsuper"isor& 2!2!2!2!
sal2rio& RK ..!!!,!!
Sistemas de Bancos de Dados "gina 5B
Faculdade de Imperatriz FACIMP
Introduo a Sistemas Gerenciadores de Bancos de Dados (SGBDs)
Material etra!do li"remente de apostilas e tutoriais na Internet
insert into em2re"ados
values (F(or"e 9on&alvesG, FJ!J!J!J!G, FJJJJJJJJG, $, F2!2!2!2!G, .!!!,!!)7
ou ainda&
insira na taela em2re"ados os se"uintes dados6
nome& (oao de Cam2os
r&& ;!;!;!;!
cic& ;;;;;;;;
departamento& $
sal2rio& RK2.-!!,!!
insert into em2re"ados (nome, r", &i&, de2to, salario)
values .W(oao de Cam2os, W;!;!;!;!S, W;;;;;;;;S, @, <COO,OO/(
7omo na primeira inser%o todos os campos foram inseridos, ent%o n%o foi necessrio
especificar o nome das colunas. "orm, na segunda inser%o, o campo r"Vsu2ervisor n%o foi
inserido, ent%o especificou)se as colunas. 0utra forma de se elaborar esta inser%o seria&
insert into em2re"ados
values .W(oao de Cam2os, W;!;!;!;!S, W;;;;;;;;S, @, WS, <COO,OO/(
3este caso, utilizou)se os caracteres G para se declarar que um valor nulo seria inserido
nesta coluna.
"ara se efetuar uma altera%o em uma tabela, utilizado o comando update. A forma
geral do comando update &
u2date /taela1
set /&oluna1 = /eL2ress)o1
=#ere /&ondi)o1
7onsidere a seguinte declara%o&
atuali+e o salDrio de todos os em2re"ados Aue traal#am no de2artamento 2 2ara
RK $.!!!,!!7
u2date em2re"ado
set salario = $.!!!,!!
=#ere de2to = 27
"ara se eliminar uma tupla de uma tabela, utiliza)se o comando delete. A forma geral do
comando update &
delete <rom /taela1
=#ere /&ondi)o17
Geve em considera%o a seguinte e:press%o&
elimine os re"istros nos Auais o em2re"ado traal#e no de2artamento 2 e 2ossua salDrio
maior Aue RK $.-!!,!!7
delete <rom em2re"ado
=#ere salario 1 $.-!!,!! and de2to = 27
3os casos de atualiza%o que foram vistos, todas as /&ondi>es1 podem ser uma consulta
utilizando o comando select, onde o comando ser aplicado sobre todos os registros que
satisfizerem as condies determinadas pelo comando de sele%o.
Sistemas de Bancos de Dados "gina 5C
Faculdade de Imperatriz FACIMP
Introduo a Sistemas Gerenciadores de Bancos de Dados (SGBDs)
Material etra!do li"remente de apostilas e tutoriais na Internet
7$ Bi%lio&ra*ia
Fundamentals o* Data%ase SDstems( Iamez 1lmasri, *#amXant 3avat#e( H#e ,en!amin
7ummings"ublis#ing 7ompanY( 5NMN(
Sistema de Banco de Dados( ZenrY 9. [ort#, Abra#am *ilbersc#atz( 2aXro ,ooXs( 5NNC(
S9< <an&ua&e C =racle 4e*erence Manual( Dersion L.<(
Sistemas de Bancos de Dados "gina 5K
Faculdade de Imperatriz FACIMP
Introduo a Sistemas Gerenciadores de Bancos de Dados (SGBDs)
Material etra!do li"remente de apostilas e tutoriais na Internet
Ap;ndice A C :emplo de um Banco de Dados
(a%ela :MP4:GAD=
3ome I+ 7E7 -epto. I+ *upervisor *alrio
(o)o *ui+ 1!1!1!1! 11111111 1 NULO $.!!!,!!
,ernando 2!2!2!2! 22222222 2 1!1!1!1! 2.-!!,!!
Ri&ardo $!$!$!$! $$$$$$$$ 2 1!1!1!1! 2.$!!,!!
(or"e .!.!.!.! ........ 2 2!2!2!2! ..2!!,!!
Renato -!-!-!-! -------- $ 2!2!2!2! 1.$!!,!!
(a%ela D:PA4(AM:B(= (a%ela P4=H:(=
3ome 3;mero I+ +erente 3ome 3;mero Gocaliza%o
Contailidade 1 1!1!1!1! ,inan&eiro 1 - S)o 8aulo
En"en#aria Civil 2 $!$!$!$! %otor $ 1! Rio Claro
En"en#aria %e&'ni&a $ 2!2!2!2! 8rHdio Central 2! Cam2inas
(a%ela D:P:BD:B(:S
I+ Iesponsvel 3ome -ependente -t. 3ascimento Iela%o *e:o
5O5O5O5O 4orge <L65<6MK 9il#o 2asculino
5O5O5O5O Guiz 5M6556LN 9il#o 2asculino
<O<O<O<O 9ernanda 5B6O<6KN 7on!uge 9eminino
<O<O<O<O Angelo 5O6O<6NC 9il#o 2asculino
@O@O@O@O Adreia O56OC6NO 9il#o 9eminino
(a%ela D:PA4(AM:B(=IP4=H:(= (a%ela :MP4:GAD=IP4=H:(=
3;mero -epto. 3;mero "ro!eto I+ 1mpregado 3;mero "ro!eto Zoras
2 - 2!2!2!2! - 1!
$ 1! 2!2!2!2! 1! 2-
2 2! $!$!$!$! - $-
.!.!.!.! 2! -!
-!-!-!-! 2! $-
Sistemas de Bancos de Dados "gina 5L

You might also like