TIC Unidade 2 – Base de Dados
ESVN 1
-Apontamentos para a ficha de avaliação
sumativa
Curso Profissional de Técnico de Mecatrónica
10º Ano de Escolaridade
TIC – Tecnologias da Informação e Comunicação
Módulo 2: Gestão de Bases de Dados
GBD – Gestão de Bases de Dados
Conjunto de programas que permitem ao utilizador executar operações – como inserções,
eliminações, consultas e alterações – sobre o conteúdo dos ficheiros de dados, além de
permitir controlar a integridade e a segurança.
BD – Bases de Dados
Uma Base de dados é uma colecção de dados relacionados entre si que pode ser estruturada
de várias formas, de modo a corresponder às necessidades de processamento e consulta dos
seus utilizadores.
Uma Base de Dados deve ser independente dos programas que possam ser usados no acesso
a esses dados.
Chave Primária
É um atributo de uma entidade, escolhido de entre as Chaves Candidatas, que identifica
uma ocorrência específica dessa mesma entidade, distinguindo-a das restantes, de forma
inequívoca. Não pode ser nula, nem repetida.
SGBD – Sistema de Gestão de Bases de Dados
Um SGBD é uma ferramenta construída para gerir a informação que se encontra
armazenada numa base de dados.
Um SGBD ajuda a adicionar nova informação à medida que fica disponível, a actualizar a
informação sempre que necessário, a catalogar rapidamente a informação, a realizar
cálculos com os dados e a imprimir a informação numa grande variedade de formatos. Mais
importante que tudo isto, permite-lhe encontrar exactamente a informação pretendida.
Operações num SGBD: 1- Introduzir, 2 – Consultar, 3 – Modificar e 4 – Eliminar.
TIC Unidade 2 – Base de Dados
ESVN 2
-“ EXERCÍCIO”:
O propósito da Base de Dados
CD
Faixas
Intérpretes
Número do CD
Número da faixa
Número de intérprete
Título do CD
Título da faixa
Nome do intérprete
Capa
Duração
Foto
Tipo de música
Data de nascimento
Ano de edição
País de origem
Data de aquisição
Notas
Modo de aquisição
Notas
Estabelecer as relações entre as Entidades
Modelo de Entidade-Relação (ER)
Autores como Peter Chen ou Bachman sugerem um modelo que facilite a criação do modelo conceptual. Este modelo Entity Attribute Relationship
(Entidade-Relação, ou abreviadamente E-R), é acompanhado de uma técnica de representação gráfica que auxilia vivamente a visualização das relações entre as entidades e por isso mesmo se aproxima do modelo teórico relacional, mas também facilmente convertível no modelo de rede, sendo contudo muito adoptado na análise e concepção de sistemas acentes no modelo relacional com o desenvolvimento sobre Base de Dados.
Os conceitos principais da aproximação E-R, são: Entidade, Atributo e Relação.
1. Noções de Entidade, Atributo e Relação
Seja qual for o modelo ou sistema com que se vá trabalhar, há uma fase anterior à criação e utilização de uma base de dados que é a sua concepção. Trata-se de transpor os dados reais para o nível conceptual, que permita o manuseamento informático.
CD
Faixas
Intérpretes
Compostos por interpretadas porTIC Unidade 2 – Base de Dados
ESVN 3
-Quando se pretende construir uma base para dar resposta a uma determinada situação, é necessário começar por identificar quis os objectos que são relevantes, as suas características ou propriedades. A estes objectos que pretendemos representar, na teoria de bases de dados, designam-se por entidades.
Uma ENTIENTIDDADEADE pode definir-se como um conjunto de objectos do mesmo tipo
(pessoas, lugares, objectos, acontecimentos ou conceitos) acerca dos quis se pretende recolher e guardar informação.
Ao recolher e guardar informação acerca de uma qualquer entidade, podemos ter essa informação organizada por categorias ou itens, a que se designa por atributos. Os ATRIBUATRIBUTTOS OSsão os diferentes elementos ou itens de informação que caracterizam
uma entidade, na prática, os atributos de uma entidade vão dar origem aos campos de um ficheiro/tabela da base de dados.
Vejamos alguns exemplos de entidades e possíveis atributos (campos):
Entidades Atributos
Livro Clientes Alunos Curso
Código, Título; Autor; Preço; … Número; Nome; Morada; Telefone; … Número; Nome; Ano; Turma; …
ESVN 4 -TIC Unidade 2 – Base de Dados
T
TIIPPOS OSDE DEAATRIBUTTRIBUTOOSS
ª Identificadores (Chaves candidatas) ª Descritores
De todos os atributos de uma entidade algum ou alguns identificam uma ocorrência específica dessa entidade distinguindo-a das restantes.
A estes atributos chamamos identificadores ou chaves candidatas (primárias). Aos restantes atributos que só descrevem ou caracterizam as ocorrências das entidades chamamos descritores.
Entre as diferentes entidades é possível estabelecer diferentes tipos de RERELLAAÇÃÇÃOO,
pode-se assim dizer que uma relação define uma associação ou ligação entre duas entidades.
2. Ocorrências/Relações
As relações tipo são as seguintes:
Um para um (1:1)
A uma ocorrência da entidade E1 corresponde uma e uma só ocorrência da entidade E2 (zero ou uma).
Exemplo: Doente E1 Tem Tem Cama E2
De acordo com o esquema anterior, um doente tem uma e uma só cama e cada cama tem um e um só doente.
Um para muitos (1: N)
A cada ocorrência da entidade E1 corresponde uma ou mais ocorrências da entidade E2 (zero, uma ou mais), mas a esta entidade (E2) só pode corresponder uma ocorrência da entidade E1 (zero ou uma)
Exemplo: Doente E1 Pertence Tem Enfermaria E2
De acordo com o esquema anterior, cada doente pertence a uma e uma só enfermaria, podendo estar ter um ou mais doentes.
ESVN 3
-1 A B
A B A B Ross 1 A B 2 A B 3 A B 4 A B ESVN 4
-Muitos para muitos (M:N)
A cada ocorrência da entidade E1 corresponde uma ou mais ocorrências da entidade E2 (zero, uma ou mais), tal como a cada ocorrência da entidade E2 corresponde uma ou mais da entidade E1 -8zero, uma ou mais).
Exemplo: Enfermeira E1 Trata É tratado Doente E2
De acordo com o esquema anterior, uma enfermeira trata um ou mais doentes, podendo cada doente ser tratado por uma ou mais enfermeiras.
Este último caso do ponto de vista dos E-R, é um caso que merece uma atenção especial ao nível da implementação directa desta situação, pois pode originar graves problemas ao nível de manutenção. Deve-se atender à normalização, técnica que vamos estudar de seguida e que permite resolver esta situação.
O diagrama Entidade-Relação representa, tal como o seu nome indica, as entidades envolvidas no sistema em estudo e as relações que existem entre essas entidades. Este tipo de diagrama é usado por diferentes autores e métodos, mas a definição dos elementos que constituem é a mesma. A forma como os autores representam as entidades, a relação e o grau de associação entre as entidades é que pode diferir de autor para autor. O símbolo usado para representar uma entidade é um rectângulo, por todos os autores, as principais diferenças encontram-se na forma de representar a relação e o grau de associação. Vejamos dois exemplos de uma possível representação do tipo de relação:
…
…
Assim como existem várias representações do tipo de relação, existem ainda mais para a representação do grau de associação, dependendo do autor adoptado.
Pé de galinha
1
2 A B
3
TIC Unidade 2 – Base de Dados A B A B Bacham Chen 1 1 A B 2 2 A B
Figura 1 - Simbologia usada, por diferentes autores, para representar o grau de associação entre duas entidades.
Legenda da Figura 1 – 1 Um A está associado a um B
2 Um A está associado com um ou mais B`s 3 Um A está associado com zero ou um B
4 Um A está associado com zero, um ou mais B`s
3. Regras para a construção de um diagrama E-R
⇒ Como utilizar os diferentes objectos
Deve ser considerada uma entidade no diagrama E-R, qualquer coisa interessante para o sistema, por definição, e que tem de ser descrita por pelo menos dois atributos. Neste tipo de diagrama representam-se as entidades tipo e não as diferentes ocorrências de cada entidade. De salientar que não existem entidades tipo padrão, isto é, pelo facto de se considerar uma entidade num dado sistema, ela pode não o ser num outro sistema, dado que os dados relevantes de uma entidade para um sistema podem não ser para o outro.
Depois de identificadas as entidades de um sistema, é necessário identificar as relações entre elas. A relação é representada ligando através de uma linha as duas entidades.
Finalmente representa-se o grau da associação.
Adoptando a notação de Pé de galinha para o nosso exemplo, e considerando como exemplo, uma encomenda com os respectivos produtos, identificamos duas entidades: Encomenda e Produto relacionadas, cujo grau de associação é do tipo 1:N.
Encomenda Contem Produto
Exemplo de um E-R para o grau de associação 1:N
Num diagrama deste tipo nunca se duplicam entidades, deve-se assim estruturar o diagrama de forma a mostrar claramente todas as relações existentes entre as entidades evitando cruzamento de linhas.
⇒ Como atribuir nomes aos objectos
As entidades e relações devem ter nomes explícitos e elucidativos, para facilmente se interpretar o diagrama e dado que se representam entidades tipo, o nome a atribuir a cada entidade deve identifica-la claramente e ser um substantivo singular. No que diz respeito ás relações entre duas entidades deve ser transmitida através de um verbo que transcreva claramente o tipo de relação existente, no caso da notação adoptada, deve ser escrito ao longo da linha que representa a relação.
⇒ Como ligar os objectos
Existem autores que não fazem referência a regras de como ligar objectos, embora alguns o façam, o que permite uma leitura mais fácil deste tipo de diagrama.
1 2
…
…
…
3
4
…
Figura 2 – Sentido da leitura do diagrama E-R
Legenda da Figura 2: 1 Para baixo do lado direito da linha 2 Para cima do lado esquerdo da linha
3 Da esquerda para a direita do lado de cima da linha 4 Da direita para a esquerda do lado de baixo da linha
⇒ Casos particulares
Existem versões deste tipo de diagramas, que não permitem relações do tipo M:N. Quando acontece uma destas situações a relação é convertida em duas do tipo 1:N, recorrendo a uma nova entidade designada entidade intersecção. Um exemplo típico desta situação é o caso de uma encomenda que posde conter mais do que um produto e um mesmo produto pode existir em várias encomendas. Estamos assim, perante uma relação do tipo M:N entre as entidades encomenda e produto, vamos decompor esta relação inserindo uma nova entidade linha-encomenda.
Contem
Encomenda Produto
Está contido
Exemplo de um diagrama E-R para o grau de associação M:N
Introduzimos então a entidade–intersecção, obtendo assim, duas relações com grau de associação 1:N.
Encomenda Contem Linha-encomenda
Está contido Produto
Exemplo de um diagrama E-R para o grau de associação M:N decomposto
Um outro caso, a ter em consideração são as relações entre as entidades com o grau de associação do tipo 1:1. este tipo de relação deve ser estudado com cuidado, e verificar-se até que ponto não se pode considerar uma só entidade. Há casos em que se pode eliminar as relações entre entidades com este tipo de grau de associação, dando origem a uma só entidade com todos os atributos das duas anteriores que lhe deram origem. No entanto, na maioria das situações em que existem duas entidades com este tipo de grau de associação, elas têm de permanecer como entidades distintas já que têm de ser consideradas separadamente para o sistema em estudo.
Exercício Resolvido
Sistema de recepção de encomendas na empresa XXX.
A empresa XXX é uma pequena empresa onde se processam as encomendas da seguinte forma:
Sempre que chega uma nota de encomenda esta será validada, verificando-se a existência de produto, através da consulta a uma lista de produtos existentes e da quantidade em stock. Para que uma encomenda seja aceite é necessário, existirem os produtos em quantidade necessária e também ter conhecimento das referências do cliente. Caso não se verifique qualquer uma das condições, a encomenda será rejeitada sendo o respectivo cliente avisado. No caso de a encomenda ser aceite, será dado andamento ao processo par que a expedição da mercadoria seja feito o mais rápido possível.
A figura que a seguir se apresenta, representa o sistemq de recepção de encomendas da empresa XXX.
Factura É enviada
Origina
Encomenda Contem Produto
Tem
Clientes
Diagrama E-R da recepção de encomendas da empresa XXX (Incorrecto) Perante a descrição do processo corrija o diagrama apresentado.
TIC Unidade 2 – Base de Dados
ESVN 1
-Resolução
o Não há necessidade da entidade Factura existir, visto que o sistema em estudo não é necessário guardar os dados que as descrevem.
o Segundo a descrição do processo, nem todas as encomendas que são feitas pelos clientes são guardadas, só são guardados os dados das encomendas aceites. Assim o grau de associação não deve ser de 1 para N mas sim zero, um ou mais.
o O nome atribuído à entidade Cliente deveria ser um substantivo no singular e não no plural.
Encomenda Produto
Tem
Cliente
Diagrama E-R da recepção de encomendas da empresa XXX (Correcto).
N
N
OORRMALMALIZIZAÇÃOAÇÃOEm qualquer das metodologias é necessário em dada fase proceder à normalização dos dados, isto é, compreender a sua estrutura mais adequada e o seu significado independente da forma como vão ser registados ou processados na máquina. O modelo de dados representa por um lado as dependências funcionais entre si e não a dependência resultante de uma qualquer aplicação, por outro lado este modelo permanece, mais estável do que as aplicações que os processam, donde se deduz a necessidade de esta fase ser devidamente cuidada.
Existem ferramentas que automatizam este processo de definição e descrição do modelo de dados permitindo após a sua concepção, o desenvolvimento parcial de aplicações e a respectiva documentação de suporte.
A normalização consiste essencialmente em analisar o esquema de relações/dependências entre atributos, baseados em chaves idênticas. É necessário decompor o esquema das relações noutras que verifiquem as regras das formas normais.
Assim, a normalização é um conjunto de normas que permite criar uma boa estruturação das bases de dados relacionais, de forma a evitar as típicas anomalias
TIC Unidade 2 – Base de Dados
ESVN 2
-de redundância ou perda -de informação.
Esse conjunto de normas ou processos de normalização é composto pelas chamadas formas normais:
- 1ª Forma Normal (1FN);
- 2ª Forma Normal (2FN); - 3ª Forma Normal (3FN);
Estudos posteriores vieram mostrar que existem situações em que a 3FN não constitui o estado final “ideal” a que as tabelas de uma base de dados devem obedecer. Na sequência dessas investigações as três formas normais iniciais foram complementadas com as seguintes:
- Forma normal de Boyce/Codd (FNBC) - Quarta forma normal (4FN)
- Quinta forma normal (5FN)
Na grande maioria dos casos práticos, o processo de normalização é levado apenas até à terceira forma normal.
Vejamos, então os princípios desta técnica de preparação e modelação de dados, habitualmente feita em três etapas que correspondem à 1ª, 2ª e 3ª formas normais.
Sempre que uma estrutura de dados é formada por um ou mais grupos (conjunto de campos) repetitivos diz-se que é uma estrutura não normalizada (FN).
ESVN 3 -TIC Unidade 2 – Base de Dados
A exemplificação da teoria da normalização vai ter por base uma relação que pretenda representar uma relação que pretenda implementar as turmas a que um professor dá aulas.
Professor (#NrProfessor, Nome, Morada, Cpostal, Localidade, DirectorTurma,
CodGrupoDisciplinar, NomeGrupo, CodTurma, DescriçãoTurma)
1
1
ª ªF
F
OORMARMAN
N
OORMALRMALUma tabela encontra-se na primeira forma normal se:
9 Todos os seus atributos ou colunas estiverem definidos em domínios que contenham apenas valores atómicos.
9 Isto significa que um atributo só pode admitir valores elementares e não conjunto de valores.
UMA RELAÇÃO ESTÁ NA 1ª FORMA NORMAL SE NÃO TEM GRUPOS DE ATRIBUTOS REPETITIVOS.
A relação Professor não se encontra na 1FN porque os atributos DirectorTurma, CodGrupoDisciplinar, NomeGrupo, CodTurma, DescriçãoTurma constituem um grupo repetitivo, ou seja, sempre que um professor dá aulas a mais que uma turma é necessário repetir os atributos NrProfessor, Nome, Morada, Cpostal, Localidade.
Passagem para a 1FN:
Criar uma nova relação Turmas
Professor (#NrProfessor, Nome, Morada, Cpostal, Localidade, CodGrupoDisciplinar, NomeGrupo )
ESVN 4 -TIC Unidade 2 – Base de Dados
2
2
ª ªF
F
OORMA RMAN
N
OORMALRMALUMA RELAÇÃO ESTÁ NA 2FN SE ESTÁ NA 1FN E SE TODOS OS ATRIBUTOS NÃO CHAVE DEPENDEM DA TOTALIDALIDADE DA CHAVE.
A relação Professor está na 2FN.
A relação Turma não se encontra na 2FN porque os atributos DirectorTurma e DescriçãoTurma não dependem do NrProfessor, mas só do CodTurma.
Passagem para a 2FN:
Criar uma nova relação Turma/Professor
Professor (#NrProfessor, Nome, Morada, Cpostal, Localidade, CodGrupoDisciplinar, NomeGrupo )
Turma (#CodTurma, DirectorTurma, DescriçãoTurma) Turma/Professor (#NrProfessor, #CodTurma)
As três relações encontram-se na 2FN.
3
3
ª ªF
F
OORMA RMAN
N
OORMALRMALUMA RELAÇÃO ESTÁ NA 3FN SE ESTÁ NA 2FN E SE NENHUM ATRIBUTO NÃO CHAVE DEPENDER FUNCIONALMENTE DE ALGUM OUTRO ATRIBUTO
QUE NÃO SEJA CHAVE.
As relações Turma e TurmaProfessor estão na 3FN.
A relação Professor não se encontra na 3FN porque o atributo NomeGrupo não depende do NrProfessor, mas apenas do CodGrupoDiscplinar.
Professor (#NrProfessor, Nome, Morada, Cpostal, Localidade, CodGrupoDisciplinar)
Turma (#CodTurma, DirectorTurma, DescriçãoTurma) Turma/Professor (#NrProfessor, #CodTurma)
GrupoDisciplinar (#CodGrupoDisciplinar, NomeGrupo)
ESVN 5 -TIC Unidade 2 – Base de Dados
Outra representação de estrutura de dados da resolução deste exercício:
FNN #NrProfessor Nome Morada CPostal Localidade DirectorTurma CodGrupoDisciplinar NomeGrupo CodTurma DescriçãoTurma 1FN Professor #NrProfessor Nome Morada CPostal Localidade CodGrupoDisciplinar NomeGrupo 2FN Professor #NrProfessor Nome Morada CPostal Localidade CodGrupoDisciplinar NomeGrupo 3FN Professor #NrProfessor Nome Morada CPostal Localidade CodGrupoDisciplinar Turma/Professor #NrProfessor #CodTurma DirectorTurma DescriçãoTurma Turma/Professor #NrProfessor #CodTurma Turma #CodTurma DirectorTurma DescriçãoTurma Turma/Professor #NrProfessor C#odTurma Turma #CodTurma DirectorTurma DescriçãoTurma GrupoDisciplinar #CodGrupoDisciplinar NomeGrupo Escolha da chave primária que identifica cada ocorrência de preenchimento do documento. Remover o grupo repetitivo, acompanhados da chave primária.
Remover itens que dependem apenas de uma parte não plena da chave,
acompanhados da parte parcial da chave,
que os identifica.
Remover itens que dependem de outros itens e não da chave da relação.
ESCOLA SECUNDÁRIA DE ERMESINDE
V
V
ANTAGENS ANTAGENS/
/
D
D
ESVESVAANTAGENSNTAGENS DADAN
N
OORRMMAALIZAÇLIZAÇÃÃOOVantagens
⌦ 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
Desvantagens
⌦ 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 ...