Escolar Documentos
Profissional Documentos
Cultura Documentos
Databases II
2010 / 2011
Pedro R. M. Incio
inacio@di.ubi.pt
Aula 2
Lecture 2
Sumrio
Arquitectura de Sistemas de Gesto de Bases de Dados. Nveis
de abstraco de dados, linguagens de definio e manipulao
da base de dados e discusso da topologia multi-utilizador que
melhor resulta em prol dos sistemas antes mencionados.
Summary
Database Management Systems architecture. Data abstraction levels, database definition
and manipulation languages and discussion of the multi-user topology that best suits the
purposes of the aforementioned systems.
Covilh, 2010
Covilh, 2010
Bases de Dados
Coleco partilhada de dados (ficheiros) logicamente relacionados concebida de forma a
satisfazer as necessidades de informao duma organizao (e.g. empresa imobiliria).
Vendas
Entrada de
Dados / Sada
de Relatrios
Prog.s de aplicao
do Dept. Vendas
Contratos
DBMS
Entrada de
Dados / Sada
de Relatrios
Prog.s de aplicao
do Dept. Contratos
Definio de tabelas
(Propriedade, Proprietrio,
Arrendatrio e Contrato) +
definio de ficheiros
BD
Entidades;
Entidades
Atributos e;
Relaes.
Relaes
(dia,ms,ano)
(ano,ms, dia)
Esquema Externo
Perspectiva 1 Perspectiva 2 Perspectiva 3
Esquema
Conceptual
Esquema
Interno
BD
DI, UBI, 2010/2011
Todos os dados;
Todos os atributos;
Todas as relaes;
Esquema Externo
Esquema
Conceptual
Esquema
Interno
BD
Esquema Externo
Perspectiva 1 Perspectiva 2 Perspectiva 3
Esquema
Conceptual
Esquema
Interno
BD
Func_no
Nome
Apelido
Idade
DNasc
DNasc
Vencimento
Filial_no
Func_no
Nome
Nvel Fsico:
Sistema, Linguagem C
Apelido
Idade
DNasc
Vencimento
structSTAFF{
intStaff_no;
intBranch_no;
charFName[15];
charLName[15];
structdateDate_of_Birth;
floatSalary;
structSTAFF*next;
};
indexStaff_no;indexBranch_no;
Material de Apoio Cadeira de Bases de Dados II
Support Material to the Subject of Databases II
Filial_no
Esquemas e Instncias
Schemes and Instances
Lgica
Fsica
Esquema Externo
Perspectiva 1 Perspectiva 2 Perspectiva 3
Esquema
Conceptual
Esquema
Interno
BD
DI, UBI, 2010/2011
Esquema Externo
Perspectiva 1 Perspectiva 2 Perspectiva 3
Esquema
Conceptual
Esquema
Interno
BD
Esquema Externo
Perspectiva 1 Perspectiva 2 Perspectiva 3
Esquema
Conceptual
Esquema
Interno
BD
CREATEDATABASE,DROPDATABASE
CREATETABLE,DROPTABLE,ALTERTABLE
CREATEVIEW,DROPVIEW
CREATEINDEX,DROPINDEX
Definies
em DDL
Compilao
Material de Apoio Cadeira de Bases de Dados II
Support Material to the Subject of Databases II
Dicionrio
De Dados
Os dados contidos numa base de dados podem ser manipulados atravs de uma
linguagem de manipulao de dados (do ingls Data Manipulation Language
(DML))). As quatro operaes de manipulao de dados so as seguintes:
SELECT
INSERT
UPDATE
DELETE
SQL-86
Existem vrias extenses linguagem SQL de tal modo que os comandos SQL
podem ser embutidos em linguagens de programao tradicionais (Pascal, C,
etc.) ou de scripting (como o php etc.)
uma norma ISO e ANSI.
Linguagens de inquiries.
Exemplo: SQL.
Geradores de relatrios.
Geradores de formulrios.
Geradores de grficos.
Geradores de aplicaes.
5th Generation: linguagem de alto nvel com ambiente grfico que ajuda a programar.
Modelo de Dados
Data Model
(1/2)
Modelo de Dados:
Baseados em objectos
Entidade-Relao;
Semntico;
Funcional;
Modelo de Dados
Data Model
(2/2)
Modelo de Dados:
Baseados em registos
Fsicos.
Armazenamento,
Armazenamento devoluo e actualizao de dados.
a funo principal de qualquer DBMS.
Catlogo acessvel ao utilizador.
utilizador Contm os dados referentes aos
esquemas, utilizadores, aplicaes, etc.
Suporte a transaes.
transaes Um DBMS deve fornecer um mecanismo que
garanta que todas actualizaes referentes a uma determinada
transao so efectuadas ou nenhuma delas efectuada.
Controlo da concorrncia.
concorrncia Um DBMS deve fornecer um mecanismo
que garanta que a base de dados seja actualizada correctamente
quando vrios utilizadores esto a actualiz-la concorrentemente.
Recuperao de falhas.
falhas Um DBMS deve fornecer um mecanismo de
recuperao da DB em caso de ocorrncia de falha numa transao.
Autorizao.
Autorizao Um DBMS deve fornecer um mecanismo que garanta
que somente utilizadores autorizados tenham acesso base de
dados.
Comunicao de dados. Um DBMS deve ser capaz de se integrar
com o software de comunicao em rede.
Integridade. Um DBMS deve fornecer um mecanismo que garanta que
os dados e suas alteraes seguem determinadas regras de
consistncia.
Componentes de um DBMS
DBMS Components
Programadores
Utilizadores
Administrador BD
DBMS
DML
Preprocessor
Query
Processor
DDL
Compiler
Program
Object Code
Database
Manager
Dictionary
Manager
Access
Methods
File
Manager
System
Buffers
BD
Material de Apoio Cadeira de Bases de Dados II
Support Material to the Subject of Databases II
Teleprocessamento
Ficheiro-Servidor
Cliente-Servidor
Distribuda
Teleprocessamento
Teleprocessing
Terminal 1
processamento centralizado;
terminais funcionalmente
dependentes, i.e. s/ capacidade de
processamento;
Terminal 2
Mainframe
Desvantagem:
Desvantagem enorme sobrecarga
do processador, para executar
todas as tarefas, tais como
aplicaes (interfaces grficas),
DBMS, edio de texto e de
programas, formatao dos dados
mostrados no ecr, etc.
BD
Terminal 3
Terminal 4
Workstation 2
DBMS 2
Workstation 1
DBMS 1
Workstation 3
DBMS 3
LAN
Desvantagens:
Desvantagens
enorme quantidade de trfego na rede;
manuteno mais custosa: cada workstation requer
uma cpia completa do DBMS;
controlo da concorrncia, integridade dos dados e
recuperao a falhas so mais complexos, visto que
h vrios DBMS a aceder aos mesmos ficheiros.
Pedido de
dados
Servidor
de Ficheiros
Devoluo
de ficheiros
BD
Workstation 2
Cliente 2
Workstation 1
Cliente: gesto de interface com o utilizador e da lgica Cliente 1
Workstation 3
Cliente 3
da aplicao;
Vantagens:
Vantagens
Acesso generalizado s bases de dados existentes;
LAN
Pedido de
dados
Servidor
de DBMS
Devoluo
de dados
BD
n workstations + LAN;
Vantagens:
Vantagens
Workstation 2
DBMS
Computao distribuida;
Desvantagens:
Desvantagens
Workstation 1
DBMS
BD
Workstation 3
DBMS
etc
LAN
BD
BD
Concluses / Sumrio
Conclusions / Summary
Linguagens 4G.
Arquitectura ANSI-SPARC.
Modelos de dados.
Esquemas e instncias.
Independncia de dados.
Data Definition
(DDL).
Language
Funes/servios dum
DBMS.
Componentes dum DBMS.
Topologias da arquitectura
dum DBMS multi-utilizador.