Conceitos Fundamentais de Banco de Dados

Propaganda
INSTITUTO FEDERAL NORTE DE MINAS GERAIS
Curso Técnico em Informática
Disciplina: Banco de Dados
Professor: Alessandro Carneiro Ribeiro
E-mail: [email protected]
Aula 01
Introdução aos sistemas de informação
Conceitos de banco de dados
Modelos de BD
Linguagens de Banco de Dados
Usuários de um Banco de Dados
Sistemas de Informação
 Sistema de Informação é um conjunto de componentes inter-relacionados
(programas) trabalhando juntos para coletar, recuperar, processar, armazenar e
distribuir informações com a finalidade de facilitar o planejamento, o controle, a
coordenação, a análise e o processo decisório nas organizações.
 Componentes lógicos de um SI:
 Ciclo de Vida do Desenvolvimento de SI (Método Estruturado):
Rotinas
doUsuário
Usuários
Direção
Operadores
Restrições
Requisitos
doSistema
Relatório
Preliminar
de
Viabilidade
Restrições
Dados
1.
doModelo
2.
LevantaA
n
álise
mento
Direção
Restrições
Especificação
daAnálise
Especificação
daDocumentação
6.
Manuais
Manuais
doUsuário
edoSistema
8.
Especificação
C
o
n
v
ersão
doProjeto
3.
d
e
B
a
nco
Projeto
deDados
Especificação
dos Testes
5.
Geração
deTestes
Módulos
Testados
7.
Controlede
Qualidade
BancodeDados
Existente
Especificação
doProjeto
BancodeDados
Convertido
4.
Implementação
Sistema
Integradoe
Modularizado
Sistema
aprovado
9.
Instalação
Sistema
Instalado
 Análise de Requisitos (Levantamento de Dados): Vamos supor o LD já realizado
através das diversas técnicas de LD como Entrevistas, Brainstorming, JAD e
Prototipação Descartável.
 Análise (Projeto Lógico):
O modelo de dados:
Visão dos DADOS que serão armazenados e manipulados pelo sistema: DER.
O modelo funcional:
Visão dos PROCESSOS que irão gerar informações para o usuário: DFD.
 Projeto (Projeto Físico):
Análise dos requisitos de hardware, software, desempenho e segurança, que serão
utilizados para implementação dos modelos. No nosso caso SGBDs e a linguagem
SQL.
Conceitos Fundamentais de Banco de Dados
 Banco de Dados (database): Uma coleção de dados (fatos conhecidos) interrelacionados que podem ser armazenados e manipulados em um meio físico.
 Exemplos:
 Uma agenda telefônica contendo nomes, endereços e telefones.
 Uma universidade contendo dados dos professores, alunos e disciplinas.
 Um supermercado contendo dados de clientes, produtos, vendas, fornecedores
e compras.
 Um Banco de Dados de um SI pode ser representado na forma de tabelas.
 Exemplo: Banco de dados para um Sistema de Pessoal:
Departamento
@Número
1
2
3
Descrição
Pessoal
Vendas
Produção
Empregado
@Registro
212
321
450
867
Nome
José Antônio
Antônio Rodrigues
Maria Fernandes
Carlos Henrique
Telefone
33326262
32124589
33129860
35634011
Lotação
2
3
1
3
Projeto
@Número
001
002
003
Descrição
Construção da Peça P21
Cotação de fornecedores
Gestão de energia 2001
Data_Início
02/03/1999
23/05/2001
01/06/2001
Data_Fim
Empregado_Projeto
@Projeto
001
001
002
003
003
@Empregado
321
867
212
450
212
19/07/2001
Horas
89
31
29
8
14
 São características de um banco de dados
 Os dados devem representar algum aspecto do mundo real de tal forma que
qualquer mudança desta realidade se reflita no banco de dados.
Ex: Novo projeto é criado, Admissão de novo empregado, Funcionário muda
de lotação.
 Os dados devem estar organizados de uma maneira coerente com a realidade.
Ex: Empregados que trabalham em projetos e não empregados que gostam de
trabalhar em projetos de seu interesse.
 Deve ser útil p/ um grupo de usuários que podem manipulá-lo através de SI
(aplicações).
 Resumindo: Um BD é uma coleção de dados armazenados cujo conteúdo
informativo a cada instante representa o estado de uma determinada aplicação de
um grupo de usuários.
 Sistema Gerenciador de Banco de Dados (SGBD ou DBMS): é um sistema
utilizado para facilitar a criação e manutenção de um banco de dados
computadorizado.
 Em princípio um BD pode ser manipulado por linguagens de programação como
C, C++, pascal, Java e Cobol ou mesmo por softwares como Clipper, Dbase e
Excel.
 No entanto, os SGBDs são imprescindíveis nas organizações pois:
1. Facilitam a definição, construção e manipulação de grandes volumes de dados
baseados em uma linguagem padrão de alto nível denominada SQL.
2. Recuperam e armazenam eficientemente os dados.
3. Permitem o compartilhamento dos dados, ou seja, acessos concorrentes aos
dados por diversas aplicações/usuários simultâneos.
4. Garantem segurança aos dados contra acessos não autorizados.
5. Garantem o controle de restrições aos dados (chaves, integridade e domínio)
evitando redundâncias e inconsistências.
6. Possuem mecanismos de Backup e Recovery na presença de falhas.
 SGBDs menores: Access , Paradox, CA Ingress, InterBase, Fox Pro, Progress,
Zim, etc.
 Sistema de Baco de Dados: um SI composto por um conjunto programas de
aplicação que interagem com um SGBD gerando informações úteis aos usuários.
Usuários
P
rogram
as
deaplicação.
R
egradeN
egócio
emL
4G
B
an
codeD
ados
M
eioF
ísico
C
am
adade
in
tegração.
N
ativa,O
D
B
C
,
JD
B
C
,B
D
E
,...
S
G
B
D
C
onjuntodeprogram
asescritosem
algum
alinguagemdeprogram
ação
 Arquitetura interna de um SGBD:
 Linguagens de Banco de Dados:
 DDL: Permite a definição da estrutura interna de armazenamento dos dados.
 DML: Permite a manipulação dos dados segundo as estruturas pré-definidas.
 Linguagens hospedeiras: Linguagens de programação onde se pode inserir
comandos DDL ou DML.
 Usuários de um Sistema de Banco de Dados
1. Projetista (analista) de Banco de Dados:
 Modela o Banco de Dados de acordo com a regra de negócio (DER).
 Define políticas de segurança, regras de integridade e acesso eficiente aos
dados.
2. DBA - Database Administrator:
 É o superusuário, conhecendo o SGBD profundamente.
 Gerencia e monitora o SGBD.
 Implementa o esquema dos BDs de acordo com as especificações do
Analista.
 Implementa políticas de segurança, regras de integridade e acesso eficiente
aos dados.
3. Programadores de Aplicações:
 Implementam sistemas baseados em SGBDs através de L4G, linguagens
hospedeiras ou linguagens para a internet.
 Devem estar a par dos recursos oferecidos pelo SGBD (SQL, Índices,
Views, Storeds procedures, Triggers, Rules, Funções agregadas,
Subconsultas, etc)
4. Usuários finais
Exercícios de Fixação
1) Quais os componentes lógicos de um sistema de informação?
2) Explique cada fase do ciclo de vida de um sistema de informação de acordo com o método
estruturado.
3) Para que serve o modelo de dados na documentação de um Sistema de Informação? Em
qual(is) fase(s) ele é implementado? Qual o nome da ferramenta que utilizamos para
representar o modelo de dados?
4) Enumere a primeira coluna de acordo com a segunda:
(
) DDL
1 - Elabora Modelos para representação do sistema.
(
) DML
(
) Linguagens hospedeiras
2 - Através dela podemos inserir dados em um banco de dados
segundo uma estrutura pré-definida.
3 - Conhece tudo da ferramenta SGBD, é o super usuário do BD.
(
) Projetista
4 - Permite a criação de tabelas e alteração na estrutura das tabelas.
(
) DBA
5 - Permite inserir códigos DDL e DML para criação e
manipulação de dados.
Download