3. 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.
Banco de dados:
diz respeito a algum aspecto do mundo real e é criado
com foco em um propósito específico;
tem uma estrutura lógica que confere um significado
aos dados.
4. Um sistema de gerenciamento de banco de dados (SGBD) é uma
coleção de programas que permite que um usuário crie e
mantenha um banco de dados. Trata-se de um sistema de
propósito geral no qual é possível:
definir um banco de dados: criar as estruturas para
armazenamento dos dados e especificar as restrições que devem
ser impostas aos dados;
manipular os dados do banco de dados: consultar, inserir, alterar e
excluir dados do banco de dados sem que as restrições sejam
violadas.
5. Independência entre dados e programas
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.
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.
6. Independência entre operações e programas
Os SGBDs permitem que operações sobre os dados
sejam definidas de maneira independente da aplicação.
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.
7. Abstração de dados
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.
O modelo de dados conceitual é construído por um analista
de dados, e sua implementação física é realizada em um
SGBD.
8. 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.
9. Profissionais responsáveis pelos SGBDs
projetistas e implementadores de módulos e
interfaces dos SGBDs;
desenvolvedores de ferramentas;
analistas de suporte para o SGBDs.
10. Vantagens da abordagem baseada em SGBDs
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. 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 acesso: o SGBD oferece um subsistema de
autorização e segurança que previne que usuários
acessem dados sem que estejam autorizados.
11. Vantagens da abordagem baseada em SGBDs
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.
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.
12. Vantagens da abordagem baseada em SGBDs
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.
13. Vantagens da abordagem baseada em SGBDs
Garante padrões
Reduz o tempo de desenvolvimento de aplicações
Fornece flexibilidade e disponibilidade
Promove economia de escala
14. 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.
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
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
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
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. Nesta disciplina:
modelagem conceitual (MER e Modelo Relacional)
ferramenta CASE para modelagem de dados
linguagens de consultas formais e comercial (SQL)
projeto de banco de dados (normalização)
segurança em banco de dados
arquitetura de sistemas de banco de dados
noções de processamento de consultas
noções de controle de concorrência
noções de recuperação de falhas
21. Estes slides estão baseados na bibliografia:
Elmasri, Ramez; Navathe, Shamkant B.
Sistemas de Banco de Dados. Pearson, 6a
edição, 808p., 2011.
FIM!