22
Bases de dados relacionais (3ª aula) Conceitos básicos de bases de dados relacionais A 3ª forma normal Graça Abrantes

Bases de dados relacionais (3ª aula) ○ Conceitos básicos de bases de dados relacionais

  • Upload
    gates

  • View
    46

  • Download
    1

Embed Size (px)

DESCRIPTION

2. Bases de dados relacionais (3ª aula) ○ Conceitos básicos de bases de dados relacionais ○ A 3ª forma normal. Graça Abrantes. Desenvolvimento de uma base de dados. Realidade Modelo conceptual (e.g. Modelo Entidade-Associação) Modelo lógico (e.g. Modelo Relacional). - PowerPoint PPT Presentation

Citation preview

Page 1: Bases de dados relacionais (3ª aula) ○  Conceitos básicos de bases de dados relacionais

Bases de dados relacionais (3ª aula) ○ Conceitos básicos de bases de dados relacionais

○ A 3ª forma normal

Graça Abrantes

Page 2: Bases de dados relacionais (3ª aula) ○  Conceitos básicos de bases de dados relacionais

2

Desenvolvimento de uma base de dados

Realidade

Modelo conceptual

(e.g. Modelo Entidade-Associação)

Modelo lógico

(e.g. Modelo Relacional)

Page 3: Bases de dados relacionais (3ª aula) ○  Conceitos básicos de bases de dados relacionais

3

Modelo lógico: SGBD relacional

Baseiam-se num conjunto de conceitos teóricos apresentados em 1970 por E. F. Codd.

Vantagens dos SGBD relacionais:– simplicidade dos conceitos que utilizam

– existência de definições formais para os conceitos • permitiram uma rápida divulgação

• permitiram a adesão de diversos fabricantes de software;

– adequação à representação de muitos dos aspectos que constituem a realidade

Page 4: Bases de dados relacionais (3ª aula) ○  Conceitos básicos de bases de dados relacionais

4

Relação

Nas bases de dados relacionais a estrutura fundamental é a relação, também designada por tabela.

Uma relação ou tabela é definida por um esquema.

Um esquema é composto:– pelo nome da relação

– pelos nomes dos atributos

Page 5: Bases de dados relacionais (3ª aula) ○  Conceitos básicos de bases de dados relacionais

5

Esquema

Exemplos:

PqCampismo(designação, capacidade, prop)

Concelho(código,designação)

Page 6: Bases de dados relacionais (3ª aula) ○  Conceitos básicos de bases de dados relacionais

6

Atributos

Um atributo Ai toma valores num conjunto Di

chamado domínio do atributo. – O domínio determina o tipo de valores que o atributo

pode tomar.

Dado U={A1, A2,...,An}, uma relação R sobre U é

um subconjunto de D1 x D2 x ... x Dn.

A cada tuplo deste produto cartesiano dá-se o nome de instância da relação R.

Page 7: Bases de dados relacionais (3ª aula) ○  Conceitos básicos de bases de dados relacionais

7

Tabela

O conjunto das instâncias da relação R constituí uma tabela em que

- as linhas são as instâncias (ou registos)

- as colunas são os atributos (ou campos)

Page 8: Bases de dados relacionais (3ª aula) ○  Conceitos básicos de bases de dados relacionais

Exemplo de tabela

8

FID AREA PERIMETER CODSOLO NOME SUBNOME ESPECIFI

0 97874696,000 47854,961 704 CAMBISSOLOS Cambissolos húmicos rochas eruptivas

1 168769040,000 89036,758 401 RANKERS Rankers

2 35709536,000 29313,652 707 CAMBISSOLOS Cambissolos húmicos xistos (associados a Luvissolos, forte influência atlântica)

3 2353602560,000 568370,063 704 CAMBISSOLOS Cambissolos húmicos rochas eruptivas

4 31251520,000 98195,047 0

5 23266346,000 40939,973 711 CAMBISSOLOS Cambissolos húmicos rochas sedimentares post-Paleoz¾icas

6 52112604,000 50222,359 707 CAMBISSOLOS Cambissolos húmicos xistos (associados a Luvissolos, forte influência atlântica)

7 63716896,000 56198,262 704 CAMBISSOLOS Cambissolos húmicos rochas eruptivas

8 45220672,000 35044,168 401 RANKERS Rankers

9 377770816,000 224721,875 706 CAMBISSOLOS Cambissolos húmicos xistos

10 208459376,000 132747,672 706 CAMBISSOLOS Cambissolos húmicos xistos

11 781195,938 4151,222 601 SOLONCHAKS Solonchaks gleizados

12 546063616,000 250144,625 708 CAMBISSOLOS Cambissolos húmicos xistos (associados a Luvissolos, forte influência atlântica)

13 37558660,000 27818,992 401 RANKERS Rankers

14 577211776,000 312965,563 707 CAMBISSOLOS Cambissolos húmicos xistos (associados a Luvissolos, forte influência atlântica)

15 31008276,000 34558,926 704 CAMBISSOLOS Cambissolos húmicos rochas eruptivas

16 148451328,000 82194,953 704 CAMBISSOLOS Cambissolos húmicos rochas eruptivas

17 21833836,000 31642,904 707 CAMBISSOLOS Cambissolos húmicos xistos (associados a Luvissolos, forte influência atlântica)

Page 9: Bases de dados relacionais (3ª aula) ○  Conceitos básicos de bases de dados relacionais

9

Observações

os valores de cada atributo pertencem a um mesmo domínio;

o valor de um atributo é sempre atómico;– isto é, numa tabela, no cruzamento de uma linha com uma coluna

só pode existir um valor de atributo; numa relação não podem existir instâncias iguais; a ordem porque se encontram as instâncias de uma relação

e os seus atributos é irrelevante; podem existir instâncias sem valores em alguns dos seus

atributos; neste caso o atributo diz-se opcional e o seu valor é null;

os nomes (ou identificadores) dos atributos que constituem o esquema de uma relação são únicos nessa relação.

Page 10: Bases de dados relacionais (3ª aula) ○  Conceitos básicos de bases de dados relacionais

10

Chave(s) de uma relação

Um conjunto de atributos que tomam valores diferentes para cada instância da relação é uma chave da relação. – cada instância pode ser identificada pelo valor da

chave: o valor da chave nunca se repete.

Uma chave pode ser composta por um ou mais atributos.

Atributo primário: pertence à chave Atributo não primário: não pertence à chave

Page 11: Bases de dados relacionais (3ª aula) ○  Conceitos básicos de bases de dados relacionais

11

Chave primária e chave estrangeira

Nos SGBD relacionais, para representar as associações existentes entre as várias entidades utilizam-se esquemas de relações em que figuram atributos comuns.

Chave primária de uma relação é um subcon-junto mínimo de atributos cujos valores permitem identificar de modo único cada uma das instâncias dessa relação.

Uma chave estrangeira de uma relação é um conjunto de atributos que é chave primária de outra relação.

Page 12: Bases de dados relacionais (3ª aula) ○  Conceitos básicos de bases de dados relacionais

As formas normais

Para um dada realidade pode existir mais do que um esquema de base de dados adequado– é difícil escolher qual o melhor

– nem existem regras para criar um esquema óptimo

Para um esquema de base de dados não estar correcto ...– é suficiente que ele não cumpra a 3ª forma normal

– cumprir a 3ª forma normal não é suficiente para que um esquema se possa considerar óptimo

12

Page 13: Bases de dados relacionais (3ª aula) ○  Conceitos básicos de bases de dados relacionais

13

Modelo relacional: 1ª forma normal

• Todos os atributos tomam valor único.

Exemplo: Em vez de

Fazer:

Tejo principal marítima, terrestre

Mondego principal marítima

Tejo principal sim sim

Mondego principal sim não

Page 14: Bases de dados relacionais (3ª aula) ○  Conceitos básicos de bases de dados relacionais

14

Modelo relacional - Dependências funcionais

• Dada um relação R definida sobre um conjunto de atributos U={A1, A2, …, An}, diz-se que o atributo Ak depende funcionalmente do atributo Ai (AiAk) se e só se sempre que duas instâncias têm o mesmo valor em Ai tiverem, necessariamente, também o mesmo valor em Ak.

Page 15: Bases de dados relacionais (3ª aula) ○  Conceitos básicos de bases de dados relacionais

15

Modelo relacional: 2ª forma normal

• A relação tem que estar na 1ª forma normal• Não existem dependências funcionais entre

atributos que não pertencem à chave primária e partes da chave primária

• a 2ª forma normal só é relevante quando a chave primária de uma tabela é composta por mais do que um atributo

Page 16: Bases de dados relacionais (3ª aula) ○  Conceitos básicos de bases de dados relacionais

16

Modelo relacional: 3ª forma normal

• A tabela tem que estar na 2ª forma normal• Não existem dependências funcionais entre

atributos que não pertencem à chave primária

Page 17: Bases de dados relacionais (3ª aula) ○  Conceitos básicos de bases de dados relacionais

17

Normalização

• A passagem de uma forma normal para outra pode implicar a decomposição de uma tabela num conjunto de tabelas.

Page 18: Bases de dados relacionais (3ª aula) ○  Conceitos básicos de bases de dados relacionais

18

Exemplo: 2ª FN 3ª FN

Exemplo: atendendo a que a 1ª coluna da tabela é a chave primária, a tabela seguinte verifica a 2ª forma normal mas não a 3ª forma normal

Substituindo esta tabela pelas 2 tabelas seguintes, não há perda de informação e ambas verificam a 3ª forma normal

RC13206 1111 SINTRA 11 Lisboa

RC13205 1110 OEIRAS 11 Lisboa

RC13206 1111 SINTRA 11

RC13205 1110 OEIRAS 1111 Lisboa

Page 19: Bases de dados relacionais (3ª aula) ○  Conceitos básicos de bases de dados relacionais

19

Tabela normalizada (3ª forma normal)

• Numa tabela que verifica as primeiras três formas normais, qualquer atributo que não pertence à chave primária depende completamente e exclusivamente da totalidade dessa chave.

Page 20: Bases de dados relacionais (3ª aula) ○  Conceitos básicos de bases de dados relacionais

20

Por que é que a tabela abaixo não está na 3ª forma normal?

Page 21: Bases de dados relacionais (3ª aula) ○  Conceitos básicos de bases de dados relacionais

21

Exemplo:

Suponha que tem que estruturar um tema relativo a árvores notáveis numa estrutura de dados vectoriais de um sistema de informação geográfica (SIG). Para cada árvore pretende registar o nome comum, o nome científico, a família, a altura da árvore e o diâmetro do tronco (DAP). Existe um milhar de árvores notáveis na região de interesse, havendo várias espécies representadas por diversos indivíduos. Como estruturaria essa informação no SIG?

Page 22: Bases de dados relacionais (3ª aula) ○  Conceitos básicos de bases de dados relacionais

22

Consistência, redundância e formas normais

Para evitar redundâncias e para facilitar a manutenção da consistência dos dados na base de dados, as tabelas devem verificar as formas normais.

A primeira forma normal é obrigatoriamente respeitada por uma relação.

A segunda forma normal é obrigatoriamente respeitada por uma relação cuja chave primária seja simples.

A segunda forma normal nas relações que possuem chave primária composta e a terceira forma normal asseguram a não existência de um certo tipo de redundâncias na base de dados.