SlideShare uma empresa Scribd logo
Bacharelado em Sistemas de Informação
Banco de Dados I
IvonePenque Matsuno Yugoshi
ivone.matsuno@ufms.br
Conceitos Básicos
2
Motivação
• Necessidade de:
• armazenar grandes quantidades de dados
• acessar informações de maneira eficiente e segura
• O que é um Banco de Dados (BD)?
• Dados são fatos que podem ser gravados e que possuem um significado implícito.
Por exemplo:
• Nomes, telefones e endereços de pessoas conhecidas
• Um BD é uma coleção de dados relacionados
• Uso do termo banco de dados é em geral mais restrito, conforme será visto neste
curso
3
Motivação
• Operações bancárias
• Compras por intermédio da Web
• Dados sobre produtos/compras em supermercados
• Dados multimídia
• Informações geográficas
• Recuperação de informações na www
• Mineração de dados
• Etc
4
Histórico e Evolução dos BD
• No início da computação, programas tinham o único objetivo de
armazenar e manipular dados.
• Esses programas gravavam seus dados em disco, segundo estruturas
próprias.
• Programas que não conhecessem a estrutura dos dados não podiam
utilizar os dados.
Estrutura dos dados
Arquivo
5
Histórico e Evolução dos BD
• Se vários programas precisassem compartilhar os dados de um mesmo
arquivo, todos os programas teriam que conhecer e manipular as
mesmas estruturas.
Estrutura dos dados
Arquivo
Estrutura dos dados
6
Histórico e Evolução dos BD
• Se algum programa precisasse realizar alguma mudança na estrutura de
dados,
• Todos os programas que acessam esse mesmo arquivo tinham que ser
alterados, mesmo que a alteração ocorresse em dados não
manipulados pelos programas.
• Isso gerava um grande problema:
• Garantir a unicidade das estruturas de dados entre os diversos
programas devido à existência de redundâncias.
7
Histórico e Evolução dos BD
• Para evitar esse problema, colocou-se um sistema intermediário:
• Que conhece a estrutura de dados do arquivo.
• Fornece apenas dados que cada programa precisa.
• Armazena adequadamente os dados de cada programa.
Arquivo
8
Histórico e Evolução dos BD
• Agora, com esse sistema intermediário:
• Os programas "verão" apenas os dados que lhes interessam.
• Os programas não precisam conhecer os detalhes de como seus dados
estão gravados fisicamente.
• Os programas não precisarão ser modificados se a estrutura de dados
que utilizam não for modificada.
• As alterações ficam concentradas nesse sistema intermediário.
9
Histórico e Evolução dos BD
• Com o tempo, esse sistema intermediário passou a gerenciar vários
arquivos.
• A essa coleção de arquivos foi dado o nome de Banco de Dados e o
sistema intermediário recebeu o nome de Sistema Gerenciador de Banco
de Dados (SGBD).
Arquivo
Arquivo
Arquivo
S
G
B
D
10
Histórico e Evolução dos BD
• Com o tempo, surgiram padrões para descrever as estruturas de dados:
os modelos de dados.
• A descrição do banco de dados, segundo um modelo de dados é
chamada de meta dados.
BD
Meta
Dados
SGBD
Dados
11
Banco de Dados - Definição
É uma coleção de dados coerente e logicamente relacionados com
algum significado associado.
É projetado, construído e populado com dados que atendem a um
propósito e audiência específicos.
Representa algum aspecto do mundo real, chamado de minimundo.
12
SGBD
• Sistemas Gerenciadores de Banco de Dados são FERRAMENTAS para
proporcionar um ambiente integrado que possibilita o
ARMAZENAMENTO e RECUPERAÇÃO das informações de forma
eficiente e segura
• O SGBD é responsável em fazer o tratamento
13
ACID
• Um SGBD deve garantir a integridade das transações em um banco de
dados mantendo as seguintes propriedades (ACID):
• Atomicidade: Essa propriedade garante que todas as transações sejam
atômicas (indivisíveis), ou seja, que as transações sejam executadas em
sua totalidade. Se ocorrer algum erro, todas as operações que compõem
a transação serão descartadas.
• Consistência: A execução de uma transação deve levar o banco de dados
de um estado consistente para outro estado de consistência, ou seja,
toda transação deve respeitar as regras de integridade dos dados (tipo de
dado, chave primária etc).
14
ACID
• Isolamento: é um recurso do banco que tem como objetivo evitar que,
em um sistema multiusuário, transações em paralelo interfiram umas nas
outras.
• Durabilidade: significa que os efeitos de uma transação são permanentes,
podendo ser desfeitos somente como resultado de uma transação
posterior e bem-sucedida.
15
Por que utilizar um SGBD
Quando usar SGBD Quando não Usar SGBD
 Controle redundância
 Controle consistência e
integridade
 Acesso multiusuário
 Compartilhamento de dados
 Controle acesso e segurança
 Controle de recuperação e
restauração
 Consultas eficientes
 Dados e aplicações simples e
estáveis
 Requisitos de tempo-real não
puderem ser atendidos
16
Vantagens de utilizar o SGBD
• Potencial para obrigar a Padronização
• Flexibilidade
• Redução do Tempo de Desenvolvimento de Aplicações
• Disponibilidade de Informações Atualizadas
• Economia de Escala
17
Componentes do SGBD
• Interface
• Processamento
• Armazenamento Físico
18
Arquivos Dicionário de Dados
Índices Estatísticas
Gerenciador de Memória
Processador de Consultas
Aplicação
Consulta
em SQL
Consulta
em SQL
. . .
Armazenamento
Físico
Processamento
Interface
19
Arquitetura
 O objetivo da arquitetura de um SGBD, também chamada de arquitetura de
esquemas, é separar as aplicações do usuário do BD físico. É dividida em três níveis:
 Nível Interno.
 Nível Externo.
 Nível Conceitual.
 A arquitetura de três esquemas estrutura a construção de bancos de dados de forma a
garantir:
 Separação dos programas e dados
 Suporte a múltiplas visões
 Uso do catálogo para armazenar a estrutura do banco
 A ideia é construir modelos em diferentes níveis de abstração, partindo da visão do
usuário e chegando à visão da máquina
20
Arquitetura
• Nível externo
• Descreve a parte do banco de dados em que cada usuário tem interesse
• Logo, há várias visões externas possíveis
• Nível conceitual
• Possui um esquema conceitual, que descreve a estrutura de todo o banco de
dados em alto nível para a comunidade de usuários
• Nível interno
• Possui um esquema interno, que descreve a estrutura de armazenamento físico
dos dados
21
Visão 1 Visão 2 Visão N
...
Esquema conceitual
NÍVEL EXTERNO
NÍVEL CONCEITUAL
Esquema interno
NÍVEL INTERNO
Mapeamento
externo/conceitual
Mapeamento
conceitual / interno
22
Modelo Conceitual
• É uma representação com alto nível de abstração
• Modela de forma mais natural os fatos do mundo real, suas
propriedades e seus relacionamentos
• Independente do BD utilizado
• Preocupação com a semântica (significado) da aplicação
• No curso, veremos o modelo entidade-relacionamento
23
Modelo lógico
• Representa os dados em alguma estrutura (lógica) de armazenamento de
dados
• Também chamados de modelos de banco de dados
• Dependente do banco de dados
• No curso, veremos o modelo relacional, utilizado na grande maioria
dos SGBD’s modernos
• Apóiam:
• na especificação dos dados do modelo (DDL)
• dados, seus domínios e restrições
• na especificação de como manipular os dados (DML)
24
Modelo Físico
• Possuem foco na:
• Indexação e estrutura de arquivos
• Transações e controle de concorrência
• Otimização
• Recuperação em casos de falhas
• Mecanismos de proteção (segurança)
• Partição e agrupamento de dados
25
Independência dos dados
• É a habilidade de modificar a definição de um esquema em um nível sem
afetar a definição de esquema num nível mais alto, mudando apenas o
mapeamento entre os dois níveis.
• Existem dois níveis de independência de dados:
• Independência física
• Independência lógica.
26
Independência Lógica
• Consiste na capacidade de alterar o esquema conceitual sem ter que
alterar os esquemas externos e programas de aplicação.
• Exemplo: podemos alterar o esquema conceitual do BD adicionando um
campo em determinada tabela, assim as visões que não se referem a
esta tabela não serão afetadas.
• A independência lógica de dados é mais difícil de ser alcançada do que
a independência física, pois os programas são bastante dependentes da
estrutura lógica dos dados que eles acessam.
27
Atividades envolvidas na criação de um banco de dados
• O banco de dados não existe isoladamente (e nem é construído dessa
forma)
• Seu projeto e implementação normalmente fazem parte de um processo
mais amplo, que envolve a construção do software que será a interface
final dos usuários com o banco de dados
• Esse processo é denominado ciclo de vida de software, ou modelo de
processo de software
28
Atividades envolvidas na criação de um banco de dados
• O início do processo de desenvolvimento se dá com o levantamento e
compreensão das necessidades do usuário, de forma a traduzi-las em um
conjunto de requisitos de software
• Parte desses requisitos definem que dados devem ser armazenados e
quais os relacionamentos entre eles ➔ requisitos de dados
• Outra parte desses requisitos definem como esses dados serão
processados ou, em outras palavras, o que o software deverá fazer ➔
requisitos funcionais
29
Levantamento e
análise de requisitos
Projeto conceitual
Análise funcional
Projeto lógico
Projeto das funcionalidades
Projeto físico
MINIMUNDO
(domínio da
aplicação)
Requisitos funcionais Requisitos de dados
Esquema conceitual
Esquema lógico
Especificação das transações (alto nível)
BD
Implementação
Independen
te
do
SGBD
Dependente
do
SGBD
30
Projeto de um Banco de Dados
análise de
requisitos
projeto
conceitual
mapeamento
para modelo
projeto físico
conjunto de
necessidades
esquema
conceitual
esquema em
linguagem de
implementação
Modelo Entidade
Relacionamento
(MER)
Mapeamento
MER para o
Modelo
Modelo Relacional
dependente do SGBD
independente do SGBD
31
Usuários do BD
• Administrador do BD (Database Administrator – DBA)
• coordena e monitora o uso do BD (segurança, tempo de resposta ruim, etc)
• autoriza o acesso ao BD
• ajusta projeto físico quando necessário
• adquire software e hardware necessários
• Projetista do BD
• identificar os dados a serem armazenados no BD
escolher as estruturas apropriadas para representar e armazenar esses dados
• levantar necessidades dos usuários (requisitos)
32
Usuários do BD
• Programador de aplicações
• escreve os programas aplicativos
• realiza requisições ao SGBD
• Usuário Final
• manipula o BD através de
• linguagens de consulta
• programas previamente desenvolvidos
• tipos de usuários
• Leigos (operador de terminal) X sofisticados (estatísticos e engenheiros)
• Casuais (gerentes) X frequentes (caixas de bancos)
33
Formasdeinteraçãodo ProfissionalcomoSGBD
• Desenvolvedores/Programadores – usam as estruturas e os dados
armazenados para codificar os aplicativos de uma organização
• Projetistas – realizam a modelagem de dados dos aplicativos e mantém o
modelo de dados da organização atualizado
• Administradores de Dados – Controlam o SGBD de uma organização
• Fabricante de SGBD – codificam o “core engine do SGBD” e os utilitários
associados
34
Formasdeinteraçãodo ProfissionalcomoSGBD
• Desenvolvedores/Programadores – usam as estruturas e os dados
armazenados para codificar os aplicativos de uma organização
• Projetistas – realizam a modelagem de dados dos aplicativos e mantém
o modelo de dados da organização atualizado
• Administradores de Dados – Controlam o SGBD de uma organização
• Fabricante de SGBD – codificam o “core engine do SGBD” e os utilitários
associados

Mais conteúdo relacionado

Mais procurados

Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I  Aula 02 - Introdução aos Bancos de DadosBanco de Dados I  Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I Aula 02 - Introdução aos Bancos de DadosLeinylson Fontinele
 
Banco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - ApresentaçãoBanco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - ApresentaçãoLeinylson Fontinele
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosRafael Albani
 
Introdução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de DadosIntrodução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de Dadosinfo_cimol
 
Tutorial - Criando Banco com MySQL Workbench
Tutorial - Criando Banco com MySQL WorkbenchTutorial - Criando Banco com MySQL Workbench
Tutorial - Criando Banco com MySQL WorkbenchDaniel Brandão
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dadosvini_campos
 
Sistemas de Gestão de Bases de Dados
Sistemas de Gestão de Bases de DadosSistemas de Gestão de Bases de Dados
Sistemas de Gestão de Bases de DadosClara Ferreira
 
Database management systems cs403 power point slides lecture 03
Database management systems   cs403 power point slides lecture 03Database management systems   cs403 power point slides lecture 03
Database management systems cs403 power point slides lecture 03Md.Abu Sayed
 
Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)Gustavo Zimmermann
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoRademaker Siena
 
Modelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosModelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosjulianaveregue
 
Banco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoBanco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoRangel Javier
 

Mais procurados (20)

Aula 1
Aula 1Aula 1
Aula 1
 
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I  Aula 02 - Introdução aos Bancos de DadosBanco de Dados I  Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
 
Bancos de dados NoSQL: uma visão geral
Bancos de dados NoSQL: uma visão geralBancos de dados NoSQL: uma visão geral
Bancos de dados NoSQL: uma visão geral
 
Banco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - ApresentaçãoBanco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - Apresentação
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
Introdução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de DadosIntrodução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de Dados
 
Tutorial - Criando Banco com MySQL Workbench
Tutorial - Criando Banco com MySQL WorkbenchTutorial - Criando Banco com MySQL Workbench
Tutorial - Criando Banco com MySQL Workbench
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 
Introdução ao React
Introdução ao ReactIntrodução ao React
Introdução ao React
 
Sistemas de Gestão de Bases de Dados
Sistemas de Gestão de Bases de DadosSistemas de Gestão de Bases de Dados
Sistemas de Gestão de Bases de Dados
 
Banco de Dados - Conceitos Básicos
Banco de Dados - Conceitos BásicosBanco de Dados - Conceitos Básicos
Banco de Dados - Conceitos Básicos
 
Modelação de Dados
Modelação de DadosModelação de Dados
Modelação de Dados
 
Database management systems cs403 power point slides lecture 03
Database management systems   cs403 power point slides lecture 03Database management systems   cs403 power point slides lecture 03
Database management systems cs403 power point slides lecture 03
 
Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)
 
Modelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDSModelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDS
 
Base de Dados
Base de Dados Base de Dados
Base de Dados
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
Modelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosModelagem relacional e normalização de dados
Modelagem relacional e normalização de dados
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Banco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoBanco de Dados - MySQL Basico
Banco de Dados - MySQL Basico
 

Semelhante a Banco de Dados - Conceitos

Banco de dadosBanco de dadosBanco de dados
Banco de dadosBanco de dadosBanco de dadosBanco de dadosBanco de dadosBanco de dados
Banco de dadosBanco de dadosBanco de dadosDanielRibeiro136663
 
2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
2019-2 - BD I - Aula 01 C - Introdução a Banco de DadosRodrigo Kiyoshi Saito
 
AULA 01.pptx
AULA 01.pptxAULA 01.pptx
AULA 01.pptxEizoKato
 
Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1Carlos Melo
 
Sistema de Base de Dados1.ppt
Sistema de Base de Dados1.pptSistema de Base de Dados1.ppt
Sistema de Base de Dados1.ppthhuu6
 
Introdução à Banco de Dados
Introdução à Banco de DadosIntrodução à Banco de Dados
Introdução à Banco de DadosBruno Siqueira
 
Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Januário Neto
 
Visão geral sobre Bancos de Dados Univesp
Visão geral sobre Bancos de Dados UnivespVisão geral sobre Bancos de Dados Univesp
Visão geral sobre Bancos de Dados Univespinominavell
 
1 - BD - Introdução.pdf
1 - BD - Introdução.pdf1 - BD - Introdução.pdf
1 - BD - Introdução.pdfEgnaldo Paulino
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoLuis Ferreira
 
BANCO DE DADOS RELACIONAIS
BANCO DE DADOS RELACIONAIS BANCO DE DADOS RELACIONAIS
BANCO DE DADOS RELACIONAIS Antonio Pedro
 

Semelhante a Banco de Dados - Conceitos (20)

BDI_1_conceitos
BDI_1_conceitosBDI_1_conceitos
BDI_1_conceitos
 
Sistemas de Informação - Aula05 - cap5 bd e business intelligence
Sistemas de Informação - Aula05 - cap5 bd e business intelligenceSistemas de Informação - Aula05 - cap5 bd e business intelligence
Sistemas de Informação - Aula05 - cap5 bd e business intelligence
 
Banco de dadosBanco de dadosBanco de dados
Banco de dadosBanco de dadosBanco de dadosBanco de dadosBanco de dadosBanco de dados
Banco de dadosBanco de dadosBanco de dados
 
TA1 - Slides Acessibilidade.pdf
TA1 - Slides Acessibilidade.pdfTA1 - Slides Acessibilidade.pdf
TA1 - Slides Acessibilidade.pdf
 
2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
 
AULA 01.pptx
AULA 01.pptxAULA 01.pptx
AULA 01.pptx
 
Fit Bd 01
Fit Bd 01Fit Bd 01
Fit Bd 01
 
Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1
 
Sistema de Base de Dados1.ppt
Sistema de Base de Dados1.pptSistema de Base de Dados1.ppt
Sistema de Base de Dados1.ppt
 
Introdução à Banco de Dados
Introdução à Banco de DadosIntrodução à Banco de Dados
Introdução à Banco de Dados
 
Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1
 
Visão geral sobre Bancos de Dados Univesp
Visão geral sobre Bancos de Dados UnivespVisão geral sobre Bancos de Dados Univesp
Visão geral sobre Bancos de Dados Univesp
 
Ara7129 unidade-1-v1
Ara7129 unidade-1-v1Ara7129 unidade-1-v1
Ara7129 unidade-1-v1
 
Elmasri_cap1.pptx
Elmasri_cap1.pptxElmasri_cap1.pptx
Elmasri_cap1.pptx
 
Banco dedados aula001
Banco dedados aula001Banco dedados aula001
Banco dedados aula001
 
1 - BD - Introdução.pdf
1 - BD - Introdução.pdf1 - BD - Introdução.pdf
1 - BD - Introdução.pdf
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informação
 
BANCO DE DADOS RELACIONAIS
BANCO DE DADOS RELACIONAIS BANCO DE DADOS RELACIONAIS
BANCO DE DADOS RELACIONAIS
 
Banco de dados parte 01
Banco de dados parte 01Banco de dados parte 01
Banco de dados parte 01
 
Banco aula 01
Banco aula 01Banco aula 01
Banco aula 01
 

Banco de Dados - Conceitos

  • 1. Bacharelado em Sistemas de Informação Banco de Dados I IvonePenque Matsuno Yugoshi ivone.matsuno@ufms.br Conceitos Básicos
  • 2. 2 Motivação • Necessidade de: • armazenar grandes quantidades de dados • acessar informações de maneira eficiente e segura • O que é um Banco de Dados (BD)? • Dados são fatos que podem ser gravados e que possuem um significado implícito. Por exemplo: • Nomes, telefones e endereços de pessoas conhecidas • Um BD é uma coleção de dados relacionados • Uso do termo banco de dados é em geral mais restrito, conforme será visto neste curso
  • 3. 3 Motivação • Operações bancárias • Compras por intermédio da Web • Dados sobre produtos/compras em supermercados • Dados multimídia • Informações geográficas • Recuperação de informações na www • Mineração de dados • Etc
  • 4. 4 Histórico e Evolução dos BD • No início da computação, programas tinham o único objetivo de armazenar e manipular dados. • Esses programas gravavam seus dados em disco, segundo estruturas próprias. • Programas que não conhecessem a estrutura dos dados não podiam utilizar os dados. Estrutura dos dados Arquivo
  • 5. 5 Histórico e Evolução dos BD • Se vários programas precisassem compartilhar os dados de um mesmo arquivo, todos os programas teriam que conhecer e manipular as mesmas estruturas. Estrutura dos dados Arquivo Estrutura dos dados
  • 6. 6 Histórico e Evolução dos BD • Se algum programa precisasse realizar alguma mudança na estrutura de dados, • Todos os programas que acessam esse mesmo arquivo tinham que ser alterados, mesmo que a alteração ocorresse em dados não manipulados pelos programas. • Isso gerava um grande problema: • Garantir a unicidade das estruturas de dados entre os diversos programas devido à existência de redundâncias.
  • 7. 7 Histórico e Evolução dos BD • Para evitar esse problema, colocou-se um sistema intermediário: • Que conhece a estrutura de dados do arquivo. • Fornece apenas dados que cada programa precisa. • Armazena adequadamente os dados de cada programa. Arquivo
  • 8. 8 Histórico e Evolução dos BD • Agora, com esse sistema intermediário: • Os programas "verão" apenas os dados que lhes interessam. • Os programas não precisam conhecer os detalhes de como seus dados estão gravados fisicamente. • Os programas não precisarão ser modificados se a estrutura de dados que utilizam não for modificada. • As alterações ficam concentradas nesse sistema intermediário.
  • 9. 9 Histórico e Evolução dos BD • Com o tempo, esse sistema intermediário passou a gerenciar vários arquivos. • A essa coleção de arquivos foi dado o nome de Banco de Dados e o sistema intermediário recebeu o nome de Sistema Gerenciador de Banco de Dados (SGBD). Arquivo Arquivo Arquivo S G B D
  • 10. 10 Histórico e Evolução dos BD • Com o tempo, surgiram padrões para descrever as estruturas de dados: os modelos de dados. • A descrição do banco de dados, segundo um modelo de dados é chamada de meta dados. BD Meta Dados SGBD Dados
  • 11. 11 Banco de Dados - Definição É uma coleção de dados coerente e logicamente relacionados com algum significado associado. É projetado, construído e populado com dados que atendem a um propósito e audiência específicos. Representa algum aspecto do mundo real, chamado de minimundo.
  • 12. 12 SGBD • Sistemas Gerenciadores de Banco de Dados são FERRAMENTAS para proporcionar um ambiente integrado que possibilita o ARMAZENAMENTO e RECUPERAÇÃO das informações de forma eficiente e segura • O SGBD é responsável em fazer o tratamento
  • 13. 13 ACID • Um SGBD deve garantir a integridade das transações em um banco de dados mantendo as seguintes propriedades (ACID): • Atomicidade: Essa propriedade garante que todas as transações sejam atômicas (indivisíveis), ou seja, que as transações sejam executadas em sua totalidade. Se ocorrer algum erro, todas as operações que compõem a transação serão descartadas. • Consistência: A execução de uma transação deve levar o banco de dados de um estado consistente para outro estado de consistência, ou seja, toda transação deve respeitar as regras de integridade dos dados (tipo de dado, chave primária etc).
  • 14. 14 ACID • Isolamento: é um recurso do banco que tem como objetivo evitar que, em um sistema multiusuário, transações em paralelo interfiram umas nas outras. • Durabilidade: significa que os efeitos de uma transação são permanentes, podendo ser desfeitos somente como resultado de uma transação posterior e bem-sucedida.
  • 15. 15 Por que utilizar um SGBD Quando usar SGBD Quando não Usar SGBD  Controle redundância  Controle consistência e integridade  Acesso multiusuário  Compartilhamento de dados  Controle acesso e segurança  Controle de recuperação e restauração  Consultas eficientes  Dados e aplicações simples e estáveis  Requisitos de tempo-real não puderem ser atendidos
  • 16. 16 Vantagens de utilizar o SGBD • Potencial para obrigar a Padronização • Flexibilidade • Redução do Tempo de Desenvolvimento de Aplicações • Disponibilidade de Informações Atualizadas • Economia de Escala
  • 17. 17 Componentes do SGBD • Interface • Processamento • Armazenamento Físico
  • 18. 18 Arquivos Dicionário de Dados Índices Estatísticas Gerenciador de Memória Processador de Consultas Aplicação Consulta em SQL Consulta em SQL . . . Armazenamento Físico Processamento Interface
  • 19. 19 Arquitetura  O objetivo da arquitetura de um SGBD, também chamada de arquitetura de esquemas, é separar as aplicações do usuário do BD físico. É dividida em três níveis:  Nível Interno.  Nível Externo.  Nível Conceitual.  A arquitetura de três esquemas estrutura a construção de bancos de dados de forma a garantir:  Separação dos programas e dados  Suporte a múltiplas visões  Uso do catálogo para armazenar a estrutura do banco  A ideia é construir modelos em diferentes níveis de abstração, partindo da visão do usuário e chegando à visão da máquina
  • 20. 20 Arquitetura • Nível externo • Descreve a parte do banco de dados em que cada usuário tem interesse • Logo, há várias visões externas possíveis • Nível conceitual • Possui um esquema conceitual, que descreve a estrutura de todo o banco de dados em alto nível para a comunidade de usuários • Nível interno • Possui um esquema interno, que descreve a estrutura de armazenamento físico dos dados
  • 21. 21 Visão 1 Visão 2 Visão N ... Esquema conceitual NÍVEL EXTERNO NÍVEL CONCEITUAL Esquema interno NÍVEL INTERNO Mapeamento externo/conceitual Mapeamento conceitual / interno
  • 22. 22 Modelo Conceitual • É uma representação com alto nível de abstração • Modela de forma mais natural os fatos do mundo real, suas propriedades e seus relacionamentos • Independente do BD utilizado • Preocupação com a semântica (significado) da aplicação • No curso, veremos o modelo entidade-relacionamento
  • 23. 23 Modelo lógico • Representa os dados em alguma estrutura (lógica) de armazenamento de dados • Também chamados de modelos de banco de dados • Dependente do banco de dados • No curso, veremos o modelo relacional, utilizado na grande maioria dos SGBD’s modernos • Apóiam: • na especificação dos dados do modelo (DDL) • dados, seus domínios e restrições • na especificação de como manipular os dados (DML)
  • 24. 24 Modelo Físico • Possuem foco na: • Indexação e estrutura de arquivos • Transações e controle de concorrência • Otimização • Recuperação em casos de falhas • Mecanismos de proteção (segurança) • Partição e agrupamento de dados
  • 25. 25 Independência dos dados • É a habilidade de modificar a definição de um esquema em um nível sem afetar a definição de esquema num nível mais alto, mudando apenas o mapeamento entre os dois níveis. • Existem dois níveis de independência de dados: • Independência física • Independência lógica.
  • 26. 26 Independência Lógica • Consiste na capacidade de alterar o esquema conceitual sem ter que alterar os esquemas externos e programas de aplicação. • Exemplo: podemos alterar o esquema conceitual do BD adicionando um campo em determinada tabela, assim as visões que não se referem a esta tabela não serão afetadas. • A independência lógica de dados é mais difícil de ser alcançada do que a independência física, pois os programas são bastante dependentes da estrutura lógica dos dados que eles acessam.
  • 27. 27 Atividades envolvidas na criação de um banco de dados • O banco de dados não existe isoladamente (e nem é construído dessa forma) • Seu projeto e implementação normalmente fazem parte de um processo mais amplo, que envolve a construção do software que será a interface final dos usuários com o banco de dados • Esse processo é denominado ciclo de vida de software, ou modelo de processo de software
  • 28. 28 Atividades envolvidas na criação de um banco de dados • O início do processo de desenvolvimento se dá com o levantamento e compreensão das necessidades do usuário, de forma a traduzi-las em um conjunto de requisitos de software • Parte desses requisitos definem que dados devem ser armazenados e quais os relacionamentos entre eles ➔ requisitos de dados • Outra parte desses requisitos definem como esses dados serão processados ou, em outras palavras, o que o software deverá fazer ➔ requisitos funcionais
  • 29. 29 Levantamento e análise de requisitos Projeto conceitual Análise funcional Projeto lógico Projeto das funcionalidades Projeto físico MINIMUNDO (domínio da aplicação) Requisitos funcionais Requisitos de dados Esquema conceitual Esquema lógico Especificação das transações (alto nível) BD Implementação Independen te do SGBD Dependente do SGBD
  • 30. 30 Projeto de um Banco de Dados análise de requisitos projeto conceitual mapeamento para modelo projeto físico conjunto de necessidades esquema conceitual esquema em linguagem de implementação Modelo Entidade Relacionamento (MER) Mapeamento MER para o Modelo Modelo Relacional dependente do SGBD independente do SGBD
  • 31. 31 Usuários do BD • Administrador do BD (Database Administrator – DBA) • coordena e monitora o uso do BD (segurança, tempo de resposta ruim, etc) • autoriza o acesso ao BD • ajusta projeto físico quando necessário • adquire software e hardware necessários • Projetista do BD • identificar os dados a serem armazenados no BD escolher as estruturas apropriadas para representar e armazenar esses dados • levantar necessidades dos usuários (requisitos)
  • 32. 32 Usuários do BD • Programador de aplicações • escreve os programas aplicativos • realiza requisições ao SGBD • Usuário Final • manipula o BD através de • linguagens de consulta • programas previamente desenvolvidos • tipos de usuários • Leigos (operador de terminal) X sofisticados (estatísticos e engenheiros) • Casuais (gerentes) X frequentes (caixas de bancos)
  • 33. 33 Formasdeinteraçãodo ProfissionalcomoSGBD • Desenvolvedores/Programadores – usam as estruturas e os dados armazenados para codificar os aplicativos de uma organização • Projetistas – realizam a modelagem de dados dos aplicativos e mantém o modelo de dados da organização atualizado • Administradores de Dados – Controlam o SGBD de uma organização • Fabricante de SGBD – codificam o “core engine do SGBD” e os utilitários associados
  • 34. 34 Formasdeinteraçãodo ProfissionalcomoSGBD • Desenvolvedores/Programadores – usam as estruturas e os dados armazenados para codificar os aplicativos de uma organização • Projetistas – realizam a modelagem de dados dos aplicativos e mantém o modelo de dados da organização atualizado • Administradores de Dados – Controlam o SGBD de uma organização • Fabricante de SGBD – codificam o “core engine do SGBD” e os utilitários associados