Você está na página 1de 16

Cadeira de Tecnologias de Informao

Ano lectivo 2008/2009

Sistemas de Gesto de Bases de Dados


Prof Ana Lucas (Responsvel) Mestre Fernando Naves Mestre Cristiane Pedron Eng Filipa Pires da Silva Dr. Jos Camacho Dr. Lus Vaz Henriques

TI2008/09_ BD_1

Conceitos fundamentais
Uma Base de Dados um conjunto interrelacionado de dados numa determinada rea.

Um Sistema de Gesto de Bases de Dados (ou Gestor de Bases de Dados) o software que gere o armazenamento, manipulao e pesquisa dos dados existentes na base de dados, funcionando como um interface entre as aplicaes e os dados necessrios para a execuo dessas aplicaes (exemplos:IMS, DB2, Ingres, Informix Dynamic Server, Oracle Server, Sybase SQL Server, Microsoft SQL Server, Access).

TI2008/09_ BD_2

Sistemas tradicionais - gesto de ficheiros


DADOS
Aplicao A Ficheiro X

Aplicao B Ficheiro Z Aplicao C ...

Aplicao D

Ficheiro Y

TI2008/09_ BD_3

Limitaes dos Sistemas de Gesto de Ficheiros

Redundncia de Dados Os mesmos dados so armazenados em vrios ficheiros Isolamento dos Dados As aplicaes dificilmente acedem aos ficheiros de outras aplicaes Inconsistncia dos Dados Vrias cpias diferentes dos mesmos dados

TI2008/09_ BD_4

A tecnologia de Bases de Dados


Aplicao A

Aplicao B S G B D

Aplicao C

BASE de DADOS

Aplicao D

TI2008/09_ BD_5

A tecnologia de Bases de Dados

TI2008/09_ BD_6

Algumas vantagens da tecnologia de Bases de Dados

Integrao de dados de suporte a mltiplas aplicaes Diminuio de redundncias; Integridade dos dados (evitar inconsistncias);

Facilitar a pesquisa (permite questes ad hoc); Aumentar a flexibilidade das aplicaes (independncia dos dados relativamente aos programas); Desenvolvimento de mecanismos de segurana Controlo da concorrncia

TI2008/09_ BD_7

Requisitos fundamentais de um SGBD


Segurana - proteco da base de dados contra acessos no autorizados; Integridade - validao de operaes que coloquem em risco a consistncia dos dados; Controlo de concorrncia nos acessos - coordenao da partilha dos dados pelos vrios utilizadores (SGBDs multiutilizador); Recuperao de falhas - restaurar a integridade da base de dados depois da ocorrncia de uma falha. Mecanismos de recuperao (fundamentalmente baseados em redundncia): backups,transaction logging (ficheiro transaction log, dados para repor as ltimas transaces).

TI2008/09_ BD_8

Evoluo dos SGBD

SGBD Hierrquicos

SGBD Relacionais
SGBD

Ficheiros Tradicionais SGBD em Rede

SGBD Object Oriented Relacionais


SGBD
Multidimensionais

SGBD Universais
Relational Object -

1960s

1970s

1980s

1990s

2000+

TI2008/09_ BD_9

Modelo Relacional
O modelo relacional o mais amplamente disponivel no mercado. A estrutura fundamental do modelo relacional a tabela (formal mente designada por relao) Ex: Tabela Empregado
NEmp 10 20 30 40 50 ... Nome Antunes Bento Correia Dias Edmundo ... ... 23457 Telef 12554 54321 Categ Salario B A E C B ... 1000 2500 960.5 990.5 1200 ... 12.5 ... Comisso Funo 15 50 Analista Director Porteiro Programador Contabilista ...

TI2008/09_ BD_10

Modelo Relacional
Exemplo de duas tabelas relacionadas

Empregado n_emp 01 02 03 04 ... nome ... cod_categ Joo Jos Gil Jlio ... ... ... ... ... ... c3 c1 c2 c1 ...

Categoria cod_cat design venc_base c1 c2 c3 c4 Director Tcnico Admin Auxil 3000 2000 1200 900

TI2008/09_ BD_11

Modelo Relacional
Linguagens de um SGBD Relacional
DDL - Data Definition Language; DML - Data Manipulation Language. SQL - Structured Query Language Linguagem para definio e manipulao de dados comum aos SGBD relacionais (inclui DDL e DML). QBE - Query By Example Interface grfico que facilita a elaborao de estruturas de interrogao da base de dados. Acaba por ser um gerador de SQL (a nica linguagem que o SGBD entende). No Access esto disponveis as linguagens SQL e QBE
TI2008/09_ BD_12

Modelo Relacional
Operaes frequentes de lgebra Relacional Projeco Selecciona um subconjunto de colunas de uma tabela de dados (atributos). Seleco ou Restrio Selecciona um subconjunto de linhas de uma tabela de dados. As condio de seleco podem envolver: Constantes (valores do domnio de um atributo, texto entre aspas) Nomes de um atributo Comparaes aritmticas ( =, <>, <, <=, >= ) Operadores lgicos ( and, or, not )

Juno Combina linhas de tabelas diferentes com base na comparao de valores das colunas seleccionadas.

TI2008/09_ BD_13

Modelo Relacional
Operao de Projeco Tabela Cliente
N_Cli 1 2 3 ... 20 21 Nome_Cli Morada Antnio Abreu R. Alberto Antunes Bernardo Bento Rue de La Paix Carlos Castro R. Clara Campos ... ... Manuel Matos R. Marco Moita Mrio Martins R. Maria Mendes Cidade Pas Porto Portugal Bruxelas Blgica Lisboa Portugal ... ... Maputo Moambique Luanda Angola

Projeco da Tabela Cliente sobre Nome e Morada


Nome_Cli Morada Antnio Abreu R. Alberto Antunes Bernardo Bento Rue de La Paix Carlos Castro R. Clara Campos ... ... Manuel Matos R. Marco Moita Mrio Martins R. Maria Mendes

TI2008/09_ BD_14

Modelo Relacional
Operao de Seleco ou Restrio Tabela Cliente
N_Cli 1 2 3 ... 20 21 Nome_Cli Morada Antnio Abreu R. Alberto Antunes Bernardo Bento Rue de La Paix Carlos Castro R. Clara Campos ... ... Manuel Matos R. Marco Moita Mrio Martins R. Maria Mendes Cidade Pas Porto Portugal Bruxelas Blgica Lisboa Portugal ... ... Maputo Moambique Luanda Angola

Seleco dos Clientes de Portugal


N_Cli Nome_Cli Morada Cidade 1 Antnio Abreu R. Alberto Antunes Porto 3 Carlos Castro R. Clara Campos Lisboa Pas Portugal Portugal

TI2008/09_ BD_15

Modelo Relacional
Operao de Juno
Juno das Tabelas Empregado e Categoria

Empregado
n_emp 01 02 03 04 ... nome ... cod_categ Joo Jos Gil Jlio ... ... ... ... ... ... c3 c1 c2 c1 ...

Categoria
cod_cat design venc_base c1 c2 c3 c4 Director Tcnico Admin Auxil 3000 2000 1200 900

n_emp 01 02 03 04

nome Joo Jos Gil Jlio

... ... ... ... ...

cod_categ designao venc_base c3 Admin 1200 c1 Director 3000 c2 Tcnico 2000 c1 Director 3000

TI2008/09_ BD_16

Você também pode gostar