1 unidade 5 – exploração de uma base de dados em ambiente windows eb23 de cercal do alentejo –...

Post on 17-Apr-2015

108 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Unidade 5 – Exploração de uma base de dados em ambiente

Windows

EB23 de Cercal do Alentejo – Ensino Secundário Recorrente - Introdução à InformáticaCarlos Sebastião - 2001

2

A evolução

Desde os tempos mais remotos, o homem sentiu necessidade de armazenar e processar informação.

3

Mais tarde com/o aparecimento do papel

tornou possível a “massificação” da informação.

4

Com o aparecimento do computador estes começam a ser utilizados para armazenar e tratar grandes quantidades de

dados relacionados com diversas situações.

5

Implementação do suporte à informação

• Sistemas de ficheiros

• Sistemas de base de dados

6

Sistema de ficheiros

AplicaçãoA

AplicaçãoB

AplicaçãoC

AplicaçãoD

Programas Dados

Ficheiro X

Ficheiro Y

Ficheiro Z

7

Sistema de ficheiros

• Os utilizadores (por intermédio de programas específicos) trabalham directamente com os ficheiros.

• Os ficheiros são partilhados por diversos programas ou seja poderão existir vários programas ou pessoas que podem alterar, actualizar e ler um mesmo ficheiro.

8

Sistema de Base de Dados

AplicaçãoA

AplicaçãoB Base

deDados

SGBD

Sistema de base de dados

Sistema de gestão de base de dados

9

Sistema de Gestão de Base de DadosO SGBD é o software que tem como objectivo fazer a gestão de todo o armazenamento e manipulação dos dados do sistema, fazendo a ligação entre os programas e a base de dados propriamente dita;

• Uma característica da base de dados: Os dados estão todos incluídos num só ficheiro de armazenamento.

• Para ler ou escrever dados é necessário passar sempre pelo Sistema de Gestão de Base de Dados (SGBD) que é responsável pelo acesso à base de dados.

• O principal vantagem obtida com esta tecnologia é o isolamento que existe entre os programas e os dados.

10

Modelos de base de dados

• 1ª geração (Evolução do sistemas de gestão de ficheiros)– O Modelo Hierárquico– O Modelo em Rede

• 2ª geração– O Modelo Relacional

• 3ª geração– ...

11

Modelo Relacional• Nasceu a partir de um desenvolvimento teórico,

com base na teoria dos conjuntos.• É o mais implantado no mercado.• Os SGBD‘s mais representativos:

– DB2 da IBM– Informix– Oracle– SQL Server da Microsoft– Microsoft Access

12

Modelo Relacional – alguns Conceitos

• Tabela - Estrutura fundamental do modelo relacional.

CodProduto Designação Preço1222 Disco 200

3232 Disquete 0,5

1231 Rato 2

REGISTO(Correspondente a

um produto)

Nome dosCAMPOS

Tabela: Produto

Esquema relacional: Produto(CodProduto, Designação, Preço)

Valor do campo

13

Tabela• Estrutura bidimensional

• Zero ou mais registos

• Um ou mais campos (atributos)

• Ao número de campos da tabela dá-se o nome de grau da relação

• Ao número de registos designa-se de cardinalidade da relação

14

Características das tabelas no modelo relacional

• No cruzamento de uma linha (registo) com uma coluna (campo) só é possível encontrar um valor.

• Os nomes dos campos de uma tabela devem ser diferentes.

• Os registos de uma tabela devem ser diferentes.• A ordem dos registos na tabela, tal como a ordem dos

campos no desenho da tabela não tem qualquer significado.

• Todos os valores de um determinado campo tem o mesmo domínio (são do mesmo tipo de dados). O valor de alguns campos podem ser desconhecidos ou não existir.

15

ChavesChave primária• É formada por UM ou MAIS campos que têm um

valor exclusivo para cada registo (constitui um identificador exclusivo para cada registo da tabela - cada tabela deve incluir um campo ou um conjunto de campos que identifiquem de forma única cada registo armazenado na tabela.)

Chave estrangeira (ou chave externa ou chave importada)

• É um conjunto de UM ou MAIS campos que são chave primária numa outra tabela.

16

Chave estrangeira

• Uma chave estrangeira numa tabela é necessária para manter a interligação entre essa tabela e a tabela onde esses atributos são chave primária.

• No modelo relacional a única forma de relacionar dados de diferentes tabelas é através de campos comuns (chaves estrangeiras) às tabelas que se relacionam. Se registos (linhas) individuais de duas tabelas tem o mesmo valor no(s) campo(s) comum/comuns é porque estão relacionadas.

17

Exemplo – Tabelas relacionadas

• Se tivermos 2 tabelas – Departamentos e Funcionários, a única forma de indicar que um dado funcionário trabalha num dado departamento é incluir na tabela Funcionários a identificação do departamento onde esse funcionário trabalha (ou seja, importando para a relação Funcionários a chave primária da tabela Departamentos).

18

Exemplo

Neste exemplo cod_dep que é chave primária na tabela Departamentos, é chave estrangeira na tabela Funcionários.

Se este campo não existisse na relação Funcionários, não seria possível relacionar as duas tabelas.

Cod_dep Departamento ...

aaa Informática ...

bbb Produção ...

zzz Comercial ...

Cod_func Nome ... Cod_dep

1231 J. Silva ... aaa

3233 A. Costa ... zzz

2323 C. Cunha ... zzz

4343 J. Silva bbb

Departamentos

Funcionários

19

Álgebra relacional• Manipulação do modelo relacional• Operações da teoria de conjuntos (união,

intersecção, diferença e produto cartesiano) aplicadas às tabelas.

• Outros operadores específicos do modelo relacional: – Selecção de registos numa tabela (selecção).– Selecção de campos de uma tabela (projecção).– Junção de duas tabelas, originando uma

terceira.– Divisão de duas relações, originando uma

terceira.

20

UNIÃO• Tabela3 = (Tabela1 Tabela2)

A B C

1 2 3

4 5 6

7 8 9

10 2 7

A B C

1 2 3

4 5 9

4 5 6

A B C

1 2 3

4 5 6

7 8 9

10 2 7

4 5 9

=

Esta operação exige que as duas tabelas iniciais tenham esquemas compatíveis (i.e., mesmo grau e o domínio dos campos correspondentes sejam os mesmos). Os registos (linhas) da tabela resultado são registos da tabela1 ou da tabela2 ou de ambas. Os registos duplicados são eliminados.

21

INTERSECÇÃO• Tabela3 = (Tabela1 Tabela2)

A B C

1x 2v 3z

4x 5v 6z

7x 8v 9z

10x 2v 7z

A B C

1x 2v 3z

4x 5v 9z

4x 5v 6z

A B C

1x 2v 3z

4x 5v 6z

=

Esta operação exige que as duas tabelas iniciais tenham esquemas compatíveis (i.e., mesmo grau e o domínio dos campos correspondentes sejam os mesmos).

A tabela resultado consiste nos registos comuns às duas tabelas.

22

DIFERENÇA• Tabela3 = (Tabela1 Tabela2)

A B C

1x 2v 3z

4x 5v 6z

7x 8v 9z

10x 2v 7z

A B C

1x 2v 3z

4x 5v 9z

4x 5v 6z

A B C

7x 8v 9z

10x 2v 7z

=

Esta operação exige que as duas tabelas iniciais tenham esquemas compatíveis (i.e., mesmo grau e o domínio dos campos correspondentes sejam os mesmos).

A tabela resultado consiste nos registos que não existem na tabela2.

23

PRODUTO CARTESIANO• Tabela3 = (Tabela1 Tabela2)

A B

1x 2v

4x 5v

10x 2v

C D

1z 2y

4z 5y

A B C D

1x 2v 1z 2y

1x 2v 4z 5y

4x 5v 1z 2y

4x 5v 4z 5y

10x 2v 1z 2y

10x 2v 4z 5y

=

Os registos (linhas) da tabela resultado correspondem a todas as combinações das linhas da tabela1 com as linhas da tabela2.

A cardinalidade resultante é igual à multiplicação da cardinalidade de cada uma das duas tabelas iniciais.

24

SELECÇÃO• Tabela2 = <condição> (Tabela1)

(B=5v) =

Esta operação toma uma tabela inicial (tabela 1) e origina uma outra tabela com o mesmo esquema da primeira, mas em apenas os registos que verificam uma dada condição estão presentes

A B C

1x 2v 3z

4x 5v 6z

7x 8v 9z

4x 5v 6z

A B C

4x 5v 6z

4x 5v 6z

25

PROJECÇÃO• Tabela2 = <lista de campos> (Tabela1)

(B,C) =

Esta operação toma uma tabela inicial (tabela 1) e origina uma outra tabela cujo esquema é reduzido ao conjunto de atributos presentes na lista de atributos.

A B C

1x 2v 3z

4x 5v 6z

7x 8v 9z

4x 5v 6z

B C

2v 3z

5v 6z

8v 9z

26

JUNÇÃO NATURAL• Tabela3 = (Tabela1 Tabela2)

A B C

1x 2v 3z

4x 5v 6z

7x 8v 9z

C D

3z 2y

6z 5y

3z 5y

=

Esta operação é utilizada para combinar registos de diferentes tabelas (tabela1 e tabela2), com campos comuns, numa só tabela.

A tabela final contém um registo por cada combinação de registos das duas tabelas que possuam valores iguais nos atributos comuns.

O esquema da tabela final consiste na “soma” dos esquemas das relações iniciais.

A B C D

1x 2v 3z 2y

1x 2v 3z 5y

4x 5v 6z 5y

27

DIVISÃO• Tabela3 = (Tabela1 Tabela2)

A B C D

1x 2v 3z 3y

4x 5v 6z 5y

7x 8v 9z 4y

10x 2v 7z 6y

C D

3z 3y

6z 5y

A B

1x 2v

4x 5v

=

Os campos da tabela2 devem estar contidos na tabela1.

Os campos presentes na tabela final são os campos da tabela1 que não estão presentes na tabela2.

Os registos da tabela final são aqueles que existem na tabela1, em combinação com todos os registos da tabela2.

28

• Das várias operações apresentadas, apenas a união, a diferença, o produto cartesiano, a selecção e a projecção são operações primitivas.

• A intersecção, a junção, a divisão podem ser definidas a partir das primeiras.

Ex: T1 T2 = T1 – (T1 - T2)

29

Exemplo(álgebra relacional)

Alunos (número, nome, curso, média)

• Como traduzir para álgebra relacional a seguinte pergunta:

“Indique o nome e número dos alunos com média final inferior a 14?”

TabelaResultado = ( número,nome ( média < 14 (Alunos)) )

top related