46
Análise de Sistemas e Estruturação de Bases de Dados

Análise de Sistemas e Estruturação de Bases de Dados

Embed Size (px)

DESCRIPTION

CET - Base de Dados

Citation preview

Análise de Sistemas e Estruturação de Bases de Dados

Análise de Sistemas e Estruturação de Bases de DadosNos dias que correm, as Bases de Dados estão por toda a parte. Diariamente, sem nos apercebermos, contribuímos para que Bases de Dados de menor ou maior dimensão sejam consultadas ou atualizadas. Basta uma ida ao hipermercado, a uma caixa Multibanco, ou fazer um registo num qualquer site da Internet.

Quando um aluno falta, os dados relativos à sua falta são introduzidos numa Base de Dados da escola, juntando-se a outros dados já existentes sobre ele, como os seus dados pessoais e as suas notas.

Os dados, matéria-prima da informação, hoje em dia valem milhões. Toda a gente quer saber mais sobre toda a gente. Isto é verdade essencialmente ao nível das empresas, onde o objetivo é o lucro e o lucro consegue-se pela angariação de clientes. As empresas utilizam a informação de que dispõem para contactar públicos alvo, escolhidos de entre muitos e que reúnem as características certas para que sejam potenciais clientes.

Análise de Sistemas e Estruturação de Bases de DadosNo entanto, a informação e as Bases de Dados não estão presentes nas empresas apenas para esse fim. Têm também um papel fundamental na sua organização e na eficiência do seu funcionamento. Vejamos a informação sobre os funcionários, os clientes, os fornecedores e os artigos. É sobre estes dados que é feita a contabilidade, a faturação, a gestão de stocks, a gestão de produção, etc.

Cabe a cada empresa ou instituição decidir que informação guardar, que Bases de Dados manter. Estas variam muito com a área de negócio ou com o tipo de atividade da empresa ou instituição, mas todas possuem Bases de Dados, pois todas necessitam de armazenar informação.

Mesmo sem nos apercebermos, as Bases de Dados estão também em nossas casas. Exemplos disso são as listas de contactos telefónicos, ou mesmo a lista dos nossos CDs.

É Software que disponibiliza serviços básicos, como criação, acesso e manutenção da informação de uma Base de Dados.

Análise de Sistemas e Estruturação de Bases de Dados

Os SGBD surgiram como solução para resolver os problemas dos Sistemas de Ficheiros. O aumento do volume de informação que se tornou necessário manipular e o crescimento do número de aplicações, tornou necessário o aparecimento de um software que fizesse a gestão de um repositório de dados que pudesse ser acedido por diversas aplicações, evitando deste modo problemas de redundância e a consequente inconsistência de informação.Os sistemas de armazenamento de operações bancárias, os sistemas de reservas de companhias de aviação, os sistemas das companhias de seguros, as Bases de Dados empresariais, que guardam informação relativa a clientes, fornecedores, funcionários, contabilidade, stocks, gestão de produção, entre outros, tornaram necessária uma nova forma de armazenamento e gestão de dados.

Um SGBD permite:• Definir a estrutura a utilizar para o armazenamento de

dados;• Manipular os dados armazenados na Base de Dados;• Controlar os dados armazenados, estabelecendo permissões

de acesso.

Análise de Sistemas e Estruturação de Bases de Dados

Modelos Lógicos de Bases de Dados• Modelo baseado em objetos• Modelo de Registos

Destes modelos, o Modelo Relacional é sem dúvida o mais utilizado.

• Modelo hierárquico• Modelo de rede•  Modelo relacional

Para construir uma base de dados:

AnáliseIdentificação das necessidadesProdução das especificações iniciaisEstudo de viabilidade

Análise de requisitosAnálise dos processos

Modelos dos processos do utilizadorModelos dos processos do sistema Diagramas de fluxo de dados, dicionário de dados, mini-

especificaçõesAnálise dos dados

Modelos dos dadosDiagramas de entidade - relacionamento

Especificação de projetoOrientação para processos

Diagramas de estrutura de dados

Análise de Sistemas e Estruturação de Bases de Dados

Análise de Sistemas e Estruturação de Bases de Dados

O processo de construção de uma Base de Dados passa por diversas fases, num processo não linear que pode ser chamado de ciclo de vida de uma Base de Dados.

A fase seguinte será executada após a fase anterior estar completa, havendo no entanto necessidade de, por diversas vezes ao longo deste processo, retroceder a uma fase anterior para realizar determinados ajustes.

Análise de Sistemas e Estruturação de Bases de DadosPrincipais passos para a construção de uma Base de Dados:Traçar os objetivos

É necessário estabelecer objetivos concretos para o projeto a realizar e não ter apenas uma ideia vaga do que se pretende que seja o produto final.

Adquirir um conhecimento profundo do problema

Esta é uma etapa fundamental de qualquer projeto pois sem um conhecimento do problema será impossível atingir os objetivos propostos. Para se adquirir esse conhecimento podemos recorrer a entrevistas, sondagens, à observação direta, à consulta de documentação ou a qualquer outro processo que se julgue conveniente dependendo de cada caso concreto.

Análise de Sistemas e Estruturação de Bases de Dados

Esta fase implica um envolvimento de toda a gente que participa no projeto, quer sejam gestores ou futuros utilizadores da Base de Dados.

DesenhoNa posse do conhecimento necessário para dar início ao projeto será agora altura de começar a elaborar o desenho da futura Base de Dados.Será elaborado um desenho conceptual que envolve a definição do aspeto dos formulários, relatórios, páginas Web e outras formas de apresentação e de entrada dos dados.

O desenho lógico é feito tendo como base o desenho conceptual e estabelece o funcionamento e a estrutura da aplicação. É nesta fase que as relações são normalizadas.

Poderão ser utilizados diversos diagramas para definir e documentar o fluxo lógico dos dados.

Análise de Sistemas e Estruturação de Bases de Dados

No desenho físico, as relações serão implementadas no SGBD escolhido.ConstruçãoNesta fase é elaborada toda a codificação necessária para o funciona- mento da aplicação e reunidos todos os componentes para que a aplicação fique funcional.

Serão efetuados testes de modo a garantir a fiabilidade necessária.No final desta fase a aplicação estará pronta para ser instalada no ambiente de produção real.

Análise de Sistemas e Estruturação de Bases de Dados

Implementação

Manutenção

Instalação da aplicação no seu ambiente final, onde durante algum tempo deverá coexistir com a aplicação antiga (caso exista), para a deteção de possíveis erros.

Será necessário que uma equipa técnica assegure a manutenção da aplicação de modo a resolver qualquer situação anómala.

Análise de Sistemas e Estruturação de Bases de Dados

O Modelo Relacional é baseado num modelo matemático, a teoria dos conjuntos, o que faz dele um modelo seguro e robusto. Felizmente, para o utilizar não existe a necessidade de aprender a teoria dos conjuntos, assim como para utilizar um computador não necessitamos saber como este funciona internamente.

Modelo Relacional

As bases teóricas deste modelo foram publicadas em 1970 por E. F. Codd. Apenas vinte anos depois apareceu o primeiro sistema baseado no Modelo Relacional.

ELEMENTOS SOBRE OS QUAIS ASSENTA A CONSTRUÇÃO DAS BASES DE DADOS RELACIONAIS

Análise de Sistemas e Estruturação de Bases de Dados

A estrutura principal do Modelo Relacional é a Relação, que vulgarmente é representada por uma Tabela. Por isso podemos dizer que uma Base de Dados Relacional é constituída por um conjunto de tabelas.

As tabelas do Modelo Relacional estão divididas em colunas, designadas por Campos e linhas designadas por Registos.

Uma tabela de uma Base de Dados Relacional tem que possuir as seguintes características:• Não pode possuir nomes de campos repetidos;• Não podem existir registos (linhas) exatamente iguais

dentro da mesma tabela;• A ordem dos campos não possui qualquer significado;• A ordem dos registos não possui qualquer significado.Todos os valores de um campo pertencem a um domínio bem definido.

Análise de Sistemas e Estruturação de Bases de Dados

Análise de Sistemas e Estruturação de Bases de Dados

O CONCEITO DE CHAVE

Para cada tabela no Modelo Relacional deve existir uma chave, que é constituída pelo conjunto mais pequeno de campos da tabela de modo a que identifique cada registo de forma única.

CHAVE CANDIDATAChama-se chave candidata ao campo ou ao conjunto de campos capazes de identificar de forma única cada registo da tabela. Uma tabela pode possuir várias chaves candidatas.

Análise de Sistemas e Estruturação de Bases de Dados

Para a tabela anterior teríamos duas chaves candidatas, o número do empregado (N_Empregado) e o número de contribuinte (N_Contrib).Nota: O nº de telefone não é chave candidata pois podemos ter um casal a trabalhar para a mesma firma.

Análise de Sistemas e Estruturação de Bases de Dados

CHAVE PRIMÁRIA

A chave primária é a chave escolhida de entre as chaves candidatas para identificar cada registo de forma única.Uma chave primária não pode conter valores nulos.

CHAVE ESTRANGEIRA

Chama-se chave estrangeira a um campo ou a um conjunto de campos de uma tabela quando esse campo ou conjunto de campos são chave primária em uma outra tabela.

Análise de Sistemas e Estruturação de Bases de Dados

O campo código postal (C_Postal) é chave estrangeira da tabela de empregados, isto porque C_Postal é chave primária da tabela de códigos postais que a seguir se apresenta.

Nota: Quando uma chave é constituída apenas por um campo da tabela, assume a designação de Chave Simples. Quando é constituída por mais do que um campo, é denominada de Chave Composta.

RELACIONAMENTO ENTRE TABELAS

Análise de Sistemas e Estruturação de Bases de Dados

Análise de Sistemas e Estruturação de Bases de Dados

Representação das tabelas

EmpregadosN_EmpregadoNomeTelefoneMoradaCPostalN_Contrib

Uma outra forma de representar a tabela será a seguinte:

Empregados=N_Empregado+Nome+Telefone+Morada+CPostal+N_Contrib

Análise de Sistemas e Estruturação de Bases de Dados

O MODELO ENTIDADE-RELACIONAMENTOO MODELO ENTIDADE-RELACIONAMENTO

O modelo Entidade-Relacionamento (E-R) destina-se a facilitar a transformação daquilo que nós observamos no mundo real numa estrutura de dados. O modelo E-R ajudando-nos, a partir da análise de requisitos, a definir como se organizam logicamente os dados. O modelo E-R integra-se no desenho conceptual da Base de Dados. Para este modelo interessa-nos saber com que entidades iremos trabalhar, que relações existem entre essas entidades e que informação, ou seja, que atributos dessas entidades necessitamos guardar.

Análise de Sistemas e Estruturação de Bases de Dados

O CONCEITO DE ENTIDADE

Uma entidade pode ser vista como um qualquer objeto ou assunto importante para o problema e sobre o qual se necessita guardar informação.

Ao nível do Modelo Relacional, as entidades correspondem às tabelas.

O CONCEITO DE ATRIBUTO

Análise de Sistemas e Estruturação de Bases de Dados

Cada instância de entidade é caracterizada pelos valores de um conjunto de atributos a ela associados. Por exemplo, cada aluno tem um nome, uma morada, etc.

Análise de Sistemas e Estruturação de Bases de Dados

RELAÇÕES ENTRE ENTIDADES (ASSOCIAÇÃO)

As entidades podem estar relacionadas umas com as outras. Pode definir-se Relação entre entidades como qualquer tipo possível de ligação que possa existir entre elas.

Grau de associação:

O grau de associação mostra como estão ligadas quantitativamente duas entidades relacionadas.

Análise de Sistemas e Estruturação de Bases de Dados

Existem 3 tipos principais de associação:•A associação de um para um (1:1) Caso em que a um elemento corresponde um outro elemento;

•A associação de um para muitos (1:N)Caso em que a um elemento podem corresponder um ou mais

elementos;

•A associação de muitos para muitos N:MCaso em que vários elementos correspondem a vários elementos.

Análise de Sistemas e Estruturação de Bases de Dados

DIAGRAMA ENTIDADE-RELAÇÃODIAGRAMA ENTIDADE-RELAÇÃO

Um diagrama E-R representa as entidades envolvidas no problema em estudo e as relações que existem entre essas entidades.

Cada entidade é representada dentro de um retângulo.

Aluno

Nota: Existem várias notações para a construção deste tipo de diagrama.

As relações entre entidades são representadas por linhas.

1 : N (um para muitos)

Análise de Sistemas e Estruturação de Bases de Dados

Regras e convenções utilizadas para a construção dos E-R:• Uma entidade não pode aparecer mais que uma vez no

diagrama;• Deverá ser evitado o cruzamento de linhas;• O nome da entidade deverá ser um substantivo no singular

e identificá-la com clareza;• A relação entre entidades deve ser transmitida através de

um verbo elucidativo que transmita claramente o tipo de relação;

• Quando a relação se processa da esquerda para a direita, o nome da relação é escrita por cima da linha;

• Quando a relação se processa da direita para a esquerda, o nome da relação é escrita por baixo da linha;

• Quando a relação se processa de cima para baixo, o nome da relação é escrita à direita da linha;

• Quando a relação se processa de baixo para cima, o nome da relação é escrita à esquerda da linha.

Análise de Sistemas e Estruturação de Bases de Dados

Quando o nome da relação é óbvio, poderá ser omitido.

Análise de Sistemas e Estruturação de Bases de Dados

CONVERSÃO DO MODELO E-R NO MODELO RELACIONAL• As relações de um para um (1:1) deverão ser

cuidadosamente analisadas, pois podem dar origem a apenas uma tabela que reúne os atributos das duas entidades.

• Cada entidade do E-R dá origem a uma tabela do Modelo Relacional, salvo a particularidade de algumas relações de um para um (1:1), como foi referido no ponto anterior.

• Cada relação de muitos para muitos (N:M) origina geralmente uma nova tabela.

• Os atributos de cada entidade constituirão os campos das tabelas.

Análise de Sistemas e Estruturação de Bases de Dados

Exemplo:

Desta forma obtemos as tabelas Escola e Professor.

Análise de Sistemas e Estruturação de Bases de Dados

Escola

CódigoNomeDataDaFundaçãoMoradaTelefone

Professor

IDNomeDataNascimentoMoradaTelefoneCódigoEscola

Não é regra mas…

Quando temos uma relação de um para muitos, como no caso da relação Escola‑Professor, colocam-se os campos da chave da tabela do lado de menor grau (1) na tabela de maior grau (N).

Análise de Sistemas e Estruturação de Bases de Dados

As relações de N:M geralmente originam 3 tabelas. Duas tabelas correspondentes a cada uma das entidades envolvidas e uma outra tabela, constituída pelas chaves das duas primeiras tabelas e se necessário por mais algum atributo comum que se pretenda guardar.

CDIDCDNomeÁlbum AnoEdição

EmpréstimoIDEmpréstimoNomePessoaDataInício

DataFim

Empréstimo_CDIDEmpréstimoIDCD

Análise de Sistemas e Estruturação de Bases de Dados

NORMALIZAÇÃONORMALIZAÇÃO

Análise de Sistemas e Estruturação de Bases de Dados

A normalização é um processo sistemático constituído por um conjunto de regras e que tem como principal objetivo a eliminação da redundância nos dados.

O processo de normalização é conseguido pela realização de uma sequência de passos.

Cada passo é cumprido pela verificação de determinadas condições e conduz a Base de Dados a um novo estado

A cada um desses estados dá-se o nome de Forma Normal.

1FN 2FN 3FN BCFN 4FN 5FN

Análise de Sistemas e Estruturação de Bases de Dados

O resultado da aplicação do processo de normalização será a decomposição das tabelas existentes em tabelas cada vez mais pequenas.

À medida que caminhamos para a direita na escala das formas normais, maior será o número de tabelas existentes e menor será a redundância.

A aplicação da normalização nunca pode originar perda de informação.

Análise de Sistemas e Estruturação de Bases de Dados

Professor = IDProf + NomeProf + {CodEscola + NomeEscola} + LocalidadeP + EndereçoP + CPostalP

Nota: Sempre que existe um grupo de atributos que se pode repetir mais que uma vez, utilizam-se as chavetas {}

IDProf NomeProf CodEscola NomeEscola LocalidadeP EndereçoP CPostalP

IDProf NomeProf CodEscola NomeEscola LocalidadeP EndereçoP CPostalP

123456 André Silva 1308 ES Boa Nova Porto Rua de cima, 11 4000-123

123457 Paulo Mendes 1308,1235

ES Boa Nova,ES Leça

Matosinhos Av. Central, 4 4450-321

123458 Maria Pereira 1235 ES Leça Porto Rua de Baixo, 43 4000-123

Análise de Sistemas e Estruturação de Bases de Dados1FN

Para que uma estrutura não normalizada passe a estar na 1FN é necessário que cada ocorrência de um atributo seja elementar (possua apenas um único valor).

Professor =IDProf + NomeProf +

{CodEscola + NomeEscola} +

LocalidadeP + EndereçoP + CPostalP

A tabela tem dois atributos o primeiro relacionado com o professor e o segundo relacionado com a escola.

Análise de Sistemas e Estruturação de Bases de Dados

Professor =

IDProf + NomeProf +

{CodEscola + NomeEscola} +

LocalidadeP + EndereçoP + CPostalP

Podemos então dividir a tabela inicial em duas tabelas.

Professor = IDProf + NomeProf + LocalidadeP + EndereçoP + CPostalPEscolaProfessor =

CodEscolaIDProfNomeEscola

Análise de Sistemas e Estruturação de Bases de Dados

CodEscola IDProf NomeEscola

1308 123456 ES Boa Nova

1308 123457 ES Boa Nova

EscolaProfessor = CodEscola + IDProf + NomeEscola

Foi eliminada alguma redundância.

Análise de Sistemas e Estruturação de Bases de Dados

IDProf NomeProf LocalidadeP EndereçoP CPostalP

123456 André Silva Porto Rua de cima, 11 4000-123

123457 Paulo Mendes Matosinhos Av. Central, 4 4450-321

123458 Maria Pereira Porto Rua de Baixo, 43 4000-123

Professor

EscolaProfessorCodEscola IDProf NomeEscola

1308 123456 ES Boa Nova

1308 123457 ES Boa Nova

1235 123457 ES Leça

1235 123458 ES Leça Existe no entanto ainda redundância

2FN

Análise de Sistemas e Estruturação de Bases de Dados

Para que uma tabela se encontre na 2FN terá que obedecer às seguintes condições:

• Está na 1FN;• Cada atributo não chave tem que depender da totalidade da

chave e não apenas de parte dela.

EscolaProfessor = CodEscola + IDProfEscola = CodEscola + NomeEscolaProfessor = IDProf + NomeProf + LocalidadeP + EndereçoP + CPostalP

IDProf NomeProf LocalidadeP EndereçoP CPostalP123456 André Silva Porto Rua de cima, 11 4000-123 123457 Paulo Mendes Matosinhos Av. Central, 4 4450-321 123458 Maria Pereira Porto Rua de Baixo, 43 4000-123

CodEscola IDProf 1308 123456 1308 1234571235 1234571235 123458

CodEscola NomeEscola1308 ES Boa Nova1235 ES Leça

Professor

EscolaProfessor

Escola

Análise de Sistemas e Estruturação de Bases de Dados

3FN3FN

Análise de Sistemas e Estruturação de Bases de Dados

Para que uma tabela se encontre na 3FN terá que obedecer às seguintes condições:

• Está na 2FN;• Cada atributo depende apenas da chave primária da relação.

Professor = IDProf + NomeProf + LocalidadeP + EndereçoP + CPostalP

Não está na 3FN

Análise de Sistemas e Estruturação de Bases de Dados

EscolaProfessor = CodEscola + IDProf

Escola = CodEscola+ NomeEscola

Professor = IDProf + NomeProf + EndereçoP + CPostalP

CódigoPostal = CPostalP + LocalidadeP

Análise de Sistemas e Estruturação de Bases de Dados

Vantagens da Normalização

Desvantagens da Normalização

• Estruturas de dados mais estáveis • Elimina a redundância • Obtêm-se um modelo de dados mais natural e mais

simples • Evitam-se os efeitos laterais da alteração • Evitam-se os efeitos laterais da inserção • Evitam-se os efeitos laterais da remoção • Facilita a exploração e manutenção de ficheiros

• Favorece a proliferação no n.º de tabelas

• Favorece a fragmentação exagerada • Perigoso de seguir cegamente

Conclusão: Normalizar? Sim, mas com bom senso…

http://www.notapositiva.comhttp://pt.kioskea.net

http://pt.wikipedia.org

Fontes:

http://www.aprendercomastics.net