Você está na página 1de 8

Base de dados

Conjunto de dados inter- relacionados

Sistema de gesto de uma base de dados (SGBD)


Conjunto de programas bsico para aceder e manipular esses dados. O Oracle 10g e um SGBD!

Aplicao de base de dados


Sistema completo que permite desempenhar um conjunto de tarefas de manipulao e tratamento de dados.

BASE DE DADOS RELACIONAIS


So bases de dados em que os dados so armazenados em tabelas. As tabelas relacionam se entre si. O conjunto de tabelas de uma base de dados relacional chama-se esquema de dados relacional.

Modelo de dados relacionais


Tabelas
Todos os dados (assim como o relacionamento existente entre os dados) So representados por tabelas relacionadas entre si: Cada tabela tem um nome nico pela qual e referenciada. Cada linha da tabela registo representa uma entidade nica ou um relacionamento entre entidades cada coluna atributo tem um nome e refere se a um dado aspeto do objeto representado na tabela. Cada tabela pode conter muitos registos (ou nenhum: tabela vazia).

Atributos
Cada atributo possui um conjunto de valores. O conjunto de todos os valores para um dado atributo o domnio do atributo. Dependendo do domnio, assim o atributo e representado por nmeros, textos, datas, etc. E muito importante que todos os atributos de uma tabela sejam no decomponveis. Diz se ento que os atributos so atmicos, ou que so atributos elementares. Exemplo para o atributo cidade Domnio e o conjunto formado pelos nomes de todas as cidades de Portugal. O atributo e representado por textos (cadeia de caracteres) E atmico pois cada atributo representa uma cidade (e no varias).

A ordem pela qual aparecem os atributos (colunas) numa tabela no e importante o significado do registo. A ordem pela qual aparecem os registos (linhas) tambm no e importante. Cada registos representa um objeto (ou um relacionamento) e este e apenas determinado pelos valores presentes em cada atributo, e no pela sai posio na tabela.

Chave primaria
Chave primaria (ou atributos): atributo de atributos, que permitem identificar de forma inequvoca qualquer registo de uma tabela. A chave primaria e: Unvoca: o atributo (ou atributos) da chave primria tem um valor unvoco para qualquer registo da tabela. No nula: No pode haver registos na tabela que tenham o atributo (ou atributos) da chave primria nulos (sem nada)

Chave estrangeira
Chave estrangeira atributo ou conjunto de atributos de uma tabela que aparece como chave primria numa outra tabela, permitindo estabelecer o relacionamento entre registos dessas tabelas.

Integridade
Uma base de dados est num estado de integridade se contem apenas dados validos. Ou seja, se os dados armazenados na base de dados esto de acordo com a realidade.

Restrio de integridade
Restries de integridade so regras que definem que dados so validos. Vejamos alguns exemplos para a tabela Professor: - O salrio tem de ser maior ou igual a zero (no pode ser negativo) - O salrio tem de ser melhor do que 5 mil dlares - A data de nascimento tem de estar compreendida entre 01-01-1900 e o dia em que se est a inserir o registo - O campo Nome no pode ser nulo (preenchimento obrigatrio) - O campo BI a chave primria (no pode haver duplicaes) Estas regras fazem parte da definio da estrutura da tabela (so indicadas normalmente quando se define a tabela) O sistema de Gesto de Bases de Dados (SGBD) verifica se os dados respeitam as regras definidas de cada vez que so executadas operaes que alteram os dados (inserir, atualizar ou apagar registos).

Integridade de domnio
Regras de integridade que se aplicam a atributos de uma dada tabela. Os exemplos de violaes de integridade na tabela Professor s podem acontecer se no forem definidas restries de integridade de domnio.

Integridade de entidade
Declarao de chave primria. Uma vez declarada a chave primaria o SGBD no deixa que a tabela tenha dois registos com a mesma chave primaria.

Integridade referencial
Regra de integridade que relaciona duas tabelas. Quando se indica que o atributo N_de_conta da tabela Cliente_banco chave estrangeira, relacionando este atributo com a chave primria da tabela Conta, est se a indicar uma regra de integridade referencial.

Ainda sobre as chaves primrias


Muitas vezes h vrias possibilidades para formar a chave primria de uma tabela. A cada um dos atributos ou conjuntos de atributos que pode constituir uma chave primria chama-se chave candidata. S uma das chaves candidatas que pode ser declarada como chave primria. Se a tabela no tiver nenhuma chave candidata introduz-se um atributo numrico que serve apenas para fazer o papel da chave.

Dependncia funcional
Dependncia funcional: dados dois atributos A e B (ou dois conjuntos de atributos) de uma tabela, diz-se que B funcionalmente dependente de A se a cada valor de A estiver associado um, e s um, valor de B. Representa-se por: A -> B Diz que A o determinante de B se A -> B e se B no for funcionalmente dependente de nenhum subconjunto de A.

Dados redundantes
Dados que se forem retirados no levam a perda de informao na base de dados. Os telefones dos encarregados so dados redundantes. Por exemplo, eliminando o telefone do encarregado no ltimo registo (Silva) seria ainda possvel obter o telefone do encarregado silva a partir de outro registo Soluo incorreta para eliminar os dados redundantes porque: Origina campos nulos. Pode levar a anomalias de apagamento (p. ex., se o primeiro registo for apagado perde-se a informao relativa ao telefone do encarregado Silva).

Dados duplicados
Um aspeto muito importante consiste na distino entre dados duplicados e dados redundantes. Exemplo de uma tabela com dados duplicados.

Como eliminar os dados redundantes?


Exemplo Emp_P N_empregado 125 138 193 200 Encarregado Antnio Silva Joana Antunes Antnio Silva Joana Antunes Tel_encarregado 7223433 7275432 7234343 7275432

A soluo mais correta para eliminar os dados redundantes dividir a tabela em duas. Emp-Enc N_empregado 125 138 193 200 Encarregado Antnio Silva Joana Antunes Antnio Silva Joana Antunes

Normalizao
Normalizao: processos que identifica a localizao correta de cada atributo e a estrutura das tabelas existentes numa base de dados. Se uma tabela est mais normalizada isso significa que tem menos dados redundantes. A normalizao de uma tabela obtida pela diviso da tabela em duas ou mais tabelas, de acordo com um processo bem especfico.

Formas normais
Representam sucessivos graus de normalizao de tabelas. Principais formas: 1 Forma normal (1fn) 2forma normal (2fn) 3forma normal (3fn) Uma tabela forma normal mais avanada tem menos dados redundantes. Se uma tabela estiver numa forma formal mais avanada, tambm est nas formas normais anteriores. De uma forma geral, um dos objetos ao projetar uma aplicao de bases de dados ter tabelas sem dados redundantes (ou com o mnimo de redundncia).

1 Forma normal
Uma relao est na 1forma normal quando: Os domnios de todos os seus atributos contem apenas valores atmicos. No h conjuntos de atributos repetidos descrevendo a mesma caracterizao. Inconvenientes de uma relao na 1fn

Questo: se uma tabela na 1fn pode conter toda a informao de uma base de dados porque descomp-la em diversas tabelas? Porque uma tabela na 1fn: Contem (ou pode conter) informaes redundantes pelo que ocupa mais espao em disco e pode tornar o sistema mais lento As operaes (insero atualizao e apagamento) sobre a base de dados podem levar a perder de integridade H TRS TIPO DE PROBLEMA ANOMALIAS DE INSERAO ANOMALIAS DE ACTULIZAAO ANOMALIAS DE APAGAMENTO

2 Forma normal
Uma tabela est na 2fn quando estiver na 1fn e os atributos que no so chave dependerem inteiramente da chave. Para verificarmos se a tabela mestrando esta na 2fn perguntamos Qual a chave desta tabela? Se a chave for apenas atributo ento esta na 2fn se a chave for concatenada (mais que um atributo) perguntamos. H atributos que no so chave e que dependem apenas de para toda chave? Se no esta na 2fn

3forma normal
Uma tabela est na 3fn quando estiver na 2fn e nenhum atributo que no seja chave depender de outro que tambm, no seja chave. O atributo gabinete desta tabela, que no chave, depende unicamente do atributo orientador que tambm no chave. Logo a tabela no esta na 3fn.

Definio do modelo de dados relacional


Dois mtodos: Do particular para o geral (bottom-up) 1) Relao universal; 2) Anlise de dependncia funcionais; 3) Modelo de dados (conjunto de tabelas) Do geral para o particular (Top-down) 1) Entidade Relacionamento; 2) Anlise de relacionamentos e participaes 3) Modelo de dados (conjunto de tabelas)

Mtodo recomendado para definio do modelo de dados de uma aplicao de bases de dados
1. Usar diagramas de entidades relacionamento (ER) 2. Obter um modelo de dados inicial

3. Melhorar o modelo usando dependncias funcionais e normalizao. O projetistas dever escolher as tabelas que faz sentido analisar com mais cuidado e, eventualmente, subdividir para obter tabelas mais normalizadas.

Diagramas de Entidade-Relacionamento (ER)


Os diagramas de Entidade-Relacionamento (ER) so um mtodo para descrever a estrutura de dados adequada para uma aplicao de base de dados. A conceo de esquemas de dados atravs de diagramas ER um mtodo do geral para o particular (top-down) e , de longe, a abordagem mais usada. Baseia-se nos seguintes passos principais: 1. Identificar todas as entendidas e todos os relacionamentos importantes para a situao a tratar 2. Construir o diagrama de Entidade-Relacionamento (ER) 3. Gerar o conjunto de tabelas preliminares a partir do diagrama ER (feito normalmente de forma automtica por ferramentas de design) 4. Analisar se necessrio o grau de normalizao de algumas das tabelas geradas e, se necessrio, normalizar mais essas tabelas (ou o inverso).

Entidades e relacionamentos
Entidade Coisas relativamente ao problema a tratar e sobre a qual h interesse em guardar/manipular informao; uma entidade deve ter ocorrncias e deve ser possvel distinguir uma ocorrncia de outra ocorrncia. Relacionamento

Ligao entre entendidas. Atributo

Caratersticas de uma entidade (em certos casos tambm de um relacionamento)

Entidades

Relacionamento

Diagramas ER
Professor Numero funcionrio Nome Grau acadmico Categoria profissional Data nascimento Bilhete identidade

TXT15 <M> TXT50 TXT20 TXT20 D TXT15

Disciplinas Cdigo disciplina <pi> Nome Nvel Programa

TXT10 TXT50 TXT10 TXT200

Os nomes das entidades so normalmente substantivos Os nomes dos relacionamentos so verbos, pois representam aes Tipicamente, s diagramas ER mostram os atributos das entidades, abreviaturas a designar os tipos de dados, a chave primria, etc. A aparncia dos diagramas ER pode ser normalmente configurado nas ferramentas de desenho de diagramas ER.

Diferentes maneiras de mostrar as entidades


Professor>Lecionar> Disciplina Professor>Lecionar>Disciplina
Numero funcionrio cdigo disciplina

S mostra o nome das entidades Mostra o nome e a chave primaria

Professor>Lecionar>Disciplina Mostra o nome e todos os atributos


Numero funcionrio Nome Grau acadmico Categoria profissional Data nascimento Bilhete identidade Cdigo disciplina Nome Nvel Programa

Professor>Lecionar>Disciplina Mostra o nome e todos os atributos, indicando os que so obrigatrios (M) e chave primaria (pi).

Diagrama de ocorrncia
Exemplifica um relacionamento entre entidades simulando a existncia de algumas ocorrncias das entidades e estabelecendo o relacionamento entre essas ocorrncias.

Relacionamentos
Os relacionamentos so caraterizados por: - Participao

Indica se o relacionamento obrigatrio ou no obrigatrio. Neste casa uma disciplina relaciona-se de forma obrigatria com um professor (tem de ter sempre professor) mas o professor pode no ter disciplina (no d aulas). Cardinalidade

Indica qual o grau do relacionamento. Por exemplo: Neste exemplo um professor pode dar mais de uma disciplina mas uma disciplina s e dada por um professor.

Participao obrigatria: grau 1:1


Em todos os exemplos do diapositivo anterior, um professor s pode dar uma disciplina e uma disciplina s pode ter um professor (ou nenhum, nos casos em que o relacionamento to obrigatrio). No primeiro caso pode haver professores que no tenham disciplina atribuda e tambm, pode haver disciplinas sem professor. Notar que mesmo que todas

ocorrncias de professor e de disciplina tenham se relacionem, o que importa que pode haver professores sem disciplina e disciplinas sem professores.

Participao obrigatria: grau 1:N


Em todos os exemplos do dispositivo anterior, um professor pode dar zero (quando o relacionamento no for obrigatrio), um ou muitas disciplinas. No entanto, uma disciplina s pode ter um professor (ou nenhum, nos casos em que o relacionamento no obrigatrio).

Participao obrigatria: grau N:1


Igual a Participao obrigatria: grau 1:N

Participao obrigatria: grau N:M


Em todos os exemplos do diapositivo, um professor pode dar zero (quando o relacionamento no for obrigatrio), um ou muitas disciplinas e as disciplinas tambm podem ter zero (quando o relacionamento no for obrigatrio), um ou muitos professores.

Você também pode gostar