Sistemas de Informação e Bases de Dados
Apresentação da disciplina
2IST ▪ DEI ▪ Bases de Dados
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
3IST ▪ DEI ▪ Bases de Dados
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
4
Corpo Docente
Responsável – Diogo Ferreira ([email protected])
Teóricas – Pedro Sousa
([email protected]) Práticas – Artur Caetano
IST ▪ DEI ▪ Bases de Dados
5IST ▪ DEI ▪ Bases de Dados
Funcionamento da aulas
Aulas teóricas• exposição da matéria• sessões de demonstração
Aulas laboratoriais• exercícios semanais
6IST ▪ DEI ▪ Bases de Dados
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
Bases de Dados
Introdução
8IST ▪ DEI ▪ Bases de Dados
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
9IST ▪ DEI ▪ Bases de Dados
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
10IST ▪ DEI ▪ Bases de Dados
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
11IST ▪ DEI ▪ Bases de Dados
Níveis de abstracção
nível físico, nível lógico, e vistas esquemas e instâncias
nível físiconível físico
nível lógiconível lógico
vista 1vista 1 vista 2vista 2 vista nvista n……struct customer{ int id; char name[256]; float balance;}
12IST ▪ DEI ▪ Bases de Dados
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
13IST ▪ DEI ▪ Bases de Dados
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
14IST ▪ DEI ▪ Bases de Dados
Bases de dados relacionais – Tabelas
15IST ▪ DEI ▪ Bases de Dados
Bases de dados relacionais – DDL
criação da tabela account
CREATE TABLE account (
account-number CHAR(10),
balance INTEGER )
16IST ▪ DEI ▪ Bases de Dados
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
17IST ▪ DEI ▪ Bases de Dados
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?
18IST ▪ DEI ▪ Bases de Dados
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
19IST ▪ DEI ▪ Bases de Dados
Conversão para modelo relacional
conversão
normalização
20IST ▪ DEI ▪ Bases de Dados
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
21IST ▪ DEI ▪ Bases de Dados
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
22IST ▪ DEI ▪ Bases de Dados
Arquitectura geral de um SGBD
23IST ▪ DEI ▪ Bases de Dados
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
24IST ▪ DEI ▪ Bases de Dados
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
25IST ▪ DEI ▪ Bases de Dados
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
Top Related