Escolar Documentos
Profissional Documentos
Cultura Documentos
2013/14!
http://ssdi.di.fct.unl.pt/bd!
!
Joo Leite (jleite@fct.unl.pt)!
!
!
Captulo 1: Introduo!
Funo dos Sistemas de Bases de Dados!
Viso dos dados!
Modelos de dados!
Linguagem de Definio de Dados!
Linguagem de Manipulao de Dados!
Gesto de Transaces !
Gesto de Armazenamento!
Administrador da Base de Dados!
Utilizadores da Base de Dados!
Estrutura Global do Sistema!
2!
eficiente. !
Exemplos de aplicaes de Bases de Dados:!
3!
Funes de um SGBD!
Antigamente, os SGBDs eram construidos directamente sobre
os sistemas de ficheiros.!
Inconvenientes dos sistemas de ficheiros no armazenamento de
dados:!
Multiplos ficheiros e formatos!
Isolamento de dados !
Dificuldade de relacionar dados!
Duplicao de informao em ficheiros diferentes!
Redundncia e inconsistncia de dados!
Dificuldades no acesso aos dados!
Necessidade de escrever um novo programa para efectuar uma
nova tarefa!
Problemas de integridade!
Restries de integridade (e.g. saldo da conta> 0) esto
includas no cdigo dos programas!
Difcil alterar ou adicionar novas restries!
Database System Concepts!
4!
5!
Recapitulando!
Um SGBD consiste:!
dados). !
Por outro lado, queremos esconder certos detalhes de
implementao !
6!
Nveis de Abstraco!
Nvel fsico: descreve como um
registo (e.g., cliente) armazenado.!
Nvel lgico: descreve os dados
armazenados na base de dados,
assim como as relaes entre os
dados.!
Nvel das vistas: as aplicaes
ocultam os detalhes dos tipos de
dados. As vistas tambm podem
esconder informao (e.g., salrio)
por motivos de segurana.!
7!
Instncias e Esquemas!
As Bases de Dados Variam ao longo do tempo!
Instncia o contedo de uma base de dados num instante de tempo!
8!
Modelos de Dados!
Um conjunto de ferramentas para descrever !
dados !
relaes entre dados!
semntica dos dados!
restries sobre os dados!
Exemlos:!
9!
dicionrio de dados.!
O dicionrio de dados contm metadados (dados sobre dados)!
Esquema de bases de dados !
Restries de integridade!
Restries de domnio; Integridade de referncia; Asseres!
Autorizao!
10!
11!
relacional!
Os dados e as relaes entre os dados so representadas por
12!
Modelo Relacional!
Atributos!
customer-!
name!
192-83-7465!
!
019-28-3746!
!
192-83-7465!
!
321-12-3123!
!
019-28-3746!
Johnson!
!
Smith!
!
Johnson!
!
Jones!
!
Smith!
customer-!
street!
Alma!
!
North!
!
Alma!
!
Main!
!
North!
13!
customer-!
city!
Palo Alto!
!
Rye!
!
Palo Alto!
!
Harrison!
!
Rye!
account-!
number!
A-101!
!
A-215!
!
A-201!
!
A-217!
!
A-201!
14!
Dados!
15!
16!
Modelo ER (cont.)!
Exemplo de um esquema no modelo ER!
17!
de objectos!
XML: permite a modelizao de dados semi-estruturados!
18!
SQL!
SQL: linguagem no-procedimental 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 aplicaes geralmente acedem a bases de dados por
intermdio de:!
Extenses s linguagens permitindo SQL embutido:!
Interface de aplicaes (e.g. ODBC/JDBC) permitindo o envio de
consultas SQL para a base de dados!
19!
Gesto do Armazenamento!
O gestor do armazenamento um mdulo de programa que
tarefas:!
interaco com o gestor de ficheiros!
armazenamento, recuperao e alterao eficientes dos dados!
20!
Processamento de consultas!
Mdulos:!
Interpretao e traduo!
Optimizao!
Avaliao!
Formas alternativas de avaliao de uma dada consulta!
Expresses equivalentes!
A diferena de custo entre uma boa e uma m forma de avaliao
de uma consulta pode ser enorme!
necessrio estimar o custo das operaes!
21!
Gesto de Transaces!
Uma transaco um conjunto de operaes que efectuam uma
22!
23!
previamente!
E.g. pessoas a acederem a uma base de dados atravs da Web,
caixas, pessoal de secretariado!
24!
Definio do esquema!
Definio dos mtodos de acesso e estrutura de armazenamento!
Modificao do esquema e da organizao fsica!
Dar aos utilizadores autorizaes de acesso base de dados!
Especificar restries de integridade!
Servir de ligao entre os utilizadores!
Monitorar a performace e responder a alteraes nos requisitos. !
25!
Arquitecturas de Aplicao!
26!
Funcionamento da UC de
Bases de Dados!
Objectivo: Dotar os alunos das bases necessrias
concepo, construo e anlise de bases de dados
relacionais.!
Objectivos Saber!
Conhecer o modelo Entidade-Relao e o modelo relacional de
funcionais e multivalor!
Breves noes de modelao de dados em XML, e de
28!
Objectivos Fazer!
Modelar, primeiro em ER e depois numa base de dados
de dados!
Estar vontade na formulao de perguntas complexas em SQL!
Saber usar os mecanismos base SQL do modelo objecto/
relacional!
29!
de uma soluo!
Gesto do tempo e cumprimento de prazos!
30!
Programa!
Introduo aos sistemas de bases de dados (1 aula esta)!
Modelos de dados!
31!
Aulas Prticas!
Exerccios de modelo ER (1 aula)!
Exerccios de lgebra relacional (1 aula)!
Exerccios de SQL (3 aulas)!
Exerccios de Normalizao de BDs (1 aula)!
Exerccios de XML ( aula) !
Exerccios de Transaces ( aula)!
Introduo ao Oracle Application Express (2 aulas)!
Implementao do trabalho prtico (1 aula)!
32!
Funcionamento!
Aulas:!
Avaliao:!
33!
34!
35!
Algumas Recomendaes!
Erros habituais:!
36!
Algumas Recomendaes!
Aos alunos que s vm as primeiras trs/quatro aulas tericas.!
37!