1
Banco de Dados I
Prof. Paulo Pires
UFRJ– IM– DCC
Site da disciplina
• Ubicomp.nce.ufrj.br/Atutor
– Criar conta e esperar a autorização
2
Informações sobre a disciplina (1)
• Monitor: Wesley Serrano
Informações sobre a disciplina (2)
• Avaliação
– A avaliação constará de duas provas (P1 e P2), um trabalho (T),e um seminário (S). A média final
(MF) será calculada da seguinte forma:
– MP = (P1 + P2)/2;
– Se MP > 5 Então Média = (7*MP+2*TRAB+1*SEM)/10
– Senão Média = (8,5*MP+1*TRAB+0,5*SEM)/10
– Se Média >= 7,0 Então “Situação Aprovado”
– Senão Média = (PF + Média) / 2
– Se Média > = 5 Então Aprovado
– Senão Reprovado
• Livros
– ELMASRI, Ramez; NAVATHE, Shamkant B. Sistemas de banco de dados. São Paulo (SP):
Pearson Addison Wesley, 2011 (6 ed ou 5 ed ou 4 ed)
– SILBERSCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN, S. . Sistema de banco de dados/
Abraham Silberschatz,m Henry F. Korth, S. Sudarshan.. Rio de Janeiro:Elsevier, 2006. 781p
(5. ed ou 4 ed ou 3 ed ou 2 ed).
3
Primeira Aula
Sumário
• Introdução
• Conceitos básicos
– Banco de dados
– Sistemas de Gerenciamento de Banco de Dados
4
Introdução
• O armazenamento de dados pode ser feito através
de arquivos manipulados diretamente pelas
aplicações.
• Problemas com essa abordagem?
Porque Usar BDs
• Considere sistemas de uma grande organização (sem BDs)
– Exemplo: domínio da Universidade
• várias divisões gerenciais (com suas aplicações)
• grande volume de dados
• aplicações manipulam dados comuns
• Cada aplicação descreve os seus dados
• nomes e formatos próprios
• dados são particulares de cada aplicação (isolamento)
• Gerenciamento local
• procedimentos de manipulação de dados
• implementados pela própria aplicação
• implementados por softwares de gerenciamento de arquivos
5
Problemas com esse contexto
• Redundância não-controlada
• Difícil manutenção
– Inclusão professor; Alteração disciplina
• Falta de padronização
– Dificulta integração e reutilização de programas
• Formas restritas de acesso
– Novas operações de manipulação de dados
• Exigem mudança no código da aplicação
• Problemas de segurança
– Controle de acesso sobre dados x operações
• Problemas de acesso ao Dado
– Acesso concorrente?
Utilização de BDs
• Evita (ou minimiza) estes problemas!
• • Um BD é definido em mais detalhes como:
“Uma coleção de dados operacionais
inter-relacionados e persistentes. Estes dados são
gerenciados de forma independente dos
programas que os utilizam, servindo assim a
múltiplas aplicações de uma Organização.
6
BD para sistemas de uma Universidade
Vantagens do uso de BDs
• Dados armazenados em um único local
– evitam-se redefinições; minimiza-se redundância
• Dados compartilhados pelas aplicações
– facilita integração de aplicações; evita redefinição de
dados
• Dados mais independentes das aplicações
– novas operações de manipulação de dados não
requerem modificação “pesada” no código da aplicação
– aplicações não se preocupam mais com o
gerenciamento dos dados
• Maior flexibilidade e otimização de acesso
– linguagens específicas de BDs
7
Quando não usar BDs
• Quando a aplicação é simples
– lida com poucos dados operacionais
• podem ser mantidos em um ou poucos arquivos
• Quando a aplicação faz processamento pesado
mas não requer gerenciamento de dados
operacionais
– exemplo: algumas aplicações científicas
• Quando o custo para instalação e administração de
um SGBD é muito alto
– equipamento, pessoal, treinamento, ...
BD x SGBD
• Banco de Dados (BDs)
– coleção de dados inter-relacionados e persistentes que
representa um subconjunto dos fatos presentes em um
domínio de aplicação (universo de discurso).
• Exemplos: acervo de uma biblioteca, contabilidade de uma empresa.
• Sistema de Gerenciamento de Banco de Dados
(SGBD)
– Sistema cujo objetivo principal é gerenciar o acesso e a
correta manutenção dos dados armazenados em um
banco de dados.
• Exemplos: Oracle, SQL Server, Postgres, MySQL, etc.
BD
SGBD
Programas
Operações
dados e/ou msgs
8
Funções Básicas de um SGBD (1)
• Métodos de acesso
– Duas Linguagens:
• DDL (Data Definition Language)
– especificação do esquema do BD (dados e seus tipos
de dados, índices, ...)
– A compilação dos comandos em DDL (metadados) é
armazenada no dicionário de dados.
• DML (Data Manipulation Language)
– manipulação de dados (I, A, E, C)
– Processamento eficaz de consultas
• considerar relacionamentos, predicados de seleção,
volume de dados, índices, ...
Processamento de Consultas
• Buscar professores que lecionam em turmas
lotadas em salas do quarto andar
9
Processamento de Consultas
Funções Básicas de um SGBD (2)
• Integridade semântica
– garantia de dados sempre corretos com relação ao
domínio de aplicação
– exemplos
• estados válidos para os dados (sexo (‘M’;’F’); salário (Double
Positivo))
• relacionamentos válidos entre os dados
– (turma N:1 disciplina; apenas professores doutores lecionam em
turmas de disciplinas de pós-graduação)
– especificação de RIs
• testes, ações
• parte integrante da DDL
– também chamada de DCL
10
Funções Básicas de um SGBD (3)
• Segurança
– evitar violação de consistência dos dados
– segurança de acesso (usuários e aplicações)
• matrizes de autorização
• visões
– segurança contra falhas
• categorias de falhas
– transação, sistema e meio de armazenamento
• monitoramento de transações
– Transação
» conjunto de operações a serem realizadas no BD
» princípio do “tudo ou nada”
– manutenção de histórico de atualizações (logs) e
backups do BD
Histórico de atualizações:
Exemplo
11
Funções Básicas de um SGBD (4)
• Concorrência
– evitar conflitos de acesso simultâneo a dados por
transações
– principais técnicas
• bloqueio (lock) e timestamp
• Independência
– transparência da organização dos dados
– níveis de independência
• Independência física
– transparência de organização (esquema) física dos dados
– exemplos: organização dos arquivos, distribuição, agrupamento
• Independência lógica
– transparência do esquema lógico do BD
– exemplo: visões (vários esquemas externos)
Abstração de Dados
• Níveis de independência (níveis de abstração)
– definem uma arquitetura de três níveis de esquemas
12
Visão Esquemática de um SGBD
Meios de Armazenamento
• Arquivos de dados operacionais
• Arquivos de índices
Catálogo do SGBD (metadados):
• especificação do esquema
• restrições de integridade
• autorizações de acesso
• visões
• localização de arquivos no BD
• configurações e estimativas • Cópias do BD
• Histórico de transações
13
Usuários do SGBD: DBA
Usuários do SGBD: DBA
14
Usuários do SGBD: DBA
Usuários do SGBD: DBA
15
Usuários do SGBD: Aplicação
Usuários do SGBD: Aplicação
16
Usuários do SGBD: Usuário ad hoc
Usuários do SGBD: Usuário ad hoc
17
Usuários do SGBD: Programador
Usuários do SGBD: Programador

Introdução a SGBDs

  • 1.
    1 Banco de DadosI Prof. Paulo Pires UFRJ– IM– DCC Site da disciplina • Ubicomp.nce.ufrj.br/Atutor – Criar conta e esperar a autorização
  • 2.
    2 Informações sobre adisciplina (1) • Monitor: Wesley Serrano Informações sobre a disciplina (2) • Avaliação – A avaliação constará de duas provas (P1 e P2), um trabalho (T),e um seminário (S). A média final (MF) será calculada da seguinte forma: – MP = (P1 + P2)/2; – Se MP > 5 Então Média = (7*MP+2*TRAB+1*SEM)/10 – Senão Média = (8,5*MP+1*TRAB+0,5*SEM)/10 – Se Média >= 7,0 Então “Situação Aprovado” – Senão Média = (PF + Média) / 2 – Se Média > = 5 Então Aprovado – Senão Reprovado • Livros – ELMASRI, Ramez; NAVATHE, Shamkant B. Sistemas de banco de dados. São Paulo (SP): Pearson Addison Wesley, 2011 (6 ed ou 5 ed ou 4 ed) – SILBERSCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN, S. . Sistema de banco de dados/ Abraham Silberschatz,m Henry F. Korth, S. Sudarshan.. Rio de Janeiro:Elsevier, 2006. 781p (5. ed ou 4 ed ou 3 ed ou 2 ed).
  • 3.
    3 Primeira Aula Sumário • Introdução •Conceitos básicos – Banco de dados – Sistemas de Gerenciamento de Banco de Dados
  • 4.
    4 Introdução • O armazenamentode dados pode ser feito através de arquivos manipulados diretamente pelas aplicações. • Problemas com essa abordagem? Porque Usar BDs • Considere sistemas de uma grande organização (sem BDs) – Exemplo: domínio da Universidade • várias divisões gerenciais (com suas aplicações) • grande volume de dados • aplicações manipulam dados comuns • Cada aplicação descreve os seus dados • nomes e formatos próprios • dados são particulares de cada aplicação (isolamento) • Gerenciamento local • procedimentos de manipulação de dados • implementados pela própria aplicação • implementados por softwares de gerenciamento de arquivos
  • 5.
    5 Problemas com essecontexto • Redundância não-controlada • Difícil manutenção – Inclusão professor; Alteração disciplina • Falta de padronização – Dificulta integração e reutilização de programas • Formas restritas de acesso – Novas operações de manipulação de dados • Exigem mudança no código da aplicação • Problemas de segurança – Controle de acesso sobre dados x operações • Problemas de acesso ao Dado – Acesso concorrente? Utilização de BDs • Evita (ou minimiza) estes problemas! • • Um BD é definido em mais detalhes como: “Uma coleção de dados operacionais inter-relacionados e persistentes. Estes dados são gerenciados de forma independente dos programas que os utilizam, servindo assim a múltiplas aplicações de uma Organização.
  • 6.
    6 BD para sistemasde uma Universidade Vantagens do uso de BDs • Dados armazenados em um único local – evitam-se redefinições; minimiza-se redundância • Dados compartilhados pelas aplicações – facilita integração de aplicações; evita redefinição de dados • Dados mais independentes das aplicações – novas operações de manipulação de dados não requerem modificação “pesada” no código da aplicação – aplicações não se preocupam mais com o gerenciamento dos dados • Maior flexibilidade e otimização de acesso – linguagens específicas de BDs
  • 7.
    7 Quando não usarBDs • Quando a aplicação é simples – lida com poucos dados operacionais • podem ser mantidos em um ou poucos arquivos • Quando a aplicação faz processamento pesado mas não requer gerenciamento de dados operacionais – exemplo: algumas aplicações científicas • Quando o custo para instalação e administração de um SGBD é muito alto – equipamento, pessoal, treinamento, ... BD x SGBD • Banco de Dados (BDs) – coleção de dados inter-relacionados e persistentes que representa um subconjunto dos fatos presentes em um domínio de aplicação (universo de discurso). • Exemplos: acervo de uma biblioteca, contabilidade de uma empresa. • Sistema de Gerenciamento de Banco de Dados (SGBD) – Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco de dados. • Exemplos: Oracle, SQL Server, Postgres, MySQL, etc. BD SGBD Programas Operações dados e/ou msgs
  • 8.
    8 Funções Básicas deum SGBD (1) • Métodos de acesso – Duas Linguagens: • DDL (Data Definition Language) – especificação do esquema do BD (dados e seus tipos de dados, índices, ...) – A compilação dos comandos em DDL (metadados) é armazenada no dicionário de dados. • DML (Data Manipulation Language) – manipulação de dados (I, A, E, C) – Processamento eficaz de consultas • considerar relacionamentos, predicados de seleção, volume de dados, índices, ... Processamento de Consultas • Buscar professores que lecionam em turmas lotadas em salas do quarto andar
  • 9.
    9 Processamento de Consultas FunçõesBásicas de um SGBD (2) • Integridade semântica – garantia de dados sempre corretos com relação ao domínio de aplicação – exemplos • estados válidos para os dados (sexo (‘M’;’F’); salário (Double Positivo)) • relacionamentos válidos entre os dados – (turma N:1 disciplina; apenas professores doutores lecionam em turmas de disciplinas de pós-graduação) – especificação de RIs • testes, ações • parte integrante da DDL – também chamada de DCL
  • 10.
    10 Funções Básicas deum SGBD (3) • Segurança – evitar violação de consistência dos dados – segurança de acesso (usuários e aplicações) • matrizes de autorização • visões – segurança contra falhas • categorias de falhas – transação, sistema e meio de armazenamento • monitoramento de transações – Transação » conjunto de operações a serem realizadas no BD » princípio do “tudo ou nada” – manutenção de histórico de atualizações (logs) e backups do BD Histórico de atualizações: Exemplo
  • 11.
    11 Funções Básicas deum SGBD (4) • Concorrência – evitar conflitos de acesso simultâneo a dados por transações – principais técnicas • bloqueio (lock) e timestamp • Independência – transparência da organização dos dados – níveis de independência • Independência física – transparência de organização (esquema) física dos dados – exemplos: organização dos arquivos, distribuição, agrupamento • Independência lógica – transparência do esquema lógico do BD – exemplo: visões (vários esquemas externos) Abstração de Dados • Níveis de independência (níveis de abstração) – definem uma arquitetura de três níveis de esquemas
  • 12.
    12 Visão Esquemática deum SGBD Meios de Armazenamento • Arquivos de dados operacionais • Arquivos de índices Catálogo do SGBD (metadados): • especificação do esquema • restrições de integridade • autorizações de acesso • visões • localização de arquivos no BD • configurações e estimativas • Cópias do BD • Histórico de transações
  • 13.
    13 Usuários do SGBD:DBA Usuários do SGBD: DBA
  • 14.
    14 Usuários do SGBD:DBA Usuários do SGBD: DBA
  • 15.
    15 Usuários do SGBD:Aplicação Usuários do SGBD: Aplicação
  • 16.
    16 Usuários do SGBD:Usuário ad hoc Usuários do SGBD: Usuário ad hoc
  • 17.
    17 Usuários do SGBD:Programador Usuários do SGBD: Programador