Title: Banco de Dados
1Banco de Dados
Comunicação Digital Banco de Dados
- Prof. Sandro Rigo Ernesto Lindstaedt
2Banco de dados
- Roteiro
- Revisão de conceitos básicos
- Histórico e exemplos de utilização
- Caso de estudo comunidades
- Exercícios
3Revisão de conceitos básicos
Exemplos http//www.amazon.com/ http//www.wikipe
dia.org/ http//www.google.com/ http//www.juonlin
e.com.br/ http//www.uol.com.br/ http//www.flickr
.com/ http//www.orkut.com http//www.minha.unisin
os.br http//www.last.fm http//del.icio.us/ http
//creative.gettyimages.com www.bb.com.br http//ww
w.receita.fazenda.gov.br/ http//servicos.capes.go
v.br/capesdw/ http//www.imdb.com/ http//www.unis
inos.br/oqueedesign/
4Revisão de conceitos básicos
Exemplos de aplicações Google, cms mambo,
juonline, uol, flickr, orkut, minhaunisinos,
last.fm, del.ici.us, xingu, getimages, bancos,
correios, receita federal, portal capes, imdb,
blog design, pagina de professores, amazon,
submarino, ... Interação (ponto de vista do
usuário) - acesso ao site - escolha de
opções - recebimento de resultados -
.... Pontos em comum - estrutura de
armazenamento de dados - formato padrão e
eficiente de acesso aos dados
5Revisão de conceitos básicos
Dados indicações de fatos que podem ser
armazenados e tratados individualmente. Base de
dados conjunto de dados relacionados entre si
com alguma lógica particular. Sistema
Gerenciador de Banco de Dados (SGBD) aplicação
integrada contendo funções necessárias para a
criação, manutenção e gerência de bases de dados.
6Conceitos Básicos de Bancos de Dados
Sistema Gerenciador de Banco de Dados (SGBD) -
aplicação integrada permitindo - criação de
bases de dados - acesso seguro
(usuários/grupos/privilégios) - manutenção de
bases de dados - integração com aplicações -
gerenciamento de transações - opções de
conectividade - diversidade - ferramentas
comerciais, código aberto - escalas (centenas a
milhões de registros) - dados específicos
(alfanuméricos, imagens, sons..) - utilização
em rede, na web, isolada, ...
7Revisão de conceitos básicos
cf. Matoso
8Alguns SGBDs...
- Firebird
- Microsoft SQL Server
- IBM DB2
- PostgreSQL
- IBM Informix
- Apache Derby
- Interbase
- MySQL
- Oracle
- SQLite
- Sybase ASE
- ZODB
9Conceitos Básicos de Bancos de Dados
Exemplos de usos do SGBD portal web (IBM
Websphere)
10Conceitos Básicos de Bancos de Dados
Exemplos de usos do SGBD integração de diversas
aplicações e bases de dados em portal web
(Peoplesoft)
11Conceitos Básicos de Bancos de Dados
Exemplos de usos do SGBD Framework web (Zope gt
objetos)
12Conceitos Básicos de Bancos de Dados
Exemplos de usos do SGBD Framework web semântica
(KAON)
13Revisão de conceitos básicos
Armazenamento centralizado x distribuído
14Revisão de conceitos básicos
Alguns exemplos - tamanho Orçamento
pessoal 436 Kbytes (103) Algumas
músicas/vídeos 30 Mbytes (106) Empresa de
contabilidade 180 Gbytes (109) Universidade
3 Tbytes (1012) Empresa de Energia
Elétrica 4 Tbytes Yahoo/Google 20-40
milhões de documentos NASA (Monitoramento) 3
Tbytes por dia Earth simulator 700
Tbytes Blue Gene 1,1 Pbytes
(1015) Google 2-5 Pbytes GridK 4,2
Pbytes San Diego Supercomputer Center
6 Pbytes
15Visão geral de aplicação web com SGBD
SGBD
lista.htm
Lista.....
lista.php
index.htm
Insere Lista
insere.htm
insere.php
Formulário
inseriu.htm
Resultado.....
16Conceitos Básicos de Bancos de Dados
Banco de dados Relacional Modelo de
implementação de banco de dados no qual são
utilizados relacionamentos entre conjuntos de
dados. Os conjuntos de dados são dispostos em
elementos específicos (tabelas) que possuem
atributos para relacionamento. Difere de
outros formatos BD orientado a Objetos BD
Objeto Relacional BD específicos, para casos
típicos (imagem, som,..)
17Conceitos Básicos de Bancos de Dados
Componentes do SGBD - Base de dados
organização de um conjunto de dados em uma forma
coerente para uma determinada aplicação -
Tabela estruturação de grupos de dados
relacionados de forma operacional - Campo
componente unitário de uma tabela -
Registros implementação do armazenamento de
dados
18Conceitos Básicos de Bancos de Dados
Componentes do SGBD - Base de dados
Elementos_de_TI - Tabela cadastro - Campo
nome char40, idadeinteger - Registros
José Carlos, 34
19Revisão de conceitos básicos
Campos (atributos) elementos unitários de um
agrupamento de dados, representando atributos de
entidade do mundo real Registro (tupla)
conjunto único de campos, representando entidade
do mundo real Tabela organização de campos
e de registros Chave elemento (campo) usado na
identificação de registros em tabelas, ou na
geração de índices Chave-primária utilizada na
identificação de registros em uma
tabela Chave-estrangeira utilizada para
indicação de relações entre tabelas
20Revisão de conceitos básicos
- Linguagem de consulta
- Permite
- - a descrição de tabelas, com indicações de
campos e tipo de dado para cada campo - a aplicação de operações de álgebra relacional,
como seleção, projeção ou junção - a inserção de novos dados ou atualização e
deleção de dados armazenados
21Linguagem de consulta
22Implementação Etapa 1 criação da base de dados
23Implementação Linguagem SQL CREATE TABLE
equipe (id INT NOT NULL AUTO_INCREMENT
,nome VARCHAR( 60 ) NOT NULL ,nacionalidade
VARCHAR( 60 ) NOT NULL ,data_nascim DATE NOT
NULL ,premios VARCHAR( 120 ) NOT NULL
,naturalidade VARCHAR( 60 ) NOT NULL
,mini_biografia VARCHAR( 255 ) NOT NULL
,home_page VARCHAR( 120 ) NOT NULL ,email
VARCHAR( 120 ) NOT NULL ,sexo CHAR( 1 ) NOT
NULL ,PRIMARY KEY ( id ) )
24FormulárioWeb paraInserção de filme
25Não foi implementada como documento HTML
A tabela equipe foi consultada para a montagem
da lista de seleção de diretores
26Inserção de gênero
Trecho da codificação ..... sql "INSERT INTO
genero ( id , nome , observacoes )
VALUES ('', '".nome."', '".obs."')" resul
t mysql_query(sql, link) if (!result)
die('Query inválida ' . mysql_error())
mysql_close(link) echo("ltbrgtDados recebidos
lthrgt Nome nomeltbrgt Observações
obsltbrgtlthrgt")
27Inserção de gênero
TABELA
CAMPOS
Trecho da codificação ..... sql "INSERT INTO
genero ( id , nome , observacoes )
VALUES ('', '".nome."', '".obs."')" resul
t mysql_query(sql, link) if (!result)
die('Query inválida ' . mysql_error())
mysql_close(link) echo("ltbrgtDados recebidos
lthrgt Nome nomeltbrgt Observações
obsltbrgtlthrgt")
VALORES RECEBIDOS DO FORMULÁRIO
28Consulta por filme/diretor
Formulário Opção de indicação de nome de filme
ou de nome de diretor
29Consulta por filme/diretor
Teste Opção de nome de filme com a letra A
30Exemplo de revista eletrônica
31Exemplo de acesso ao conteúdo de revista
eletrônica
32Exemplo de revista impressa
33Exemplo de acesso ao conteúdo de revista impressa
34Documento de visão
- Projeto
- Solicitante
- Setor Centro de Custos Data
- JUSTIFICATIVA / SITUAÇÃO ATUAL
- OBJETIVOS
- ESCOPO
- REQUISITOS FUNCIONAIS / NÃO-FUNCIONAIS
- ATORES / PAPÉIS
- PREMISSAS
- RESTRIÇÕES
35Documento de requisitos
- REQUISITOS
- Id RF001
- Identificação do Requisito Cadastro
- Prioridade Alta
- Importância necessário
- Complexidade média
- Descrição realização de cadastro simples (nome,
email, nome de acesso na web, senha de acesso ao
sistema gerador). Este cadastro pode ser
vinculado aos registros da Universidade, para
autenticação com senha única, ou não. Hoje
existem as duas possibilidades
36- Caso de estudos
- Gerenciador de conteúdo Web
37Arquitetura da informação
- Em um projeto perguntas iniciais
- O que é ?
- Qual o motivo ?
- Quem vai usar ?
- Como avaliar ?
38Arquitetura da informação
- Definições do projeto
- Missão e visão do site web
- Definição de conteúdo
- Escolha de funcionalidades
- Interação do usuário
- organização, navegação, terminologia
- Sistemas de apoio (busca, auxílio)
- Previsão de escala e modificações
39Arquitetura da informação
- Perspectivas
- usuário/consumidores
- facilidade de entendimento
- localização da informação desejada
- acomodação de diferenças
- produtores/editores
- implementação de melhorias
- inserção de novos conteúdos
- definições de políticas de consenso
40Arquitetura da informação
- Conhecimentos necessários
- Designer gráfico
- Bibliotecário
- Jornalista
- Engenheiro de usabilidade
- Analista de Marketing
- Analista de sistemas
41Arquitetura da informação
- Processo geral
- Levantamento de requisitos
- Descrição do conteúdo e seu relacionamento (mapa
do site) - Organização da interface (interação telas)
- Layout (web design)
- Implementação (html, scripts, BD, CMS)
42Arquitetura da informação
- Processo geral
- Documentos
- descritivo geral (mapa de informações)
- esquema das interfaces (wire-frame)
- layout (design gráfico)
43Arquitetura da informação
- Processo geral
- Documentos
- descritivo geral (mapa de informações)
- esquema das interfaces (wire-frame)
- layout (design gráfico)
44Arquitetura da informação
- Processo geral
- Documentos
- descritivo geral (mapa de informações)
- esquema das interfaces (wire-frame)
- layout (design gráfico)
45Arquitetura da informação
- Processo geral
- Documentos
- descritivo geral (mapa de informações)
- esquema das interfaces (wire-frame)
- layout (design gráfico)
46Arquitetura da informação
- Processo geral
- Documentos
- descritivo geral (mapa de informações)
- esquema das interfaces (wire-frame)
- layout (design gráfico) implementação
47Arquitetura da informação
- Processo geral de construção
- Levantamento de requisitos
- Descrição do conteúdo e seu relacionamento (mapa
do site) - Organização da interface (interação telas)
- Layout (web design)
- Implementação (html)
48- Exemplo
- - banco de dados para implementação de menus e
itens.
49- Exemplo
- - banco de dados para implementação de menus e
itens.
50- Exemplo
- - banco de dados para implementação de menus e
itens.
51- Exemplo
- Menu
- Início
- Graduação
- Vestibular
52- Exemplo
- Menu
- Início
- Graduação
- Vestibular
53- Exemplo
- Menu
- Início
- Graduação
- Vestibular
54- Exemplo
- Menu
- Início
- Graduação
- Vestibular
55- Exemplo
- Menu
- Início
- Graduação
- Vestibular
56- Exemplo
- Menu
- Início
- Graduação
- Vestibular
SELECT conteudo.conteudo FROM conteudo WHERE
conteudo.iditem.valor And Menu.idMenuitem.idMen
u And idMenu1