2. BANCO DE DADOS
Banco de dados:
• diz respeito a algum aspecto do mundo real e é criado
com foco em um propósito específico (um objetivo);
• tem uma estrutura lógica que confere um significado aos
dados.
Um banco de dados é uma coleção de dados. Nesse
contexto, um dado é um fato que deve ser armazenado
(persistido) e que tem um significado implícito.
3. INDEPENDÊNCIA ENTRE DADOS E
PROGRAMA
Aplicações (ou sistemas) que fazem uso de um SGBD e de
um banco de dados não precisam lidar com o armazenamento
e o controle de acesso aos dados.
Aplicações (ou sistemas) que não fazem uso de um SGBD e
de um banco de dados incorporam as estruturas de dados e
fazem o controle de acesso a esses dados.
4. INDEPENDÊNCIA ENTRE OPERAÇÕES
E PROGRAMAS
As aplicações podem chamar tais operações por meio de
seus nomes e argumentos, e não se preocupam como tais
operações são implementadas.
Os SGBDs permitem que operações sobre os dados sejam
definidas de maneira independente da aplicação.
5. ABSTRAÇÃO DE DADOS
O modelo de dados conceitual é construído por um analista de
dados, e sua implementação física é realizada em um SGBD.
Para que seja possível usar as funcionalidades de um SGBD e
atuar sobre um banco de dados, é preciso conhecer o modelo
de dados, o qual usualmente é apresentado aos usuários via
uma representação conceitual.
6. USUÁRIOS DE UM SISTEMA DE
BANCO DE DADOS
● administradores de banco de dados (DBA –database
administrator);
● projetistas de banco de dados (database designers);
● analistas de sistemas e programadores de aplicação;
● usuários finais.
7. VANTAGENS DA ABORDAGEM
BASEADA EM SGBDS
• Se diferentes instâncias de um mesmo dado são
armazenadas em locais diferentes e gerenciadas por
aplicações diferentes, corre-se o risco de criar
inconsistência de dados.
● Controle de redundância: todos os dados estão
armazenados em um único lugar, e diferentes
aplicações acessam a mesma instância desses dados.
8. • Controle de acesso: o SGBD oferece um subsistema de
autorização e segurança que previne que usuários
acessem dados sem que estejam autorizados.
VANTAGENS DA ABORDAGEM
BASEADA EM SGBDS
9. • Persistência para programas e estruturas de dados
(objetos): códigos e estruturas de dados são
armazenados e gerenciados pelos SGBDs como
objetos – são nomeados e podem ser invocados,
alterados e excluídos a partir de funcionalidades
oferecidas pelo sistema.
VANTAGENS DA ABORDAGEM
BASEADA EM SGBDS
10. • Eficiência no processamento de consultas: os SGBDs
possuem funcionalidades que permitem executar
requisições sobre os dados de forma eficiente. Essas
funcionalidades incluem gerenciamento de índices e de
memória, e otimização de consultas.
VANTAGENS DA ABORDAGEM
BASEADA EM SGBDS
11. • Oferecimento de sistemas de backup e recuperação:
SGBDs oferecem subsistemas que realizam a
recuperação dos dados após a ocorrência de falhas de
software e hardware.
• Garantia das restrições de integridade: os dados
armazenados em um banco de dados são associados a
algumas restrições. Tais restrições são constantemente
verificadas, e garantidas pelo SGBD.
VANTAGENS DA ABORDAGEM
BASEADA EM SGBDS
12. • Garante padrões
• Reduz o tempo de desenvolvimento
de aplicações
• Fornece flexibilidade e disponibilidade
• Promove economia de escala
VANTAGENS DA ABORDAGEM
BASEADA EM SGBDS
13. MODELOS DE DADOS
• Modelos de alto nível ou modelos de dados conceituais:
fornecem conceitos que são próximos à forma como os
usuários percebem os dados. Ex.: Modelo Entidade-
Relacionamento.
• Modelos de baixo nível ou modelos de dados físicos:
fornecem conceitos que descrevem em detalhes como os
dados são armazenados no meio de persistência. Ex.:
formato de registros, ordenação e formas de acesso..
14. • Modelos de dados de representação (ou implementação):
fornecem conceitos que são compreensíveis por parte dos
usuários mas que não estão longe da maneira como os
dados são armazenados no meio de persistência.
• Ex.: Modelo Relacional
MODELOS DE DADOS
15. ESQUEMAS, INSTÂNCIAS E ESTADO
DO BANCO DE DADOS
• Esquema: descrição de um banco de dados. É
especificado durante o projeto do banco de dados e
não é esperado que sofra mudanças frequentes.
• Instância (estado): os dados armazenados em um banco
de dados em um momento particular (tempo). Muitos
(diferentes) estados de um banco de dados podem ser
construídos a partir de um mesmo esquema.
16. LINGUAGENS
• Linguagem de definição de dados (DDL): é usada para
definir o esquema do banco de dados.
• Atualmente pode englobar a SDL – Linguagem de
definição de armazenamento - e a VDL – Linguagem
de definição de visão.
• Linguagem de manipulação de dados (DML): é usada
para executar instruções de recuperação, inserção,
exclusão e modificação de dados.
17. Contexto do mundo real
Coleta e análise
de requisitos
Projeto
conceitual
Projeto lógico
Projeto físico
Requisitos de
dados
Esquema
conceitual
Esquema
(conceitual) lógico
Esquema
interno
Análise
funcional
Projetos das
aplicações
Implementação
das transações
Aplicações
SGBD
específico
Independente
de SGBD
Especificação
de transações
em alto nível
Requisitos
funcionais
ESPECIFICAÇÃO
18. Sistema de
banco de dados
Usuários e programadores
Aplicações
Softwares que processam
requisições (consultas) das
aplicações
Softwares que acessam os
dados que estão
armazenados
Dados
armazenados
(banco de dados)
Meta-dados
SGBD
ESTRUTURA DE SISTEMA
19. Dados armazenados
(banco de dados)
Meta-dados
Processador de
banco de dados
Concorrência /
backup /
recuperação
Gerenciador de
armazenamento
Compilador
DDL
Compilador
consultas
Otimizador
consultas
Pré-
compilador
Compilador
DML
Compilador
Linguagem
Host
Transações
compiladas
Instruções
DDL
Comandos
privilegiados
Consultas
(queries)
Aplicações
Time do DBA Usuários casuais Programadores
Usuários finais
Entrada/saída do
banco de dados
20. VISÃO GERAL SOBRE BANCO DE
DADOS
Estes slides estão baseados na bibliografia:
•Elmasri, Ramez; Navathe, Shamkant B. Sistemas de Banco
de Dados. Pearson, 7a edição, 1128p., 2018.