Bases de Dados
2
Introdução
• O que é uma Base de Dados?
Uma Base de Dados é um conjunto organizado de dados, disponível a todos os utilizadores ou processamentos da
organização que deles tenham necessidade.
3
• Dados vs. Informação vs. Conhecimento vs. Sabedoria
Conceitos
Dados Informação Conhecimento
Sabedoria
4
• Dados vs. Informação vs. Conhecimento vs. Sabedoria
Conceitos
Sentidos
(Visão, audição, etc)
Memória
Raciocínio, reflexões e ponderações
Com base nas memórias
Conclusões acertadas e profundas
sobre temas complexos
Dados Informação Conhecimento
Sabedoria
5
• Dados vs. Informação vs. Conhecimento vs. Sabedoria
Conceitos
Sentidos
(Visão, audição, etc)
Memória
Raciocínio, reflexões e ponderações
Com base nas memórias
Conclusões acertadas e profundas
sobre temas complexos
Intuição (visão)
Aprendizagem máquina, Web 3.0, ontologias, ...
Interpretação e análise da informação
Big Data, BI, OLAP
Organização dos eventos
Bases de dados, folhas de calculo,...
Captura de eventos da realidade
Dispositivos eletrónicos
Dados Informação Conhecimento
Sabedoria
6
A informação como recurso vital das organizações:
• Características fundamentais da informação
– Atualidade (período de validade da informação);
– Correção (rigor da informação);
– Relevância (o excesso de informação dificulta a tomada de decisão);
– Disponibilidade (estar disponível no momento em que é necessária);
– Legibilidade (forma como é disponibilizada).
Características da Informação
Sistemas de Gestão de Ficheiros
8
Sistemas de Gestão de Ficheiros (antecessores BD):
• Sistemas para Processamento de Dados
• Abordagem tradicional no desenvolvimento de sistemas
– Refletir os fluxos de informação suportados em papel
– Diferentes destinos físicos diferentes tratamentos lógicos
Introdução
Guia de Produção Nº 1234 2ª Via Guia de Produção Nº 1234 1ª Via Qtd
Guia de Produção Nº 1234 Original Qtd
Ref. Descrição Qtd
Expedição
Gestão de Stocks Controlo
de Produção
9
• Abordagem tradicional no desenvolvimento de sistemas
– Estado final grande redundância e incoerência nos dados
Introdução
Aplicação
A Dados
Aplicação
C Dados
Aplicação
D Dados
Aplicação
E Dados
Aplicação
B Dados
10
• Abordagem tradicional no desenvolvimento de sistemas
– Utilizando a mesma tecnologia, outra abordagem possível ...
Contudo, interface físico entre dados e aplicações:
•Desenvolvimento de baixo nível
•Problemas de manutenção
•Problemas no acesso concorrente aos dados
Introdução
Programas Dados
Aplicação A Aplicação
B
Aplicação C
Aplicação D
Aplicação E
Ficheiro X
Ficheiro Y
Ficheiro Z
Sistemas de Bases de Dados
12
Introdução
• Sistemas de Bases de Dados
– Conceito radicalmente diferente (novo paradigma)
Aplicação A Aplicação
B
Aplicação C
Aplicação D
Aplicação E
Base de Dados
S G B D
Sistema de Base de Dados
13
Introdução
• Grandes consequências da adoção da Tecnologia de Bases de Dados:
– Perspetiva integrada dos dados organizacionais
– Maior produtividade no desenvolvimento/manutenção de sistemas – Ênfase na definição do modelo de dados do sistema
14
Perspectiva Histórica
• 1ª Geração - Pré-relacional – Modelo Hierárquico
– Modelo em Rede
• 2ª Geração - Relacional – Modelo Relacional
• 3ª Geração - Pós-relacional
– Novos modelos
15
Modelação de Dados
• O conceito….?
• A adoção da tecnologia de bases de dados requer a modelação de dados, porque várias aplicações partilham o mesmo conjunto de dados.
• A base de dados serve as aplicações já existentes, mas deve estar preparada para servir as aplicações que venham a ser desenvolvidas no futuro.
• A identificação dos dados necessários passa a depender dos
requisitos de informação do Sistema de Informação (SI) que a
base de dados pretende suportar (e não exclusivamente das
necessidades de processamento de cada aplicação).
16
Modelação de Dados
• A modelação de dados, vista como o conjunto de atividades que conduz ao desenho da BD, passa por três etapas:
– Desenho conceptual: consiste na construção do modelo conceptual de dados, o qual reflete a perceção que os utilizadores têm dos dados, sendo independente de qualquer implementação física. A abordagem mais utilizada são os diagramas E-R (Entidades e Relacionamentos).
– Desenho lógico: Corresponde à transformação do modelo conceptual em estruturas de dados que são implementáveis no SGBD selecionado. O Esquema relacional tem sido o modelo mais utilizado na construção de modelos lógicos de dados.
– Desenho físico: Passa pela definição dos detalhes físicos que serão considerados na implementação do modelo lógico, e que são específicos do SGBD selecionado.
17
Diagramas E-R
• Os diagramas E-R são utilizados para descrever a estrutura dos dados específica de uma dada aplicação ou SI. Os componentes básicos utilizados na modelação são a entidade, o relacionamento e o atributo:
– Entidades constituem objetos ou conceitos de interesse no domínio de aplicação em causa.
– Relacionamentos representam associações entre entidades.
– Os atributos de uma entidade ou relação definem propriedades, assumindo valores dentro do contexto definido para o domínio de aplicação modelado.
18
Modelo Relacional
• A estrutura de dados utilizada no modelo de dados é a relação, podendo ser definida como uma tabela constituída por linhas e colunas, na qual as colunas representam os atributos ou campos e as linhas os registos ou instâncias da relação.
• Para cada atributo define-se o domínio de valores que o mesmo pode tomar.
• O modelo relacional permite a manipulação dos dados através da álgebra e cálculo relacional.
19
Modelo Relacional
• Fundamentos teóricos antecederam implementação (teoria dos conjuntos):
– 1970, E. F. Codd, fundamentos teóricos do modelo relacional
– 1979/1980, primeiro produto com características relacionais – SGBD Oracle
• Vantagens mais evidentes: simplicidade e flexibilidade
• Contributo decisivo para a massificação da tecnologia de bases de dados
• Conceitos fundamentais:
– Relação(tabela);
– Esquema da relação;
– Tuplo(registo, linha).
20
Modelo Relacional
• Principais conceitos (cont.):
– Atributo (campo) – Grau da relação
– Cardinalidade da relação
Cod_produto Designação Preço
1234 Monitor SVGA 15'' 100
4321 Teclado português 102 teclas 35.5 2143 Impressora laser HP 4MPlus 520
3412 Rato 3 botões 5.5
Tuplo
Atributos
Grau da relação
Cardinalidade da relação
21
Modelo Relacional
• As várias relações de um esquema relacional encontram-se interligadas pelo conceito de chave estrangeira:
abc Informática ...
bcd Produção ...
cde Comercial ...
cod_dep departamento ...
Departamentos
1234 J. Silva ... abc
2345 A. Costa ... cde
3456 F. Martins ... abc
4567 C. Cunha ... abc
5678 B. Alves ... bcd
cod_dep cod_func nome ...
Funcionários
Sem o conceito de chave estrangeira não seria possível navegar num esquema relacional !
aspeto que mais
contribui para o “fraco”
desempenho das bases de dados relacionais !
22
Modelo Relacional
• O valor de cada atributo num registo é atómico.
• Os atributos de uma relação devem ter identificadores distintos.
• Os registos de uma relação devem ser distintos.
• A ordem dos registos, assim como a ordem dos atributos, é indiferente.
• Valores desconhecidos - null.
• Chave da relação.
• Relação
• Atributos
• Registo, Instância ouTuplo
Alunos
Número Nome Curso Idade
14576 Maria 1 21
14577 Ana 2 22
14578 Jorge 1 21
14580 Inês 3 25
14583 Carlos 2 19
Cursos
Cursos Designação Director
1 Lic. Eng. Sistemas e Inf... Lopes Lobo 3 Matemática e Ciências... Carlos Guerreiro 2 Electrónica Industrial Maria Monteiro Lima
23
Modelo Relacional
• Tabelas ou relações:
– Relações base que integram o esquema da BD;
– Relações virtuais ou views que proporcionam vistas parciais sobre o esquema da BD.
• Chaves:
– Chave candidata;
– Chave primária ou chave principal;
– Chave estrangeira.
24
Modelação de Dados
• Modelar os dados de um sistema seguindo o modelo relacional consiste na execução dos seguintes passos:
1. Deteção das entidades relevantes;
2. Elaboração do diagrama E-R;
3. Levantamento da informação associada a cada entidade;
4. Desenho do esquema das relações.
25
Entidades
• Objetos do Sistema de Informação sobre os quais se pretende armazenar, tratar e exibir informação. É o primeiro passo da modelação, sobre o qual todas as fases incidirão.
Exemplo: Vamos supor que se pretende criar uma Base de Dados sobre uma instituição de ensino. Várias entidades podem ser identificadas:
alunos, cursos, professores, disciplinas, horários. Para exemplificação de cada um dos passos consideremos apenas as entidades:
alunos
cursos
disciplinas
26
Diagramas E-R
• O diagrama entidades-relacionamentos utiliza uma convenção gráfica que tem como intuito apresentar rápida e claramente as entidades envolvidas e como é que as mesmas se relacionam entre si.
• Num Diagrama E-R as entidades são representadas por
retângulos e os relacionamentos por linhas entre esses
retângulos. Nos retângulos colocam-se os nomes das
diferentes entidades. As linhas apresentam setas que definem
o sentido da relação e cuja forma caracteriza o tipo de
relacionamento existente entre duas entidades.
27
Notação
No exemplo anterior...
Relação Entidade
1:1 1:0/1 1:0/M 1:1/M M:M
Cursos Disciplinas
Alunos
28
Atributos
• Os atributos ou campos de dados constituem a informação relevante, ou a informação com que se pretende lidar, de uma determinada entidade. Os atributos caracterizam as entidades.
– atributos simples: informação “normal”;
atributos chave: para distinção das instâncias.
29
No exemplo anterior…
• Para o exemplo anterior podem definir-se os seguintes atributos:
Alunos: cod-aluno, nome_aluno Cursos: cod-curso, nome_curso
Disciplinas: cod-disciplina, nome_disciplina
Como relacionar as diversas tabelas?
30
Esquema Relacional
• A partir dos atributos anteriormente detetados é possível elaborar as tabelas de cada entidade. Em primeiro lugar é necessário detetar informação redundante e construir tabelas auxiliares que minimizem essa redundância. Em regra, para cada relação de muitos para muitos cria-se uma nova relação cujos atributos serão os atributos chave das respetivas entidades relacionadas.
• Continuando com o exemplo apresentado, verifica-se que as relações Alunos e Disciplinas possuem um relacionamento de muitos para muitos, do qual resultará uma nova Tabela Notas com os atributos: cod-aluno e cod-disciplina, e ainda o atributo do relacionamento, nota.
31
No exemplo anterior…
• Tabela Cursos
• Tabela Alunos
• Tabela Disciplinas
• Tabela Notas
Cod_Curso Nome_Curso
Cod_Aluno Cod_Disciplina Nota Cod_Aluno Nome_Aluno
Cod_Disciplina Nome_Disciplina Cod_Curso
32
O correspondente DER…
Cursos Disciplinas
Alunos Notas
33
O correspondente ER…
Cursos Disciplinas
Alunos Notas
Cod_Curso Nome_Curso
Cod_Disciplina Cod_Curso
Nome_Disciplina
Cod_Aluno Nome_Aluno
Cod_Aluno Cod_Disciplina Nota
34
Um cenário possível
Cursos
Cod_Curso Nome_Curso
MSI Mestrado em Sistemas de Informação
MEGSI Mestrado em Engenharia e Gestão de Sistemas de Informação MSerInf Mestrado em Serviços de Informação
… …
Alunos
Cod_Aluno Nome_Aluno A01 Alberto Silva
A02 Maria Pinto
A03 Paula Sousa
… …
Disciplinas
Cod_Disciplina Nome_Disciplina Cod_Curso
ACSI Análise e Concepção de Sistemas de Informação MSI DSI Desenvolvimento de Sistemas de Informação MSI
WS Web Semântica MSerInf
… …
Notas
Cod_Aluno Cod_Disciplina Nota
A01 ACSI 15
A02 ACSI 12
A03 ACSI 16
A01 GSI 11
A02 GSI 18
A03 GSI 14
… … …