Banco de Dados
Aula Inaugural
•
CURSO: CC/SI
•
SÉRIE: 2º e 3º semestre
•
DISCIPLINA: Banco de Dados
•
CARGA HORÁRIA SEMANAL: 04
horas-aula
•
CARGA HORÁRIA SEMESTRAL: 80
horas-aula
Semana 1: 4 aulas de teoria (Alan)
Semana 2: 2 aulas de teoria (Alan)
CONTEÚDO PROGRAMÁTICO
Sistemas de Gerência de Bancos de Dados (SGBDs): Definições Funções básicas Arquitetura Dicionário de dados Módulos principais
Modelos de Bancos de Dados
Modelos hierárquicos, rede e relacional Modelo relacional
Fundamentação teórica Estrutura relacional
Restrições de integridade básicas Manipulação e álgebra relacional Integridade semântica
Projeto de Bancos de Dados Relacionais Etapas
Modelo conceitual: diagrama entidade relacionamento
Modelo lógico: mapeamento do modelo conceitual para o modelo relacional Normalização
Bibliografia
• SILBERSCHATZ, A; KORTH, H. Sistema de
banco de dados. São Paulo : Makron Books.
• HEUSER, C. A. Projeto de Banco de Dados.
Porto Alegre : Saggra Luzzato.
• DATE, C. J. Introdução a Sistemas de
Bancos de Dados. Rio de Janeiro : Campus.
• GUIMARÃES. Fundamentos de Bancos de
Dados – Modelagem, Projeto e linguagem SQL. Campinas : UNICAMP.
Avaliação:
1º bimestre : Prova (0 a 10)
2º bimestre : Prova (0 a 8)
Trabalho(0 a 2)
Prova:
Questões dissertativas (Modelos, Códigos,...)
e Questões de múltipla escolha.
Trabalho (Projeto de Banco de
Dados)
•
Em grupo de até 4 integrantes:
•
Entregar:
Descrição do negócio
Levantamento de requisitos
Modelo Conceitual (Entidade-Relacionamento)
Modelo Lógico (Relacional).
Introdução
• Dado: um fato ou forma de representar um
fato.
• Informação: conjunto de dados organizados
de forma a apresentar um valor agregado.
• Conhecimento: regras usadas para
selecionar, organizar ou combinar informações e dados.
Definição: dado
• Um fato do mundo real ou forma de
representar um fato.
• Exemplo: nome de um empregado, o número
de horas trabalhadas na semana, código de um produto,...ect
• A representação de um dado utiliza alguns tipos:
• Texto/Números/Datas
• Imagem: desenhos e figuras
Definição: Informação
• Informação: conjunto de dados organizados de forma a apresentar um valor agregado.
• Exemplo: total da folha de pagamentos, média
de horas extras no mês.
• A utilidade da informação é determinada por um contexto.
Transformação de dados em informação
Dado Transformação Informação Conhecimento
Etapas na transformação de dados
1. Atividades que geram dados no sistema 2. Dados são coletados
3. Dados coletados são armazenados 4. O processamento transforma os dados 5. Geram-se as informações
6. Com as informações tomam-se decisões
Sistemas de Informação
Como dados podem ser armazenados?
•
Uma coleção organizada de dados pode
ser considerada como um banco de
dados.
•
Para organizar os dados é necessário
conceber uma modelagem.
•
Na modelagem definem-se os dados que
devem ser armazenados e como fazê-lo.
Conceitos de bancos de dados
•
SGBD
Sistemas Gerenciadores de Banco de
Dados
Centraliza diversos bancos de dados, cada qual com seu grupo de tabelas e um sem número de dados
O papel do SGDB é gerenciar as interações entre os usuários e os dados armazenados nas bases.
Modelos de dados
Modelo para organização dos dados de um BD
define um conjunto de conceitos para a representação de dados
exemplos: entidade, tabela, atributo, ...
Existem modelos para diferentes níveis de abstração de representação de dados
modelos conceituais
modelos lógicos
Modelos Conceituais
Representação com alto nível de abstração modela de forma mais natural as entidades do mundo real, suas propriedades e seus relacionamentos
independente de BD
exemplo: modelo entidade-relacionamento
Alunos matricula nome Cursos Código Nome lotação N M
Modelos Lógicos
•
Representa os dados em alguma estrutura (lógica) de armazenamento de dados também chamados de modelos de BD
dependente de BD
exemplos
• modelo relacional (tabelas) • modelos hierárquico (árvore)
• modelo orientado a objetos (classes – objetos complexos)
Modelos de Bancos de Dados
•
Histórico de gerações
1ª geração: Modelos pré-relacionais
• modelos hierárquico e de rede
2ª geração: Modelo relacional
3ª geração: Modelos pós-relacionais
• modelos orientado a objetos, objeto-relacional, temporal, geográfico, ...
Modelo Relacional
• Definido em 1970 (E. Codd– IBM/Califórnia) Modelo com uma sólida base formal
• teoria dos conjuntos
• Modelo simples
estruturas tabulares
poucos conceitos
• Linguagens declarativas para a manipulação de dados
Modelo Relacional
• Organização dos dados
conceitos do modelo
• atributo, relação, chave, ...
• Integridade
restrições básicas para dados e relacionamentos
• Manipulação
Contexto
Real negócio
MER – Modelo Entidade-Relacionamento Modelo Relacional Normalização Modelo Hierárquico Modelo rede
Aluno
matricula nome endereco
1 Cecília Ortiz Rezende Rua dos Ipês, 37
2 Abílio José Dias Avenida Presidente Jânio Quadros, 357 3 Renata Oliveira Franco Rua Nove de Julho, 45
Campo, registro e arquivos
T a b e la /a rq u iv o Rótulos Campo registro
• Campo é um conjunto de dados (coluna)
• Registro é um conjunto de campos (linha)
• Arquivo é um conjunto de registros
Tipos de dados
• Tipos básicos
Textos (char, varchar, string)
• Dados compostos por valores alfanuméricos.
Inteiros (int, bigint, long)
• Dados numéricos composto de números inteiros
Ponto Flutuante (float, decimal)
• Os conhecidos números Reais da matemática
Data /Hora (date, time, datetime)
Sistemas Comerciais
• dBASE: Lançado pela Ashton-Tate e posteriormente adquirido pela
Borland. Possuía uma linguagem de programação própria para desenvolvimento de aplicações, teve versões para DOS e Windows, trabalhava com gerenciamento de arquivos planos baseados em listas invertidas. A partir da versão 7, os direitos foram vendidos pela Borland.
• Paradox: Possui ambiente integrado de desenvolvimento para criação de
aplicativos. Os direitos de produção foram vendido pela Borland para a Corel. Teve versões para DOS e hoje possui apenas versões para Windows.
• DataFlex: Popular para ambiente Unix, mas teve versões para DOS e
Windows. Possui ambiente integrado para desenvolvimento de aplicações e hoje é comercializado com o nome de Visual Data Flex.
• FoxBase/FoxPro: Concorrente do dBase com total compatibilidade em
termos de arquivos e programas-fontes. Com recursos adicionais como a capacidade de pré-compilação dos códigos-fontes para melhorar
Sistemas Comerciais
• Access: é padrão em banco de dados para microcomputadores do
ambiente Windows. Possui ambiente integrado que permite a criação e gerenciamento do banco de dados, desenvolvimento de aplicações e geração de relatórios. A linguagem de programação usada neste ambiente deriva do Visual Basic.
• Oracle: O primeiro em Banco de Dados Corporativos (cliente/servidor)
possuindo grande variedade de distribuições (para Macintosh, Windows, Linux, FreeBSD, Unix) e para computadores de grande porte. É padrão SQL com uma linguagem própria para desenvolvimento de aplicações.
• Interbase: Foi incluído, pela Borland, nas suas ferramentas de
desenvolvimento (Delphi, C++Builder, JBuider). Teve uma versão liberada como Open Source.
• MS-SQL Server: Produzido pela Microsoft, inicialmente era uma versão
especial do Sybase. As versões atuais são independentes e opera exclusivamente sobre Windows.
Sistemas Comerciais
• Sybase SQL Anywhere: Concorre com o Oracle no mercado corporativo. Aplicações para este banco são desenvolvidas com o PowerBuilder.
• MySQL: Possui versões para Windows, Solaris, Unix, FreeBSD, Linux) e é gratuito. Muito poderoso, usado principalmente para desenvolvimento WEB como servidor de dados para comércio eletrônico.
• PostgreSQL: Gratuito e com boa aceitação. Originalmente concebido para rodar em Linux. Possui versões para Windows. Principalmente usado para comércio eletrônico juntamente com linguagem PHP.
• Informix: Boa escalabilidade e desempenho. Comercializado pela IBM.
• DB2: Produzido pela IBM, nasceu nos ambientes de grande porte, sendo posteriormente portado para plataformas mais simples (microcomputadores).
• Firebird: Nascido de uma iniciativa da Borland em abrir o código do InterBase 6, este sistema é open source e esbanja versatilidade e robustez. Possui recursos de trigger, store procedures e transações concorrentes.
Ciclo de Vida de Banco de Dados
•
Passo I:
Análise de Requisitos (Realidade)Produtos
Ordens
Clientes
Vendedores
Passo II:
Modelagem conceitual
Ciclo de Vida de Banco de Dados
Visão do Vendedor Visão do Cliente Produto Vendedor servido pelo vendido pelo compra M M N N N 1
Ciclo de Vida de Banco de Dados
Passo II: Modelo Lógico
Cliente
cd_clie no_clie ….
Produto
cd_prod no_prod qt_estoque
Ordem Item da Ordem
cd_ordem cd_prod
Vendedor
cd_ordem cd_vendedor cd_clie
ender cargo dias_ferias cd_vendedor
Ciclo de Vida de Banco de Dados
Passo III:
Refinamento de Uso (melhorar a performance) Clientecd_clie ….
Cliente / Refinado Ordem
cd_ordemcd_vendedor cd_clie
Ciclo de Vida de Banco de Dados
Passo IV:
Distribuição de DadosL1 L2 L3 L5 L4 Todos os Produtos Vendedores RJ Clientes RJ Todos os produtos Vendedores RJ Clientes SP Todos os Produtos Todos os Vendedores Todos os Clientes Todos os Produtos Vendedores Sudeste Clientes Sudeste Todos os produtos Vendedores MG Clientes MG REDEREDE
Ciclo de Vida de Banco de Dados
Passo V:
Projeto FísicoCreate Table Cliente (cd_cliente integer,
no_cliente char(15), endereco char(30), cd_vendedor char(15),
Primary Key (cd_cliente),
Ciclo de Vida de Banco de Dados
Passo VI:
Implementação, Monitoração e Modificação de Banco de Dados- Criação das tabelas do BD através da Data Definition
Language (DDL) do SGBD
- Data Manipulation Language (DML) para consultas e
atualizações do B.D.
Consulta a Dados no Banco de
Dados
• Linguagem mais usada: SQL
• Todos os comandos de manipulação podem ser executados através de comandos SQL
• Interativamente
ISQLW (versões anteriores)
Query Analyser (v2000) MySQL • Intercalados no programa COBOL Visual Basic DELPHI, etc. SELECT * FROM ...
Aplicações de Bancos de
Dados
Data Mining
Mineração de Dados
Processo de extração dos padrões de
comportamento dos dados.
Exemplos
Áreas de aplicações potenciais:
Vendas e Marketing
• Identificar padrões de consumo de consumidores • Identificar características demográficas de
consumidores
• Identificar consumidores “leais”
Exemplos
Áreas de aplicações potenciais:
Bancos
• Identificar padrões de fraudes (cartões de crédito)
• Identificar características de correntistas • Mercado Financeiro ($$$)
Exemplos
Áreas de aplicações potenciais
Médica
• Comportamento de pacientes
• Identificar terapias de sucessos para diferentes tratamentos
• Fraudes em planos de saúdes
Exemplo (1) - Fraldas e cervejas
O que as cervejas tem a ver com as fraldas ?
homens casados, entre 25 e 30 anos;
compravam fraldas e/ou cervejas às sextas-feiras à tarde no caminho do trabalho para casa;
Wal-Mart otimizou às gôndolas nos pontos de vendas, colocando as fraldas ao lado das cervejas;
Exemplo (2) - Lojas Brasileiras
Aplicou 1 milhão de dólares em técnicas de datamining
Reduziu de 51000 produtos para 14000
produtos oferecidos em suas lojas.
Exemplo de anomalias detectadas:
– Roupas de inverno e guarda chuvas encalhadas
no nordeste
– Batedeiras 110v a venda em SC onde a
corrente elétrica é 220v
Exemplo (3) - Bank of America
Selecionou entre seus 36 milhões de clientes
• Aqueles com menor risco de dar calotes (Scoragem – BD + Redes Neurais)
• Resultado em três anos o banco lucrou 30 milhões de dólares com a carteira de empréstimos.