1. PROGRAMAÇÃO EM BANCO DE
DADOS
UNIDADE 1: REPOSITÓRIO DE DADOS
Seção 1: Linguagem de Consulta Estruturada
1
Aula 2: 16/08/2018
Prof.ª M.ª Eng.ª Elaine Cecília Gato
2. Introdução
2
• Banco de Dados (BD): é uma coleção de dados
interligados, representando informações sobre um
domínio específco.
• Exemplos: lista telefônica, acervo de uma
biblioteca.
• Gerenciador de Arquivos (GA): sistema tradicional
de gerenciamento de dado
3. Introdução
3
• Sistema Gerenciador de Banco de Dados (SGB
D): é um sofware com recursos específcos
para facilitar a manipulação das informações
de um BD e o desenvolvimento de programas
aplicatvos.
• Exemplos: Oracle, Paradox, MySQL, Access,
Interbase, Sybase.
4. Introdução
4
• Sistema de Banco de Dados: é um sistema de
manutenção de registros por computador
envolvendo quatro componentes principais:
dados, hardware, sofware e usuários
• Objetvo: isolar o usuário de detalhes mais
internos do BD (abstração de dados) e prover
independência de dados às aplicações (estrutura
física de armazmenamento e estratégia de acesso).
5. Introdução
5
• Vantagens do SBD:
– Rapidezm na manipulação e no acesso à informação;
– Redução do esforço humano no desenvolvimento e
utlizmação das aplicações;
– Disponibilizmação da informação no tempo necessário;
– Controle integrado de informações distribuídas
fsicamente;
– Redução da redundância e de inconsistência de
informações;
– Compartlhamento de dados;
– Aplicação automátca de restrições de segurança;
– Redução de problemas de integridade.
6. Introdução
6
• 6 regras que defnem um SGBD:
– Regra 1 Auto-Contenção:
• Um SGBD não contém apenas os dados em si, mas armazmena
completamente toda a descrição dos dados, seus
relacionamentos e formas de acesso.
• Em um GA, em algum momento ao menos, os programas
aplicatvos declaram estruturas (algo que ocorre tpicamente
em C, Pascal e COBOL) ou geram os relacionamentos entre os
arquivos (tpicos do ambiente xBase).
• Quando se defne a forma do registro dentro do próprio
programa, não está se lidando com um SGBD.
7. Introdução
7
• 6 regras que defnem um SGBD:
– Regra 2 Independência dos Dados:
• Capacidade de alterar o esquema em um nível do
sistema de banco de dados Sem ter de alterar o
esquema no nível mais alto
• Independência Física: arquivos
• Independência Lógica: programas e esquemas
8. Introdução
8
• 6 regras que defnem um SGBD:
– Regra 3 Abstração de Dados:
• Em um SGBD real, é fornecida ao usuário somente uma
representação conceitual dos dados, o que não inclui maiores
detalhes sobre sua forma de armazmenamento real.
• O chamado Modelo de Dados é um tpo de abstração utlizmada
para fornecer esta representação conceitual.
• Neste modelo, um esquema das tabelas, seus relacionamentos
e suas chaves de acesso é exibido ao usuário, porém nada é
afrmado sobre a criação dos índices, ou como serão mantdos,
ou então quais as relações existentes entre as tabelas.
9. Introdução
9
• 6 regras que defnem um SGBD:
– Regra 4 Visões:
• Um SGBD deve permitr que cada usuário visualizme os
dados de forma diferente daquela existente previamente
no BD.
• Uma visão consiste de um subconjunto de dados do BD,
mas não necessariamente estes deverão estar
armazmenados no BD.
• Portanto, uma replicação de uma estrutura, para fns de
acesso de forma diferenciada por outros aplicatvos, não
caracterizma o uso de um SGBD.
10. Introdução
10
• 6 regras que defnem um SGBD:
– Regra 5 Transações:
• Um SGBD deve gerenciar completamente a
integridade referencial defnida em seu esquema,
sem precisar, em tempo algum, do auxílio do
programa aplicatvo.
• Desta forma exige-se que o BD tenha ao menos
instruções que permitam a gravação e o
cancelamento de uma série modifcações
simultâneas.
11. Introdução
11
• 6 regras que defnem um SGBD:
– Regra 5 Transações:
• Exemplo:
– Um cadastro de pedido a um cliente o qual deseja
reservar cinco itens do estoque.
– Se existr algum bloqueio fnanceiro deste cliente
(duplicatas em atraso) que impeçam a venda, a transação
deverá ser desfeita com apenas uma instrução ao BD,
sem quaisquer modifcações suplementares nos dados.
– Qualquer acesso complementar para a correção da
reserva não caracterizma a utlizmação de um SGBD.
12. Introdução
12
• 6 regras que defnem um SGBD:
– Regr 6 Acesso Automátco:
• Num GA, uma situação tpica é o chamado deadlock.
• Esta situação indesejável pode ocorrer toda vezm que um usuário
travar um registro em uma tabela e, seu próximo passo, será
travar um registro em uma tabela relacionada à primeira.
• Porém, se este registro estver previamente travado por outro
usuário, o primeiro usuário fcará paralisado, pois, estará
esperando o segundo usuário liberar o registro em uso, para
que então possa travá-lo e prosseguir sua tarefa.
• Se, por hipótese, o segundo usuário necessitar travar o registro
travado pelo primeiro usuário, dizm-se que ocorreu um deadlock,
pois cada usuário travou um registro e precisa travar um outro,
justamente o registro anteriormente travado pelo outro.
13. Introdução
13
• 6 regras que defnem um SGBD:
– Regra 6 Acesso Automátco:
• Exemplo:
– A pessoa responsável pelos pedidos acabou de travar o registro
Item de Pedido, e necessita travar um registro no Cadastro de
Produtos, para indicar uma nova reserva.
– Se, concomitantemente, estver sendo realizmada uma tarefa de
atualizmação de pendências na tabela de Itens, e para tanto,
previamente este segundo usuário travou a tabela de Produtos,
ocorre o deadlock.
– Se a responsabilidade de evitar esta ocorrência for da aplicação,
não está se lidando com um SGBD.
14. Introdução
14
• Administrador de banco de dados;
• Projetstas de banco de dados;
• Usuários Finais;
• Analista de Sistemas;
• Programadores de Aplicação;
• Engenheiro de Sofware;
• Desenvolvedores de Sistemas de
Sofware;
• Projetstas e implementadores de
sistema de SGBD;
• Desenvolvedores de Ferramentas;
• Operadores e Pessoal de
Manutenção;
18. Minimundo
18
Um hotel mantém o cadastro de seus clientes com RG, nome, sexo,
endereço, e-mail e telefones de contato. Os clientes podem reservar
quartos do hotel para uma determinada data e por certa quantdade de
dias. Os quartos são cadastrados com número, andar, tpo, descrição e
preço. Para os quartos já ocupados pelos clientes, é mantda a data e
hora de entrada e de saída do quarto, isto é, existe um registro
diferenciado de quartos reservados e quartos ocupados. Para um cliente
fcar cadastrado é sufciente que tenha feito uma reserva alguma vezm
embora não tenha ocupado efetvamente o quarto. Os clientes que
ocupam um quarto do hotel podem solicitar determinados serviços que
são registrados associados ao quarto ocupado para posterior cobrança.
Cada serviço deve ser cadastrado com um código, tpo (bebida, comida,
entre outros), descrição do serviço e valor a ser pago
22. DDL
22
Data Definition Language ou Linguagem de Definição de dados
É um conjunto de comandos para criação, alteração e remoção de
tabelas, esquemas e outras estruturas do banco de dados
Permite especificar o esquema do BD, através de um conjunto de
definições de dados.
O esquema do BD fica armazenado numa área do SGBD chamada de
Dicionário de Dados.
Na maioria das vezes, uma DDL atua nos esquemas conceitual e interno
23. DML
• Data Manipulaton Language ou Linguagem de
Manipulação de Dados.
• Em relação a BD, a manipulação dos dados dá-se pelas
seguintes operações:
– Recuperação da informação armazmenada. Esta
recuperação é no sentdo de tornar a informação
armazmenada no banco disponível ao usuário e/ou
programa aplicatvo;
– Inserção de novas informações;
– Exclusão de informações;
– Modifcação de dados armazmenados.
24. DML
• Uma DML permite ao usuário acessar ou manipular os dados,
vendo-os da forma como são defnidos no nível de abstração mais
alto do modelo de dados utlizmado.
• No nível mais alto (visões de usuário): uma DML é não-procedural,
declaratva, orientada a conjuntos e dita linguagem de consulta
(query language).
• Em baixo nível (físico): uma DML é orientada a registros e
considerada uma sublinguagem de dados, embutda em uma
linguagem hospedeira.
• A linguagem SQL (Structured Query Language) é um bom
exemplo, pois contempla uma DDL e uma DML.
25. MYSQL
• No menu iniciar, procurar pelo programa
MySQL e em seguida MySQL Command Line
Client.
• Digitar a senha do programa para poder
utlizmá-lo.
33. Tipos de Dados
33
TIPO DESCRIÇÃO
Character (n) ou char (n) String de comprimento fxo sendo n > 0
Character ou char Um único caracter
Character varying (n) ou varchar (n) String de comprimento variável sendo n > 0
Bit (n) String com n Bits de comprimento fxo sendo n > 0
Bit varying (n) String com n Bits de comprimento variável sendo n > 0
Numeric, Numeric (n) ou numeric
(n, d)
Valor numérico consttuído por n digitos e sinal e com d
casas decimais. 0 <= d <= n e n > 0
Integer ou int Inteiro com sinal
Smallint Pequeno inteiro com sinal (short int – inteiro curto)
Float Número de precisão – ponto futuante
Date Data
Time Tempo
Timestamp Intervalo temporal
34. REFERÊNCIAS
BIBLIOGRÁFICAS
34
• ELMASRI, R. Sistemas de bancos de dados. 6ª Edição. Editora
Pearson, 2011.
• SILBERSCHATZ, A.; KORTH, H. F.; SUDARSHAN, S. Sistema de
banco de dados. 6ª Edição. Elsevier, 2012.
• DATE, C. J. Introdução a sistemas de bancos de dados. Editora
Elsevier, 2004.
• HEUSER, C. A. Projeto de banco de dados. Porto Alegre, RS:
Bookman, 2010
35. REFERÊNCIAS
BIBLIOGRÁFICAS
35
• MORELLI, E. T. SQL 2000 Server Fundamental: SQL, Transact –
SQL e Administração. São Paulo, SP: Érica, 2004.
• FANDERUFF, D. Oracle 8i utlizmando SQL Plus e PL/SQL. São
Paulo: Makron Books/Pearson Educaton do Brasil, 2000.
• DATE, C. J. Introdução a sistemas de bancos de dados. Rio de
Janeiro: Campus, 2000.
• BUYENS, J. Desenvolvendo banco de dados na web: passo a
passo. São Paulo: Makron Books, 2001