Você está na página 1de 9

Base de Dados

Definição Problemas na utilização


dos Sistemas de Gestão
É um conjunto organizado de dados,
disponíveis a todos os utilizadores ou de Ficheiros
processamentos da organização que deles
tenham necessidade. - Replicação de um mesmo documento,
cada um com um destino e um
processamento diferentes.

- Grande probabilidade de ocorrerem


Dados VS Informação incoerências, os dados eram atualizados,
independentemente, pelas respetivas
Os dados são apenas elementos ou valores aplicações.
discretos que, isoladamente, não têm
- Problemas de manutenção pois basta que
qualquer valor.
ocorra uma alteração na estrutura de um
Transformam-se em informações quando ficheiro para que esta se propague a todas
relacionadas ou interpretadas de alguma as aplicações que utiliza.
forma.
- Fiabilidade do sistema, o acesso
concorrente aos dados partilhados tem de
ser feito utilizando funções de baixo nível.

Benefícios dos
Sistemas de Gestão de Característica
Ficheiros fundamental dos
Com estes sistemas as organizações Sistemas de Bases de
poderão otimizar algumas das tarefas até as
realizadas manualmente.
Dados
Os dados estão organizados num único
conjunto. integrados numa só unidade
(lógica) de armazenamento em vez de
estarem separados por várias unidades
independentes.
Acessos aos dados de O SGBD:
- “esconde” os detalhes de armazenamento
uma Base de Dados físico dos dados.
- proporciona o nível aplicacional um grau de
Os acessos passam por uma entidade abstração elevado.
designada SGBD (sistema gestão de base de
dados) que centraliza em si o acesso físico à
base de dados. Exemplos de SGBD’s:
- Microsoft SQL Server
- MySQL
Ap A
- Oracle
Ap B S
G Base
Ap C B de
D dados
Ap D
Transação
Ap E
É um conjunto de operações sobre a bases
de dados, perfeitamente delimitado, que
exibe algumas características importantes:

• Atomicidade – conjunto de
Interface lógica de um operações em que ou todas são
executadas com sucesso ou
Sistema de Base de nenhuma é executada.
• Consistência – uma transação se
Dados envolver atualização de dados deve
transformar a base de dados de um
estado de integridade para outro
A interface logica é conseguida através do
estado também de integridade (não
armazenamento na base de dados, não só
se estraga)
dos dados, mas também das suas
• Isolamento – apesar de as
descrições, meta dados, numa entidade
transações executarem
conhecida como dicionário de dados
concorrentemente o sistema deve
(também conhecida como catálogo).
dar a cada transação a ilusão de
que é a única a executar no sistema
(executa isoladamente das outras).
• Durabilidade – o sistema deve
Função de um SGBD assegurar que todas as alterações
provocadas por uma transação são
Um SGBD tem a função de gerir todo o persistentes e visíveis para as outras
armazenamento e manipulação dos dados transações.
do sistema fazendo a ligação entre a
aplicação e a base de dados.
Requisitos fundamentais Nível Conceptual – representação do
modelo conceptual de dados
de um SGBD independentemente de qualquer utilizador
ou aplicação em particular, constituindo o
Segurança – o objetivo das medidas de chamado esquema conceptual ou estrutura
segurança dos sistemas de base de dados é de base de dados. Esta camada esconde os
proteger os dados armazenados de acessos detalhes da implementação física dos
não autorizados, garantindo que apenas os ficheiros que armazenam os dados.
utilizadores autorizados acedam ao sistema,
de acordo com os seus privilégios. Nível Externo – Definição de “vistas”
sobre o esquema conceptual de base de
Integridade – uma base de dados está dados que tenha interesse para um
num estado de integridade se contém determinado utilizador ou aplicação em
apenas dados validos, isto é, que não particular.
contradizem a realidade que estão a
representar.
Nível
Controlo de Concorrência – garante que Nível
cada utilizador ou aplicação interaja com a
Nível
base de dados como se fosse o único a
utilizar os seus serviços, coordenando essa Dados SGBD
partilha de dados.
Interno
Recuperação/Tolerância a falhas – Conceptual
tem por objetivo restaurar a base de dados,
Externo
para um estado de integridade, apos a
ocorrência de falhas.

Este tipo de arquitetura permite:

Os 3 níveis da Independência física – alterações no


Arquitetura ANSI/SPARC nível interno não se repercutem no nível
conceptual.

Nível Interno – armazenamento físico Independência lógica – alterações no


dos dados e definições das estruturas físicas nível conceptual não interferem de forma
que permitem obter um bom nível de obrigatória com as “vistas” estabelecidas no
desempenho nível externo.
Utilizadores de um Modelos de Bases de
Sistema de Bases de Dados
Dados Os modelos de bases de dados podem ser
classificados em três gerações distintas.
Administrador da base de dados – é o
responsável máximo pelo bom 1ª Geração (Modelos Hierarquia e Rede)
funcionamento do sistema. Tem como
principais responsabilidades a especificação Modelo hierárquico
do esquema conceptual de base de dados e
a sua manutenção. Os dados encontram-se estruturados em
hierarquias. O acesso dos dados faz-se
percorrendo essas hierarquias, desde a raiz
Utilizadores
até ao nó que contém o registo pretendido.
• Utilizadores finais – acedem ao Os registos estão organizados em árvores.
sistema para consultar, adicionar,
alterar ou remover dados, não Modelo rede
podem alterar a estrutura de base
de dados (esquema conceptual). É uma extensão do modelo hierárquico.
Eliminando o conceito de hierarquia, permite
• Programadores – desenvolvem as que um mesmo tipo de registo esteja
aplicações que os utilizadores finais envolvido em várias associações.
irão depois utilizar.
Os registos estão organizados em grafos.

Modelação de Dados 2ª Geração (Modelo Relacional)

Modelação de dados é o processo de criar Contrariamente aos modelos hierárquicos e


um modelo da estrutura lógica dos dados rede, o modelo relacional não evolui a partir
que satisfaz os requisitos de um sistema de de técnicas de processamento sobre
informação (modelo conceptual de dados) ficheiros.

Exemplos de modelos conceptual de dados: Foi fruto da teoria dos conjuntos.


- diagrama E-R (Entidade - Relacionamento),
(Mais informação à frente)
- diagrama UML (Unified Modeling
Language), etc.

O modelo conceptual de dados é depois


traduzido num modelo de base de dados.
3ª Geração (Novos Modelos)

Suportam sistemas de processamento de


dados não convencionais que permite o seu
funcionamento eficiente em áreas como
sistemas geográficos (GIS), sistemas
multimédia (CAD), etc.
Tem mais importância nas seguintes áreas:
Diagrama E-R
Extensões ao modelo relacional
Não existe uma notação normalizada.
Tenta-se adicionar novas características a
este modelo com o sentido de ultrapassar Os elementos básicos de um diagrama E-R
algumas das suas fraquezas. são as entidades, os relacionamentos e os
atributos.
Modelo orientado a objetos
Entidade
Surge na sequência das linguagens de
programação orientada a objetos. Uma entidade representa um conjunto de
objetos (concreto ou abstrato) do mundo
Trata-se de uma abordagem nova, dispondo
real que possuem características comuns.
de grandes capacidades de modelação.
Adequa-se aos requisitos das áreas de
aplicação mais complexas.

Modelo objeto-relacional
Relacionamentos

São bases de dados híbridas, que incluem Um relacionamento representa uma


características dos dois modelos. associação entre entidades.

São bases de dados relacionais onde as Cardinalidade máxima dos relacionamentos


funcionalidades são estendidas de modo a Podem ser:
conseguir tratar dados como objetos.
• 1:1 (um para um)
----------------------------
• 1:N (um para muitos)
2º PowerPoint • N:N (muitos para muitos)

Cardinalidade mínima dos relacionamentos


Etapas de modelação
Podem ser:
de uma base de dados
• Obrigatória (1)
• Opcional (0)
Problema Real
Análise de requisitos

Modelo conceptual de dados Atributos


Ex: diagrama ER,
diagrama UML, etc.
A cada entidade (ou relacionamento) podem
estar associados um ou mais atributos que
Modelo de base de dados representam as suas propriedades
Ex: hierárquico, rede, relacional, elementares.
orientado a objetos, etc.
Toda a entidade deve possuir um e apenas
Modelo físico de base de dados um identificador, podendo este ser simples
Esquema físico de acordo com um SGBD
específico. ou composto.
Ex: MS access, MS SQL Server, Oracle, DB2,
Informix, My SQL, Sybase, etc.

Base de Dados
Identificador simples:
Definição de Relação
Número
Aluno Uma relação é uma estrutura bidimensional
Nome com determinado esquema e instâncias.

O esquema de uma relação é constituído


por atributos, cada um associado a um tipo
de dados de acordo com a informação que
Identificador composto: irá armazenar.

Nº de
linhas
Aluno

Nº de
colunas
Tipos de Relações
Valor
Relações base – onde estão armazenados
os dados.

Relações virtuais – estão associadas às


Diferentes tipos de atributos: relações base com o objetivo de
proporcionar views parciais sobre o
Atributos derivados:
esquema da base de dados.

Idade

Tipos de chaves
Atributos opcionais:
Superchave – é uma associação de um ou
mais atributos.
Religião
Chave candidata – subconjunto dos atributos
de uma superchave.

Chave primária (ou chave principal) – é uma


Atributos multivalor: chave única (id)

Chave estrangeira (ou chave importada) – é


Telefone a chave primária de uma outra relação ou
entidade.

Atributos multivalor opcionais:

Telefone
Restrições de Uma relação está na Primeira Forma Normal
(1FN) quando:
Integridade do Modelo – Não contém atributos multivalor;
Relacional – Não contém grupos repetitivos.

Integridade de domínio

O valor de um atributo deve obedecer ao Uma relação está na Segunda Forma


tipo de dados que lhe está admitido (e Normal (2FN) quando:
restrições de valor também).
– Está na Primeira Forma Normal (1FN);

– Todos os atributos não chave dependem


Integridade da entidade funcionalmente da totalidade da chave.

A chave primaria deve ser única, não nula e


não repetida, de modo a puder identificar a
respetiva entidade/relação. Uma relação está na Terceira Forma
Normal (3FN) quando:

– Está na Segunda Forma Normal (2FN);


Integridade referencial
– Todos os atributos não chave não
O valor dos atributos que constituem a dependem funcionalmente uns dos outros.
chave estrangeira de uma relação deve
estar também presente na chave primária
da relação referenciada ou, quando muito,
pode ser nulo.
Dependências
funcionais
Normalização Existe uma dependência funcional X → Y
entre dois conjuntos de atributos X e Y, se
A normalização é um processo sistemático, uma instância de valores de X determina ou
definido por um conjunto de regras bem identifica univocamente uma instância de
definidas, que visa eliminar problemas de valores dos atributos de Y.
redundância nos dados como:

- problemas de manutenção;

- custos de espaço de armazenamento;

- problemas de desempenho..
----------------------------

3º PowerPoint Como usar:

SQL Select
SELECT algo

Nomenclaturas FROM tabela

WHERE condição
→ AND

→ OR Insert
→* INSERT INTO tabela

(mostra todas as colunas) VALUES (parâmetro 1, parâmetro 2, …)

→=
Update
comparação (ao contrário de C, só é
UPDATE tabela
preciso um =)
SET colunaX = valorX, colunaY = valorY
→Top X
WHERE condição
Mostra os X primeiro elemento
Delete
DELETE FROM tabela
Operações
WHERE condição
SELECT – Seleciona algo de alguma tabela
UPDATE – Atualiza algo de alguma tabela Inner Join
INNER JOIN tabela
INSERT – Insere uma linha em alguma tabela
ON condição
DELETE – Remove uma linha de uma tabela
Ex: Mostrar o nome do Funcionário a partir do id_casa
que pertence à tabela Emprega
SELECT nome
FROM Emprega
Funções auxiliares INNER JOIN Funcionarios
ON Emprega.id_funcionario =
Funcionarios.id_funcionario
WHERE id_casa = 0
INNER JOIN – Junta os dados de uma tabela
noutra (usa-se quantas vezes for necessário)
ORDER BY – Mete-se no fim da query Order by
ORDER BY coluna ASC | DESC (escolher)
COUNT – Conta o número de ocorrências
Também funciona com strings (ordena alfabeticamente)
de algo (vem a seguir ao SELECT)
SUM – Vem a seguir ao Select
Group by
YEAR(X) – Extrai um ano de data(x)
GROUP BY coluna
Count
EXEMPLO:
Select COUNT (coluna)
INSERT INTO Entrega
Ex: Dar nome à variável que estou a contar: VALUES (15, 0, 3)
SELECT COUNT (cod_pes_Escritor) as N_Pessoas
FROM Escrever ALTER TRIGGER NOME
INNER JOIN Mensal ON Entrega
ON Mensal.cod_rev=Escrever.cod_rev_M AFTER INSERT
INNER JOIN Revistas AS
ON Mensal.cod_rev= Revistas.codigo BEGIN
WHERE titulo = 'Dia Azul'
SELECT SUM (preço) as Preço_total
FROM Entrega
INNER JOIN inserted
ON inserted.id_cliente = Entrega.id_cliente
Sum INNER JOIN Peça
ON Entrega.id_peça = Peça.id_peça
Select SUM (coluna)
END

Top X
Select TOP X *

FROM tabela

ORDER BY idade ASC

Select encadeado
Ex: Quais as pessoas que compraram a revista mais cara?
Select *
FROM (
Select TOP 1 id_peça
FROM Peça
ORDER BY preço DESC) A
INNER JOIN Entrega
ON Entrega.id_peça=A.id_peça
INNER JOIN Cliente
ON Cliente.id_cliente=Entrega.id_cliente

Procedure
CREATE PROCEDURE PROCEDURE_NOME @var tipo, @var
tipo

AS

(…)

GO

Trigger
CREATE TRIGGER trigger_name

ON Tabela

AFTER INSERT | INSTEAD OF INSERT

AS

BEGIN

END

Você também pode gostar