Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

36
Bases de Dados Bases de Dados e Sistemas de Informação e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06

Transcript of Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Page 1: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de DadosBases de Dadose Sistemas de Informaçãoe Sistemas de Informação

José Júlio Alferes

Seminários de Informática 05/06

Page 2: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação2Seminários de Informática 04/05

SumárioSumá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

Page 3: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação3Seminários de Informática 04/05

Sistemas de Gestão de Bases de Dados (SGBDs)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.

P1

P2

P3

Pn

...

Page 4: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação4Seminários de Informática 04/05

Exemplos de AplicaçãoExemplos 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

...

Page 5: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação5Seminários de Informática 04/05

Exemplo de uso de SGBDExemplo 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 contaAbrir e fechar contasVer saldos duma contaFazer 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!

Page 6: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação6Seminários de Informática 04/05

Os SGBDs devem: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çãode acordo com restrições pré-definidas

Permitir vários níveis de abstracção

Page 7: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação7Seminários de Informática 04/05

Vantagens do uso de SGBDVantagens 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

Page 8: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação8Seminários de Informática 04/05

Funções de um SGBDFunçõ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

Page 9: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação9Seminários de Informática 04/05

Funções de um SGBD (Cont.)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.

Page 10: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação10Seminários de Informática 04/05

Níveis de AbstracçãoNí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.

Page 11: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação11Seminários de Informática 04/05

Modelos de DadosModelos de Dados

Ferramentas ( formais) para descrever:os vários tipos de dadosas relações entre eleso seu significadoas 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

Page 12: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação12Seminários de Informática 04/05

Instâncias e EsquemasInstâ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

Page 13: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação13Seminários de Informática 04/05

Modelo ERModelo ER

Exemplo de um esquema no modelo ER

Page 14: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação14Seminários de Informática 04/05

Modelo ER (Cont.)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

Page 15: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação15Seminários de Informática 04/05

Modelo RelacionalModelo Relacional

Exemplo de conjunto de dados no modelo relacional

customer-name

Customer-idcustomer-street

customer-city

account-number

Johnson

Smith

Johnson

Jones

Smith

192-83-7465

019-28-3746

192-83-7465

321-12-3123

019-28-3746

Alma

North

Alma

Main

North

Palo Alto

Rye

Palo Alto

Harrison

Rye

A-101

A-215

A-201

A-217

A-201

Atributos

Page 16: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação16Seminários de Informática 04/05

Exemplo de Base de Dados RelacionalExemplo de Base de Dados Relacional

Page 17: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação17Seminários de Informática 04/05

Modelo RelacionalModelo 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

Page 18: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação18Seminários de Informática 04/05

Linguagem de Definição de Dados (DDL)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 char(10), balance integer check (balance > 0), primary key 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

Page 19: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação19Seminários de Informática 04/05

Ling. de Manipulação de Dados (DML)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.

Page 20: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação20Seminários de Informática 04/05

SQLSQL

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-namefrom customerwhere 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.balancefrom depositor, accountwhere 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

Page 21: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação21Seminários de Informática 04/05

Utilizadores da Base de DadosUtilizadores 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

Page 22: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação22Seminários de Informática 04/05

Administrador da Base de DadosAdministrador 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.

Page 23: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação23Seminários de Informática 04/05

Estrutura Genérica do Sistema Estrutura Genérica do Sistema

Page 24: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação24Seminários de Informática 04/05

Gestão de TransacçõesGestã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.

Page 25: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação25Seminários de Informática 04/05

Gestão do ArmazenamentoGestã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

Page 26: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação26Seminários de Informática 04/05

Sistemas OperacionaisSistemas 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

Page 27: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação27Seminários de Informática 04/05

Sistemas AnalíticosSistemas 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)

Page 28: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação28Seminários de Informática 04/05

Os Os SSistemas Operacionais são istemas Operacionais são substancialmente diferentes dos Analíticossubstancialmente 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.

Page 29: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação29Seminários de Informática 04/05

Data warehouseData warehouse- Infra-estrutura para suporte à decisão - - 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]

Page 30: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação30Seminários de Informática 04/05

Arquitectura de ReferênciaArquitectura de Referência

Fontes

OLTP

OLTP

.

.

.

FontesExternas

ExtracçãoLimpezaTransformaçãoCarregamento

Data Warehouse

MetaData

Plataformas e Infra-estruturas de suporte

DataMarts

Gestão e Operação

Aplicações - DataMining - ….

Ad Hoc Query Tools

Report Writers

Multidimensional Analysis

Configuração, Gestão e Operação

Page 31: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação31Seminários de Informática 04/05

Data MiningData 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

Page 32: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação32Seminários de Informática 04/05

Sistemas de Informação na WebSistemas 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

Page 33: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação33Seminários de Informática 04/05

Dados semi-estruturados na WebDados 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

Page 34: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação34Seminários de Informática 04/05

O Futuro – Semantic WebO 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!

Page 35: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação35Seminários de Informática 04/05

Semantic WebSemantic 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

Page 36: Bases de Dados e Sistemas de Informação José Júlio Alferes Seminários de Informática 05/06.

Bases de Dados e Sistemas de Informação36Seminários de Informática 04/05

Disciplinas oferecidas pelo DI nesta áreaDisciplinas 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