Вы находитесь на странице: 1из 28

Revisão

Banco de Dados

Carlos Henrique - Aula 2


Descoberta de Conhecimento
e
Mineração 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.

Conceitos Básicos (continuação)

Um Banco de Dados possui alguma


origem do qual os dados são derivados,
com algum grau de interação com
eventos no mundo real cujo existe um
grupo de usuários com algum interesse
ativo no conteúdo da base

3
Conceitos Básicos (continuação)

n SGBD (DMBS) Sistema Gerenciador de


BD
–É uma coleção de de programas que
habilita usuários a criar e manter um BD.
–Facilita o processo de definição, construção
e manipulação dos dados para várias
aplicações.

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

SGBD Software para processar


SOFTWARE Queries/Programas

Software para acessar


Dados Armazenados

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)

Uma característica fundamental da


aproximação de BD é a que provê
algum nível de abstração escondendo
detalhes de como os dados estão
armazenados, pois isso não interessa
para a maioria dos usuários

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

Arquitetura Lógica de SGBDs


NÍVEIS DE ABSTRAÇÃO

Esquema Externo EE1 EE2 EEN

Esquema Conceitual

Esquema Interno

7
Arquitetura Lógica de SGBDs
(continuação)

NÍVEIS DE ABSTRAÇÃO

Esquema Externo EE1 EE2 EEN

Esquema Conceitual

Esquema Interno
Visões do BD
Controles de Autorização

Arquitetura Lógica de SGBDs


(continuação)

NÍVEIS DE ABSTRAÇÃO

Esquema Externo EE1 EE2 EEN

Visualização de tabelas Esquema Conceitual


(não arquivos)
Relacionamentos
Esquema Interno

8
Arquitetura Lógica de SGBDs
(continuação)

NÍVEIS DE ABSTRAÇÃO

Esquema Externo EE1 EE2 EEN

Esquema Conceitual

Descrição física de como os Esquema Interno


dados estão armazenados

Arquitetura Lógica de SGBDs


(continuação)

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

Arquitetura Lógica de SGBDs


(continuação)

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, ...

Linguagem SQL (continuação)

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

Linguagem SQL (continuação)

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

Linguagem SQL (continuação)

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) ;

Linguagem SQL (continuação)

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;

Linguagem SQL (continuação)

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;

Linguagem SQL (continuação)

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´;

Linguagem SQL (continuação)

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

Linguagem SQL (continuação)

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)

n Left Outer Join


–Select nome, matricula, nome_dependente
From Empregado E Left Outer Join
Dependente D
On E.Matricula = D.Matricula
Where ...
n Traz apenas as linhas da tabela a
esquerda mesmo que não existam
linhas que tem correspondência na
tabelas da direita

Linguagem SQL (continuação)

n Right Outer Join


–Select nome, matricula, depto
From Empregado E Right Outer Join
Departamento D
On E.CodDepto = D.CodDepto
Where ...
n Traz apenas as linhas da tabela a direita
mesmo que não existam linhas que tem
correspondência na tabelas da esquerda

23
Linguagem SQL (continuação)

n Full Outer Join


–Select nome, matricula, depto
From Empregado E Full Outer Join
Departamento D
On E.CodDepto = D.CodDepto
Where ...
n Traz as linhas de qualquer uma das
duas tabelas mesmo que não existam
linhas que tem correspondência na
outra

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

n → Através de Dependências Funcionais,


Formas Normais e Algoritmos de
Decomposiçã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]

n Atributos percentuais somam 100%

n Quanto aos Dados

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

Вам также может понравиться