Bases Computacionais da Ciência (BC-‐0005)
Base de Dados
Maria das Graças Bruno Marie/o
graca.marie*o@ufabc.edu.br
Centro de Matemá6ca, Computação e Cognição (CMCC) Universidade Federal do ABC (UFABC)
Motivação
ì Nos tempos atuais, convivemos com a necessidade constante de
interação e manipulação de dados
ì Muitas a6vidades ro6neiras estão invariavelmente ligadas a
operações diversas de gerenciamento de dados, tais como:
ì Tratamento
ì Armazenamento
ì Apresentação
ì Interpretação
ì Geração ou recuperação
ì Após a revolução causada pela Internet:
ì O acesso à informação tornou-‐se mais fácil, amplo e democrá6co
ì Provocou um sério e crescente problema de organização de dados
Motivação
ì A u6lização correta e eficiente de dados nem sempre é tarefa simples
ì Esse raciocínio se aplica tanto a grandes quanto a pequenos conjuntos
de dados
ì A falta de planejamento e organização pode expor a base de dados a vários
problemas:
ì Ausência da coleta de dados que se mostrarão futuramente
importantes
ì Coleta de dados sem importância
ì Presença de inconsistências sobre os dados armazenados
ì Problemas são causados quando não há uma séria preocupação com o
detalhamento dos dados que serão usados
ì Não é uma boa polí6ca guardar dados de forma desorganizada, sem saber
Objetivos da Aula
ì O obje6vos desta aula são:
ì Introduzir a idéia de bases de dados
ì Entender a relação existente entre informação e dado
ì Compreender a importância:
ì da escolha das formas de representação de dados
ì do controle de qualidade da base de dados
ì da organização dos dados
ì do planejamento voltado para uma correta u6lização futura
ì Associar bases de dados com o ambiente de uso de
computadores e sistemas de so0ware
Objetivos da Aula
ì
A obje6vo desta aula NÃO é discu6r formas mais avançadas de
modelagem de dados
Dados e Informações
ì Dados e informação possuem significados diferentes do ponto de
vista de processamento computacional
ì Dado (ou dado bruto) é qualquer elemento que possa ser processado
por um computador, tais como:
ì um conjunto de números
ì cadeias de caracteres
ì imagens
ì códigos de barras
ì senhas criptografadas
ì etc
ì Informação é a interpretação dada a um conjunto de dados,
Dados e Informações: Exemplo
ì Em muitas livrarias, o processo de cobrança dos caixas é
automa6zado, realizado por meio de códigos de barras
A leitura do código de barras é realizada
por um 6po especial de scanner, que
o interpreta e mapeia para números
ou letras, que serão tratados pelo
sistema de computador
ì Como os códigos de barras podem ser manipulados
computacionalmente, podemos chamá-‐los de dados
ì Apesar da forma válida de representação, um código de barras,
isoladamente, tem pouco significado quando dissociado do objeto ]sico que representa
Dados e Informações: Exemplo
ì O código de barra abaixo pertence a um livro específico. Dessa forma,
a informação representada pelo código é, nesse caso, o livro abaixo
ì Todas as vezes que o computador processar alguma operação
relacionada ao código de barras....
ì Estará na realidade, processando a operação para o livro
Dados e Informações
A
informação
é o
elemento
essencial e significa6vo
que desejamos
u6lizar
e
manipular
dentro de
algum contexto
O
dado
é a
representação computacional
de
alguma informação
Base de Dados
ì Base de dados: qualquer conjunto de dados para o qual se deseja:
ì armazenar o conteúdo
ì recuperar o conteúdo
ì visualizar o conteúdo
ì Armazenamento é uma forma de preservar confiavelmente o dado em local
conhecido, para alguma futura u6lização
ì Por exemplo, uma lista de supermercado é uma
base de dados, possuindo as principais caracterís6cas de toda base de dados: ì Armazenamento
ì Recuperação
Base de Dados
ì Uma base de dados permite:
ì Armazenamento (Persistente): Listas de
supermercado podem ser armazenadas tanto em mídias simples (como papel) quanto em mídias digitais gerenciadas por disposi6vos como palms, celulares, etc.
O obje6vo de todas essas mídias é arquivar as informações em
um local confiável para futura u6lização. Dizemos que, nessa
situação, o armazenamento é persistente
ì Recuperação: No supermercado, a lista cumpre a sua principal
função; lembrar os itens que devem ser comprados. Um dos principais obje6vos de qualquer base de dados é recuperar
Base de Dados
ì Uma base de dados permite (con6nuação):
ì Visualização: trabalha a forma como os dados
recuperados são exibidos. Imagine, por
exemplo, que a lista seja mostrada em ordem alfabé6ca. Se os itens da lista forem procurados nessa ordem, o usuário provavelmente andará em círculos pelo supermercado
Isso ocorre porque a lista ignora a organização dos itens em setores dentro do supermercado (setores de alimentos congelados, vestuário, bebidas, doces, etc.)
Uma lista que exibe os itens agrupados nos setores do
supermercado poderia melhorar sensivelmente a sua busca nas prateleiras
Base de Dados
ì
Exemplos de base de dados:
ì
Lista de clientes de uma empresa
ì
Lista de corren6stas de um banco
ì
Lista de alunos de uma universidade
ì
Lista de livros de uma biblioteca
Organização de Dados
ì Existem vários modos de organizar uma base de dados:
ì Quando representada por uma planilha, a base de dados pode
ser vista como uma matriz de dados:
ì Oferece uma forma fácil de visualização global dos dados
ì Permite iden6ficar precisamente a posição de cada valor
armazenado na base
Organização de Dados
ì Linhas da tabela:
ì Armazenam itens de dados
ì Colunas da tabela:
ì Armazenam atributos (propriedades ou caracterís6cas)
Organização de Dados -‐ Exemplo
ì Considere uma lista de supermercado, onde deseja-‐se anotar os
seguintes itens:
ì Nome do produto: Nome usado para iden6ficar o produto
pesquisado
ì Fabricante: Nome do fabricante do produto pesquisado
ì Quan6dade: Valor numérico para quan6ficar o produto
pesquisado
ì Medida: Unidade de medida usada para classificar o produto,
normalmente indicado em sua embalagem. Neste exemplo, assuma as seguintes unidades: kg (quilogramas), l (litros), g (gramas), u (unidades) e p (pacotes)
ì Preço: Valor de compra do produto
ì Supermercado pesquisado: Nome do supermercado onde foi
realizada a pesquisa
Organização de Dados -‐ Exemplo
ì Dessa maneira, a base de dados poderia ser organizada com as seguintes
colunas (atributos):
ì Após uma hipoté6ca visita a vários supermercados, considere que a
base de dados foi preenchida com os seguintes valores:
Organização de Dados -‐ Características
ì Esta tabela nos permite perceber caracterís6cas que conferem à base
de dados uma boa e desejável organização:
ì Linhas contém DADOS relacionados aos produtos (instâncias ou
itens de dados)
ì Colunas contém os principais ATRIBUTOS dos produtos que se
deseja armazenar
ì Na mesma coluna, só estão presentes DADOS relacionados ao
mesmo ATRIBUTO, sem exceção
ì Na mesma linha, só estão presentes DADOS relacionados ao
Organização de Dados -‐ Características
ì
Cada
atributo
de uma
linha
contém apenas um valor, ao invés
de poder conter uma
coleção de valores
(atributo
monovalorado)
ì
A
base de dados
pode
crescer
em seu
número de linhas
indefinidamente
ì
Para cada
produto pesquisado
, o usuário tem consigo uma
referência de quais
informações
são
relevantes
e devem ser
armazenadas na
base
, minimizando problemas de
coleta de
Tipos de Dados
ì
Toda a
base de dados
deve reservar uma especial atenção para
a
escolha
dos
6pos de valores armazenados
(6pos de dados)
ì
A
escolha
correta dos
6pos de dados
permite
elevar
o
nível de
qualidade
da base:
ì Torna viável controlar possíveis erros de cadastramento de
valores;
ì O controle busca prevenir inconsistências:
ì Armazenamento de letras em locais des6nados a valores
numéricos
Tipos de Dados e Domínios
ì
Dentre os 6pos de dados destaca-‐se:
ì
Número
: Representa
valores
numéricos
de forma geral. Ex.:
-‐12,3; 4; +345,1234; ...
ì
Texto
: Representa
cadeias de caracteres
(seqüências
cononuas de caracteres). Normalmente apresentadas entre
aspas duplas (“ ”), as cadeias de caracteres permitem
representar informações textuais. Ex.: “Joaquim José da Silva
Xavier”, “Avenida dos Estados, 5001", “7 de setembro", ...
ìMoeda
: Uma variação do 6po que representa valores
numéricos
, na qual existe uma parte
inteira
e uma
fracionária
com, no
máximo
,
dois dígitos decimais
. É ú6l para
trabalhar com operações financeiras. Ex.: -‐12,34; 56,99; ...
Tipos de Dados e Domínios
ì Dentre os 6pos de dados destaca-‐se:
ì Data: Representação de uma data no calendário Gregoriano, com
informações sobre dia, mês e ano. Datas não apresentam padrão de formato específico, possuindo muitas formas de apresentação em diferentes países. Por exemplo, DD/MM/AAAA, ex.:
12/12/2012; 29/02/2000; ...
ì Hora: Representa a divisão de tempo no período de 1 (um) dia.
Normalmente, adota-‐se o formato hh:mm:ss, com dois dígitos
para horas (hh), dois para minutos (mm) e dois para segundos (ss)
ì Lógico: Representa os valores lógicos VERDADEIRO e FALSO, os
únicos valores válidos para esse 6po. Muito usado quando se deseja projetar alguma operação condicional sobre os dados
Observações sobre Planilhas
ì Planilhas eletrônicas são sistemas de so0ware que servem para:
ì Organizar dados
ì Proporcionar visualização e tratamento matricial
ì Integrar com um número razoável de funções (matemá6cas, estaos6cas,
etc) e sistemas geradores de gráficos ì Etc
Em sistemas de so0ware específicos para o tratamento de bases de dados, o controle de 6pos e domínios é extremamente rigoroso,
obrigando a adequação dos valores a seus respec6vos 6pos e domínios
ì Mas muitas funcionalidades, principalmente as relacionadas
ao controle de consistência, são menos rígidas e flexíveis do
Arquivos Estruturados
ì Arquivos estruturados (ou flat
files) são arquivos de dados
organizados sob uma estrutura
rígida e pré-‐definida
ì Os arquivos estruturados são
muito usados para a troca de dados entre sistemas
computacionais diferentes que não mantêm, entre si, um
canal direto de comunicação ì Definem-‐se caracteres (ou
seqüências de caracteres) que exercerão o papel de
delimitadores de linha e de coluna
Arquivos Estruturados
ì Por exemplo, podemos assumir
ì O caractere ; como separador de colunas
ì O caractere quebra de linha como
separador de linhas
ì Note que, obrigatoriamente, todas as
linhas possuem cinco(5) separadores de coluna, evidenciando que a tabela possui seis(6) colunas
ì Esse formato é uma variação do conhecido CSV (Comma-‐Separated
Values), em que as vírgulas (,) são usadas como separadores de colunas
ì Como nosso exemplo usa vírgulas na coluna Preço para compor o
Consultas em Bases de Dados
ì
Uma
seleção de linhas
em uma base de dados é denominada
uma
consulta
ì O usuário pode desejar fazer a seleção de linhas de uma base de
dados, u6lizando diversos critérios
ì Uma
consulta
é expressa por meio de um ou mais predicados,sendo que cada predicado envolve:
ì um atributo
ì um operador
ì um valor
ì Um predicado resulta em uma expressão lógica que determinará se
Consultas em Bases de Dados
ì Dentre os operadores usados em uma
consulta citam-‐se:
ì Operadores lógicos AND e OR:
ì predicado1 AND
predicado2: é verdadeiro
somente se ambos predicado1 e predicado2 forem
verdadeiros. Caso contrário, é falso ì predicado1 OR predicado2:
é verdadeiro se predicado1 ou predicado2 (algum dos dois) forem verdadeiros. Caso contrário, é falso
Parte Prática -‐ BrOffice
ì
Cálculos e gráficos em programas de planilhas
ì
Todos os procedimentos apresentados aqui podem ser
realizados em qualquer programa de planilha. O pacote
BrOffice pode ser baixado para uso livre em casa do endereço
h*p://broffice.org/
ì
Abre (botão início):
ì → programas → BrOffice.org → BrOffice.org Calc
Atividades para Entregar
ì Fazer os TRÊS exercícios complementares da página 136 e anexar no Tidia:
ì O arquivo idh.csv encontra-‐se no Tidia anexado em “Repositorio/ 4.BaseDeDados”
ì A data limite de entrega está no ambiente Tidia, na opção A6vidades
ì USO DE BASE DE DADOS NA PRÁTICA
ì Obter uma base de dados, relacionada a uma situação real. Citar de onde obteve esta base de dados. Esta base de dados deve ter, no mínimo, 30 linhas
ì Descrever esta base de dados: o contexto dos dados, o que significa cada atributo, etc
ì Trabalhar com esta base de dados na planilha BrOffice-‐Calc
ì U6lizar seis (06) comandos no Calc para trabalhar com esta base de
dados
ì A entrega deve ser feita na forma de um arquivo no formato PDF ou DOC