Bases de Dados

Propaganda
Sistemas de Informação e
Bases de Dados
Apresentação da disciplina
Programa







Modelo entidade-associação
Modelo e álgebra relacionais
SQL
Desenvolvimento de aplicações
Estruturas de ficheiros e índices
Processamento e optimização de queries
Transacções, concorrência e recuperação
IST ▪ DEI ▪ Bases de Dados
2
Bibliografia
Database System Concepts (5ª ed.)
A. Silberschatz, H. Korth, S. Sudarshan
McGraw-Hill, 2006
ISBN 007-124476-X
Capítulos: 1, 2, 3, 4, 6, 7, 8, 11, 12, 13, 14, 15, 16, 17
IST ▪ DEI ▪ Bases de Dados
3
Corpo Docente
 Responsável – Diogo Ferreira
([email protected])
 Teóricas – Pedro Sousa
([email protected])
 Práticas – Artur Caetano
([email protected])
IST ▪ DEI ▪ Bases de Dados
4
Funcionamento da aulas
 Aulas teóricas
• exposição da matéria
• sessões de demonstração
 Aulas laboratoriais
• exercícios semanais
IST ▪ DEI ▪ Bases de Dados
5
Avaliação
 Componentes de avaliação
• 40% - exercícios semanais
▫ avaliados de 0-5
• 60% - exame
▫ nota mínima 10
▫ nota final ≥ nota do exame
IST ▪ DEI ▪ Bases de Dados
6
Bases de Dados
Introdução
Sistemas de gestão de bases de dados
 Sistema de Gestão de Bases de Dados (SGBD)
• o que é?
▫ conjunto de dados
▫ e programas para aceder a esses dados
• contém informação relevante para a empresa
• objectivo: armazenar e consultar informação de
modo conveniente e eficiente
IST ▪ DEI ▪ Bases de Dados
8
Aplicações de bases de dados
 Aplicações:
• banca, linhas aéreas, universidades, administração,
retalhistas, produção, recursos humanos, etc.
• âmbito cada vez mais alargado
 Cada vez mais próximas dos utilizadores
• bases de dados institucionais
• bases de dados online
• bases de dados pessoais
IST ▪ DEI ▪ Bases de Dados
9
Porquê sistemas de bases de dados?
 necessidade de realizar e registar operações
• p.ex. criar conta, verificar saldo, efectuar
débito/crédito, gerar extracto
 no passado, aplicações assentes em ficheiros
• redundância
• inconsistência
• fragmentação
• concorrência
• segurança
IST ▪ DEI ▪ Bases de Dados
10
Níveis de abstracção
 nível físico, nível lógico, e vistas
 esquemas e instâncias
vista 1
vista 2
…
vista n
nível lógico
nível físico
IST ▪ DEI ▪ Bases de Dados
struct customer
{
int id;
char name[256];
float balance;
}
11
Modelos de dados
 Modelo Relacional
• baseado em tabelas com múltiplas colunas
• cada coluna (campo/atributo) com nome diferente
• cada linha corresponde a um registo (record)
 Modelo Entidade-Associação
• diagrama que descreve entidades e associações
• cada entidade possui um conjunto de atributos
IST ▪ DEI ▪ Bases de Dados
12
Linguagens de bases de dados
 Linguagem de Definição de Dados (DDL)
• permite especificar o esquema dos dados
▫ valores de domínio, integridade referencial, asserções,
autorização
• resultado é guardado no dicionário de dados
 Linguagem de Manipulação de Dados (DML)
• permite consultar, inserir, apagar e modificar dados
 SQL cobre as duas funções
IST ▪ DEI ▪ Bases de Dados
13
Bases de dados relacionais – Tabelas
IST ▪ DEI ▪ Bases de Dados
14
Bases de dados relacionais – DDL
 criação da tabela account
CREATE TABLE account (
account-number
balance
IST ▪ DEI ▪ Bases de Dados
CHAR(10),
INTEGER
)
15
Bases de dados relacionais – DML
 qual é o nome do cliente com o número 192-83-7465
SELECT customer.customer_name FROM customer
WHERE customer.customer_id = ‘192-83-7465’
 qual é o saldo de todas as contas desse cliente
SELECT account.balance FROM depositor, account
WHERE depositor.customer_id = ‘192-83-7465’
AND depositor.account_number = account.account_number
IST ▪ DEI ▪ Bases de Dados
16
Processo de desenvolvimento
 Desenho lógico envolve 2 decisões:
• decisão de negócio: que informação (entidades /
atributos) devem ser guardados na BD?
• decisão informática: que relações (tabelas)
devemos ter e como distribuir os atributos?
 Desenho físico: qual a organização de ficheiros a
adoptar e como estruturar o seu conteúdo?
IST ▪ DEI ▪ Bases de Dados
17
O modelo entidade-associação
 Modelo da empresa como um conjunto de:
• entidades: representam objectos e são descritas
por atributos
• associações: estabelecem ligações entre entidades
IST ▪ DEI ▪ Bases de Dados
18
Conversão para modelo relacional
 conversão
 normalização
IST ▪ DEI ▪ Bases de Dados
19
Armazenamento e consulta de dados
 Storage Manager
• interface entre o nível físico dos dados e as
consultas (queries) à base de dados
 Query Processor
• interpreta e traduz, optimiza e executa as consultas
IST ▪ DEI ▪ Bases de Dados
20
Gestão de transacções
 Transacção: conjunto de operações a serem
executadas como uma única operação lógica
 Transaction Manager
• componente que garante que a base de dados está
sempre num estado consistente
• falhas de alimentação, erros do sistema, falhas de
transacção
 Concurrency Control
• controla operações concorrentes de forma a evitar
resultados inesperados
IST ▪ DEI ▪ Bases de Dados
21
Arquitectura geral de um SGBD
IST ▪ DEI ▪ Bases de Dados
22
Utilizadores de bases de dados
 Vários tipos de utilizadores podem interagir com a BD
• utilizadores simples: utilizam programas que
acedem à BD sem que se apercebam disso
• utilizadores sofisticados: consultam a BD através de
DML
• programadores: interagem com a BD através de
linguagens de programação e DML
• administradores: criam definições, gerem
autorizações e fazem tarefas de manutenção
IST ▪ DEI ▪ Bases de Dados
23
Breve história dos SGBDs
 décadas de 50 e princípios dos anos 60:
• processamento de dados armazenados em bandas
magnéticas
• inserção de dados com recurso a cartões perfurados
• acesso sequencial
 fim dos anos 60 e década de 70:
• discos duros permitem acesso directo aos dados
• Ted Codd cria o modelo relacional
• IBM Research desenvolve protótipo System R
• processamento eficiente de transacções
IST ▪ DEI ▪ Bases de Dados
24
Breve história dos SGBDs
 anos 80:
• primeiros sistemas comerciais
• SQL torna-se um standard industrial
• BDs paralelas, distribuídas, e orientadas a objectos
 anos 90:
• sistemas de suporte à decisão e aplicações de data mining
• data warehouses na ordem dos TB
• comércio electrónico
 2000s:
• standards XML
• autonomic computing
IST ▪ DEI ▪ Bases de Dados
25
Download