Download Bases de Dados e Sistemas de Informação

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Bases de Dados
e Sistemas de Informação
José Júlio Alferes
Seminários de Informática 04/05
Sumário
 O que são Bases de Dados:
 Sistemas de Gestão de Bases de Dados
 Exemplos de aplicação
 Modelos de dados
 Linguagens de Definição e de Manipulação de Dados
 Utilizadores de Bases de Dados
 Componentes de um Sistema de Bases de dados
 Mais sobre Sistemas de Informação:
 Data Warehousing (armazéns de dados)
 Data Mining
 Sistemas de Informação para a Web
Seminários de Informática 04/05
2
Bases de Dados e Sistemas de Informação
Sistemas de Gestão de Bases de Dados (SGBDs)
 Colecção de dados inter-relacionados (Base de Dados)
 Conjunto de programas para aceder aos dados
 São normalmente usados para gerir grandes quantidades de
informação
 Devem fornecer um ambiente de utilização conveniente e
eficiente.
P3
P1
...
Pn
P2
Seminários de Informática 04/05
3
Bases de Dados e Sistemas de Informação
Exemplos de Aplicação
 Banca: todas as transacções e movimentos
 Companhias aéreas: reservas, horários
 Universidades: inscrições, notas
 Vendas: clientes, produtos, compras
 Indústria: produção, inventário, pedidos, cadeia de
fornecimento
 Recursos humanos: registos dos empregados,
salários, impostos
 ...
Seminários de Informática 04/05
4
Bases de Dados e Sistemas de Informação
Exemplo de uso de SGBD
 Um banco quer guardar a informação dos seus
clientes.
 Precisa depois de programas para:
 Fazer débitos e créditos numa conta
 Abrir e fechar contas
 Ver saldos duma conta
 Fazer extractos periódicos das contas
 Como guardar a informação ?
 Uma conta pode ter vários clientes e um cliente várias
contas!
 Não podem haver saldos negativos!
Seminários de Informática 04/05
5
Bases de Dados e Sistemas de Informação
Os SGBDs devem:
 Evitar redundâncias
 Facilitar o acesso aos dados
 Permitir acesso simultâneo à informação
 Garantir a segurança dos dados
 Garantir a integridade da informação
 de acordo com restrições pré-definidas
 Permitir vários níveis de abstracção
Seminários de Informática 04/05
6
Bases de Dados e Sistemas de Informação
Vantagens do uso de SGBD
 Dados centralizados versus por programas
 redundância
 dificuldades em garantir integridade
 Como garantir, por exemplo, que não há contas
negativas?
 uniformidade na segurança e acesso simultâneo
Seminários de Informática 04/05
7
Bases de Dados e Sistemas de Informação
Funções de um SGBD
 Inconvenientes dos sistemas de ficheiros no armazenamento
de dados:
 Redundância e inconsistência de dados
 Múltiplos formatos, duplicação de informação em ficheiros
diferentes
 Dificuldades no acesso aos dados
 Necessidade de escrever um novo programa para efectuar
uma nova tarefa
 Isolamento de dados — múltiplos ficheiros e formatos
 Problemas de integridade
 Restrições de integridade (e.g. saldo da conta> 0) estão
incluídas no código dos programas
 Difícil alterar ou adicionar novas restrições
Seminários de Informática 04/05
8
Bases de Dados e Sistemas de Informação
Funções de um SGBD (Cont.)
 Inconvenientes dos sistemas de ficheiros (cont.)
 Atomicidade das alterações
 Falhas podem colocar a base de dados num estado inconsistente
com alterações parciais já efectuadas.
 E.g. transferência de dinheiro de uma conta para outra ou deve ser
totalmente realizada ou nenhuma alteração deve ser efectuada
 Acessos concorrentes por diversos utilizadores
 Acessos concorrentes necessários por motivos de eficiência
 Os acessos concorrentes não controlados podem originar
inconsistências
 E.g. duas pessoas a consultarem um saldo e a alterá-lo ao
mesmo tempo
 Problemas de segurança
 Os sistemas de Bases de Dados pretendem oferecer soluções
para todos estes problemas.
Seminários de Informática 04/05
9
Bases de Dados e Sistemas de Informação
Níveis de Abstracção
 Nível físico: descreve como
um registo (e.g., cliente) é
armazenado.
 Nível lógico: descreve os
dados armazenados na base de
dados, assim como as relações
entre os dados.
 Nível das vistas: as
aplicações ocultam os detalhes
dos tipos de dados. As vistas
também podem esconder
informação (e.g., salário) por
motivos de segurança.
Seminários de Informática 04/05
10
Bases de Dados e Sistemas de Informação
Modelos de Dados
 Ferramentas ( formais) para descrever:
 os vários tipos de dados
 as relações entre eles
 o seu significado
 as restrições de integridade
 Modelo Entidade-Associação (ER – Entity Relationship)
 Modelo Relacional
 Outros modelos:




Modelo orientado para objectos
Modelos de dados semi-estruturados
Modelo hierárquico
Modelo em rede
Seminários de Informática 04/05
11
Bases de Dados e Sistemas de Informação
Instâncias e Esquemas
 Instância de base de dados:
 Informação armazenada num dado momento
 Esquema de dados:
 Design genérico da base de dados
 Independência física dos dados – a capacidade de modificar o
esquema físico sem alterar o esquema lógico
 As aplicações dependem do esquema lógico
 Em geral, as interfaces entre os vários níveis e componentes devem
estar bem definidas de modo a que alterações numa parte não
influenciem grandemente outras partes.
 Independência lógica dos dados – a capacidade de modificar o
esquema conceptual sem necessidade de mudar os programas
Seminários de Informática 04/05
12
Bases de Dados e Sistemas de Informação
Modelo ER
Exemplo de um esquema no modelo ER
Seminários de Informática 04/05
13
Bases de Dados e Sistemas de Informação
Modelo ER (Cont.)
 Modelização ER do mundo
 Entidades (objectos)
 E.g. customers, accounts, bank branch
 Associações entre entidades
 E.g., a conta A-101 pertence ao cliente Johnson
 O conjunto de associações depositante associa clientes a
contas
 Amplamente utilizado no desenho de bases de dados
 O desenho de base de dados no modelo ER é normalmente
convertido para o desenho no modelo relacional (a seguir) que é
utilizado para processamento e armazenamento
Seminários de Informática 04/05
14
Bases de Dados e Sistemas de Informação
Modelo Relacional
Atributos
 Exemplo de conjunto de dados no modelo relacional
Customerid
customername
192-83-7465
Johnson
019-28-3746
Smith
192-83-7465
Johnson
321-12-3123
Jones
019-28-3746
Smith
Seminários de Informática 04/05
customerstreet
customercity
accountnumber
Alma
Palo Alto
A-101
North
Rye
A-215
Alma
Palo Alto
A-201
Main
Harrison
A-217
North
Rye
A-201
15
Bases de Dados e Sistemas de Informação
Exemplo de Base de Dados Relacional
Seminários de Informática 04/05
16
Bases de Dados e Sistemas de Informação
Modelo Relacional
 Modelização Relacional
 Os dados encontram-se em relações (ou tabelas)
 Cada tabela tem um conjunto de atributos (colunas) cada uma das
quais com um domínio
 A informação é “armazenada" em linhas
 Podem estabelecer-se restrições sobre os dados
 Chaves
 Eg: Não podem haver duas linhas em customer com o
mesmo customer-id
 Chaves Estrangeiras (que estabelecem relações entre tabelas)
 Eg: No atributo customer-id da tabela depositor só podem
aparecer valores que também apareçam na tabela customer
 Utilizado na grande maioria dos actuais sistemas de gestão de
bases de dados
Seminários de Informática 04/05
17
Bases de Dados e Sistemas de Informação
Linguagem de Definição de Dados (DDL)
 Especificação da notação para definição do esquema da base de dados
 E.g.
create table account (
account-number
balance
primary key
char(10),
integer check (balance > 0),
account-number)
 O compilador da DDL gera um conjunto de tabelas armazenadas num
dicionário de dados.
 O dicionário de dados contém metadados (dados sobre dados)
 Esquema de bases de dados
 Linguagem de definição de dados e armazenamento
 Linguagem onde se especificam as estruturas de armazenamento e
métodos de acesso utilizados pela base de dados
 Normalmente uma extensão da linguagem da definição de dados
Seminários de Informática 04/05
18
Bases de Dados e Sistemas de Informação
Ling. de Manipulação de Dados (DML)
 Linguagem para aceder e manipular os dados organizados de
acordo com o respectivo modelo de dados
 A DML também é conhecida por linguagem de consulta
 Duas classes de linguagens
 Procedimental – o utilizador especifica quais os dados que se
pretendem assim como obter os dados
 Declarativa – o utilizador especifica quais os dados pretendidos
sem especificar a maneira como os obter
 A SQL é a linguagem de consulta mais utilizada. É uma
linguagem declarativa.
Seminários de Informática 04/05
19
Bases de Dados e Sistemas de Informação
SQL
 SQL: linguagem não-procedimental (declarativa) de uso generalizado
 E.g. encontrar o nome de cliente com customer-id 192-83-7465
select customer.customer-name
from customer
where customer.customer-id = ‘192-83-7465’
 E.g. procurar os saldos de todas as contas detidas pelo cliente com customer-id
192-83-7465
select account.balance
from depositor, account
where depositor.customer-id = ‘192-83-7465’ and
depositor.account-number = account.account-number
 As aplicações geralmente acedem a bases de dados por intermédio de:
 Extensões às linguagens permitindo SQL embebido:
 Interface de aplicações (e.g. ODBC/JDBC) permitindo o envio de consultas SQL
para a base de dados
Seminários de Informática 04/05
20
Bases de Dados e Sistemas de Informação
Utilizadores da Base de Dados
 Os utilizadores diferenciam-se pela forma esperada de
interacção com o sistema
 Programadores de aplicações– interagem com o sistema através
de chamadas DML
 Utilizadores sofisticados – constróem pedidos numa linguagem
de consulta a bases de dados
 Utilizadores especializados – escrevem aplicações de bases de
dados especializadas que não se enquadram com no espírito do
processamento de dados tradicional
 Utilizadores – chamam uma das aplicações que foi construída
previamente
 E.g. pessoas a acederem a uma base de dados através da Web,
caixas, pessoal de secretariado
Seminários de Informática 04/05
21
Bases de Dados e Sistemas de Informação
Administrador da Base de Dados
 Coordena todas as actividades do sistema de base de dados; o
administrador da base de dados compreende bem dos recursos
e necessidades de informação da empresa.
 As funções do administrador de bases de dados incluem:
 Definição do esquema
 Definição dos métodos de acesso e estrutura de armazenamento
 Modificação do esquema e da organização física
 Dar aos utilizadores autorizações de acesso à base de dados
 Especificar restrições de integridade
 Servir de ligação entre os utilizadores
 Monitorar a performace e responder a alterações nos requisitos.
Seminários de Informática 04/05
22
Bases de Dados e Sistemas de Informação
Estrutura Genérica do Sistema
Seminários de Informática 04/05
23
Bases de Dados e Sistemas de Informação
Gestão de Transacções
 Uma transacção é um conjunto de operações que efectuam uma
função lógica na aplicação de base de dados
 A componente de gestão de transacções garante que a base de
dados se mantém num estado consistente (correcto) apesar de
falhas no sistema (e.g., falta de energia eléctrica e paragens
abruptas do sistema operativo) e de transacções falhadas.
 O gestor de controlo de concorrência coordena a interacção
entre transacções concorrentes para garantir a consistência da
base de dados.
Seminários de Informática 04/05
24
Bases de Dados e Sistemas de Informação
Gestão do Armazenamento
 O gestor do armazenamento é um módulo de programa que
fornece uma interface entre os dados de baixo nível
armazenados na base de dados e as aplicações e consultas
submetidas ao sistema.
 O gestor de armazenamento é responsável pelas seguintes
tarefas:
 interacção com o gestor de ficheiros
 armazenamento, recuperação e alteração eficientes dos dados
Seminários de Informática 04/05
25
Bases de Dados e Sistemas de Informação
Sistemas Operacionais
 Até aqui vimos sobretudo sistemas OLTP – On Line Transaction
Processing
 Sistemas que suportam o dia a dia do negócio ou actividade de
uma empresa ou instituição
 Exemplo:
 Se alguém compra um produto numa loja o sistema retira uma
unidade desse produto do stock existente, emite uma factura.
Se chegam novas unidades do produto o sistema actualiza o
stock
 Características
 Milhares ou milhões de transações (SABRE - 4000 trans/s)
 Pequenas operações, repetidas e previsíveis
 Tempo real
Seminários de Informática 04/05
26
Bases de Dados e Sistemas de Informação
Sistemas Analíticos
 OLAP – On Line Analytical Processing
 Sistemas que permitem os utilizadores analisarem diferentes
aspectos da actividade e desempenho da empresa
 Exemplo
 Como é que determinado produto se está a vender pelas
diferentes regiões? Qual foi a evolução das suas vendas desde
a sua introdução no mercado?
 Características de utilização
 Poucas interrogações (quando comparado com os sistemas OLTP)
 Grandes volumes de dados envolvidos em cada interrogação (para
obter frequentemente um reduzido sumário)
 Grande variedade e pouca previsibilidade
 Consulta e exploração (não edição)
Seminários de Informática 04/05
27
Bases de Dados e Sistemas de Informação
Os Sistemas Operacionais são
substancialmente diferentes dos Analíticos
“The users of an OLTP system are running the wheels of the
organization. The users of a data warehouse are watching the
wheels of the organization” [Kimball]
 Diferentes sob vários aspectos [Kimball]
 Os utilizadores são diferentes
 O conteúdo é diferente
 As estruturas de dados são diferentes
 O Software é diferente
 O Hardware é muitas vezes diferente
 A sua administração é diferente
 A gestão de sistemas é diferente
 O ritmo diário de operação é diferente.
Seminários de Informática 04/05
28
Bases de Dados e Sistemas de Informação
Data warehouse
- Infra-estrutura para suporte à decisão “A data warehouse is an analytical database that is used as the
foundation of a decision support system. It is designed for large
volumes of read-only data, providing intuitive access to
information that will be used in making decisions.
A data warehouse is created as ongoing commitment by the
organization to ensure the appropriate data is available to the
appropriate end user at the appropriate time”
[Vidette Poe, et all, 1997]
Seminários de Informática 04/05
29
Bases de Dados e Sistemas de Informação
Arquitectura de Referência
Fontes
Ad Hoc Query Tools
Gestão e Operação
OLTP
.
.
.
OLTP
MetaData
Extracção
Limpeza
Transformação
Carregamento
Fontes
Externas
Report Writers
Data
Warehouse
Data
Marts
Plataformas e
Infra-estruturas de suporte
Configuração, Gestão e Operação
Seminários de Informática 04/05
Multidimensional
Analysis
30
Aplicações
- DataMining
- ….
Bases de Dados e Sistemas de Informação
Data Mining
 E depois de ter estes dados todos, eventualmente numa data
warehouse, será que não há para lá relações entre partes de
informação, que são interessantes?
 Como descobri-las?
 Como agrupar os dados?
 Como extrair conceitos?
 Como extrair regras?
 Isso é o que se estuda em Data Mining. Usam-se técnicas várias
de aprendizagem automática para agrupar dados e descobrir
relações entre eles
 Ao processo de Data Mining é também comum chamar-se
Knowledge Discovery
 A todo o processo também se chama Business Intelligence
Seminários de Informática 04/05
31
Bases de Dados e Sistemas de Informação
Sistemas de Informação na Web
 Cada vez existe informação disponível pela Web.
 Pode ver-se a Web como um enorme sistema de informação, sobre
o qual se podem desenvolver aplicações.
 Mas há muitas diferenças:
 Dados distribuídos
 Dados não estruturados
 Não há garantias de consistência
 Numa primeira fase, Web apenas de (hyper) texto (HTML)
 Nenhuma estrutura
 Difícil de perceber como lidar com páginas de forma automática
Seminários de Informática 04/05
32
Bases de Dados e Sistemas de Informação
Dados semi-estruturados na Web
 XML como forma de permitir dados semi-estruturados
localmente
 Tags arbitrárias
 DTDs com descrição da estrutura, publicamente disponível
 XSLT para transformação (e visualização) de dados XML
 Existem linguagens (declarativas) para interrogação de dados
XML
 XPath, XQuery, Xcerpt, XQL, etc
 Existem modelos de dados para XML
 Estrutura hierárquica
 Dados “armazenados em árvore”
 Existem sistemas que lidam com tudo isto
 Hoje em dia qualquer browser lida com XML e processa
XSLT/XPath
Seminários de Informática 04/05
33
Bases de Dados e Sistemas de Informação
O Futuro – Semantic Web
 Hoje em dia a Web está em máquinas mas é para ser usada por
humanos
 Eu consigo à mão, através da Web marcar um Hotel para Munique
de 1 a 3 de Maio.
 Como fazer um programa que consiga fazer isso por mim?
 Como é que o meu programa ia entender o que está nas páginas?
 Mesmo que estas estivessem em XML, como é que ia saber o
significado de cada tag, havendo vários DTDs?
 A ideial da Semantic Web é o de fazer uma Web em máquinas,
para humanos mas também para máquinas!
Seminários de Informática 04/05
34
Bases de Dados e Sistemas de Informação
Semantic Web
“The Semantic Web is an extension of the current web in which
information is given well-defined meaning, better enabling computers
and people to work in cooperation.”
Tim Berners-Lee
 A ideia é que à informação se juntem também descrições do significado
dos dados
 Existem já linguagens para descrição de conceitos e significados de
dados na Web
 RDF, OWL (e, em desuso, DAML, OIL)
 Permitirá que máquinas, lendo os dados e os seus significados, possam
de forma eficiente entender os conteúdos
 Exige:
 Repositórios com definições de conceitos
 Que as páginas tenham referência a significado
Seminários de Informática 04/05
35
Bases de Dados e Sistemas de Informação
Disciplinas oferecidas pelo DI nesta área
 Na Licenciatura em Engenharia Informática
 Bases de Dados 1
 Bases de Dados 2
 Bases de Dados e Data Warehousing
 Tecnologias de Sistemas de Informação baseados na Web
 No Mestrado em Engenharia Informática
 Text and Data Mining
 Tópicos de Representação do Conhecimento para a Web
Seminários de Informática 04/05
36
Bases de Dados e Sistemas de Informação