Академический Документы
Профессиональный Документы
Культура Документы
Banco de Dados
Tópicos Abordados
n Conceitos Básicos n Projeto de BD
n Características n Restrições de
n Arquitetura Lógica Integridade
n Usuários Finais
n Modelo E/R
n Linguagens de
Consulta
n Linguagem SQL
1
Tópicos Abordados
n Conceitos Básicos n Projeto de BD
n Características n Restrições de
n Arquitetura Lógica Integridade
n Usuários Finais
n Modelo E/R
n Linguagens de
Consulta
n Linguagem SQL
Conceitos Básicos
n Definição
–Um Banco de Dados é uma coleção de
dados relacionados. Onde dados significam
fatos conhecidos que podem ser
armazenados e que têm significado
implícito.
n Exemplo
–Nome, endereço e telefone das pessoas
que você conhece.
2
Conceitos Básicos (continuação)
n Propriedades Implícitas de BD
–Representa algum aspecto do mundo real -
Mini mundo ou universo de Discurso
(UdD). Mudanças no UdD são refletidas no
BD.
–É uma coleção de dados logicamente
coerente.
–Modelado, construído e povoado com
dados para uma proposta específica.
3
Conceitos Básicos (continuação)
n Definição
– Especificar tipos de dados, estruturas e
restrições para os dados serem armazenados
no BD.
n Construção
– Processo de armazenamento dos dados em
alguma mídia controlada pelo SGBD.
n Manipulação
– Inclui funções de busca de dados específicos,
atualizações refletidas pelo UdD e geração de
relatório dos dados.
4
Conceitos Básicos (continuação)
Ambiente Simplificado do Sistema de BD
Usuários/Programadores
SISTEMA
BD Programas de Aplicação/Queries
Meta-Dados BD
Definição Armazenado
Tópicos Abordados
n Conceitos Básicos n Projeto de BD
n Características n Restrições de
n Arquitetura Lógica Integridade
n Usuários Finais
n Modelo E/R
n Linguagens de
Consulta
n Linguagem SQL
5
Características
n Definir o BD
– LDD (Linguagem de Definição de Dados)
n Linguagem de Consultas
– Queries
– LMD (Linguagem de Manipulação de Dados)
n Suporte
– Armazenamento, segurança (falhas) e acesso
eficiente
n Controle multi-usuário (coerência)
Características (continuação)
6
Tópicos Abordados
n Conceitos Básicos n Projeto de BD
n Características n Restrições de
n Arquitetura Lógica Integridade
n Usuários Finais
n Modelo E/R
n Linguagens de
Consulta
n Linguagem SQL
Esquema Conceitual
Esquema Interno
7
Arquitetura Lógica de SGBDs
(continuação)
NÍVEIS DE ABSTRAÇÃO
Esquema Conceitual
Esquema Interno
Visões do BD
Controles de Autorização
NÍVEIS DE ABSTRAÇÃO
8
Arquitetura Lógica de SGBDs
(continuação)
NÍVEIS DE ABSTRAÇÃO
Esquema Conceitual
n Princípio de Independência
–Física
n Mudanças no Esquema Interno não implicam
em alterações no Esquema Conceitual.
–Lógica
n Mudanças no Esquema Conceitual não geram
alterações nos Esquemas Externos.
9
Arquitetura Lógica de SGBDs
(continuação)
n Modelo de Dados
– É um conjunto de conceitos que podem ser
usados para descrever a Estrutura de um BD
n Estrutura
– Tipos de dados, relacionamentos e restrições
que devem ser impostas aos dados
n Modelo Conceitual e Físico
n Modelo Conceitual
– Utiliza conceito de Entidades, atributos e
relacionamentos
n Entidade: Objeto ou conceito do mundo real
n Atributo: Propriedade de interesse que descreve uma
entidade
n Relacionamento: Interação entre 2 ou mais entidades
n Modelo Físico
– Representa como os dados estão armazenados
no computador
10
Tópicos Abordados
n Conceitos Básicos n Projeto de BD
n Características n Restrições de
n Arquitetura Lógica Integridade
n Usuários Finais
n Modelo E/R
n Linguagens de
Consulta
n Linguagem SQL
Usuários Finais
n Casuais
– Ocasionalmente acessam o BD
– Necessitam de informações diferentes em
cada acesso
n “Naive”
– Usam queries enlatadas/Programas
n Sofisticados
– Compreendem todas as funcionalidades do BD
(DBA- DataBase Administrator)
– Programadores de Aplicações
11
Tópicos Abordados
n Conceitos Básicos n Projeto de BD
n Características n Restrições de
n Arquitetura Lógica Integridade
n Usuários Finais
n Modelo E/R
n Linguagens de
Consulta
n Linguagem SQL
MER - Modelo
Entidade-Relacionamento
n Descreve dados como entidades,
relacionamentos e atributos
n Usado como modelo conceitual
n Não modela dados
n Exemplo de Diagrama E/R
12
Exemplo de Diagrama E/R
#Matr Nome End Num
DataA Sal TRAB/PARA Nome Loc
N 1
EMPREGADO DataIni DEPARTAMENTO
1 1
GERENCIA
1
Horas CONTROLA
1 N M
SUPERVISONA TRAB/NO N
N
1
N PROJETO
DEPEND/DE
Nome Num
DEPENDENTE
Nome Sexo DataA
Tópicos Abordados
n Conceitos Básicos n Projeto de BD
n Características n Restrições de
n Arquitetura Lógica Integridade
n Usuários Finais
n Modelo E/R
n Linguagens de
Consulta
n Linguagem SQL
13
Linguagens de Consulta
n LDD - Linguagens de Definição de
Dados
–Estrutura do BD / Criar, Destruir e
Modificar tabelas
n LMD - Linguagens de Manipulação de
Dados
–Acesso aos dados / Consultar, Inserir,
Excluir e Atualizar dados
n DCL - Linguagem de Controle de Dados
–Define autorizações de privilégios
Tópicos Abordados
n Conceitos Básicos n Projeto de BD
n Características n Restrições de
n Arquitetura Lógica Integridade
n Usuários Finais
n Modelo E/R
n Linguagens de
Consulta
n Linguagem SQL
14
Linguagem SQL
n Structure Query Language
n Fundamentada em 1970 (Codd)
n Padrão em BD relacionais
n Utilizada em linguagens hospedeiras -
Cobol, Pascal, C, Fortran, ...
n Algumas vantagens
–Independência de fabricante
–Portabilidade
–Inglês estruturado (alto nível)
–Consulta interativa
15
Linguagem SQL (continuação)
n Comandos/Instruções
–Create Index
n cria um índice para a tabela
–Create Table
n cria uma tabela, definindo colunas e outras
propriedades
–Create View
n define uma visão sobre uma ou mais tabelas
e/ou sobre outras visões
–Drop
n exclui uma tabela, índice de um BD
n Comandos/Instruções (continuação)
–Alter Table
n inclui ou redefine uma coluna numa tabela
–Delete
n exclui linhas numa tabela
–Update
n Atualiza o valor de um ou mais atributos de uma tabela
–Insert
n Inclui linhas numa tabela ou visão
–Select
n Seleciona linhas e colunas de uma tabela
16
Linguagem SQL (continuação)
n Comandos/Instruções (continuação)
–Grant
n Atribui privilégios relativos a tabelas e visões
–Revoke
n Revoga privilégios relativos a tabelas e visões
–Commit
n Efetiva as alterações completadas
–Rollback
n Desfaz qualquer alteração que ainda não foi
efetivada
n Create Table
–Formato/Sintaxe
n Create Table <nome da tabela> (<descrição
das colunas>, <descrição das chaves>);
–Exemplo
n Create Table Empregado (
CPF number (012) not null,
Endereço varchar2(100) not null,
Fax varchar2 (009) ,
Constraint PK_Empregado Primary Key (CPF)
);
17
Linguagem SQL (continuação)
n Alter Table
–Formato/Sintaxe
n Alter Table <nome da tabela> Add/Modify
(<descrição das colunas> | restrição, ...);
n Alter Table <nome da tabela> Drop Constraint
<nome da restrição);
n Alter Table <nome da tabela> Drop Primary
Key;
–Exemplo
n Alter Table Empregado Modify (
Endereço varchar2(200) null) ;
n Create Index
–Formato/Sintaxe
n Create Index [Unique] <nome do índice> on
<nome da tabela> (coluna1, coluna2, ...);
–Exemplo
n Create Unique Index IU_CPF on Empregado
(CPF) ;
18
Linguagem SQL (continuação)
n Drop Table
–Formato/Sintaxe
n Drop Table <nome da tabela>;
–Exemplo
n Drop Table Empregado;
n Select
–Formato/Sintaxe
n Select <nome das colunas ou *>
From <nome da tabela>
[Where <restrições>]
[Group by <colunas>]
[Having <nome das colunas>]
[Order by <nome ou número das colunas>];
–Exemplo
n Select * From Empregado; /* mostra todos os
registros com todas as colunas da tabela
empregado */
19
Linguagem SQL (continuação)
n Select
–Exemplo
n Select Nome, CPF, Salario, Idade
From Empregado
Where (Depto = ´ELE´ or Depto = ´INF´)
and Salario > 500
Group by Idade
Having count(*) > 4
Order by 1;
n Insert
–Formato/Sintaxe
n Insert into <nome da tabela>
[(coluna1, ..., colunan)]
Values (valor1, ..., valorn);
–Exemplo
n Insert into Empregado (CPF, Nome)
Values (123456789-10, Fernanda);
20
Linguagem SQL (continuação)
n Update
–Formato/Sintaxe
n Update <nome da tabela>
Set coluna = expressão
Where condição;
–Exemplo
n Update Empregado
Set Nome = “Joana”
Where CPF = ´123456789-10´;
n Delete
–Formato/Sintaxe
n Delete From <nome da tabela>
[Where condição];
–Exemplo
n Delete From Empregado
Where Idade > 65;
n Truncate
–Formato/Sintaxe
n Truncate Table <nome da tabela>;
21
Linguagem SQL (continuação)
n Recursos
–Joins de tabelas
n Inner Join
n Outer Join
– Left
– Right
– Full
–Subqueries
–Queries recursivas
n Inner Join
–Select nome, depto
From Empregado E Inner Join
Departamento D
On E.CodDepto = D.CodDepto
Where ...
n Traz apenas as linhas que tem
correspondência nas duas tabelas
22
Linguagem SQL (continuação)
23
Linguagem SQL (continuação)
n Subqueries
–Select nome, matricula, depto
From Empregado E
Where exists
(Select * From Dependente D Where
D.matricula = E.Matricula)
–Select nome, matricula, salario
From Empregado
Where salario >
(Select avg(salario) From Empregado)
24
Linguagem SQL (continuação)
n Query Recursiva
– With Gerenciados (nome, salario) As
(( Select nome, salario
From Empregados
Where gerente = “Pedro”)
Union all
(Select E.nome, E.salario
From Gereciados G, Empregados E
Where E.gerente = G.nome))
Select nome, salario
From Gerenciados
Where salario > 5000
Tópicos Abordados
n Conceitos Básicos n Projeto de BD
n Características n Restrições de
n Arquitetura Lógica Integridade
n Usuários Finais
n Modelo E/R
n Linguagens de
Consulta
n Linguagem SQL
25
Projeto de BD
n Existem diversos modelos possíveis
–Evitar Redundância (Espaço)
–Atualização inconsistente (Alterar em várias
tuplas)
–Evitar Anomalias de Atualização
n Inclusão
n Exclusão
Tópicos Abordados
n Conceitos Básicos n Projeto de BD
n Características n Restrições de
n Arquitetura Lógica Integridade
n Usuários Finais
n Modelo E/R
n Linguagens de
Consulta
n Linguagem SQL
26
Restrições de Integridade
n Quanto a Estrutura (conceitual)
–Chaves Primárias, Estrangeiras
n Quanto aos Dados
–Domínio de valores dos atributos
–Relação entre valores de atributos
–Aspectos legais, regras
Restrições de Integridade
(continuação)
n Referêncial
–Chave estrangeira
n Semântica
–Relacionado com a aplicação
n Salários positivos, > mínimo, < chefe
n Idade entre [0, 150]
27
Tópicos Abordados
n Conceitos Básicos n Projeto de BD
n Características n Restrições de
n Arquitetura Lógica Integridade
n Usuários Finais
n Modelo E/R
n Linguagens de
Consulta
n Linguagem SQL
Referência
n Fundamentals of Database Systems
Elmasri/Navathe Segunda Edição
Addison-Wesley Publishing Company
28