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