Base de Dados Resumos
Base de Dados Resumos
Base de Dados Resumos
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.
Modelo objeto-relacional
Relacionamentos
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.
Nº de
linhas
Aluno
Nº de
colunas
Tipos de Relações
Valor
Relações base – onde estão armazenados
os 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.
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
- problemas de manutenção;
- problemas de desempenho..
----------------------------
SQL Select
SELECT algo
WHERE condição
→ AND
→ OR Insert
→* INSERT INTO tabela
→=
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
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
AS
BEGIN
END