Você está na página 1de 32

BANCO DE DADOS

Introdução
Por que estudar BD?

• Os Bancos de Dados fazem parte do nosso dia-a-dia:


• operação bancária
• reserva de hotel
• matrícula em uma disciplina da universidade
• cadastro em um curso on-line

2 de 44
O que é um BD?

• Um Banco de dados é uma coleção de dados


armazenado eletronicamente.
• Na forma de registros.

3 de 44
3
Histórico dos Bancos de Dados

❑1950 – 1960:
✓ Fitas magnéticas usadas para armazenamento de dados
✓ Atualizações: lia de uma fita e escrevia as modificações em uma nova
fita

❑1960 – 1970:
✓ Início do uso dos discos rígidos
✓ Início dos bancos de dados relacionais
4 de 44
Histórico dos Bancos de Dados

❑Década de 80:
✓ Início dos bancos de dados comerciais: IBM, DB2, Oracle, Ingres, entre
outros
✓ Início dos bancos de dados OO, paralelos e distribuídos

❑Início década de 90:


✓ Linguagem SQL
✓ Início dos bancos de dados de apoio à decisão
5 de 44
Histórico dos Bancos de Dados

❑Final da década de 90:


✓ Crescimento da www
✓ Adaptação dos BDs à Web
✓ Disponibilidade 7 dias por semana, 24 horas por dia

❑Início de 2000:
✓ Surgimento da XML 6 de 44
Conceitos básicos
• Dado: fato do mundo real que está registrado. Exemplos: endereço,
data

• Informação: fato útil que pode ser extraído direta ou indiretamente a


partir dos dados. Exemplos: endereço de entrega, idade

• Banco de Dados (BD): é um conjunto organizado de dados; assim


como outros componentes de um sistema de informação um banco de
dados deve auxiliar uma empresa à alcançar seus objetivos.
Um banco de dados fornece os fundamentos essenciais para o
sistema de informações e apoio ao sistema de decisão de uma
organização.
É necessário estruturar o banco de dados de maneira adequada para o
7 de 44
desenvolvimento do sistema. 7
Por que usar BD?

8 de 44
8
Exemplo de um BD

9 de 44
9
Sistemas de Arquivos
▪ Em uma fábrica com os dados em sistemas de arquivos:
Sistema para Sistema para Sistema para
Setor de Vendas Setor de Produção Setor de Engenharia

Arquivos Arquivos Arquivos


de vendas de produção de engenharia

Teclado TC60 R$ 20,00 Teclado TC60 10/11/2000 Teclado TC60 teclado.gif


Monitor 15´ M60 R$ 150,00 Monitor 15´ M60 20/11/2000 Monitor 15´ M60 monitor.gif
Mouse MS09 R$ 10,00 Mouse MS09 09/11/2000 Mouse MS09 mouse.gif

Mesmos dados aparecem em todos os arquivos da fábrica10 de 44


Sistemas de Arquivos
Dados NÃO Integrados

▪ Mesmo objeto da realidade é representado várias


vezes na base de dados
✓ Exemplo - teclado, monitor e mouse

▪ Redundância não controlada de dados


✓ Não há gerência automática da redundância
✓ Redundância leva a
• inconsistência dos dados
• re-digitação de informações
• dificuldade de extração de informações

11 de 44
– Dados pouco confiáveis e de baixa disponibilidade
Banco de Dados
▪ Em uma fábrica com os dados em bancos de dados:
Sistema para Sistema para Sistema para
Setor de Vendas Setor de Produção Setor de Engenharia

Banco de
dados

teclado.gif
monitor.gif Dados aparecem
R$ 20,00 Teclado TC60 mouse.gif uma única vez
R$ 150,00 Monitor 15´ M60
R$ 10,00 Mouse MS09 10/11/2000 no banco
20/11/2000 12 de 44
09/11/2000
Gerenciamento de Banco de Dados
Sistema para Sistema para Sistema para
Setor de Vendas Setor de Produção Setor de Engenharia

Software que permite a


criação e gerência da

SGBD base de dados

Banco de Exemplos destes Softwares:


dados • Livres:
• FireBird, PostgreSQL e
MySQL
teclado.gif • Comerciais (pagos)
monitor.gif
R$ 20,00 Teclado TC60 mouse.gif • Oracle, DB2 e
R$ 150,00
R$ 10,00
Monitor 15´ M60
10/11/2000
SQLServer
Mouse MS09
20/11/2000 13 de 44
09/11/2000
Alguns SGBDs
www-01.ibm.com/software/data/db2/

www.oracle.com
www.sybase.com.br/

www.firebirdsql.org/
www.postgresql.org/

www.mysql.com/ 14 de 44
www.microsoft.com/sqlserver/en/us/default.aspx
Gerenciamento de Banco de Dados

• Um SGBD (Sistema Gerenciador de Banco de Dados) consiste em uma


coleção de dados inter-relacionados e em um conjunto de programas
para acessá-los

• SGBDs são projetados para gerenciar grandes grupos de informações

• O gerenciamento envolve:
• A definição de estruturas para o armazenamento da informação
• O fornecimento de mecanismos para manipular as informações
15 de 44
Objetivos de um SGBD

• O grande objetivo de um SGBD é prover aos usuários uma


visão ABSTRATA dos dados

• O sistema omite certos detalhes de como os dados são armazenados


e mantidos
• Mas oferece mecanismos eficientes para BUSCA e
ARMAZENAMENTO

16 de 44
Arquitetura Geral de um SGBD
Interface
Processamento
de Consultas
Processamento
de Transações Modelagem de
Acesso a Dados (“projeto
Arquivos estrutural”)

Base de Dados
17 de 44
SGBD
Atores em Banco de Dados

• Administrador de banco de dados (DBA) é


responsável por:
• Autorizar o acesso ao banco de dados
• Coordenar e monitorar seu uso
• Adquirir recursos de software e hardware

• Projetistas de banco de dados são responsáveis por:


• Identificar os dados a serem armazenados
• Escolher estruturas apropriadas para representar e armazenar esses dados

18 de 44
Atores em Banco de Dados (Cont.)

• Analistas de sistemas
• Identificam as necessidades dos usuários finais.

• Programadores de aplicações
• Implementam essas especificações como programas.

• Usuários finais
• Pessoas cujas funções exigem acesso ao banco de dados.

19 de 44
Vantagens do SGBD

• Controlando a redundância
• Normalização de dados
• Restringindo o acesso não autorizado
• Subsistema de segurança e autorização
• Software privilegiado
• Oferecendo backup e recuperação
• Subsistema de backup e recuperação de SGBD é responsável pela
recuperação.

20 de 44
Vantagens do SGBD (cont.)

• Oferecendo múltiplas interfaces do usuário


• Interfaces gráficas do usuário (GUIs).

• Representando relacionamentos complexos entre


dados
• Pode incluir muitas variedades de dados que estão inter-relacionados de diversas
maneiras.

21 de 44
Modelos de Dados
Modelos de Dados

• Um modelo de dados é uma coleção de ferramentas


conceituais para a descrição de dados,
relacionamentos, semântica de dados e restrições de
consistência

23 de 44
Modelos de Dados
• Modelos de Dados (conceitual)
• Diagrama de Classes na UML

• Modelos de Dados (lógicos)


• Redes
Modelos mais antigos
• Hierárquico
• Relacional
• Objeto-relacional
• Orientado a Objetos

24 de 44
Modelos de Dados
Exemplo das Informações em um
Banco de Dados

nome rua cidade conta saldo


José Figueiras Campinas 900 55
João Laranjeiras Campinas 556 1.000
João Laranjeiras Campinas 647 5.366
Antônio Ipê São Paulo 647 5.366
Antônio Ipê São Paulo 801 10.533

25 de 44
Modelo Relacional
• Utiliza forma tabular. TODOS os elementos dos dados são colocados em
TABELAS bidimensionais, chamadas relações, que é o equivalente lógico dos
arquivos.
• CAMPO: Um nome, um número ou uma combinação de caracteres que descreve
um aspecto de um objeto de negócio (como um funcionário, uma localização ou
um caminhão) ou atividade(como uma venda).
• CAMPOS COMPUTADOS: incluem os valores totais, médio, máximo e
mínimo.
• REGISTRO: um conjunto de campos relacionados. Um registro pode fornecer
uma descrição completa do objeto ou da atividade.

26 de 44
Modelo Relacional - Tabelas
• Aluno

Num-Matricula Nome-Aluno Sexo-Aluno


1 Maria F
2 João M
3 Pedro M
4 Carla F
5 Sandra F

Regras:
1) Nomes de tabelas devem ser únicos no banco de dados;
2) De preferência a nomes no singular;
3) De preferência a nomes curtos. 27 de 44
Modelo Relacional
Atributos ou Colunas
• Considerando a tabela Aluno;
• Ela tem três colunas Num_Matrícula, Nome_Aluno e
Sexo_Aluno;
• A cada uma destas colunas damos o nome de atributo;
• Um nome de atributo deve ser único em uma tabela e dizer
exatamente o tipo de informação que ele representa.

28 de 44
Modelo Relacional
Atributos ou Colunas

Regras:
1) Uma coluna (atributo) não segue um ordenamento
especifico;
2) O valor de uma coluna não pode ser decomposto em mais
de uma coluna;
3) Nome de uma coluna deve expressar exatamente o que
armazena;
4) Deve-se utilizar prefixos padronizados, Cod-Dept,
Nome-Funcionorio, Qtde-Estoque. 29 de 44
Modelo Relacional
Linhas, Registros ou Tuplas
• A tabela Aluno possui cinco registros;
• Cada registro representa um relacionamento entre um conjunto de valores;
• A este relacionamento damos o nome de registro, linha ou ainda Tupla;
• Cada linha da tabela é única e possui um atributo identificador
(Num_Matrícula);
• Este atributo identificador é chamado de chave primária.

Regras:
1) Em uma tabela não devem existir linhas duplicadas;
2) As linhas de uma tabela não seguem uma ordem
especifica. 30 de 44
Modelo Relacional
Tabela Cliente (dados)
cód-cliente nome rua cidade
015 José Figueiras Campinas
021 João Laranjeiras Campinas
037 Antônio Ipê São Paulo

Tabela Cliente-Conta
Tabela Conta (dados) (relacionamento)
nro-conta saldo
cód-cliente nro-conta
900 55 015 900
556 1.000 021 556
647 5.366 021 647
801 10.533 037 647
037 801

31 de 44
FIM

32 de 44