Anda di halaman 1dari 21

Conceitos Bsicos

1. Conceito de Dados e Informao


Necessidade de Informao: Ao ser humano Especializao Conhecimento Novas ideias

organizao (Empresa) Vital para o seu funcionamento

Caractersticas da informao: Precisa (correcta e verdadeira) Concisa (de fcil manipulao) Simples (de fcil compreenso) Oportuna (existe no momento e local correcto)

Dados versus Informao

Dados: Factos do mundo real (podem no ser informao). Informao: Dados depois de processados, de forma a representarem algo para o ser humano.

2. A Evoluo dos Ficheiros ao Longo dos Tempos


Ficheiros manuais Exemplo: Arquivo de uma biblioteca Fichas de clientes

Tm como principais inconvenientes: Espao fsico ocupado Duplicao de informao desnecessria (Redundncia de Informao) Difcil manipulao da informao armazenada Deteriorao do suporte utilizado (Papel ou carto)

Ficheiros Clssicos Exemplo: Magntico ptico

Tm como principais vantagens: Pouco espao fsico ocupado Eliminao da Redundncia de Informao. Fcil manipulao da informao armazenada Menor deteriorao do suporte utilizado

Neste tipo de ficheiros, a informao organizada por registos, constitudos por campos.

Registo: Conjunto de dados Ficheiro: Registos correlacionados entre si

Exemplo: Registo: Ficha de um scio de um Vdeo Clube. Ficheiro: Conjunto de todos os scios.

3. Sistemas de Gesto de Base de Dados


Para manipular a informao foram criadas ferramentas do tipo SGBD Sistema de Gesto de Base de Dados.

Um sistema SGBD permitem criar e manipular Bases de Dados em que os dados so estruturados com independncia relativamente aos programas de aplicao que os manipulam.

A Arquitectura de um SGBD pode ser dividido em 3 Nveis:

1. Nvel Fsico Suportes informticos para o armazenamento dos ficheiros de dados (discos, disquetes, etc.) Forma como eles se encontram organizados nesses suportes.

2. Nvel Conceptual Estruturao ou organizao da informao em tabelas (entidades) e formas de relacionamento entre entidades. (Nmero e tipo de campos em que a informao estruturada)

3. Nvel de Visualizao Forma como os dados so apresentados aos utilizadores finais, atravs de interfaces grficos proporcionados pelo SGBD.

Modelo de Base de Dados


1. O Modelo Lgico
Para descrevermos a nossa aplicao em termos lgicos (Desenho Lgico), vamos utilizar o Modelo Relacional, tambm chamado Modelo E-R (EntidadeRelao).

Etapas do Mtodo
Etapa 1 Diagramas E-R: Anlise das necessidades de informao da Empresa e elaborao do Modelo E-R. Etapa 2 Tabelas no Normalizadas: Transformao do Diagrama ER num conjunto de Tabelas Etapa 3 Tabelas Normalizadas: Normalizao das Tabelas

2. Anlise das Necessidades de Informao da Empresa e Elaborao do Modelo E-R.


Alguns Conceitos e Definies

Entidade: Objectos ou conceitos que possuem um conjunto de caractersticas comuns. Compostas ou caracterizadas por um conjunto de atributos. Corresponde a uma tabela de uma Base de Dados.

Exemplos:

Pastor Alemo Boxer Setter Doberman

Fiat Renault Ford BMW

Entidade Co

Entidade Automvel

Representa-se por:

Co

Automvel

Atributo: Caractersticas comuns aos objectos ou conceitos definidos pela Entidade. qualquer propriedade de uma Entidade. Corresponde aos campos de uma tabela.

Representa-se por: Co (Nome, Raa, Sexo, DataNascimento)

Ocorrncia: Para determinada situao, vamos ter valores concretos para os atributos. Corresponde aos registos de uma tabela.

Exemplo: Co Nome Yankee Rocky Fritz Raa Boxer Pastor Setter Sexo M F M DataNascimento Jan85 Mai88 Fev83

Uma entidade ou classe de entidades corresponde a uma tabela Os atributos da entidade correspondem aos campos da tabela Os vrios elementos da entidade correspondem aos registos.

Chave Candidata: um atributo ou conjunto de atributos que poder ser usado como Chave Primria para uma dada entidade.

Exemplo: Nome, Nome e Raa

Chave Primria: um atributo ou conjunto de atributos de uma entidade, escolhido de entre as Chaves Candidatas, que identifica uma ocorrncia especfica dessa mesma entidade, distinguindo-a das restantes, de forma inequvoca. No pode ser nula, nem repetida.

Exemplo: Nome Representa-se da seguinte forma: Co (Nome, Raa, Sexo, DataNascimento)

Relao: Representa a interligao entre 2 ou mais entidades.

Dono

Possui

Co

A Chave primria identifica sem ambiguidades cada entidade concreta (Registo de uma tabela). Atravs delas que so estabelecidos os relacionamentos entre diferentes entidades ou tabelas

Chave Simples: constituda por um nico atributo (Campo). Chave Composta: constituda por mais do que um atributo (Conjunto de campos). A Chave Unvoca: Identifica de forma nica um registo de uma tabela.

Tipos de Relacionamentos
Existem 3 tipos de relacionamentos binrios: Relao 1:1 Relao 1:N Relao N:N

Relao 1:1
Professor 1 Lecciona
Lecciona

Disciplina

L-se: 1 Professor lecciona uma e uma s Disciplina 1 Disciplina leccionada por um e um s Professor

Relao 1:N
Departamento 1 Trabalha n Empregado

L-se: Num Departamento trabalham vrios Empregados 1 Empregado trabalha num e num s Departamento

Relao N:N
Autor n Escreve n Livro

L-se: 1 Autor escreve vrios Livros 1 Livro escrito por vrios Autores

Descrio Informtica de uma Entidade


Entidade Tabela Ficheiro

Cliente N Conta 0234654 26423654 98965875 Cliente Antnio Silva Jos Ferreira Joo Santos Reserva 12/12/1987 10/01/1990 17/08/1995

Registos Ocorrncia Linhas

Campos Atributos Colunas

Numa tabela as colunas correspondem aos campos ou atributos de uma entidade As linhas correspondem aos registos As vrias linhas (registos) podem conter dados repetidos em alguns campos, mas no podem existir duas linhas iguais. A ordem pela qual se dispem as colunas (campos) no importante e pode ser alterada sem que isso modifique o significado da informao contida na tabela

A ordem pela qual se dispem as linhas (registos) tambm no importante e pode ser alterada sem que isso signifique alterao da informao

No podem haver duas colunas (campos) com o mesmo nome. No deve haver campos vazios No permitido incluir mais do que um valor em cada campo de cada registo No podem haver registos duplicados.

Conectividade de uma Relao


Uma entidade pode participar numa relao de 2 formas: Participao Obrigatria: No pode existir nenhuma ocorrncia dessa entidade que no esteja associada a alguma ocorrncia da outra entidade que participa na relao. Participao no Obrigatria: Podem existir ocorrncias dessa entidade que no estejam relacionadas a alguma ocorrncia da outra entidade que participa na relao.

Representao:

Exemplo1
1 n

Factura

Tem

Linhas Factura

L-se: 1 Factura tem vrias Linhas de Factura 1 Linha de Factura pertence a uma e uma s Factura 1 Factura tem Obrigatoriamente Linhas de Factura 1 Linha de Factura pertence Obrigatoriamente a uma e uma s Factura

Exemplo2
n n

Scio

Requisita

Livro

L-se: 1 Scio requisita vrios Livros 1 Livro requisitado por vrios Scios Nem todos os Scios requisitam Livros Nem todos os Livros so requisitados por Scios

3. Transformao do Modelo E-R num Conjunto de Tabelas No Normalizadas


Cada entidade ir dar origem a uma tabela, com: Chave Primria Atributos Chaves Primrias de outras Entidades com que est relacionada (Chave Externa)

Em funo do grau da relao e da participao das diversas entidades, iremos obter um conjunto de tabelas no normalizadas.

Relao 1:1
1. Ambas as entidades tm Participao Obrigatria

Empregado

Utiliza

Carro

Empregado (CodEmpregado, Nome, Morada) Carro (Matricula, Marca, Modelo)

Basta uma nica tabela, com o somatrio dos campos das 2 entidades. A chave primria de uma das entidades.

Empregado (CodEmpregado, Nome, Morada, Matricula, Marca, Modelo)

2. Apenas uma entidade tem Participao Obrigatria

Empregado

Utiliza

Carro

So necessrias 2 tabelas, uma para cada entidade, e coloca-se a chave primria da entidade com participao no obrigatria na outra tabela, passando a designar-se por chave externa.

Empregado (CodEmpregado, Nome, Morada) Carro (Matricula, Marca, Modelo, CodEmpregado)

Nota: A chave externa CodEmpregado

3. Nenhuma das entidades tem Participao Obrigatria

Empregado

Utiliza

Carro

So necessrias 3 tabelas, uma para cada entidade e outra para a relao, e coloca-se a chave primria de cada uma das entidades na terceira tabela. A chave primria poder ser qualquer uma das chaves externas.

Empregado (CodEmpregado, Nome, Morada) Carro (Matricula, Marca, Modelo) Emp_Carro (CodEmpregado, Matricula)

Nota: As chaves externas so CodEmpregado e Matrcula

Relao 1:N
1. A entidade do lado N tem Participao Obrigatria

Empregado

Utiliza

Carro

So necessrias 2 tabelas, uma para cada entidade, e coloca-se a chave primria da entidade com grau 1 na tabela com grau N, passando a designarse por chave externa.

Empregado (CodEmpregado, Nome, Morada) Carro (Matricula, Marca, Modelo, CodEmpregado)

Nota: A chave externa CodEmpregado

2. A entidade do lado N no tem Participao Obrigatria

Empregado

Utiliza

Carro

So necessrias 3 tabelas, uma para cada entidade e outra para a relao, e coloca-se a chave primria de cada uma das entidades na terceira tabela. A chave primria ser a chave primria da tabela do lado N.

Empregado (CodEmpregado, Nome, Morada) Carro (Matricula, Marca, Modelo) Emp_Carro (CodEmpregado, Matricula)

Nota: As chaves externas so CodEmpregado e Matricula

Relao N:N

Empregado

Utiliza

Carro

So sempre necessrias 3 tabelas, uma para cada entidade e outra para a relao, e coloca-se a chave primria de cada uma das entidades na terceira tabela. A chave primria ser a concatenao das chaves primrias de cada uma das tabelas, obtendo-se, desta forma, uma Chave Composta.

Empregado (CodEmpregado, Nome, Morada) Carro (Matricula, Marca, Modelo) Emp_Carro (CodEmpregado, Matricula)

Notas: Chaves Externas: CodEmpregado e Matricula, separadamente Chave Primria: CodEmpregado e Matrcula, em conjunto (Chave Composta)

Integridade da Informao
Um sistema SGBD deve preservar a Integridade da Informao: Integridade de Entidade
Os valores dos atributos da chave no seu conjunto no se podem repetir nem serem nulos em qualquer dos registos.

Integridade Referencial
Impe que um valor de uma chave externa tem obrigatoriamente de existir como elemento da chave primria da tabela relacionada com aquela chave externa.

Os objectivos a atingir num projecto de uma base de dados so: Tornar possvel a incluso de toda a informao relevante. Evitar a redundncia ou repetio desnecessria. Procurar assegurar a consistncia e integridade da informao. Proporcionar interfaces fceis de compreender e manipular. Proporcionar formas de controlo do acesso informao.

Normalizao de Tabelas
Ao normalizarmos as tabelas, usando as Formas Normais, iremos eliminar a informao que se repete desnecessariamente (Redundncia da Informao). Existem 3 Formas Normais:

Primeira Forma Normal 1FN Secunda Forma Normal 2FN Terceira Forma Normal 3FN

1. Primeira Forma Normal 1FN


Uma tabela est na 1 Forma Normal (FNF - First Normal Form) quando todos os seus atributos so elementares.

No pode existir uma lista de valores para um determinado atributo.

Vamos considerar a tabela como exemplo:

Existncia_de_Peas (NPea, Armazm)

NPea T232 H995

Armazm Lisboa, Porto, Leiria Aveiro, Lisboa

Esta tabela no se encontra na 1 Forma Normal, uma vez que o atributo Armazm consiste numa lista de valores. Para podermos obter a 1 Forma Normal deveremos subdividir as diversas peas pelos diversos armazns. Assim, a tabela

Existncia_de_Peas (NPea, Armazm)

NPea T232 T232 T232 H995 H995

Armazm Lisboa Porto Leiria Aveiro Lisboa

j se encontra na 1 Forma Normal.

De notar que a chave primria passou a ser Chave Primria Composta.

2. Segunda Forma Normal 2FN


Uma tabela est na 2 Forma Normal (SNF - Second Normal Form) quando estiver na 1FN e os seus atributos que no so chave dependerem inteiramente da Chave Primria.

Esta situao s faz sentido quando tivermos uma Chave Primria Composta. Para o nosso exemplo, vamos aumentar o nmero de atributos.

Existncia_de_Peas (NPea, Armazm, Qtd_Stock, Telefone, NCaixotes)

NPea T232 T232 T232 H995 H995

Armazm Lisboa Porto Leiria Aveiro Lisboa

Qtd_Stock 467 319 121 578 223

Telefone 112345644 298765489 445678922 341111154 112345644

NCaixotes 47 32 13 58 23

Inconvenientes de uma Tabela na 1FN


1. A Base de Dados ocupa mais espao em disco (Redundncia da Informao).

2. A actualizao de um dos registos pode fazer perder a integridade da Base de Dados, criando uma anomalia de actualizao. Por exemplo: Se um armazm mudar o n de telefone, ou se actualizam todos os registos que dizem respeito a esse armazm, ou a Base de Dados perde a sua integridade, uma vez que teremos o mesmo armazm com ns de telefone diferentes.

3. A eliminao de um registo pode provocar idntica perda de integridade, criando uma anomalia de apagamento. Por exemplo: Se uma pea deixar de existir, e portanto se apagar o respectivo registo, pode desaparecer a indicao de um armazm com o respectivo n de telefone.

Para o nosso exemplo: A Tabela est na 2 Forma Normal? Qual a Chave da Tabela? o Se a Chave Primria no for concatenada, est na 2 Forma Normal. E se a Chave Primria for concatenada? o H atributos que no so chave e que dependem apenas de parte da chave? Se no, est na 2FN.

Para o nosso exemplo, verificamos que o atributo Telefone s depende do atributo Armazm e, como tal, a tabela no se encontra na 2FN.

Vamos ento transformar a tabela em duas tabelas na 2FN.

Existncia_de_Peas (NPea, Armazm, Qtd_Stock, NCaixotes)

NPea T232 T232 T232 H995 H995

Armazm Lisboa Porto Leiria Aveiro Lisboa

Qtd_Stock 467 319 121 578 223

NCaixotes 47 32 13 58 23

Armazns (Armazm, Telefone)

Armazm Lisboa Porto Leiria Aveiro

Telefone 112345644 298765489 445678922 341111154

De notar que a Chave Primria da Tabela Existncia_de_Peas : NPea, Armazm. Armazm, isoladamente, funciona como Chave Externa para a tabela Armazns. De notar, tambm, que se resolveram todos os inconvenientes da 1FN.

3. Terceira Forma Normal 3FN


Uma tabela est na 3 Forma Normal (Third Normal Form) quando estiver na 2FN e nenhum atributo que no seja Chave Primria dependa de outro que tambm no seja chave.

Para o nosso exemplo e considerando que as peas so empacotadas em conjuntos de 10 unidades, verificamos que sabendo a Qtd_Stock, conseguimos determinar o NCaixotes, sendo as restantes colocadas num outro caixote. Portanto, o atributo NCaixotes, que no chave, depende do atributo Qtd_Stock, que tambm no chave. Assim a tabela no se encontra na 3FN. Para que a mesma esteja normalizada, devemos eliminar o atributo NCaixotes, obtendo desta forma:

Existncia_de_Peas (NPea, Armazm, Qtd_Stock)

NPea T232 T232 T232 H995 H995

Armazm Lisboa Porto Leiria Aveiro Lisboa

Qtd_Stock 467 319 121 578 223

Armazns (Armazm, Telefone)

Armazm Lisboa Porto Leiria Aveiro

Telefone 112345644 298765489 445678922 341111154

4. Utilizao de Cdigos
Depois de as tabelas se encontrarem na 3FN, ainda podemos tentar simplificar o contedo das respectivas tabelas, utilizando cdigos. Utilizam-se cdigos em 3 situaes:

1. Quando no temos a garantia que o contedo de uma Chave Primria nico.


Exemplo: Se tivermos a tabela: Empregado (Nome, Morada, Cargo) no podemos ter a certeza que no existam 2 empregados com o nome Antnio Silva. A soluo ser colocar um cdigo que passar a ser a nova Chave Primria. Empregado (CodEmpregado, Nome, Morada, Cargo)

2. Quando o contedo de um campo uma palavra comprida que se repete vrias vezes.
Para o nosso exemplo: Armazm um atributo que se vai repetir vrias vezes na tabela Existncia_de_Peas, pelo que deveremos criar um novo cdigo para os armazns, obtendo desta forma: Existncia de Peas (NPea, CodArmazm, Qtd_Stock) Armazns (CodArmazm, Armazm, Telefone)

3. Quando queremos garantir que o contedo de um determinado atributo tem o mesmo valor para a mesma situao.
Exemplo: Se tivermos a seguinte tabela: Filme (CodFilme, Titulo, Gnero, AnoEdio) Se quisermos garantir que para o atributo Gnero, tenhamos sempre, por exemplo, o valor Aco (e no ACCO, Action, ACT, Acc., etc...), para todos os filmes cujo gnero seja Aco, deveremos criar uma nova tabela: Gneros (CodGnero, Gnero) Filme (CodFilme, Titulo, CodGnero, AnoEdio)

Anda mungkin juga menyukai