Você está na página 1de 32

Bases de Dados II

Databases II

Tecnologias e Sistemas da Informao


Information Systems and Technologies

2010 / 2011

Pedro R. M. Incio
inacio@di.ubi.pt

Departamento de Informtica (DI)


Universidade da Beira Interior (UBI)
Department of Computer Science
University of Beira Interior
Covilh, 2010

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

Arquitectura de Sistemas de Gesto de Bases de Dados


DataBase Management Systems Architecture

Covilh, 2010

Objectivos Desta Aula


Objectives of this Lecture

O propsito e a origem da arquitectura


de base de dados a trs nveis.

O contedo dos nveis externo,


conceptual e interno.
O propsito dos mapeamentos entre
nveis externo e conceptual, e entre
os nveis conceptual e interno.
O significado de independncia lgica
e independncia fsica de dados.
A distino entre uma DDL (Data
Definition Language) e uma DML
(Data Manipulation Language).

DI, UBI, 2010/2011

Classificao de modelos de dados.


As funes/servios tpicos
fornecidos por um Sistema de
Gesto de Bases de Dados (da
designao inglesa Database
Management System (DBMS)).
As componentes dum DBMS.
O significado da arquitectura clienteservidor e as suas vantagens num
ambiente DBMS multi-utilizador.

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

Objectivos Desta Aula


Objectives of this Lecture

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).

DBMS (DataBase Management System)


Coleco de programas que permite ao utilizador definir, criar, aceder, manipular e fazer a
manuteno os dados existentes numa DB.

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

DI, UBI, 2010/2011

Definio de tabelas
(Propriedade, Proprietrio,
Arrendatrio e Contrato) +
definio de ficheiros

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

BD

Desenho de uma Base de Dados


Design of a Database

Um dos principais objectivos dum sistema de base de dados fornecer


aos utilizadores uma perspectiva abstracta dos dados, ocultando-lhes
o modo como os mesmos so armazenados e manipulados.
Isto significa que o desenho (design) duma base de dados comea por
uma descrio abstracta e geral dos requisitos de informao duma
organizao. Esta descrio faz-se normalmente em termos de:

Entidades;
Entidades

Atributos e;

Relaes.
Relaes

DI, UBI, 2010/2011

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

Arquitectura ANSI-SPARC de um DBMS (1975): Objectivos de Desenho


ANSI-SPARC Architecture of a DBMS (1975): Design Objectives

Todos os utilizadores devem ter acesso aos mesmos dados.


A perspectiva do utilizador deve ser imune s alteraes feitas noutras
perspectivas (ou vistas ou views).
Os utilizadores no precisam de saber dos detalhes de armazenamento
fsico da base de dados.
O Administrador da Base de Dados (designao mais comum em ingls
DataBase Administrator (DBA)) deve ser capaz de alterar as estruturas
de armazenamento da base de dados sem afectar as vistas dos
utilizadores.
A estrutura interna da base de dados no deve ser afectada por
alteraes fsicas de armazenamento.
O DBA deve ser capaz de alterar a estrutura conceptual da base de
dados sem afectar os utilizadores.

DI, UBI, 2010/2011

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

Arquitectura ANSI-SPARC de um DBMS (1975):


Nveis de Abstraco de Dados
ANSI-SPARC Architecture of a DBMS (1975): Data Abstraction Levels
(1/4)

Nvel externo (utilizador): descrio


personalizada e parcial dos dados.
Cada perspectiva (view) externa
inclui as entidades, atributos e
relaes que so relevantes para o
utilizador ou departamento em causa.
Alm disso, perspectivas distintas
podem ter representaes diferentes
dos mesmos dados. Por exemplo, o
dado data pode ser descrito nas
seguintes formas:

(dia,ms,ano)

(ano,ms, dia)

Esquema Externo
Perspectiva 1 Perspectiva 2 Perspectiva 3

Esquema
Conceptual
Esquema
Interno

BD
DI, UBI, 2010/2011

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

Arquitectura ANSI-SPARC de um DBMS (1975):


Nveis de Abstraco de Dados
ANSI-SPARC Architecture of a DBMS (1975): Data Abstraction Levels
(2/4)
Nvel conceptual (DBA): descrio comunitria/total
dos dados.Este nvel descreve que dados e suas
relaes esto armazenados na BD.

Perspectiva 1 Perspectiva 2 Perspectiva 3

Este nvel compreende:

Todos os dados;

Todos os atributos;

Todas as relaes;

As restries sobre os dados;

Informao semntica dos dados;

Informao de integridade e segurana.

Este nvel no compreende dados dependentes do


armazenamento. Por exemplo, a descrio duma
entidade contm os tipos de dados dos seus
atributos (p.ex. integer, real, char), mas no o
nmero de bytes ocupados por cada um dos
atributos.

DI, UBI, 2010/2011

Esquema Externo

Esquema
Conceptual
Esquema
Interno

BD

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

Arquitectura ANSI-SPARC de um DBMS (1975):


Nveis de Abstraco de Dados
ANSI-SPARC Architecture of a DBMS (1975): Data Abstraction Levels
(3/4)

Nvel interno (sistema): Representao fsica


da BD. Descrio de como os dados esto
armazenados (estruturas de dados e
ficheiros usados ao mais baixo-nvel).

Esquema Externo
Perspectiva 1 Perspectiva 2 Perspectiva 3

Este nvel compreende:

Alocao de memria para


dados/ndices;
Descries de registos (c/
tamanhos dos dados);
Colocao de registos;
Tcnicas de compresso e
cifragem de dados;
Algoritmos de acesso ao sistema
de ficheiros via sistema
operativo.

DI, UBI, 2010/2011

Esquema
Conceptual
Esquema
Interno

BD

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

Arquitectura ANSI-SPARC de um DBMS (1975):


Nveis de Abstraco de Dados
ANSI-SPARC Architecture of a DBMS (1975): Data Abstraction Levels
(4/4)
Perspectiva 1: Dep. Contabilidade

Func_no

Nome

Apelido

Perspectiva 2: Dep. Recursos Humanos

Idade

DNasc

DNasc

Vencimento

Filial_no

Nvel Conceptual: DBA

Func_no

Nome

Nvel Fsico:
Sistema, Linguagem C

DI, UBI, 2010/2011

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

Esquema da BD: Descrio global da BD.


Nota:
Nota importante distinguir entre a descrio da DB e a prpria DB.
Esquema externo: conjunto dos subesquemas externos que descrevem as
perspectivas dos utilizadores.
Esquema conceptual: descrio de todos os dados e suas interrelaes, assim
como das restries de integridade associadas. Existe s um esquema
conceptual.
Esquema interno: contm as definies dos registos armazenados, mtodos de
representao, campos dos registos, indces e esquemas de hashing. S existe
um esquema interno.
Instncia: conjunto de informao existente numa base de dados num dado
instante. As bases de dados mudam ao longo do tempo, atravs da introduo
de mais informao ou do apagamento de informao existente na base de
dados.

DI, UBI, 2010/2011

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

Independncia dos Dados


Data Independence

um dos principais objectivos da


arquitectura ASNSI-SPARC.
Significa que um nvel de abstraco
no afectado por alteraes
ocorridas em nveis inferiores.
H dois tipos de independncia de
dados:

Lgica
Fsica

Esquema Externo
Perspectiva 1 Perspectiva 2 Perspectiva 3

Esquema
Conceptual
Esquema
Interno

BD
DI, UBI, 2010/2011

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

Independncia Lgica dos Dados


Logical Data Independence
Independncia lgica de dados:
invarincia dos subesquemas externos
a quaisquer alteraes no esquema
conceptual.

Obviamente, os utilizadores no tm que


ter conhecimento destas alteraes,
com excepo daqueles para os quais
as alteraes foram feitas.
De que alteraes poderemos estar a
falar?
A adio e remoo de entidades,
atributos e relaes devem ser
possveis sem afectar os esquemas
externos existentes ou reescrever
programas de aplicao.

DI, UBI, 2010/2011

Esquema Externo
Perspectiva 1 Perspectiva 2 Perspectiva 3

Esquema
Conceptual
Esquema
Interno

BD

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

Independncia Fsica dos Dados


Physical Data Independence

Independncia fsica de dados:invarincia


do esquema conceptual externos a
quaisquer alteraes no esquema
interno.
Do ponto de vista do utilizador, a nica
alterao admissvel no desempenho
do DBMS. Porque?
De que alteraes poderemos estar a
falar?
alterao das estruturas de dados,
alterao na organizao de ficheiros,
alterao utilizao de dispositivos de
armazenamento, alterao dos
algoritmos de indexao e hashing.

DI, UBI, 2010/2011

Esquema Externo
Perspectiva 1 Perspectiva 2 Perspectiva 3

Esquema
Conceptual
Esquema
Interno

BD

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

Linguagem de Definio de Dados


(do ingls Data Definition Language (DDL))
Data Definition Language (DDL)

O esquema duma base de dados especificado atravs de um conjunto de


definies expressas numa linguagem especial designada por Linguagem de
Definio de Dados (DDL).
Na Linguagem Estruturada de Inquiries (do ingls Structured Query Language
(SQL)), a DDL inclui basicamente quatro comandos:

CREATEDATABASE,DROPDATABASE

CREATETABLE,DROPTABLE,ALTERTABLE

CREATEVIEW,DROPVIEW

CREATEINDEX,DROPINDEX

Definies
em DDL

DI, UBI, 2010/2011

Compilao
Material de Apoio Cadeira de Bases de Dados II
Support Material to the Subject of Databases II

Dicionrio
De Dados

Linguagem de Manipulao de Dados


(do ingls Data Manipulation Language (DML))
Data Manipulation Language (DML)

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:

consulta aos dados da BD;

insero de novos dados na BD;

actualizao de dados na BD;

eliminao de dados da BD.

Em SQL, a DML inclui basicamente quatro comandos:

SELECT

INSERT

UPDATE

DELETE

DI, UBI, 2010/2011

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

Liguagem Estruturada de Inquiries


(do Ingls Structured Query Language (SQL))
Structured Query Language (SQL)
(1/2)

Foi desenvolvida pela IBM durante os anos 70.


Inicialemente designada por SEQUEL (Structured English Query
Language)
Foi preciso escrever normas para esta linguagem, devido sua
adopo por muitos construtores e vendedores de solues
informticas:

SQL-86

SQL-89 (reviso menor da anterior)

SQL-92 (reviso substancial)

SQL-99 (reviso substancial, standard actual)

DI, UBI, 2010/2011

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

Liguagem Estruturada de Inquiries


(do Ingls Structured Query Language (SQL))
Structured Query Language (SQL)
(2/2)

Unifica a DDL e a DML numa nica linguagem.


Engloba ainda outros aspectos, como por exemplo os relacionados com a
administrao da base de dados.
uma linguagem no-procedimental. Funciona em modo interactivo.

No tem operadores de controlo como o IF-THEN-ELSE;


uma linguagem declarativa, o que significa que s temos de especficar o que
queremos, e no como deve ser feito.

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.

ISO (International Standards Organization)

ANSI (American National Standards Institute)

DI, UBI, 2010/2011

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

Linguagens de Quarta Gerao


4th Generation Languages (4GL)

1st Generation: linguagem mquina.

2nd Generation: linguagem de programao de baixo nvel como assembly.

3rd Generation: linguagem de alto nvel como Java, C, etc.

Algumas classes de Linguagens de Quarta Gerao (da designao inglesa 4th


Generation Languages (4GL)):

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.

DI, UBI, 2010/2011

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

Modelo de Dados
Data Model
(1/2)

Modelo de Dados:

Uma coleco integrada de conceitos cujo objectivo descrever os


dados, as relaes entre os dados e as restries impostas aos
dados duma organizao, bem como o modo de os aceder e
guardar.

Classes de Modelos de Dados:

Baseados em objectos

DI, UBI, 2010/2011

Entidade-Relao;

Semntico;

Funcional;

Orientado por objectos.

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

Modelo de Dados Entidade-Relao


Entity-Relation Data Model

DI, UBI, 2010/2011

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

Modelo de Dados
Data Model
(2/2)

Modelo de Dados:

Uma coleco integrada de conceitos cujo objectivo descrever os dados,


as relaes entre os dados e as restries impostas aos dados duma
organizao, bem como o modo de os aceder e guardar.

Classes de Modelos de Dados:

Baseados em registos

Modelo relacional de dados;

Modelo em rede de dados;

Modelo hierrquico de dados;

Fsicos.

DI, UBI, 2010/2011

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

Funes / Servios de um DBMS


Functionalities / Services Provided by a DBMS
(1/2)

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.

DI, UBI, 2010/2011

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

Funes / Servios de um DBMS


Functionalities / Services Provided by a DBMS
(2/2)

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.

DI, UBI, 2010/2011

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

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

DI, UBI, 2010/2011

BD
Material de Apoio Cadeira de Bases de Dados II
Support Material to the Subject of Databases II

Topologias de Arquitecturas Multi-Utilizador


Topologies of Multi-User Architectures

Teleprocessamento

Ficheiro-Servidor

Cliente-Servidor

Distribuda

DI, UBI, 2010/2011

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

Teleprocessamento
Teleprocessing

Terminal 1

1 computador c/1 CPU + n terminais;

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

DI, UBI, 2010/2011

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

Terminal 4

Topologias de Arquitecturas Multi-Utilizador: Servidor de Ficheiros


Topologies of Multi-User Architectures: File Server

Workstation 2
DBMS 2

1 computador servidor de ficheiros + n workstations +


LAN;
1 servidor de ficheiros que contm as tabelas da base
de dados; funciona como uma drive de disco
partilhada;

Workstation 1
DBMS 1

Workstation 3
DBMS 3

processamento DBMS distribudo,


distribudo pois cada
workstation corre uma cpia do DBMS;

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.

DI, UBI, 2010/2011

Pedido de
dados
Servidor
de Ficheiros

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

Devoluo
de ficheiros

BD

Topologias de Arquitecturas Multi-Utilizador: Cliente Servidor


Topologies of Multi-User Architectures: Client Server

1 computador servidor DBMS + n workstations + LAN;

Servidor: processamento DBMS centralizado;

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

Melhor desempenho (workstations processam


aplicaes em paralelo).
Custos de hardware reduzidos (s o servidor requer
elevadas capacidades de processamento e
armazenamento).
Menores custos de comunicaes (menos
informao a circular na rede).

Pedido de
dados
Servidor
de DBMS

Garantia da integridade dos dados.

DI, UBI, 2010/2011

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

Devoluo
de dados

BD

Topologias de Arquitecturas Multi-Utilizador: Distribuida


Topologies of Multi-User Architectures: Distributed

n workstations + LAN;

Vantagens:
Vantagens

Workstation 2
DBMS

Computao distribuida;

Menos dados em cada BD.

Desvantagens:
Desvantagens

Workstation 1
DBMS

BD

Workstation 3
DBMS

Cada WorkStation tem de ser capaz de


interagir com a usa prpria BD e possivelmente
passar informaes a outras WorkStations;

Potencialmente h mais carga na rede;

Hardware mais caro;

Integridade da informao global;

etc

DI, UBI, 2010/2011

LAN

BD

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

BD

Concluses / Sumrio
Conclusions / Summary

Desenho de bases de dados.

Linguagens 4G.

Arquitectura ANSI-SPARC.

Modelos de dados.

Esquemas e instncias.

Independncia de dados.

Data Definition
(DDL).

Language

Data Manipulation Language


(DML).

Funes/servios dum
DBMS.
Componentes dum DBMS.
Topologias da arquitectura
dum DBMS multi-utilizador.

Structured Query Language


(SQL).

DI, UBI, 2010/2011

Material de Apoio Cadeira de Bases de Dados II


Support Material to the Subject of Databases II

Você também pode gostar