Você está na página 1de 19

Introdução a Banco de Dados

- DCC011 -

Alberto H. F. Laender

2012
Introdução a Banco de Dados – DCC011

Programa
 Introdução
 Conceitos básicos, características da abordagem de bancos de
dados, modelos de dados, esquemas e instâncias, arquitetura
de um sistema de banco de dados, componentes de um sistema
de gerência de bancos de dados.
 Modelos de dados e linguagens
 Modelo entidade-relacionamento (ER), modelo relacional, álgebra
relacional, SQL.
 Projeto de bancos de dados
 Fases do projeto de bancos de dados, projeto lógico de bancos
de dados relacionais, normalização.
 Aspectos operacionais de SGBDs
 Processamento de consultas, noções de processamento de
transações.

Introdução a Banco de Dados – DCC011

1
Bibliografia Básica
 Elmasri, R. & Navathe, S.B. Sistemas de Banco de Dados,
4ª Ed., Pearson/Addison Wesley, 2005.
 Elmasri, R. & Navathe, S.B. Fundamentals of Database Systems,
4th Ed., Addison Wesley, 2004.
 Podem ser usadas também as edições mais recentes, observando-
se as alterações na ordem dos capítulos e nas figuras que ilustram
os exemplos.
 Garcia-Molina, H.; Ullman, J.D.; Widom, J. Database
Systems: The Complete Book, 2nd Ed. Prentice-Hall, 2009.
 Ramakrishnan, R.; Gehrke, J. Database Management
Systems, 3rd Ed. McGraw-Hill, 2003.
 Silberchatz, A.; Korth, H.F.; Sudarshan, S. Database
Systems Concepts, 6th Ed. McGraw-Hill, 2010.

Introdução a Banco de Dados – DCC011

Introdução

Introdução a Banco de Dados – DCC011

2
Sumário
 Conceitos Básicos
 Banco de Dados
 Sistema de Gerência de Banco de dados
 Sistema de Banco de Dados
 Características da Abordagem de BD
 Usuários em um Ambiente de BD
 Vantagens e Implicações da Abordagem de BD
 Modelos de Dados, Esquemas e Instâncias
 Categorias de Modelos de Dados
 Arquitetura de um Sistema de BD
 Independência de dados
 Linguagens e Interfaces
 Componentes de um SGBD
 Classificação dos SGBDs

Introdução a Banco de Dados – DCC011

O que é um banco de dados?

Introdução a Banco de Dados – DCC011

3
Definições Preliminares
 [Chu, 1985]
 Um banco de dados é um conjunto de arquivos
relacionados entre si.
 [Date, 1975]
 Um banco de dados é uma coleção de dados
operacionais armazenados que são usados
pelas aplicações de uma determinada
organização.

Introdução a Banco de Dados – DCC011

Outra Definição de Banco de Dados


 [Elmasri & Navathe, 1989]
 Um banco de dados é uma coleção de dados
relacionados, possuindo as seguintes
propriedades implícitas:
1. Representa algum aspecto do mundo real (mini-
mundo ou universo de discurso);
2. É uma coleção de dados logicamente coerentes e
que possuem algum significado inerente;
3. É projetado, construído e instanciado (“povoado”)
para uma aplicação específica.

Introdução a Banco de Dados – DCC011

4
Sistema de Gerência de Banco de
Dados

 Um sistema de gerência de banco de dados


(SGBD) é um conjunto de programas que
permite criar e manter bancos de dados
 BD + SGBD = Sistema de Banco de Dados

Introdução a Banco de Dados – DCC011

Usuários/Programadores

Consultas/Programas

SGBD

Catálogo Banco
de
(Meta-Dados) Dados

Sistema de Banco de Dados


Introdução a Banco de Dados – DCC011

5
Exemplo de um Banco de Dados
 Mini-mundo: parte de uma universidade
 Algumas entidades:
 Alunos
 Disciplinas
 Departamentos
 Alguns relacionamentos:
 Disciplinas são oferecidas por Departamentos
 Alunos estão matriculados em Disciplinas

Introdução a Banco de Dados – DCC011

Exemplo de um Banco de Dados

Introdução a Banco de Dados – DCC011

6
Exemplo de um Banco de Dados

Introdução a Banco de Dados – DCC011

Exemplo de um Banco de Dados

Introdução a Banco de Dados – DCC011

7
Exemplo de uma Consulta SQL
Liste o nome dos alunos que fizeram a disciplina “Data Structures” no
Spring Semester de 1999, com o respectivo conceito obtido.

select Name, Grade


from STUDENT ST, COURSE CO,
SECTION SE, GRADE_REPORT GR
where CourseName=“Data Stuctures”
and Semester=“Spring”
and Year=“99”
and GR.StudentNumber=ST.StudentNumber
and GR.SectionIndentifier=SE.SectionIdentifier
and SE.CourseNumber=CO.CourseNumber

Introdução a Banco de Dados – DCC011

Características da Abordagem de BD
 Natureza auto-descritiva de um sistema de
banco de dados
 Isolamento entre programas e dados:
abstração de dados
 Suporte a múltiplas visões dos dados
 Compartilhamento de dados e processa-
mento de transações concorrentes

Introdução a Banco de Dados – DCC011

8
Usuários em um Ambiente de BD
 Administradores de banco de dados
 Projetistas de banco de dados
 Analistas de sistema e programadores
 Usuários finais:
 Usuários casuais (casual users)
 Usuários iniciantes/leigos (naive users)
 Usuários sofisticados (sophisticated users)
 Usuários autônomos (stand-alone users)
Introdução a Banco de Dados – DCC011

Vantagens da Utilização de um SGBD


 Controle de redundância dos dados
 Restrição de acesso não autorizado (segurança)
 Armazenamento persistente dos dados
 Processamento eficiente de consultas
 Manutenção de backup e recuperação de falhas
 Provimento de múltiplas interfaces para os usuários
 Representação de relacionamentos complexos
 Manutenção de restrições de integridade
 Uso de regras de inferência para dados e procedimentos
Introdução a Banco de Dados – DCC011

9
Implicações da Abordagem de BD
 Adoção/imposição de padrões
 Redução do tempo de desenvolvimento das
aplicações
 Flexibilidade
 Disponibilidade de informação atualizada
 Economia de escala

Introdução a Banco de Dados – DCC011

Quando não Utilizar um SGBD


 Aplicações simples, bem definidas e sem previsão
de mudanças
 Aplicações em que há requisitos de tempo-real
 Aplicações que não necessitam de acesso multi-
usuário
 Motivos:
 Investimento inicial alto
 Generalidade na definição e manipulação dos dados
 Custo adicional para prover outras facilidades
funcionais (manutenção de segurança, controle de
concorrência, recuperação de falhas, etc.)
Introdução a Banco de Dados – DCC011

10
Modelo de Dados, Esquema e Instância
 Modelo de dados:
Conjunto de conceitos usados para descrever a
estrutura de um banco de dados.
 Esquema:
Descrição (textual ou gráfica) da estrutura de um
banco de dados de acordo com um determinado
modelo de dados.
 Instância:
Conjunto de dados armazenados em um banco de
dados em um determinado instante de tempo.

Introdução a Banco de Dados – DCC011

Modelo de Dados, Esquema e Instância

Esquema do banco de dados de exemplo


Introdução a Banco de Dados – DCC011

11
Modelo de Dados, Esquema e Instância

Instância do banco de dados de exemplo

Introdução a Banco de Dados – DCC011

Relação entre Modelo de Dados,


Esquema e Instância

Modelo de
Esquema Instância
Dados Regras para Regras para
estruturação dos verificação das
dados instâncias

Introdução a Banco de Dados – DCC011

12
Categorias de Modelos de Dados
 Modelos conceituais
 Descrevem a estrutura de um banco de dados de acordo com a
percepção dos usuários  independentes de aspectos de
implementação (ex.: modelo ER, modelo funcional)
 Modelos representacionais (lógicos)
 Descrevem a estrutura de um banco de dados da forma como
será manipulado pelo SGBD  mais dependentes de aspectos de
implementação (ex.: modelo relacional, modelo hierárquico)
 Modelos físicos
 Descrevem a estrutura de um banco de dados da forma como os
dados são fisicamente armazenados  totalmente dependentes
de aspectos de implementação (registros, blocos, índices, etc.)

Introdução a Banco de Dados – DCC011

Arquitetura de um Sistema de BD
 Arquitetura de três esquemas:
 Separa as aplicações da estrutura física do banco de
dados
 Esquemas são definidos em três níveis:
 Nível interno  esquema interno
 Nível conceitual  esquema conceitual
 Nível externo  esquemas externos (visões)
 Transformações entre os níveis são denominadas
mapeamentos (mappings)

Introdução a Banco de Dados – DCC011

13
Arquitetura de um Sistema de BD
Nível Externo
Esquema Esquema Esquema Visão de cada
Externo 1 Externo 2 Externo n usuário

Nível Conceitual
Visão
Esquema comunitária
Conceitual

Nível Interno
Esquema Visão do
Interno armazenamento
físico

Introdução a Banco de Dados – DCC011

Independência de Dados
 Capacidade de se alterar o esquema em um
determinado nível sem alterar o esquema (ou
esquemas) do nível imediatamente mais alto
 Imunidade dos programas (aplicações) em relação
a mudanças na estrutura do banco de dados

 Há dois tipos de independência de dados:


 Independência de dados lógica
 Independência de dados física

Introdução a Banco de Dados – DCC011

14
Arquitetura de um Sistema de BD
Nível Externo
Esquema Esquema Esquema Visão de cada
Externo 1 Externo 2 Externo n usuário

Independência
lógica Nível Conceitual
Visão
Esquema comunitária
Conceitual
Independência
física Nível Interno
Esquema Visão do
Interno armazenamento
físico

Introdução a Banco de Dados – DCC011

Linguagens e Interfaces
 Linguagens:
 Linguagem de definição de dados (LDD)
 Linguagem de manipulação de dados (LMD)
 Linguagem de consulta
 Interfaces:
 Baseadas em menus
 Baseadas em formulários
 Gráficas
 Baseadas em linguagem natural
 Parametrizadas

Introdução a Banco de Dados – DCC011

15
CONSULTA

Compilador
de Consulta

Componentes de um SGBD
Introdução a Banco de Dados – DCC011

Utilitários
 Carga (loading)
 Carrega arquivos de dados pré-existentes no banco
de dados
 Backup
 Gera cópias de segurança
 Reorganização do banco de dados
 Reorganiza a estrutura física (arquivos) do banco de
dados
 Monitoração de desempenho
 Monitora o uso do banco de dados e gera estatísticas

Introdução a Banco de Dados – DCC011

16
Classificação dos SGBDs
 Quanto ao modelo de dados adotado:
 relacional
 hierárquico
 de rede
 orientado a objetos
 objeto-relacional
 Quanto ao número de usuários suportados:
 monousuário
 multiusuário
 Quanto à localização dos dados:
 centralizado
 distribuído

Introdução a Banco de Dados – DCC011

Exemplo de um BD Relacional
NumEmp NomeEmp Salário Dept
Empregado 032 J Silva 380 21
074 M Reis 400 25
089 C Melo 520 28
092 R Silva 480 25
112 R Pinto 390 21
121 V Simão 905 28
130 J Neves 640 28

NumDept NomeDept Ramal


Departamento
21 Pessoal 142
25 Financeiro 143
28 Técnico 144

Introdução a Banco de Dados – DCC011

17
Exemplo de um BD de Rede
Empregado
032 J Silva 380
Departamento
074 M Reis 400
21 Pessoal 142

089 C Melo 520

25 Financeiro 143 092 R Silva 480

112 R Pinto 390

28 Técnico 144 121 V Simão 905

130 J Neves 640

Introdução a Banco de Dados – DCC011

Exemplo de um BD Hierárquico

Departamento
21 Pessoal 142 25 Financeiro 143 28 Técnico 144

Empregado
032 J Silva 380 074 M Reis 400 089 C Melo 520
112 R Pinto 390 092 R Silva 480 121 V Simão 905
130 J Neves 640

Introdução a Banco de Dados – DCC011

18
Resumo
 Conceitos básicos:
 BD, SGBD, SBD
 Modelo de dados  esquema  instância
 Modelos de dados:
 conceituais, lógicos, físicos
 Independência de dados
 lógica, física
 Linguagens:
 LDD (DDL), LMD (DML), LC

Introdução a Banco de Dados – DCC011

Questões e Exercícios Sugeridos


 Capítulo 1:
 1.2, 1.3, 1.5, 1.8, 1.10, 1.11, 1.13
 Capítulo 2:
 2.2, 2.4, 2.5, 2.15

Introdução a Banco de Dados – DCC011

19

Você também pode gostar