Buscar

Resumo - Seminários integrados em SI - aula 9

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
Aula 9 
Banco de dados
“É uma coleção de dados relacionados.
Dado, por sua vez, é uma coleção de fatos que podem ser guardados e que tem um significado
implícito.” (Navathe, 2011).
O uso do termo é mais restrito em virtude de algumas características:
• Um BD representa algum aspecto do mundo real, o qual chamamos de minimundo ou
universo de discurso;
• É um conjunto lógico e ordenado de dados que possuem algum significado inerente;
• Um BD é projetado, construído e povoado com dados que possuem objetivos específicos.
Tipos de bancos de dados:
 
Arquivos simples (exemplo: planilhas).
 
Existem diversos bancos de dados relacionais, e dentre eles, temos: 
• SQLServer;
• Oracle;
• PostGreeSQL; 
• FireBird;
• ySQL etc.
Sistema de banco de dados - É um software aplicativo que permite ao usuário:
• Inserir;
• Atualizar;
• Recuperar dados;
• Organizar;
• Pesquisar esses dados de várias maneiras.
Componentes de um sistema de BD
É um conjunto de software composto por dados armazenados em um banco de dados, pelo SGBD e
os programas de aplicação.
Sistema gerenciador de banco de dados (SGBD)
É o conjunto de softwares responsáveis pelo gerenciamento de uma base de dados. Seu
principal objetivo é retirar da aplicação cliente a responsabilidade de gerenciar o acesso, a
manipulação e a organização dos dados. O SGBD disponibiliza uma interface para que seus clientes
possam incluir, alterar ou consultar dados previamente armazenados, garantindo a integridade e
segurança dos dados.
Em banco de dados relacionais a interface é constituída:
• Pelas APIs
• Pelos drivers do SGBD
(Ambos executam comandos na linguagem SQL)
O objetivo dessa interface é prover um ambiente conveniente e eficiente para recuperar e armazenar
informações do BD. 
Qual a finalidade do SGBD? O SGBD é um sistema de software que facilita os processos de
definição, construção, manipulação e compartilhamento de bancos de dados entre vários usuários e
aplicações.
Esses sistemas gerenciadores, sejam free ou não, têm a capacidade de nos trazer ferramentas
necessárias para o gerenciamento de qualquer tipo de informações armazenadas,
independentemente de sua representação ou modelo pelo qual as informações estão estruturadas.
Ele gera toda informação contida na base de dados e constitui a interface entre esta e o utilizador.
*Definição = Especificação dos tipos de dados, das estruturas das tabelas e das restrições que
devem ser impostas aos dados que serão armazenados.
* Construção = Processo de acumular os dados num meio de armazenamento controlado pelo
SGBD.
* Manipulação = Operações como atualização do banco de dados (inclusão, exclusão e alteração de
registros) e extração de dados, como consultas e relatórios impressos.
* Compartilhamento = Permite aos múltiplos usuários e programas acessar, de forma concorrente, o
banco de dados. Exemplo: Oracle, SQL Server, PostgreSQL, MYSQL, Interbase, Sybase, Firebird
etc.
Fluxo operacional de dados e controle
Vejamos agora como funciona o fluxo de dados e controle.
1) O programa do usuário comunica-se com o SGBD, utilizando DML, pedindo a leitura de um
registro lógico.
2) O SGBD emite um comando para o sistema operacional (SO), para a leitura dos esquemas
(metadados).
3) O SO acessa os esquemas.
4) Os metadados são transferidos para a área de E/S do SGBD.
5) O SGBD consulta os metadados para saber como traduzir o comando do usuário.
6) O SGBD emite os comandos para que o SO leia os registros físicos necessários.
7) O SO acessa a base de dados.
8) Os registros físicos são transferidos para a área de E/S do SGBD.
9) O SGBD seleciona os dados necessários para formar o(s) registro(s) lógico(s) pedido(s) pelo
usuário, faz a transformação (se necessário ) e coloca o registro lógico na área do
usuários/aplicação.
10) O SGBD envia ao programa de aplicação um código, indicando o fim do comando.
Abstração de dados
Como já sabemos, o objetivo de um SGBD é simplificar a interação do usuário com o sistema. Para
isso, este deve prover uma visão abstrata dos dados, ou seja, omitir detalhes de como os dados são
armazenados e mantidos.
 
Vejamos ao lado os níveis de abstração providos por um SGBD.
Nível de Visão - Mais alto nível de abstração; visão de cada usuário do BD; descreve partes do
banco de dados.
Nível lógico - Nível médio de abstração; visão dos administradores de DB; descreve quais dados
estão armazenados no BD e os Inter – relacionamentos entre eles. 
Nível físico - Mais baixo nível de abstração; visão dos desenvolvedores de DB; descreve como os
dados estão de fato armazenados nos disco rígido.
Esquemas e instâncias
Esquema é o projeto geral do BD (a definição estrutural dos seus dados). Eles são alterados com
pouca frequência.
 
Instância do BD é o conjunto de informações contidas em determinado BD, em um dado momento.
Esquema = definição do tipo de uma variável x Instância = valor de uma variável.
Sistemas de BD possuem esquemas, referentes aos níveis de abstração:
• Nível visão = subesquemas;
• Nível lógico = esquema lógico;
• Nível físico = esquema físico.
Independência de dados
Capacidade de modificar a definição dos esquemas em determinado nível, sem afetar o esquema do
nível superior.
Independência física de dados: modifica o esquema físico sem que com isso, qualquer programa
aplicativo precise ser reescrito (ocasionais para aumento de desempenho).
Independência lógica de dados: modifica o esquema lógico sem que, com isso, qualquer programa
aplicativo precise ser reescrito (sempre que uma estrutura lógica do BD é alterada - é mais difícil de
ser obtida).
* A independência lógica é mais difícil de ser alcançada do que a física, pois os programas são
muito dependentes do esquema lógico.
Projeto de Banco de dados
Seu objetivo é armazenar informações sem redundância e recuperá-las com facilidade.
 
“A relação entre o banco de dados e a organização pode ser tal que o bom ou mau funcionamento
daquele influenciará diretamente o resultado obtido pela organização” (Luís Damas).
 
“O projeto cuidadoso de um banco de dados é algo obrigatório, que não pode ser negligenciado ou
deixado nas mãos de quem não tem conhecimento técnico para tal” (Luís Damas).
Modelagem de dados
É o “Estudo das informações existentes em um contexto sob observação, para a construção de um
modelo de representação e entendimento de tal contexto” (Machado, 2004).
 
Modelos de dados, são conjuntos de conceitos que descrevem a estrutura lógica e física de um
banco de dados.
• Objetivos de um modelo de dados:
• Representar um ambiente observado;
• Servir de instrumento para comunicação;
• Favorecer o processo de verificação e validação;
• Capturar aspectos de relacionamento entre os objetos observados;
• Servir como referencial para a geração de estruturas de dados;
• Estabelecer conceitos únicos a partir de visões diversas.
“Modelo é a representação abstrata e simplificada de um sistema real, com a qual se pode explicar
ou testar o seu comportamento, em seu todo ou em partes” (Cougo, 1997).
Processo de modelagem
Geralmente, o termo aplicação de um banco de dados refere-se a um banco de dados particular e aos
programas a ele associados. Por isso, a parte da aplicação de um banco de dados exigirá o projeto,
implementação e testes desses programas de aplicação.
Tradicionalmente, o projeto e teste dos programas de aplicação são tratados mais no domínio da
engenharia de software. 
O ciclo de vida de um sistema de informação é composto por:
Modelagem de dados em três níveis
Conceitual
Lógico
Físico
Modelo conceitual - Representa ou descreve a realidade do ambiente do problema, constituindo-se
em uma visão global dos principais dadose relacionamentos (estruturas de informação),
independente das restrições de implementação.
Modelo lógico - Descreve as estruturas que estarão contidas no banco de dados, de acordo com as
possibilidades permitidas pela abordagem, mas sem considerar, ainda, nenhuma característica
específica de um SGBD, resultando em um esquema lógico de dados sob a ótica de uma das
abordagens adotada.
Modelo físico - Descreve as estruturas físicas de armazenamento de dados, tais como: tamanho de
campos e tipo de preenchimento, projetadas de acordo com os requisitos de processamento e uso
mais eficiente dos recursos computacionais.
Linguagem SQL (structured query language)
• Padrão de direito - ANSI 1986.
• Padrão de fato - muito utilizada nos SGBDs.
Oferece uma linguagem para acesso a objetos de dados, usando muito menos código de programa
do que uma linguagem de programação convencional.
Vejamos o acesso programado:
Abrir arquivo
Enquanto ( não for fim de arquivo ){
 Enquanto ( registro em uso ) {
 tenta travar registro
 verifica timeout
}
Se ( timeout ) {
 avisa ( “problema de acesso”)
 encerra
}
Ler registro
Se valor da coluna = valor{
 Altere registro
 destravar registro
 }
}
Fechar arquivo.
Agora vejamos o SQL:
update nome_da_tabela
set nome_da_coluna = novo_valor
where valor_da_coluna = valor
 
 A declaração SQL representa mais facilmente um acesso do que uma linguagem de terceira
geração.
 
Este nível de abstração tão superior significa maior confiabilidade, facilidade de manutenção e
código muito mais legível e compreensível.
* SQL é uma linguagem de consulta sofisticada, que vem evoluindo continuamente, embora
mantendo um nível de padronização muito alto. 
Atende ao paradigma relacional, ou seja, o programador expressa em SQL “o que" ele quer
recuperar, não “como" deve ser recuperado.
Entre seus principais atrativos, está a pequena quantidade de comandos extremamente poderosos.
Uma declaração SQL quase sempre inclui ao menos um comando: select, insert, update, delete...
Comandos em SQL usam palavras reservadas, que têm um significado especial para o servidor.
 
É terminada pelo caractere ; (ponto e vírgula).
O único caso em que um comando não é necessário é na execução de uma stored procedure.
Exemplos:
from – diz ao servidor que segue uma lista de tabelas; 
where – introduz uma lista de condições logicamente conectadas, especificando as linhas afetadas
pela declaração.
Quando é submetido um comando SQL ao servidor, este é analisado, otimizado, compilado e então
é executado.
* Os comandos SQL para a definição de dados são:
Create;
Drop;
Alter.

Outros materiais