Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados
-
Upload
cedric-wilson -
Category
Documents
-
view
13 -
download
0
description
Transcript of Banco de Dados
![Page 1: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/1.jpg)
Comunicação Digital – Banco de Dados
Banco de Dados
Prof.: Sandro Rigo & Ernesto Lindstaedt
![Page 2: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/2.jpg)
Banco de dados
Roteiro:
• Revisão de conceitos básicos
• Histórico e exemplos de utilização
• Caso de estudo: comunidades
• Exercícios
![Page 3: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/3.jpg)
Revisão de conceitos básicos
Exemplos:http://www.amazon.com/http://www.wikipedia.org/http://www.google.com/http://www.juonline.com.br/http://www.uol.com.br/http://www.flickr.com/http://www.orkut.comhttp://www.minha.unisinos.brhttp://www.last.fmhttp://del.icio.us/http://creative.gettyimages.comwww.bb.com.brhttp://www.receita.fazenda.gov.br/http://servicos.capes.gov.br/capesdw/http://www.imdb.com/http://www.unisinos.br/oqueedesign/
![Page 4: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/4.jpg)
Revisã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
![Page 5: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/5.jpg)
Revisã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.
![Page 6: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/6.jpg)
Conceitos 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, ...
![Page 7: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/7.jpg)
Revisão de conceitos básicos
cf. Matoso
![Page 8: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/8.jpg)
Alguns SGBDs...• Firebird • Microsoft SQL Server • IBM DB2 • PostgreSQL • IBM Informix • Apache Derby • Interbase • MySQL • Oracle • SQLite • Sybase ASE • ZODB
![Page 9: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/9.jpg)
Conceitos Básicos de Bancos de Dados
Exemplos de usos do SGBD: portal web (IBM Websphere)
![Page 10: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/10.jpg)
Conceitos 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)
![Page 11: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/11.jpg)
Conceitos Básicos de Bancos de Dados
Exemplos de usos do SGBD: Framework web (Zope => objetos)
![Page 12: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/12.jpg)
Conceitos Básicos de Bancos de Dados
Exemplos de usos do SGBD: Framework web semântica (KAON)
![Page 13: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/13.jpg)
Revisão de conceitos básicos
Armazenamento centralizado x distribuído
![Page 14: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/14.jpg)
Revisã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 TbytesYahoo/Google 20-40 milhões de documentosNASA (Monitoramento) 3 Tbytes por diaEarth simulator 700 TbytesBlue Gene 1,1 Pbytes (1015)Google 2-5 PbytesGridK 4,2 PbytesSan Diego Supercomputer Center 6 Pbytes
![Page 15: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/15.jpg)
SGBD
Visão geral de aplicação web com SGBD
Insere Lista
lista.php
index.htm
insere.php
Lista.....
insere.htm
lista.htm
Formulário
Resultado.....inseriu.htm
![Page 16: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/16.jpg)
Conceitos Básicos de Bancos de Dados
Banco de dados RelacionalModelo 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 ObjetosBD Objeto RelacionalBD específicos, para casos típicos (imagem, som,..)
![Page 17: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/17.jpg)
Conceitos 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
![Page 18: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/18.jpg)
Conceitos Básicos de Bancos de Dados
Componentes do SGBD:- Base de dados: Elementos_de_TI
- Tabela: cadastro
- Campo: nome: char[40], idade:integer
- Registros: “José Carlos”, “34”
![Page 19: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/19.jpg)
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
Revisão de conceitos básicos
![Page 20: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/20.jpg)
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
Revisão de conceitos básicos
![Page 21: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/21.jpg)
Linguagem de consulta
![Page 22: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/22.jpg)
Implementação Etapa 1: criação da base de dados
![Page 23: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/23.jpg)
ImplementaçãoLinguagem 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` ) );
![Page 24: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/24.jpg)
FormulárioWeb paraInserção de filme:
![Page 25: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/25.jpg)
A tabela “equipe” foiconsultada para a montagem da lista de seleção de diretores
Não foi implementada como documento HTML
![Page 26: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/26.jpg)
Inserção de gênero:
Trecho da codificação:.....$sql = "INSERT INTO `genero` ( `id` , `nome` , `observacoes` ) VALUES ('', '".$nome."', '".$obs."')";$result = mysql_query($sql, $link);if (!$result) {die('Query inválida: ' . mysql_error()); }mysql_close($link);
echo("<br>Dados recebidos: <hr>Nome: $nome<br>Observações: $obs<br><hr>");
![Page 27: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/27.jpg)
Inserção de gênero:
Trecho da codificação:.....$sql = "INSERT INTO `genero` ( `id` , `nome` , `observacoes` ) VALUES ('', '".$nome."', '".$obs."')";$result = mysql_query($sql, $link);if (!$result) {die('Query inválida: ' . mysql_error()); }mysql_close($link);
echo("<br>Dados recebidos: <hr>Nome: $nome<br>Observações: $obs<br><hr>");
TABELA CAMPOS
VALORESRECEBIDOSDO FORMULÁRIO
![Page 28: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/28.jpg)
Consulta por filme/diretor:
Formulário:Opção de indicação de nome de filme ou de nome de diretor
![Page 29: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/29.jpg)
Consulta por filme/diretor:Teste: Opção de nome de filme com a letra “A”
![Page 30: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/30.jpg)
Exemplo de revista eletrônicaExemplo de revista eletrônica
![Page 31: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/31.jpg)
Exemplo de acesso ao conteúdo de revista eletrônicaExemplo de acesso ao conteúdo de revista eletrônica
![Page 32: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/32.jpg)
Exemplo de revista impressaExemplo de revista impressa
![Page 33: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/33.jpg)
Exemplo de acesso ao conteúdo de revista impressaExemplo de acesso ao conteúdo de revista impressa
![Page 34: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/34.jpg)
Documento de visão
Projeto:Solicitante:Setor: Centro de Custos: Data:
JUSTIFICATIVA / SITUAÇÃO ATUALOBJETIVOSESCOPOREQUISITOS FUNCIONAIS / NÃO-FUNCIONAISATORES / PAPÉISPREMISSASRESTRIÇÕES
![Page 35: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/35.jpg)
Documento de requisitos
REQUISITOS Id: RF001Identificação do Requisito: Cadastro Prioridade: AltaImportância: necessárioComplexidade: médiaDescriçã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
![Page 36: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/36.jpg)
• Caso de estudos :– Gerenciador de conteúdo Web
![Page 37: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/37.jpg)
Arquitetura da informação
• Em um projeto: perguntas iniciais– O que é ?
– Qual o motivo ?
– Quem vai usar ?
– Como avaliar ?
![Page 38: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/38.jpg)
Arquitetura 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
![Page 39: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/39.jpg)
Arquitetura 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
![Page 40: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/40.jpg)
Arquitetura da informação
• Conhecimentos necessários– Designer gráfico
– Bibliotecário
– Jornalista
– Engenheiro de usabilidade
– Analista de Marketing
– Analista de sistemas
![Page 41: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/41.jpg)
Arquitetura 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)
![Page 42: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/42.jpg)
Arquitetura da informação
• Processo geral
Documentos
descritivo geral (mapa de informações)
esquema das interfaces (wire-frame)
layout (design gráfico)
![Page 43: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/43.jpg)
Arquitetura da informação
• Processo geral
Documentos
descritivo geral (mapa de informações)
esquema das interfaces (wire-frame)
layout (design gráfico)
![Page 44: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/44.jpg)
Arquitetura da informação
• Processo geral
Documentos
descritivo geral (mapa de informações)
esquema das interfaces (wire-frame)
layout (design gráfico)
![Page 45: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/45.jpg)
Arquitetura da informação
• Processo geral
Documentos
descritivo geral (mapa de informações)
esquema das interfaces (wire-frame)
layout (design gráfico)
![Page 46: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/46.jpg)
Arquitetura da informação
• Processo geral
Documentos
descritivo geral (mapa de informações)
esquema das interfaces (wire-frame)
layout (design gráfico) + implementação
![Page 47: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/47.jpg)
Arquitetura 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)
![Page 48: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/48.jpg)
Exemplo
- banco de dados para implementação de menus e itens.
![Page 49: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/49.jpg)
Exemplo
- banco de dados para implementação de menus e itens.
![Page 50: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/50.jpg)
Exemplo
- banco de dados para implementação de menus e itens.
![Page 51: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/51.jpg)
Exemplo:
Menu:
Início
Graduação
Vestibular
![Page 52: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/52.jpg)
Exemplo:
Menu:
Início
Graduação
Vestibular
![Page 53: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/53.jpg)
Exemplo:
Menu:
Início
Graduação
Vestibular
![Page 54: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/54.jpg)
Exemplo:
Menu:
Início
Graduação
Vestibular
![Page 55: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/55.jpg)
Exemplo:
Menu:
Início
Graduação
Vestibular
![Page 56: Banco de Dados](https://reader030.fdocumentos.tips/reader030/viewer/2022032805/568132bd550346895d997e01/html5/thumbnails/56.jpg)
Exemplo:
Menu:
Início
Graduação
Vestibular
SELECT conteudo.conteudoFROM conteudoWHERE conteudo.id=item.valor And Menu.idMenu=item.idMenu And idMenu=1;