análise da informação manuel martins · 2020. 4. 28. · 04- um estado de um banco de dados...
TRANSCRIPT
Análise da Informação
Manuel Martins
Título – Banco de Dados
Motivação para uso ???????????????
Conceito – Definição - Exemplos ?????????????????
Um sistema precisa ser eficiente na recuperação de informações.
Esta eficiência muitas vezes está relacionada com a
complexidade interna das estruturas de representação destes
dados. Esta complexidade precisa ser transparente para os
usuários, ou seja, através dos níveis de abstração, os SGBDs
omitem a complexidade de armazenamento e manutenção dos
dados que estão sendo manipulados, de modo a facilitar a
interação dos usuários com o sistema.
BANCO DE DADOS
ARQUITETURA DE UM SGBD
ARQUITETURA DE UM SGBD
A proposta maior de um sistema de bancos de dados é prover
aos usuários uma visão abstrata dos dados, isto é, o sistema
omite certos detalhes de como os dados são armazenados e
mantidos internamente. Os programas (aplicações) e usuários
não acessam diretamente as informações como num
processamento de arquivos. Eles fazem requisições ao SGBD e
este recupera as informações no disco.
BANCO DE DADOS
BANCO DE DADOS
APLICAÇÃO
USUÁRIO
S
G
B
D
BANCO DE
DADOS
ABSTRAÇÃO DE UM BANCO DE DADOS
DISCO
NÍVEIS DE ABSTRAÇÃO
NÍVEL FÍSICO (INTERNO) o nível mais baixo de abstração
descreve COMO os dados estão realmente armazenados.
Descreve todos os detalhes de armazenamento de dados e
caminhos de acesso à base de dados. Neste nível de abstração
trabalham os DBAs (DataBase Administrators).
ABSTRAÇÃO DE UM BANCO DE DADOS
BANCO DE DADOS
NÍVEIS DE ABSTRAÇÃO
NÍVEL CONCEITUAL (LÓGICO) descreve QUAIS dados estão
armazenados no Banco de Dados e as relações que existem
entre eles (relacionamentos, restrições). O nível conceitual é
normalmente usado pelos administradores que precisam decidir
quais as informações que devem estar no Banco de Dados.
Neste nível de abstração trabalham os DBAs e os Analistas de
Aplicação (programadores).
BANCO DE DADOS NÍVEIS DE ABSTRAÇÃO
NÍVEL EXTERNO (VISUAL) é o mais alto nível de abstração e
descreve apenas parte do banco de dados. Muitos usuários não
estarão interessados em todas as informações do BD, mas
apenas em parte delas. Para isso, níveis de visão são definidos
de modo que as interações sejam simplificadas. Uma visão exibe
apenas uma parte dos dados do BD. Neste nível de abstração
trabalham os DBAs, os Analistas de Aplicação e os usuários
comuns. Exemplo: arquivo que contenha apenas os maiores
declarantes do IRPF.
NÍVEIS DE ABSTRAÇÃO
(FÍSICO)
QUESTÕES DE PROVAS
Um projeto de banco de dados deve ter generalidade e alto grau de
abstração de dados, proporcionando confiabilidade e eficiência no
armazenamento dos dados e permitindo a utilização de diferentes tipos
de gerenciadores de dados por meio de linguagens de consultas
padronizadas.
O mapeamento do nível conceitual para o nível interno define a
correspondência entre a visão conceitual e o banco de dados
armazenado, ou seja, define a forma como os registros e campos
conceituais são representados no nível interno.
BANCO DE DADOS
INSTÂNCIA E ESQUEMA
Um banco de dados muda ao longo do tempo por meio das
informações que nele são inseridas ou excluídas.
INSTÂNCIA é o conjunto de informações contidas em
determinado Banco de Dados em um dado momento.
ESQUEMA é o projeto geral de um Banco de Dados. Um
esquema é então o modo como é concebida a organização da
informação. O esquema de um Banco de Dados muda muito
pouco ao longo do tempo.
BANCO DE DADOS
Os sistemas de banco de dados apresentam diversos esquemas,
referentes aos níveis de abstração que foram discutidos. Em geral os
sistemas de banco de dados são suporte a um esquema físico, um
esquema lógico e vários sub esquemas.
A capacidade de modificar a definição dos esquemas em determinado
nível, sem afetar o esquema do nível superior, é chamado
independência de dados. Existem dois níveis de independência de
dados:
a. Independência física de dados
b. Independência lógica de dados
INSTÂNCIA E ESQUEMA
INDEPENDÊNCIA DE DADOS FÍSICA modifica o esquema
físico sem que, com isso, qualquer programa aplicativo precise
ser reescrito. São ocasionais e necessárias para aumentar o
desempenho das aplicações. Por exemplo: distribuir a base de
dados por dois ou mais computadores, alteração nos dispositivos
de armazenamento, alteração dos algoritmos de indexação e
hashing.
INSTÂNCIA E ESQUEMA
INSTÂNCIA E ESQUEMA
INDEPENDÊNCIA DE DADOS LÓGICA é a habilidade de
modificar o esquema conceitual sem a necessidade de
reescrever os programas aplicativos. As modificações no nível
conceitual são necessárias quando a estrutura lógica do banco
de dados é alterada. Por exemplo: adicionar novos campos a
uma tabela, ou criar uma nova tabela. A independência lógica é
muito mais difícil de ser atingida, pois os programas são
altamente dependentes da mesma.
ESQUEMA DO BD: descrição global do BD. É importante distinguir
entre a descrição do BD e o próprio BD.
ESQUEMA EXTERNO (VISÃO): conjunto dos sub esquemas externos
que descrevem as perspectivas dos utilizadores.
ESQUEMA CONCEITUAL (LÓGICO): descrição de todos os dados e
suas inter-relações, assim como das restrições de integridade
associadas. Existe só um esquema conceitual.
ESQUEMA INTERNO (FÍSICO): contém as definições dos registos
armazenados, métodos de representação, campos dos registos, índices
e esquemas de hashing. Só existe um esquema interno.
ESQUEMAS E INSTÂNCIAS -
REFRESH !
INSTÂNCIA conjunto de informação existente numa base
de dados num dado instante. As bases de dados mudam ao
longo do tempo, através da inclusão de mais informação ou da
exclusão de informação existente na base de dados.
ESQUEMAS E INSTÂNCIAS - REFRESH !
BANCO DE DADOS SISTEMAS GERENCIADORES DE BANCO DE BANCO DE
DADOS
ACCESS (OFFICE)
BASE (LIBRE-OFFICE)
ORACLE
MY SQL
SQL SERVER
PostgreSQL
SyBase
ADABAS
DB2
MONGODB
CASSANDRA
HBASE
BERKELEY DB
01- A independência física de dados consiste na habilidade de modificar
o esquema conceitual sem a necessidade de reescrever os programas
aplicativos. As modificações no nível conceitual são necessárias quando
a estrutura lógica do banco de dados é alterada.
QUESTÕES DE PROVAS
02- A independência física de dados refere-se à capacidade de poder
realizar mudanças no esquema externo sem ter que modificar o
esquema conceitual.
03- Se um sistema de banco de dados provê independência física dos
dados, é correto inferir que esse sistema também permite
independência lógica de dados.
01- E / 02- E / 03- E
04- Um estado de um banco de dados relacional consiste no conjunto
de dados desse banco de dados em um momento particular do tempo.
QUESTÕES DE PROVAS
05- A coleção das informações armazenadas em um banco de dados,
em determinado momento, corresponde ao esquema do banco de
dados.
06- O nível conceitual serve para descrever a estrutura do banco de
dados para um conjunto de usuários.
04- E / 05- E / 06- C
LINGUAGENS DE DEFINIÇÃO E MANIPULAÇÃO
DE DADOS EM UM BANCO DE DADOS
Um SGBD proporciona dois tipos de linguagens: uma
específica para os esquemas do Banco de Dados e outra
para expressar consultas e atualizações.
Para criar um Banco de Dados precisamos:
DEFINIR os dados que serão armazenados.
MANIPULAR os dados armazenados.
Os SGBD’s disponibilizam para os usuários duas linguagens:
Uma para DEFINIR quais dados vão ser armazenados (DDL).
Uma para MANIPULAR esses dados (DML).
LINGUAGENS DE DEFINIÇÃO E MANIPULAÇÃO
DE DADOS EM UM BANCO DE DADOS
LINGUAGENS DE DEFINIÇÃO E MANIPULAÇÃO
DE DADOS EM UM BANCO DE DADOS
DDL (Data Definition Language - Linguagem de Definição de
Dados) Permite ESPECIFICAR o ESQUEMA do Banco de
Dados, através de um conjunto de definições de dados. A
compilação dos comandos em DDL é armazenada no dicionário
(ou diretório) de dados (METADADOS).
• O resultado da compilação dos parâmetros DDLs é
armazenado em um conjunto de tabelas que constituem um
arquivo especial chamado Dicionário de Dados ou Diretório de
Dados.
• Um Dicionário de Dados é um arquivo de METADADOS, isto é,
dados a respeito de dados.
• A estrutura de memória e o método de acesso usados pelo BD
são especificados por um conjunto de definições em um tipo
especial de DDL chamado de linguagem de definição e
armazenamento de dados (data storage and definition language
- DSDL).
LINGUAGENS DE DEFINIÇÃO E MANIPULAÇÃO
DE DADOS EM UM BANCO DE DADOS DDL (Data Definition Language)
DDL (Data Definition Language)
DDL INCLUI BASICAMENTE QUATRO COMANDOS (SQL)
• CREATE DATABASE / DROP DATABASE
• CREATE TABLE / DROP TABLE / ALTER TABLE
• CREATE VIEW / DROP VIEW
• CREATE INDEX / DROP INDEX
• CRIAR BANCO DE DADOS / EXCLUIR BANCO DE DADOS
• CRIAR TABELA / EXCLUIR TABELA / ALTERAR TABELA (estrutura)
• CRIAR VISÃO / EXCLUIR VISÃO
• CRIAR ÍNDICE / EXCLUIR ÍNDICE
DDL (Data Definition Language)
DEFINIÇÕES
EM DDL
DICIONÁRIO
DE DADOS
COMPILAÇÃO
COMANDOS DDL METADADOS
DML (Data Manipulation Language - Linguagem de
Manipulação de Dados) é a linguagem que permite
aos usuários ACESSAR ou MANIPULAR dados
organizados pelo modelo de dados apropriado.
LINGUAGENS DE DEFINIÇÃO E MANIPULAÇÃO
DE DADOS EM UM BANCO DE DADOS
A manipulação de dados significa:
Recuperação (consulta) da informação armazenada no Banco
de Dados.
Inserção de novas informações nos Bancos de Dados.
Eliminação (exclusão) de informações do Banco de Dados.
Modificação (alteração) de dados armazenados no Banco de
Dados.
LINGUAGENS DE DEFINIÇÃO E MANIPULAÇÃO
DE DADOS EM UM BANCO DE DADOS
DML (Data Manipulation Language)
DML INCLUI BASICAMENTE QUATRO COMANDOS (SQL)
•SELECT SELECIONAR
• INSERT INSERIR
•UPDATE ATUALIZAR
•DELETE EXCLUIR
SQL (Structured Query Language)
• Linguagem padrão de consulta a Banco de Dados Relacionais.
• Unifica a DDL e a DML numa única linguagem.
• Engloba ainda outros aspectos, como por exemplo, os relacionados
com a administração da base de dados.
• É uma linguagem NÃO-PROCEDIMENTAL
(PROCEDIMENTAL = PROCEDURAL).
• Funciona em modo interativo.
• Existem várias extensões à linguagem SQL.
• É uma norma ISO e ANSI.
ISO (International Standards Organization)
ANSI (American National Standards Institute)
LINGUAGENS DE DEFINIÇÃO E MANIPULAÇÃO
DE DADOS EM UM BANCO DE DADOS
DMLs PROCEDURAIS requerem um usuário para
especificar qual dado é necessário e como obtê-lo.
DMLs NÃO-PROCEDURAIS requerem um usuário para
especificar qual dado é necessário sem especificar como
obtê-lo.
TIPOS DE DML
01- A DDL (Data Definition Language) é usada para a definição da
estrutura do banco de dados ou do esquema. São comandos DDL:
CREATE, DROP, SELECT e UPDATE.
02- Em um SGBD, um compilador DDL (Data Definition Language) trata
das consultas de alto nível ao banco de dados, analisando-as e
gerando chamadas ao processador em tempo real para executar a
solicitação.
03- A linguagem de manipulação de dados é aquela utilizada pelo
administrador de banco de dados e projetistas de base de dados para
definir seus esquemas. Nesse caso, o SGBD tem um compilador para
processar descrições em DDL e construir a descrição do esquema
armazenado no catálogo.
QUESTÕES DE PROVAS
01- E / 02- E / 03- E
TIPOS DE USUÁRIOS DE UM BANCO DE DADOS
Há quatro tipos básicos de usuários de sistemas de banco de dados, cuja diferença refere-se a suas expectativas de interação
com o sistema.
PROGRAMADORES DE APLICAÇÕES São profissionais em
computação que interagem com o sistema por meio das
chamadas DML, as quais são envolvidas por programas escritos
na linguagem hospedeira. Estes programas são comumente
referidos como programas de aplicação.
TIPOS DE USUÁRIOS DE UM BANCO DE DADOS
USUÁRIOS SOFISTICADOS Interagem com o sistema sem
escrever programas. Formulam suas solicitações ao banco de
dados por meio de linguagens de consultas. Cada uma dessas
solicitações é submetida ao processador de consultas.
USUÁRIOS ESPECIALISTAS São usuários sofisticados que
escrevem aplicações especializadas de bancos de dados que não
podem ser classificadas como aplicações tradicionais em
processamento de dados.
TIPOS DE USUÁRIOS DE UM BANCO DE DADOS
USUÁRIOS NAVEGANTES São os usuários comuns que
interagem com o sistema chamando um dos programas
aplicativos permanentes já escritos, como por exemplo, um
usuário que pede a transferência de uma conta para outra.
DBA (DataBase Administrator) Uma das principais razões
para se usar SGBD é ter um controle central dos dados e dos
programas de acesso a eles. A pessoa que tem esse controle é o
ADMINISTRADOR DE BANCO DE DADOS (DBA).
BANCO DE DADOS
ADMINISTRADOR DE BANCO DE DADOS
DEFINIÇÃO DO ESQUEMA define a ESTRUTURA original
do BD (armazenada em um DD-Dicionário de Dados).
DEFINIÇÃO DA ESTRUTURA DE DADOS E MÉTODO DE
ACESSO define a estrutura de ARMAZENAMENTO e
MÉTODOS de ACESSO.
MODIFICAÇÕES NA ORGANIZAÇÃO FÍSICA promove
alterações na organização física dos dados.
FUNÇÕES DE UM DBA
CONCESSÃO DE AUTORIZAÇÃO PARA ACESSO AOS
DADOS concede autorização para acesso ao Banco de
Dados. O fornecimento de diferentes tipos de autorização no
acesso aos dados permite que o administrador regule o acesso
dos diversos usuários às diferentes partes do sistema.
ESPECIFICAÇÃO DE RESTRIÇÃO DE INTEGRIDADE é o
DBA quem define as restrições de integridade. O sistema faz
uma consulta as restrições de integridade quando precisa
realizar uma atualização.
FUNÇÕES DE UM DBA
1. GERENCIADOR DE ARQUIVOS gerência a alocação de
espaço na utilização do disco e as estruturas de dados
usadas para representar a informação armazenada.
2. GERENCIADOR DE BANCO DE DADOS fornece a
INTERFACE entre dados de baixo nível armazenados em
disco e os programas aplicativos e de consulta submetidos
pelo sistema.
3. PROCESSADOR DE CONSULTAS TRADUZ comandos
numa linguagem de consulta em instruções de baixo nível
que o GERENCIADOR de banco de dados entende.
BANCO DE DADOS
ESTRUTURA DE UM SGBD
4. PRÉ-COMPILADOR DML CONVERTE comandos DML
(Data Manipulation Language) embutidos em um aplicativo para
chamadas de procedimento normal na linguagem hospedeira.
O pré-compilador precisa interagir com o Processador de
Consulta para gerar o código apropriado.
5. COMPILADOR DDL CONVERTE comandos DDL (Data
Definition Language) em um conjunto de tabelas contendo
“METADADOS” ou “dados sobre dados”.
ESTRUTURA DE UM SGBD
6. ARQUIVOS DE DADOS ARMAZENAM bancos de dados
por si mesmos.
7. DICIONÁRIO DE DADOS ARMAZENAM METADADOS
sobre a estrutura de banco de dados.
8. ÍNDICES FORNECEM um ACESSO RÁPIDO aos itens
de dados que guardam dados particulares.
ESTRUTURA DE UM SGBD
ESTRUTURA
DE UM SGBD
INTERAÇÃO COM O GERENCIADOR DE ARQUIVOS o
SGBD INTERAGE com o SISTEMA de ARQUIVOS que
normalmente é fornecido por algum sistema operacional.
CUMPRIMENTO DE INTEGRIDADE os valores de dados
armazenados em um BD precisam satisfazer certos tipos de
restrições de integridade. Por exemplo, o número de horas
trabalhadas por semana não pode ultrapassar um limite
estabelecido. Essas restrições de integridade são
estabelecidas pelo DBA (administrador de banco de dados).
BANCO DE DADOS
TAREFAS DE UM SGBD
CUMPRIMENTO DE SEGURANÇA nem todo usuário pode
ter acesso ao conteúdo completo do Banco de Dados.
CÓPIAS DE SEGURANÇA E RECUPERAÇÃO
procedimentos de cópias de segurança (backup’s) e
recuperação.
CONTROLE DE CONCORRÊNCIA controlar a interação
entre usuários para evitar que dois ou mais usuários
ATUALIZEM DADOS SIMULTANEAMENTE.
TAREFAS DE UM SGBD
01- Estruturas apropriadas de armazenamento e métodos de acesso são
criadas pelos administradores de banco de dados por meio de um
conjunto de definições que são traduzidas pelo compilador de estruturas
de dados e de linguagem de definição.
02- Os administradores de banco de dados devem estar atentos aos fatores
que podem influenciar na eficiência do projeto físico — como, por exemplo, a
análise das consultas e transações do banco de dados e a frequência
esperada das chamadas de consultas e transações —, mas não deve se
preocupar com as restrições de tempo das consultas e das transações
03- A maior parte dos problemas de desempenho em banco de dados
não está relacionada à aplicação, mas sim às configurações incorretas
dos arquivos de parâmetros realizadas pelos administradores de banco
de dados.
QUESTÕES DE PROVAS
01- C / 02- E / 03- E