AULA Nº 1
BANCOS DE 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.
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.
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.
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.
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.
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.
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.
Profissionais responsáveis pelos SGBDs
 projetistas e implementadores de módulos e
interfaces dos SGBDs;
 desenvolvedores de ferramentas;
 analistas de suporte para o SGBDs.
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.
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.
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.
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
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
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.
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.
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
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
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
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
Estes slides estão baseados na bibliografia:
 Elmasri, Ramez; Navathe, Shamkant B.
Sistemas de Banco de Dados. Pearson, 6a
edição, 808p., 2011.
FIM!

AULA 01.pptx

  • 2.
  • 3.
    Um banco dedados é 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 degerenciamento 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 dadose 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çõese 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 Paraque 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 umsistema 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 pelosSGBDs  projetistas e implementadores de módulos e interfaces dos SGBDs;  desenvolvedores de ferramentas;  analistas de suporte para o SGBDs.
  • 10.
    Vantagens da abordagembaseada 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 abordagembaseada 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 abordagembaseada 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 abordagembaseada 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 eestado 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 dedefiniçã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 Coletae 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 dedados 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 dedados) 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:  modelagemconceitual (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ãobaseados na bibliografia:  Elmasri, Ramez; Navathe, Shamkant B. Sistemas de Banco de Dados. Pearson, 6a edição, 808p., 2011. FIM!