Escolar Documentos
Profissional Documentos
Cultura Documentos
7 TI2008-Teoria BD
7 TI2008-Teoria BD
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
Aplicao D
Ficheiro Y
TI2008/09_ BD_3
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
Aplicao B S G B D
Aplicao C
BASE de DADOS
Aplicao D
TI2008/09_ BD_5
TI2008/09_ BD_6
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
TI2008/09_ BD_8
SGBD Hierrquicos
SGBD Relacionais
SGBD
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
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
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
cod_categ designao venc_base c3 Admin 1200 c1 Director 3000 c2 Tcnico 2000 c1 Director 3000
TI2008/09_ BD_16