Curso: Banco de Dados I –
Análise de Sistemas
PUC Campinas
Professor: Gustavo Andretta
e-mail: [email protected]
Ementa
Estudo de sistemas de informação em ambiente
de banco de dados quanto aos aspectos de
gerenciamento de banco de dados e suas técnicas
de representação interna
2
Objetivo do Curso
Apresentar os conceitos fundamentais de
gerenciamento de banco de dados, incluindo
Projeto de Banco de Dados,
linguagem de Banco de Dados e
implementação de sistemas de Banco de Dados.
3
Programa
1. Introdução:
1.1 Objetivos de um Sistema de BD
1.2 Linguagens de BD
1.2.1 Linguagem de Definição de Dados
1.2.2 Linguagem de Manipulação dos Dados
1.3 Conceitos Gerais: SGBD
1.3.1 Visão da Estrutura do Sistema
1.3.2 Gerenciamento de transações
1.3.3 Administração de Memória
1.3.4 DBA
1.3.5 Usuários
1.4 Visão dos Dados
1.4.1 Abstração de Dados
4
Programa
1.4.2 Instâncias e Esquemas
1.4.3 Independência de Dados
1.5 Modelo de Dados
1.5.1 Modelos Lógicos c/ Base em Objetos
1.5.2 Modelos Lógicos c/ Base em Registros
2. Modelagem
2.1 Modelo Entidade-Relacionamento
2.1.1 Entidades, atributos, valores de atributos
2.1.2 Atributos Compostos, Multivalorados,
Determinantes
2.1.3 Entidades Fracas
5
Programa
2.1.4 Relacionamentos, Classes de Relacionamentos
2.1.5 Relacionamentos Parciais e Totais
2.1.6 Atributos de Relacionamentos
2.1.7 Auto-Relacionamento
2.1.8 Agregações
2.1.9 Particionamento ou Generalização
2.1.10 Especialização
2.1.11 Atributos Globais
3. Regras de Integridade
4. SQL
5. Modelo Relacional
5.1 Estrutura dos Bancos de Dados Relacionais
6
Programa
5.2 Álgebra Relacional
5.3 Cálculo Relacional
6. Normalização
6.1 1a Forma Normal
6.2 2a Forma Normal
6.3 3a Forma Normal
7. Modelo Multidimensional
8. Arquiteturas de Sistemas de Banco de Dados
7
Bibliografia
• Henry F. Korth, Abraham Silberschatz.
Sistema de Banco de Dados. Makron, 3a Edição
8
A Sociedade da Informação
Avanço Tecnologia
Valor da
Informação
9
A Sociedade da Informação
Evolução do Emprego da Mão-de-Obra
1860 - 1910
Mão-de-Obra Agrícola
1910 - 1960
Mão-de-Obra Industrial
1960 - 2010
Mão-de-Obra Informação
10
Origem: Informática
INFORmação
autoMÁTICA
Informática
11
Evolução da Informática
Sistemas de
Informação
Informática
Telecomunicações
Digitalização
Teleinformática
12
Evolução/Revolução no Tratamento
e Transporte da Informação
Revolução/Evolução no TRATAMENTO da informação
Informática
Sociedade
Industrial
Teleinformática
Telecomunicações
Sociedade da
Informação
Revolução/Evolução
na Sociedade
Revolução/Evolução no TRANSPORTE da informação
13
Formas de Representação da
Informação
VOZ
DADOS
TEXTO
IMAGEM
14
1. Introdução
O que é um SGBD?
Um Sistema Gerenciador de Banco de Dados (SGBD)
é constituído por um conjunto de dados (BD)
associados a um conjunto de programas para
acesso a esses dados.
15
1. Introdução
DBA
AS
Análise Requisitos...
Modelagem
Projeto BD
Engenharia
Software
Usuário
Final
Interface
Processamento Consultas
SGBD
Processamento Transações
I/O / Buffers / Indexação
16
1.1 Objetivos de um Sistema de Banco de Dados
SGBD
X
Sist. Processamento Arquivos
• Garantir consistência dos dados
• Facilitar acesso aos dados
• Garantir recuperação apropriada dos dados
• Garantir integridade
• Garantir operações atômicas
• Controlar concorrência
• Garantir segurança dos dados
17
1.2 Linguagens de Banco de Dados
Linguagem de Definição de Dados
(DDL)
Linguagem p/ especificação das estruturas de dados
Linguagem de Manipulação de Dados
(DML)
Linguagem p/ tratamento (atualização, eliminação,
leitura, inserção)
18
1.3 Conceitos Gerais: SGBD
1.3.1 Visão da Estrutura do Sistema
Usuários
Navegador
Programador
DBA
Interfaces
Programas
Pré-Comp. DML
PGMs Código
Objeto
Gerenciador
Transações
Armazanamento
em
Disco
Usuário Sofisticado
Consultas
Compil. DML
Comp. Exe Consulta
Esquema BD
Interpret. DDL
Processador
Consultas
Gerenciador Buffer
Gerenciador Arquivos
Índices
Arquivos de Dados
S
G
B
D
Gerenciador
Memória
Dados Estatísticos
Dicionário de Dados
19
1.3 Conceitos Gerais: SGBD
1.3.2 Gerenciamento de Transações
Coleção de operações que desempenha
uma função lógica única dentro de uma
aplicação do sistema de banco de dados
Transação
Atomicidade
Indivisibilidade (tudo-ou-nada)
Durabilidade
Persistência
Componentes do Gerenciamento Transações
Consistência
Solidez
SGBD
detectar falhas e recuperar o
BD em seu último estado
consistente
Gerenciador de Controle de Concorrência
Controlar interação entre trxs concorrentes
20
1.3 Conceitos Gerais: SGBD
1.3.3 Administração de Memória
Dados
Disco
Memória
Gerenciador de Memória
Armazenamento, recuperação e
atualização de dados
Eficiência das estruturas usadas p/ representação dos dados
Bom desempenho
21
1.3 Conceitos Gerais: SGBD
1.3.4 DBA
Centraliza os dados e
os programas de acesso
a esses dados
Definição do esquema
Definição da estrutura de dados e método de acesso
Esquema e modificações na organização física
Fornecer autorização de acesso ao sistema
Especificar regras de integridade
22
1.3 Conceitos Gerais: SGBD
1.3.5 Usuários
Programadores de aplicação
Usuários sofisticados
Usuários especialistas
Usuários navegantes
23
1.4 Visão dos Dados
1.4.1 Abstração de Dados
Seres, objetos
organismos,
fatos, ...
Mundo Real
Informações
Modelo Descritivo
informais
Descrição de um universo
em linguagem natural
Informações
Estruturas de informações,
Modelo Conceitual especificações de
formais
Projeto Lógico
manipulação
Modelo Operacional Especificações e pgms de
manipulação p/ o
Projeto Físico
computador
Estruturas internas de
Modelo Interno
arquivos e tabelas
Nível de máquina
pgms interpretáveis
ou executáveis
24
1.4.1 Abstração de Dados
Visão 1
Nível de Visão
Visão 2
..........
Visão n
Nível Lógico
Nível médio que descreve
quais dados estão armazenados
e quais os inter-relacionamentos
Nível Físico
Nível baixo que descreve
como os dados estão
armazenados
25
1.4.2 Instâncias e Esquemas
Instância
do banco
de dados
Conjunto de informações contidas
em determinado banco de dados,
em dado momento
Esquema
do banco
de dados
Projeto Geral do banco de dados
26
1.4.3 Independência de Dados
Capacidade de modificar a definição dos esquemas
em determinado nível,
sem afetar o esquema do nível superior.
Física
Conjunto de informações contidas
em determinado banco de dados,
em dado momento
Lógica
Projeto Geral do banco de dados
27
1.5 Modelos de Dados
Conjunto de ferramentas conceituais,
sob a estrutura
do Banco de Dados,
usadas p/ a descrição de dados,
relacionamentos entre
dados, semântica de dados
e regras de consistência.
28
1.5.1 Modelos Lógicos c/ Base em Objetos
Utilizados na descrição de dados no nível lógico
e de visões
•Modelo entidade-relacionamento
• Modelo orientado a objeto
29
1.5.1.1 Modelo Entidade Relacionamento
MER
Serve para a representação das estruturas de
informação. Tem por base a percepção do
mundo real como um conjunto de objetos
básicos (entidades) e do relacionamento entre
eles.
30
1.5.1.2 Modelo Orientado a Objetos
Tem por base um
conjunto de
objetos
Variáveis instâncias: armazenam valores de um
objeto dentro do objeto.
Métodos: conjunto de códigos que operam o
objeto.
Classes: objetos que contêm os mesmos tipos de
valores e os mesmos métodos.
31
1.5.1.2 Modelo Orientado a Objetos
Enviar Mensagem
Acesso a dados
Objeto 1
Objeto 5
Método x
32
1.5.2 Modelos Lógicos c/ Base em Registros
Utilizados na descrição de dados no nível lógico
e de visões. Banco de dados estruturado por meio
de registros de formato fixo de todos os tipos.
Fácil implementação do BD
no nível físico.
• Modelo Relacional
• Modelo de Rede
• Modelo Hierárquico
33
1.5.2.1 Modelo Relacional
Utiliza um conjunto de tabelas p/
representar tanto os
dados quanto a relação
entre eles.
Atualmente é o mais utilizado no mercado.
34
2. Modelagem
2.1 Modelo Entidade Relacionamento
MER
Serve para a representação das estruturas de
informação. Tem por base a percepção do
mundo real como um conjunto de objetos
básicos (entidades) e do relacionamento entre
eles.
35
2.1 Modelo Entidade Relacionamento
É uma representação
abstrata de um “objeto”
Entidade
do mundo real
(um ser, um fato, uma
coisa, um organismo
social, etc...)
Ex: funcionário, material, departamento
Conjuntos de entidades:
Funcionários
Todos os funcs
da empresa
Datas
Livros
Departamentos
Todas as Todos os Todos os deptos
da empresa
livros da
datas
biblioteca
36
2.1 Modelo Entidade Relacionamento
Atributos
É um conjunto de valores
do conjunto de
entidades
Ex: funcionário
Nome
Endereço
Sexo
Salário
Ex: departamento
Código
Nome
Descrição
37
1.2 SQL
STRUCTURED
QUERY
LANGUAGE
SELECT
UPDATE
DELETE
INSERT
CREATE
ALTER
DROP
GRANT
REVOKE
COMMIT
ROLL BACK
DML
DDL
CONTROL
38
Download

Curso: Informática Aplicada a Comunicação