Teoria Banco Dados

18
Teoria de Banco de Dados 1 - CONCEITOS GERAIS DE BANCO DE D ADOS 1.1 - Conceitos Banco de Dados - Representa o arquivo físico de dados, armazenado em dispositivos periféricos, onde estão armazenados os dados de diversos sistemas, para consulta e atualização pelo usuário. Ta belas Lógicas - Representam as estruturas de armazenamento de dados (arquivos) dos sistemas. S.G.D.B. (Sistema Gerenciador de Banco de Dados) - É o soft are res po nsá vel pe lo !er enciamento (armazenamento e recuperação) dos dados no "anco de #ados. Dado - É o valor do campo quando é armazenado no "anco de #ados. $%. & valor do campo 'nome do cliente'  para quem es tá fazendo a e ntrada de dad os. Conteúdo do campo - É o valor do campo armazenado no "anco de #ados. $%. & valor do campo 'nome do cliente' sem estar, momentaneamente, sendo utilizado. Informaço - É o valor que este campo representa para as atividades da empresa. $%. Resposta a uma consulta. ual os nomes do clientes localizados no Rio de aneiro* !odelo de Banco de Dados" +odelo Relacional, +odelo ierárquico e +odelo em Rede. Representa a estrutura física no qual o armazenamento dos dados foram proetados. & modelo identifica a estrutura interna de recuperação e armazenamento dos dados no qual o /"# foi proetado. 1.2 - Representação Física do Banco de Dados 1.3 - Visões do Banco de Dados a # $iso Interna - É aquela vista pelo responsável pela manutenção e desenvolvimento do /"#. $%iste a  preocupaçã o com a form a de recuperaç ão e manipul ação dos dados dentro do "anco de #ados. b # $iso Conceit%al - É aquela vista pelo analista de desenvolvimento e pelo administrador das 0ases de dados. $%iste a preocupaç ão na definição de normas e procedimentos para mani pulação dos dados, para !arantir a sua se!urança e confia0ilidade, o desenvolvimento de sistemas e pro!ramas aplicativos e a definição no 0anco de dados de novos arquivos e campos. 1a visão conceitual, e%istem 2 (duas) lin!ua!ens de operação que são3 a) Ling%agem de definiço dos dados (DDL)  - 4in!ua!em que define as aplicaç5es, arquivos e campos que irão compor o 0anco de dados (comandos de criação e atualização da estrutura dos campos dos arquivos). b) Ling%agem de manip%laço dos dados (D!L)  - 4in!ua!em que define os comandos de manipulação e operação dos dados (comandos de consulta e atualização dos dados dos arquivos). 67"$47 48/9:7 91;&R+7<=$ >7 R7 & ??@R9& "71:& #$ #7#&  (7rquivo ;ísico) 5 10 15 20 25 30 35 40 45

Transcript of Teoria Banco Dados

7/24/2019 Teoria Banco Dados

http://slidepdf.com/reader/full/teoria-banco-dados 1/17

Teoria de Banco de Dados

1 - CONCEITOS GERAIS DE BANCO DE DADOS1.1 - Conceitos

Banco de Dados - Representa o arquivo físico de dados, armazenado em dispositivos periféricos, onde estãoarmazenados os dados de diversos sistemas, para consulta e atualização pelo usuário.

Tabelas Lógicas - Representam as estruturas de armazenamento de dados (arquivos) dos sistemas.

S.G.D.B. (Sistema Gerenciador de Banco de Dados)   - É o softare responsável pelo !erenciamento(armazenamento e recuperação) dos dados no "anco de #ados.

Dado - É o valor do campo quando é armazenado no "anco de #ados. $%. & valor do campo 'nome do cliente' para quem está fazendo a entrada de dados.

Conteúdo do campo - É o valor do campo armazenado no "anco de #ados. $%. & valor do campo 'nome docliente' sem estar, momentaneamente, sendo utilizado.

Informaço - É o valor que este campo representa para as atividades da empresa. $%. Resposta a uma consulta.ual os nomes do clientes localizados no Rio de aneiro*

!odelo de Banco de Dados" +odelo Relacional, +odelo ierárquico e +odelo em Rede. Representa aestrutura física no qual o armazenamento dos dados foram proetados. & modelo identifica a estruturainterna de recuperação e armazenamento dos dados no qual o /"# foi proetado.

1.2 - Representação Física do Banco de Dados

1.3 - Visões do Banco de Dados

a # $iso Interna - É aquela vista pelo responsável pela manutenção e desenvolvimento do /"#. $%iste a preocupação com a forma de recuperação e manipulação dos dados dentro do "anco de #ados.

b # $iso Conceit%al - É aquela vista pelo analista de desenvolvimento e pelo administrador das 0ases dedados. $%iste a preocupação na definição de normas e procedimentos para manipulação dos dados, para!arantir a sua se!urança e confia0ilidade, o desenvolvimento de sistemas e pro!ramas aplicativos e adefinição no 0anco de dados de novos arquivos e campos. 1a visão conceitual, e%istem 2 (duas)

lin!ua!ens de operação que são3a) Ling%agem de definiço dos dados (DDL) - 4in!ua!em que define as aplicaç5es, arquivos e campos que

irão compor o 0anco de dados (comandos de criação e atualização da estrutura dos campos dos arquivos).

b) Ling%agem de manip%laço dos dados (D!L) - 4in!ua!em que define os comandos de manipulação eoperação dos dados (comandos de consulta e atualização dos dados dos arquivos).

67"$4748/9:7

91;&R+7<=$ >7R7& ??@R9&

"71:& #$ #7#&

  (7rquivo ;ísico)

5

0

5

0

5

0

5

0

5

7/24/2019 Teoria Banco Dados

http://slidepdf.com/reader/full/teoria-banco-dados 2/17

c # $iso &'terna  - É aquela vista pelo usuário que opera os sistemas aplicativos, através de interfacesdesenvolvidas pelo analista (pro!ramas), 0uscando o atendimento de suas necessidades.

1.4 - Vantagens do Banco de Dados em relação ar!"itet"ra tradicional 

.. # Definiç*es

Sistema Tradicional - ão aqueles em que os dados do sistema estão armazenados fisicamente separados umdo outro. & acesso é feito pelos pro!ramas de aplicação, associando o nome e%terno dos arquivos edefinindo todo o re!istro independente da utilização dos campos.

Sistema de Banco de Dados - É aquele em que os dados são definidos para o ./.".#., através da ##4(lin!ua!em de definição de dados). ;isicamente estão armazenados em um Anico local, sendo o acessorealizado apenas através do ./.".#. 1os pro!ramas de aplicação, é necessário apenas definir os camposque serão utilizados pelo pro!rama.

..+ # $antagens do Banco de Dados

# ,ed%ço o% &liminaço de ,ed%nd-ncias # >ossi0ilita a eliminação de dados privativos de cada sistema.&s dados, que eventualmente são comuns a mais de um sistema, são compartilBados por eles, permitindoo acesso a uma Anica informação sendo consultada por vários sistemas.

+ # &liminaço de Inconsistncias - 7través do armazenamento da informação em um Anico local com acessodescentralizado e, sendo compartilBada C vários sistemas, os usuários estarão utilizando uma informaçãoconfiável. 7 inconsistDncia ocorre quando um mesmo campo tem valores diferentes em sistemasdiferentes. $%emplo, o estado civil de uma pessoa é solteiro em um sistema e casado em outro. 9sto ocorre porque esta pessoa atualizou o campo em um sistema e não o atualizou em outro. uando o dado éarmazenado em um Anico local e compartilBado pelos sistemas, este pro0lema não ocorre.

/ # Compartil0amento dos Dados - >ermite a utilização simultEnea e se!ura de um dado, por mais de umaaplicação ou usuário, independente da operação que estea sendo realizada. #eve ser o0servada apenas o processo de atualização concorrente, para não !erar erros de processamento (atualizar simultaneamente omesmo campo do mesmo re!istro). &s aplicativos são por natureza multiusuário.

# ,estriç*es de Seg%rança - #efine para cada usuário o nível de acesso a ele concedido (leitura, leitura e!ravação ou sem acesso) ao arquivo eFou campo. $ste recurso impede que pessoas não autorizadasutilizem ou atualizem um determinado arquivo ou campo.

1 # 2adroni3aço dos Dados - >ermite que os campos armazenados na 0ase de dados seam padronizadosse!undo um determinado formato de armazenamento (padronização de ta0ela, conteAdo de compGs, etc) e

ao nome de variáveis se!uindo critérios padr5es preesta0elecido pela empresa. $%. >ara o campo 'e%o'somente será permitido armazenamento dos conteAdos '+' ou ';'.

4 # Independncia dos Dados - Representa a forma física de armazenamento dos dados no "anco de #ados e arecuperação das informaç5es pelos pro!ramas de aplicação. $sta recuperação deverá ser totalmenteindependente da maneira com que os dados estão fisicamente armazenados. uando um pro!rama retiraou inclui dados o /"# compacta-os para que Baa um menor consumo de espaço no disco. $ste

?6949H7<I& #77>49:7<=$ #$$1J&4J9#7 J9I& $K6$R17

J9I& :&1:$96?74#$$1J&4J9+$16& #$ 7>49:7<=$

?6949H71#& R$:?R& #& ./.".#.

#$$1J&4J9+$16& #& ./.".#. J9I& 916$R17

5

0

5

0

5

0

5

0

5

0

7/24/2019 Teoria Banco Dados

http://slidepdf.com/reader/full/teoria-banco-dados 3/17

conBecimento do formato de armazenamento do campo é totalmente transparente para o usuário. 7independDncia dos dados permite os se!uintes recursos3

a - &s pro!ramas de aplicação definem apenas os campos que serão utilizados independente da estrutura internados arquivos

 0 - uando Bá inclusão de novos campos no arquivo, será feita manutenção apenas nos pro!ramas que utilizamesses campos, não sendo necessário me%er nos demais pro!ramas. &0s.3 1os sistemas tradicionais estetipo de operação requer a alteração no laL-out de todos os pro!ramas do sistema que utilizam o arquivo.

5 # !an%tenço da Integridade - :onsiste em impedir que um determinado cMdi!o ou cBave em uma ta0elanão tenBa correspondDncia em outra ta0ela. $%. ?m cMdi!o de uma determinada disciplina na ta0elaNistMrico $scolarO sem a sua descrição na ta0ela N#isciplinaO.

2 - NORMALIZAÇÃO DE DADOS

2.1 - De#inição

:onsiste em definir o formato lM!ico adequado para as estruturas de dados identificados no proeto lM!ico dosistema, com o o0etivo de minimizar o espaço utilizado pelos dados e !arantir a inte!ridade econfia0ilidade das informaç5es.

7 normalização é feita, através da análise dos dados que comp5em as estruturas utilizando o conceito cBamado';ormas 1ormais (;1)'. 7s ;1 são conuntos de restriç5es nos quais os dados devem satisfazD-las.$%emplo, pode-se dizer que a estrutura está na primeira forma normal (P;1), se os dados que a comp5emsatisfizerem as restriç5es definidas para esta etapa.

7 normalização completa dos dados é feita, se!uindo as restriç5es das quatro formas normais e%istentes, sendoque a passa!em de uma ;1 para outra é feita tendo como 0ase o resultado o0tido na etapa anterior, ousea, na ;1 anterior.

>ara realizar a normalização dos dados, é primordial que sea definido um campo cBave para a estrutura, campo

este que permite irá identificar os demais campos da estrutura. ;ormas 1ormais e%istentes32.2 - $rimeira Forma %ormal &1F%'

:onsiste em retirar da estrutura os elementos repetitivos, ou sea, aqueles dados que podem compor umaestrutura de vetor. >odemos afirma que uma estrutura está normalizada na P;1, se não possuir elementosrepetitivos. $%emplo3

$strutura ori!inal3

7rquivo de 1otas ;iscais (1um. 1;, érie, #ata emissão, :od. do :liente, 1ome do cliente, $ndereço docliente, :/: do cliente, Relação das mercadorias vendidas (onde para cada mercadoria temos3 :Mdi!o da+ercadoria, #escrição da +ercadoria, uantidade vendida, >reço de venda e 6otal da venda desta

mercadoria) e 6otal /eral da 1ota)7nalisando a estrutura acima, o0servamos que e%istem várias mercadorias em uma Anica 1ota ;iscal, sendo

 portanto elementos repetitivos que deverão ser retirados.

$strutura na primeira forma normal (P;1)3

7rquivo de 1otas ;iscais (1um. 1;, érie, #ata emissão, :Mdi!o do :liente, 1ome :liente, $ndereço docliente, :/: do cliente e 6otal /eral da 1ota)

7rquivo de Jendas (1um. 1;, :Mdi!o da +ercadoria, #escrição da +ercadoria, uantidade vendida, >reço devenda e 6otal da venda desta mercadoria)

&0s. &s campos su0linBados identificam as cBaves das estruturas.

:omo resultado desta etapa ocorre um desdo0ramento dos dados em duas estruturas, a sa0er3

- >rimeira estrutura (7rquivo de 1otas ;iscais)3 #ados que comp5em a estrutura ori!inal, e%cluindo oselementos repetitivos.

5

0

5

0

5

0

5

0

5

7/24/2019 Teoria Banco Dados

http://slidepdf.com/reader/full/teoria-banco-dados 4/17

- e!undo estrutura (7rquivo de Jendas)3 #ados que comp5em os elementos repetitivos da estrutura ori!inal,tendo como cBave o campo cBave da estrutura ori!inal (1um. 1;) e o campo cBave da estrutura derepetição (:Mdi!o da +ercadoria).

2.3 - (eg"nda Forma %ormal &2F%'

:onsiste em retirar das estruturas que possuem cBaves compostas (campo cBave sendo formado por mais de umcampo), os elementos que são funcionalmente dependente de parte da cBave. >odemos afirmar que uma

estrutura está na 2;1, se ela estiver na P;1 e não possuir campos que são funcionalmente dependente de parte da cBave. $%emplo3

$strutura na primeira forma normal (P;1)3

7rquivo de 1otas ;iscais (1um. 1;, érie, #ata emissão, :Mdi!o do :liente, 1ome do cliente, $ndereço docliente, :/: do cliente e 6otal /eral da 1ota)

7rquivo de Jendas (1um. 1;, :Mdi!o da +ercadoria, #escrição da +ercadoria, uantidade vendida, >reço devenda e 6otal da venda desta mercadoria)

$strutura na se!unda forma normal (2;1)3

7rquivo de 1otas ;iscais (1um. 1;, érie, #ata emissão, :Mdi!o do :liente, 1ome do cliente, $ndereço docliente, :/: do cliente e 6otal /eral da 1ota)

7rquivo de Jendas (1um. 1;, :Mdi!o da +ercadoria, uantidade vendida e 6otal da venda desta mercadoria)

7rquivo de +ercadorias (:Mdi!o da +ercadoria, #escrição da +ercadoria, >reço de venda)

:omo resultado desta etapa, Bouve um desdo0ramento do arquivo de Jendas (o arquivo de 1otas ;iscais, nãofoi alterado, por não possuir cBave composta) em duas estruturas a sa0er3

- >rimeira estrutura (7rquivo de Jendas)3 :ontém os elementos ori!inais, sendo e%cluídos os dados que sãodependentes apenas do campo :Mdi!o da +ercadoria.

- e!undo estrutura (7rquivo de +ercadorias)3 :ontém os elementos que são identificados apenas pelo :Mdi!oda +ercadoria, ou sea, independentemente da 1ota ;iscal, a descrição e o preço de venda serãoconstantes.

2.4 - )erceira Forma %ormal &3F%'

:onsiste em retirar das estruturas os campos que são funcionalmente dependentes de outros campos que nãosão cBaves. >odemos afirmar que uma estrutura está na Q;1, se ela estiver na 2;1 e não possuir camposdependentes de outros campos não cBaves. $%emplo3

$strutura na se!unda forma normal (2;1)37rquivo de 1otas ;iscais (1um. 1;, érie, #ata emissão, :Mdi!o do :liente, 1ome do cliente, $ndereço do

cliente, :/: do cliente e 6otal /eral da 1ota)

7rquivo de Jendas (1um. 1;, :Mdi!o da +ercadoria, uantidade vendida e 6otal da venda desta mercadoria)

7rquivo de +ercadorias (:Mdi!o da +ercadoria, #escrição da +ercadoria, >reço de venda)

$strutura na terceira forma normal (Q;1)3

7rquivo de 1otas ;iscais (1um. 1;, érie, #ata emissão, :Mdi!o do :liente e 6otal /eral da 1ota)

7rquivo de Jendas (1um. 1;, :Mdi!o da +ercadoria, uantidade vendida e 6otal da venda desta mercadoria)7rquivo de +ercadorias (:Mdi!o da +ercadoria, #escrição da +ercadoria, >reço de venda)

7rquivo de :lientes (:Mdi!o do :liente, 1ome do cliente, $ndereço do cliente e :/: do cliente)

:omo resultado desta etapa, Bouve um desdo0ramento do arquivo de 1otas ;iscais, por ser o Anico que possuíacampos que não eram dependentes da cBave principal (1um. 1;), uma vez que independente da 1ota

5

0

5

0

5

0

5

0

5

7/24/2019 Teoria Banco Dados

http://slidepdf.com/reader/full/teoria-banco-dados 5/17

;iscal, o 1ome, $ndereço e :/: do cliente são inalterados. $ste procedimento permite evitar inconsistDncia nos dados dos arquivos e economizar espaço por eliminar o armazenamento freqente erepetidas vezes destes dados. 7 cada nota fiscal comprada pelo cliente, Baverá o armazenamento destesdados e poderá ocorrer diver!Dncia entre eles.

7s estruturas alteradas foram pelos motivos, a sa0er3

- >rimeira estrutura (7rquivo de 1otas ;iscais)3 :ontém os elementos ori!inais, sendo e%cluído os dados quesão dependentes apenas do campo :Mdi!o do :liente (informaç5es referentes ao cliente).

- e!undo estrutura (7rquivo de :lientes)3 :ontém os elementos que são identificados apenas pelo :Mdi!o do:liente, ou sea, independente da 1ota ;iscal, o 1ome, $ndereço e :/: dos clientes serão constantes.

7pMs a normalização, as estruturas dos dados estão proetadas para eliminar as inconsistDncias e redundEnciasdos dados, eliminando desta forma qualquer pro0lema de atualização e operacionalização do sistema. 7versão final dos dados poderá sofrer al!uma alteração, para atender as necessidades específicas dosistema, a critério do analista de desenvolvimento durante o proeto físico do sistema.

3 - MODELO DE ENTIDADE E RELACIONAMENTO MER!

3.1 - De#inição

:onsiste em mapear o mundo real do sistema em um modelo !ráfico que irá representar o modelo e orelacionamento e%istente entre os dados.

&ntidade - 9dentifica o o0eto de interesse do sistema e tem 'vida' prMpria, ou sea, a representação a0strata deum o0eto do mundo real so0re o qual deseamos !uardar informaç5es.

$%emplo3 :lientes, ;ornecedores, 7lunos, ;uncionários, #epartamentos, etc.

 1ão são entidades3

- $ntidade com apenas P elementoS

- &peraç5es do sistemaS

- aídas do sistemaS- >essoas que realizam tra0alBos (usuários do sistema)S

- :ar!os de direção

Inst-ncia de &ntidade - ão os elementos da entidade.

  $%emplo3 :liente PT, ;uncionário oão, 7luno >edro, etc.

6trib%to - 9nformaç5es que deseamos !uardar so0re a instEncia de entidade.

$%emplo3 1ome do aluno, 1Amero da turma, $ndereço do fornecedor, e%o do funcionário, etc.

Dom7nio do 6trib%to - ?niverso de valores que um atri0uto pode armazenar.

$%emplo3

:onunto de valores do atri0uto e%o do funcionário3 + ou ;S

:onunto de valores do atri0uto 1ome do aluno3 UT caracteres alfanumérico.

:onunto de valores do atri0uto salário3 inteiro maior que VTTT

5

0

15

0

5

0

5

7/24/2019 Teoria Banco Dados

http://slidepdf.com/reader/full/teoria-banco-dados 6/17

3.2 - Representação *r+#ica

- &ntidade 

- ,elacionamento

 

- 6trib%to

,elacionamento - Representa a associação entre os elementos do conunto de um entidade com outra entidade.

$%emplo3

& oão está matriculado na disciplina de "anco de #ados

onde3

- oão - $lemento do conunto de valores do atri0uto 1ome do aluno da entidade 7lunoS

- "anco de #ados - $lemento do conunto de valores do atri0uto 1ome da disciplina da entidade#isciplinaS

- matriculado - 4i!ação e%istente entre um aluno e uma disciplina.

3.3 - Cardinalidade de Relacionamentos

Representa a freqDncia com que e%iste o relacionamento.

$%emplo3

,elacionamento " - & oão é casado com a +aria.

onde3

- oão - $lemento do conunto de valores do atri0uto 1ome da entidade omem.

 

74?1& #9:9>4917+76R9:?47#&

5

0

5

0

5

0

5

0

5

0

7/24/2019 Teoria Banco Dados

http://slidepdf.com/reader/full/teoria-banco-dados 7/17

- +aria - $lemento do conunto de valores do atri0uto 1ome da entidade +ulBer.

- casado - 4i!ação entre um Bomem e uma mulBer, sendo que um Bomem pode ser casado com uma eapenas uma mulBer, assim como uma mulBer pode ser casada com um e apenas um Bomem.

,elacionamento "8 o% 8" - & >edro tra0alBa no #epartamento >essoal.

onde3

- >edro - $lemento do conunto de valores do atri0uto 1ome da entidade ;uncionário.

- #epart. >essoal - $lemento do conunto de valores do atri0uto 1ome do departamento da entidade

#epartamento.- tra0alBa - 4i!ação entre um ;uncionário e um #epartamento, onde um funcionário pode tra0alBar em

um e somente um departamento e um departamento pode ter vários funcionários.

,elacionamento 8 " ! - & 7ntGnio está matriculado na disciplina "anco de #ados.

onde3

- 7ntGnio - $lemento do conunto de valores do atri0uto 1ome da entidade 7luno.

- "anco de #ados - $lemento do conunto de valores do atri0uto 1ome da #isciplina da entidade#isciplina.

- matriculado - 4i!ação e%istente entre um aluno e uma disciplina, onde um aluno pode estar matriculado em várias disciplinas e cada disciplina pode ter vários alunos matriculados.

3.4 - ,tri"tos do Relacionamento

 - uando um determinado relacionamento possui atri0utos, tam0ém conBecido como relacionamento valorado.$sta situação ocorre apenas em relacionamento 1 3 +.

$%. >edro tra0alBa no proeto 7lfa QT Boras.

- >edro - $lemento do conunto de valores do atri0uto 1ome da entidade ;uncionário.- 7lfa - $lemento do conunto de valores do atri0uto 1ome do >roeto da entidade >roeto.

- tra0alBa - 4i!ação e%istente entre um funcionário e um proeto. 1este caso, este funcionário tra0alBa QTBoras neste proeto, porém este mesmo funcionário poderá tra0alBar outro nAmero de Boras em outro proeto, assim como outro funcionário tra0alBa outro nAmero de Boras no mesmo proeto 7lfa. >odemosconcluir que QT Boras é o atri0uto que pertence ao >edro no proeto 7lfa.

$+>R$/7#& #$>7R67+$16&4&67<I&

 1 P

#9:9>491774?1& +76R9:?47# 1

&+$+

+

+?4$R :77+$16&P P

5

0

5

0

5

0

5

0

5

0

7/24/2019 Teoria Banco Dados

http://slidepdf.com/reader/full/teoria-banco-dados 8/17

7/24/2019 Teoria Banco Dados

http://slidepdf.com/reader/full/teoria-banco-dados 9/17

 

3. - *ra" do Relacionamento

9ndica o nAmero de entidade que se relacionam.

/.1. # ,elacionamento Bin9rio

uando e%iste o relacionamento entre apenas duas entidades.

$%. ?m fornecedor comercializa materiais que são utilizados em diversos proetos.

/.1.+ # ,elacionamento Tern9rio

uando e%iste o relacionamento entre trDs entidades.

$%. ?m fornecedor comercializa materiais que são utilizados em proetos específicos.

;?1:9&1@R9& >R&$6&6R7"74 1 +

&R7

;&R1$:$#&R +76$R979

>R&$6& ?6949H7+

:&+$R:9749H7 1 +

+

 1

;&R1$:$#&R$+76$R979

>R&$6&

?6949H7#&

P 1

 1

5

0

5

0

25

0

5

0

7/24/2019 Teoria Banco Dados

http://slidepdf.com/reader/full/teoria-banco-dados 10/17

$%emplos de Relacionamento3

- & >rofessor 7l0erto leciona $strutura de #ados e o aluno >edro cursa 4in!ua!em de >ro!ramação

- >edro comprou P W!. de 0anana do vendedor +anoel

 

&0s. >ara que Baa uma venda, tem que Baver um cliente, um produto e um vendedor.

" - LING#AGEM S$L

7 lin!ua!em 4 (tructured uerL 4an!ua!e) representa um conunto de comandos responsáveis peladefinição das ta0elas, comandos e atualização dos dados em um ./.".#.

&s comandos e%istentes nesta lin!ua!em são su0divididos em dois !rupos3

- :omandos ##4 (#ata #efinition 4an!ua!e) - :onunto de comandos responsáveis pela criação,alteração e deleção da estrutura das ta0elas e índices de um sistema.

- :omandos #+4 (#ata +anipulation 4an!ua!e) - :onunto de comandos responsáveis pela consulta eatualização dos dados armazenados em um 0anco de dados.

4.1 - Comandos DD/

.. # Create Table

&0etivo3

:riar a estrutura de uma ta0ela(arquivo) definido as colunas (campos) e as cBaves primárias eestran!eiras e%istentes.

inta%e3

C,&6T& T6BL& Xnome-ta0elaY(Xnome-colunaY , Xtipo-do-dadoY Z1&6 1?44[

  Z1&6 1?44 \96 #$;7?46[ )

2,I!6,: ;&: (nome-coluna-cBave)

<=,&IG8 ;&:  (nome-coluna-cBave-estran!eira) ,&<&,&8C&S

>R&;$&R #9:9>4917

74?1& :?R7

4$:9&17

 1 + 1

+

:49$16$ >R&#?6&

J$1#$#&R$

J$1#7P

 1

P

5

0

5

0

5

0

5

40

5

0

7/24/2019 Teoria Banco Dados

http://slidepdf.com/reader/full/teoria-banco-dados 11/17

  (nome-ta0ela-pai) =8 D&L&T& ZR$6R9:6[

  Z:7:7#$[

  Z$6 1?44[

onde3

a) nome-ta0ela - Representa o nome da ta0ela que será criada.

 0) nome-coluna - Representa o nome da coluna que será criada. 7 definição das colunas de uma ta0ela éfeita relacionando-as uma apMs a outra.

c) tipo-do-dado - :láusula que define o tipo e tamanBo dos campos definidos para a ta0ela. &s tipos dedados mais comuns serão definidos mais C frente.

d) 1&6 1?44 - $%i!e o preencBimento do campo, ou sea, no momento da inclusão é o0ri!atMrio que possua um conteAdo.

e) 1&6 1?44 \96 #$;7?46 - >reencBe o campo com valores pré-definidos, de acordo com o tipo docampo, caso não sea especificado o seu conteAdo no momento da inclusão do re!istro. &s valores pré-definidossão3

e.P) :ampos numéricos - Jalor zero.

e.2 ) :ampos alfanuméricos - :aracter 0ranco.e.Q) :ampo formato #ate - #ata corrente.e.U) :ampo formato 6ime - orário no momento da operação.

f) >R9+7R] W$] (nome-coluna-cBave) - #efinir para o 0anco de dados a coluna que será a cBave primária da ta0ela. :aso ela tenBa mais de um coluna como cBave, elas deverão ser relacionadas entre os parDnteses.

!) ;&R$9/1 W$] (nome-coluna-cBave-estran!eira) R$;$R$1:$ (nome-ta0ela-pai) - #efinir para o 0anco de dados as colunas que são cBaves estran!eiras, ou sea, os campos que são cBaves primárias de outrasta0elas. 1a opção R$;$R$1:$ deve ser especificado a ta0ela na qual a coluna é a cBave primária.

B) &1 #$4$6$ - $sta opção especifica os procedimentos que devem ser feitos pelo /"# quandoBouver uma e%clusão de um re!istro na ta0ela pai quando e%iste um re!istro correspondente nas ta0elas filBas.7s opç5es disponíveis são3

B.P) R$6R9:6 - &pção default. $sta opção não permite a e%clusão na ta0ela pai de um re!istro cuacBave primária e%ista em al!uma ta0ela filBa.

B.2) :7:7#$ - $sta opção realiza a e%clusão em todas as ta0elas filBas que possua o valor da cBaveque será e%cluída na ta0ela pai.

B.Q) $6 1?44 - $sta opção atri0ui o valor 1?4& nas colunas das ta0elas filBas que contenBa o valor dacBave que será e%cluída na ta0ela pai.

6ipos de dados mais comuns3

P) 1uméricos3

- mallint - 7rmazena valores numéricos, em dois 0Ltes 0inários, compreendidos entre o intervalo-Q2^_` a Q2^_^.

- 9nte!er - 7rmazena valores numéricos, em quatro 0Ltes 0inários, compreendidos entre o intervalo-2PU^U`Q_U` a 2PU^U`Q_U^

  - #ecimal(n,m) - 7rmazena valores numéricos com no má%imo PV dí!itos. 1esta opção deve ser definida a quantidade de dí!itos inteiros (n) e casas decimais (m) e%istentes no campo.

2) 7lfanuméricos3  - JarcBar (n) - #efinir um campo alfanumérico de até n caracteres, onde n deve ser menor ou i!ual a 2VU

caracteres.  - :Bar (n) - #efinir um campo alfanumérico de n caracteres, onde n deve ser menor ou i!ual a 2VU

caracteres. - 4on! JarcBar - #efinir um campo alfanuméricos de comprimento maior que 2VU caracteres.

Q) :ampo #ate - #efinir um campo que irá armazenar datas.

U) :ampo 6ime - #efinir um campo que irá armazenamento de Borário.

5

0

5

0

5

0

5

0

5

7/24/2019 Teoria Banco Dados

http://slidepdf.com/reader/full/teoria-banco-dados 12/17

..+ # 6lter Table

&0etivo3

7lterar a estrutura de uma ta0ela(arquivo) acrescentando, alterando, retirando e alterando nomes,formatos das colunas e a inte!ridade referencial definidas em uma determinada ta0ela.

inta%e36LT&,  T6BL& Xnome-ta0elaY

D,=2 Xnome-colunaY

6DD  Xnome-colunaY Xtipo-do-dadoY Z1&6 1?44[

  Z1&6 1?44 \96 #$;7?46[

,&86!& Xnome-colunaY Xnovo-nome-colunaY

,&86!& T6BL& Xnovo-nome-ta0elaY

!=DI<: Xnome-colunaY Xtipo-do-dadoY Z1?44[

Z1&6 1?44[Z1&6 1?44 \96 #$;7?46[

6DD 2,I!6,: ;&: Xnome-colunaY

D,=2 2,I!6,: ;&: Xnome-colunaY

6DD <=,&IG8 ;&:  (nome-coluna-cBave-estran!eira) ,&<&,&8C&S

  (nome-ta0ela-pai) =8 D&L&T& ZR$6R9:6[

  Z:7:7#$[

  Z$6 1?44[

D,=2 <=,&IG8 ;&:  (nome-coluna-cBave-estran!eira) ,&<&,&8C&S

  (nome-ta0ela-pai)

onde3

a) nome-ta0ela - Representa o nome da ta0ela que será atualizada.

 0) nome-coluna - Representa o nome da coluna que será criada.

c) tipo-do-dado - :láusula que define o tipo e tamanBo dos campos definidos para a ta0ela.

d) #R&> Xnome-colunaY - Realiza a retirada da coluna especificada na estrutura da ta0ela.

e) 7## Xnome-colunaY Xtipo-do-dadoY - Realiza a inclusão da coluna especificada na estrutura data0ela. 1a coluna correspondente a este campo nos re!istros á e%istentes será preencBido o valor 1?44 (1ulo).7s definiç5es 1&6 1?44 e 1&6 1?44 \96 #$;7?46 são semelBantes C do comando :R$76$ 67"4$.

f) R$17+$ Xnome-colunaY Xnovo-nome-colunaY - Realiza a troca do nome da coluna especificada.

!) R$17+$ 67"4$ Xnovo-nome-ta0elaY - Realiza a troca do nome da ta0ela especificada.

B) +&#9;] Xnome-colunaY Xtipo-do-dadoY - >ermite a alteração na característica da colunaespecificada.

&pç5es3

7lém das e%istentes na opção 7## (1&6 1?44 e 1&6 1?44 \96 #$;7?46), temos a opção 1?44

que altera a característica do campo passando a permitir o preencBimento com o valor 1ulo.i) 7## >R9+7R] W$] Xnome-colunaY - $sta opção é utilizada quando é acrescido um novo campo

como cBave primária da ta0ela.

 ) #R&> >R9+7R] W$] Xnome-colunaY - $sta opção é utilizada quando é retirado um campo comocBave primária da ta0ela.

5

0

5

0

5

0

5

0

7/24/2019 Teoria Banco Dados

http://slidepdf.com/reader/full/teoria-banco-dados 13/17

l) 7## ;&R$9/1 W$] Xnome-colunaY - $sta opção é utilizada quando é acrescido um novo camposendo ele uma cBave estran!eira.

l) #R&> ;&R$9/1 W$] Xnome-colunaY - $sta opção é utilizada quando é retirado uma cBaveestran!eira da estrutura da ta0ela.

../ # Drop Table

&0etivo3

#eletar a estrutura e os dados e%istentes em uma ta0ela. 7pMs a e%ecução deste comando estarãodeletados todos dados, estrutura e índices de acessos que esteam a ela associados.

inta%e3

D,=2 T6BL& Xnome-ta0elaY

onde3

a) nome-ta0ela - Representa o nome da ta0ela que será deletada.

.. # Create Inde'&0etivo3

:riar uma estrutura de índice de acesso para uma determinada coluna em uma ta0ela. ?m índice deacesso permite um acesso mais rápido aos dados em uma operação de seleção. &s índices podem ser criados a partir de um ou mais campos de uma ta0ela.

inta%e3

C,&6T& >?8I@?&A I8D& Xnome-índiceY

=8 Xnome-ta0elaY (Xnome-colunaY Z7: [, ZXnome-colunaY Z7: [ [)

Z#$:[ Z#$:[

onde3

a) nome-índice - Representa o nome da estrutura de índice que será criada.

 0) nome-ta0ela - Representa o nome da ta0ela que contem a coluna na qual será criada o índice de acesso.

c) nome-coluna - Representa o nome da coluna que será criada.

d) &pção 7:F#$: - Representa a criação do índice ordenada crescentemente (7:) oudecrescentemente (#$:).

..1 # Drop Inde'

&0etivo3#eletar uma estrutura de índice de acesso para uma determinada coluna em uma ta0ela.

inta%e3

D,=2 I8D& Xnome-índiceY

onde3

a) nome-índice - Representa o nome da estrutura de índice que será deletada.

4.2 - Comandos D0/

.+. # Insert

&0etivo3

  9ncluir um novo re!istro em uma ta0ela do "anco de #ados.

inta%e3

I8S&,T I8T= Xnome-ta0elaY Z(Xnome-colunaY, ZXnome-colunaY[)[

5

0

5

0

5

0

5

0

7/24/2019 Teoria Banco Dados

http://slidepdf.com/reader/full/teoria-banco-dados 14/17

$6L?&S (Xrelação dos valores a serem incluídosY)

onde3

a) nome-ta0ela - Representa o nome da ta0ela onde será incluída o re!istro.

 0) nome-coluna - Representa o nome da(s) coluna(s) terão conteAdo no momento da operação de inclusão.

&0s.3 $ste comando pode ser e%ecutado de duas maneiras3

P) uando todos os campos da ta0ela terão conteAdo - 1este caso não é necessário especificar as colunas,entretanto a relação dos valores a serem incluídos deverão o0edecer a mesma seqDncia da definição da ta0ela.

2) uando apenas parte dos campos da ta0ela terão conteAdo - 1este caso devem ser especificadas todasas colunas que terão conteAdo e os valores relacionados deverão o0edecer esta seqDncia. >ara os campos quenão tem conteAdo especificado será preencBido o valor 1?44.

.+.+ # ?pdate

&0etivo3

  7tualiza os dados de um ou um !rupo de re!istros em uma ta0ela do "anco de #ados.inta%e3

?2D6T& Xnome-ta0elaY

  S&T Xnome-colunaY b Xnovo conteAdo para o campoY

  ZXnome-colunaY b Xnovo conteAdo para o campoY[

&,& XcondiçãoY

onde3

a) nome-ta0ela - Representa o nome da ta0ela cuo conteAdo será alterado.

 0) nome-coluna - Representa o nome da(s) coluna(s) terão seus conteAdos alterados com o novo valor especificado.

c) condição - Representa a condição para a seleção dos re!istros que serão atualizados. $ste seleção poderá resultar em um ou vários re!istros. 1este caso a alteração irá ocorrer em todos os re!istros selecionados.

.+./ # Delete

&0etivo3

  #eletar um ou um !rupo de re!istros em uma ta0ela do "anco de #ados.

inta%e3

D&L&T& <,=! Xnome-ta0elaY&,& XcondiçãoY

onde3

a) nome-ta0ela - Representa o nome da ta0ela cuos re!istros serão deletados.

 0) condição - Representa a condição para a deleção dos re!istros. $ste seleção poderá resultar em um ouvários re!istros. 1este caso a operação irá ocorrer em todos os re!istros selecionados.

.+. # Select

&0etivo3

  elecionar um conunto de re!istros em uma ou mais ta0elas que atenda a uma determinada condiçãodefinida pelo comando.

inta%e3

S&L&CT 6LL <,=! Xnome-ta0elaY Z, Xnome-ta0elaY[

5

0

5

0

5

0

5

0

7/24/2019 Teoria Banco Dados

http://slidepdf.com/reader/full/teoria-banco-dados 15/17

  DISTI8CT

  &,& XcondiçãoY

G,=?2 B: Xnome-colunaY

6$I8G XcondiçãoY

=,D&, B:  Xnome-campoY 7:

#$:onde3

a) nome-ta0ela - Representa o nome da(s) ta0ela(s) que contem as colunas que serão selecionadas ou queserão utilizadas para a e%ecução da consulta.

 0) condição - Representa a condição para a seleção dos re!istros. $ste seleção poderá resultar em um ouvários re!istros.

c) nome-coluna - Representa a(s) coluna(s) cuos resultados são !rupados para atender C consulta.

d) 744 - &pção default. +ostra todos os valores o0tidos na seleção.

e) #9691:6 - &pção que mostra os valores o0tidos na seleção eliminando as duplicidades.

f) \$R$ - $specifica o critério de seleção dos re!istros nas ta0elas especificadas.

!) /R&?> "] - $specifica o(s) campo(s) que serão !rupados para atender a consulta.

B) 7J91/ - $specifica uma condição para seleção de um !rupo de dados. $sta opção sM é utilizadacom0inada com a opção /R&?> "].

i) &R#$R "] - $sta opção quando utilizada apresenta o resultado da consulta ordenado de formacrescente ou decrescente pelos campos definidos.

7l!umas funç5es utilizadas no comando elect.

a) C=?8T()

  (#9691:6 Xnome-campoY)

&0etivo3

  Retorna a quantidade de re!istros e%istentes no campo especificado. uando a opção é utilizada oresultado é a quantidade de re!istros e%istentes. uando é referenciado o nome de um campo retorna aquantidade de valores e%istentes na coluna.

 0) S?! (744 Xnome-campoY)

  #9691:6

&0etivo3  Retorna a soma dos valores e%istentes no campo especificado. uando a opção #9691:6 é utilizada

são consideradas apenas os diferentes valores e%istentes no campo.

c) 6$G (744 Xnome-campoY)

  #9691:6

&0etivo3

  Retorna a média dos valores e%istentes no campo especificado. uando a opção #9691:6 é utilizadasão consideradas apenas os diferentes valores e%istentes no campo.

d) !6 (744 Xnome-campoY)

  #9691:6

&0etivo3

5

0

5

0

5

0

5

0

7/24/2019 Teoria Banco Dados

http://slidepdf.com/reader/full/teoria-banco-dados 16/17

  Retorna o maior valor e%istente no campo especificado. uando a opção #9691:6 é utilizada sãoconsideradas apenas os diferentes valores e%istentes no campo.

e) !I8 (744 Xnome-campoY)

  #9691:6

&0etivo3

  Retorna o menor valor e%istente no campo especificado. uando a opção #9691:6 é utilizada sãoconsideradas apenas os diferentes valores e%istentes no campo.

5

7/24/2019 Teoria Banco Dados

http://slidepdf.com/reader/full/teoria-banco-dados 17/17

E8DIC&

P - :&1:$96& /$R79 #$ "71:& #$ #7#&P.P - :onceitosP.2 - Representação ;ísica do "anco de #ados

P.Q - Jis5es do "anco de #adosP.U - Janta!ens do "anco de #ados em relação C arquitetura tradicionalP.U.P - #efiniç5esP.U.2 - Janta!ens do "anco de #ados

2 - 1&R+749H7<I& #$ #7#&2.P - #efinição2.2 - >rimeira ;orma 1ormal (P;1) 2.Q - e!unda ;orma 1ormal (2;1) 2.U - 6erceira ;orma 1ormal (Q;1)

Q - +&#$4& #$ $169#7#$ $ R$47:9&17+$16& (+$R)Q.P - #efinição

Q.2 - Representação /ráficaQ.Q - :ardinalidade de RelacionamentosQ.U - 7tri0utos do RelacionamentoQ.V - /rau do Relacionamento

Q.V.P - Relacionamento "inárioQ.V.2 - Relacionamento 6ernário

U - 491/?7/$+ 4U.P - :omandos ##4

U.P.P - :reate 6a0leU.P.2 - 7lter 6a0leU.P.Q - #rop 6a0leU.P.U - :reate 9nde%U.P.V - #rop 9nde%

U.2 - :omandos #+4U.2.P - 9nsertU.2.2 - ?pdateU.2.Q - #eleteU.2.U - elect

5