28
1 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 Características n Arquitetura Lógica n Usuários Finais n Modelo E/R n Linguagens de Consulta n Linguagem SQL n Projeto de BD n Restrições de Integridade

Revisão Banco de Dados - inf.ufsc.brmauro.roisenberg/ine5377/Cursos-ICA/DM-dm2.pdf · nFundamentada em 1970 (Codd) nPadrão em BD relacionais nUtilizada em linguagens hospedeiras

Embed Size (px)

Citation preview

1

RevisãoBanco de Dados

Carlos Henrique - Aula 2Descoberta de Conhecimento

eMineração de Dados

Tópicos Abordadosn Conceitos Básicosn Característicasn Arquitetura Lógican Usuários Finaisn Modelo E/Rn Linguagens de

Consultan Linguagem SQL

n Projeto de BDn Restrições de

Integridade

2

Tópicos Abordadosn Conceitos Básicosn Característicasn Arquitetura Lógican Usuários Finaisn Modelo E/Rn Linguagens de

Consultan Linguagem SQL

n Projeto de BDn Restrições de

Integridade

Conceitos Básicos

n Definição–Um Banco de Dados é uma coleção de

dados relacionados. Onde dados significamfatos conhecidos que podem serarmazenados e que têm significadoimplícito.

n Exemplo–Nome, endereço e telefone das pessoas

que você conhece.

3

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

–É uma coleção de dados logicamentecoerente.

–Modelado, construído e povoado comdados para uma proposta específica.

Conceitos Básicos (continuação)

Um Banco de Dados possui algumaorigem do qual os dados são derivados,

com algum grau de interação comeventos no mundo real cujo existe umgrupo de usuários com algum interesse

ativo no conteúdo da base

4

Conceitos Básicos (continuação)

n SGBD (DMBS) Sistema Gerenciador deBD–É 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áriasaplicações.

Conceitos Básicos (continuação)

n Definição–Especificar tipos de dados, estruturas e

restrições para os dados serem armazenadosno 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 derelatório dos dados.

5

Conceitos Básicos (continuação)

Ambiente Simplificado do Sistema de BD

Programas de Aplicação/Queries

Software para processarQueries/Programas

Software para acessar Dados Armazenados

SGBDSOFTWARE

SISTEMABD

BDArmazenado

Meta-DadosDefinição

Usuários/Programadores

Tópicos Abordadosn Conceitos Básicosn Característicasn Arquitetura Lógican Usuários Finaisn Modelo E/Rn Linguagens de

Consultan Linguagem SQL

n Projeto de BDn Restrições de

Integridade

6

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

eficienten Controle multi-usuário (coerência)

Características (continuação)

Uma característica fundamental daaproximação de BD é a que provê

algum nível de abstração escondendodetalhes de como os dados estão

armazenados, pois isso não interessapara a maioria dos usuários

7

Tópicos Abordadosn Conceitos Básicosn Característicasn Arquitetura Lógican Usuários Finaisn Modelo E/Rn Linguagens de

Consultan Linguagem SQL

n Projeto de BDn Restrições de

Integridade

Arquitetura Lógica de SGBDs

EE1 EE2 EEN

Esquema Conceitual

Esquema Interno

NÍVEIS DE ABSTRAÇÃO

Esquema Externo

8

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

EE1 EE2 EEN

Esquema Conceitual

Esquema Interno

NÍVEIS DE ABSTRAÇÃO

Esquema Externo

Visões do BDControles de Autorização

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

EE1 EE2 EEN

Esquema Conceitual

Esquema Interno

NÍVEIS DE ABSTRAÇÃO

Esquema Externo

Visualização de tabelas(não arquivos)

Relacionamentos

9

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

EE1 EE2 EEN

Esquema Conceitual

Esquema Interno

NÍVEIS DE ABSTRAÇÃO

Esquema Externo

Descrição física de como os 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 implicamem alterações no Esquema Conceitual.

–Lógican Mudanças no Esquema Conceitual não geram

alterações nos Esquemas Externos.

10

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 BDn Estrutura

–Tipos de dados, relacionamentos e restriçõesque 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

relacionamentosn Entidade: Objeto ou conceito do mundo realn Atributo: Propriedade de interesse que descreve uma

entidaden Relacionamento: Interação entre 2 ou mais entidades

n Modelo Físico–Representa como os dados estão armazenados

no computador

11

Tópicos Abordadosn Conceitos Básicosn Característicasn Arquitetura Lógican Usuários Finaisn Modelo E/Rn Linguagens de

Consultan Linguagem SQL

n Projeto de BDn Restrições de

Integridade

Usuários Finais

n Casuais–Ocasionalmente acessam o BD–Necessitam de informações diferentes em

cada acesson “Naive”

–Usam queries enlatadas/Programasn Sofisticados

–Compreendem todas as funcionalidades do BD(DBA- DataBase Administrator)

–Programadores de Aplicações

12

Tópicos Abordadosn Conceitos Básicosn Característicasn Arquitetura Lógican Usuários Finaisn Modelo E/Rn Linguagens de

Consultan Linguagem SQL

n Projeto de BDn Restrições de

Integridade

MER - ModeloEntidade-Relacionamento

n Descreve dados como entidades,relacionamentos e atributos

n Usado como modelo conceitualn Não modela dadosn Exemplo de Diagrama E/R

13

Exemplo de Diagrama E/R

EMPREGADO DEPARTAMENTO

PROJETO

DEPENDENTE

SUPERVISONA

DataA

#Matr Nome

Sal

End

TRAB/PARA

GERENCIA

TRAB/NO

DEPEND/DE

CONTROLA1 N

1

N

M

N

1

N

N 1

1 1

NomeNum

Loc

Nome Num

Horas

DataIni

Nome Sexo DataA

Tópicos Abordadosn Conceitos Básicosn Característicasn Arquitetura Lógican Usuários Finaisn Modelo E/Rn Linguagens de

Consultan Linguagem SQL

n Projeto de BDn Restrições de

Integridade

14

Linguagens de Consultan LDD - Linguagens de Definição de

Dados–Estrutura do BD / Criar, Destruir e

Modificar tabelasn LMD - Linguagens de Manipulação de

Dados–Acesso aos dados / Consultar, Inserir,

Excluir e Atualizar dadosn DCL - Linguagem de Controle de Dados

–Define autorizações de privilégios

Tópicos Abordadosn Conceitos Básicosn Característicasn Arquitetura Lógican Usuários Finaisn Modelo E/Rn Linguagens de

Consultan Linguagem SQL

n Projeto de BDn Restrições de

Integridade

15

Linguagem SQL

n Structure Query Languagen Fundamentada em 1970 (Codd)n Padrão em BD relacionaisn 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

16

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 outraspropriedades

–Create Viewn 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 Tablen inclui ou redefine uma coluna numa tabela

–Deleten exclui linhas numa tabela

–Updaten Atualiza o valor de um ou mais atributos de uma tabela

–Insertn Inclui linhas numa tabela ou visão

–Selectn Seleciona linhas e colunas de uma tabela

17

Linguagem SQL (continuação)

n Comandos/Instruções (continuação)

–Grantn Atribui privilégios relativos a tabelas e visões

–Revoken Revoga privilégios relativos a tabelas e visões

–Commitn Efetiva as alterações completadas

–Rollbackn 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çãodas colunas>, <descrição das chaves>);

–Exemplon Create Table Empregado (

CPF number (012) not null,Endereço varchar2(100) not null,Fax varchar2 (009) ,Constraint PK_Empregado Primary Key (CPF)) ;

18

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

–Exemplon 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, ...);

–Exemplon Create Unique Index IU_CPF on Empregado

(CPF) ;

19

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

–Exemplon Select * From Empregado; /* mostra todos os

registros com todas as colunas da tabelaempregado */

20

Linguagem SQL (continuação)

n Select–Exemplo

n Select Nome, CPF, Salario, IdadeFrom EmpregadoWhere (Depto = ´ELE´ or Depto = ´INF´)and Salario > 500Group by IdadeHaving count(*) > 4Order by 1;

Linguagem SQL (continuação)

n Insert–Formato/Sintaxe

n Insert into <nome da tabela>[(coluna1, ..., colunan)]Values (valor1, ..., valorn);

–Exemplon Insert into Empregado (CPF, Nome)

Values (123456789-10, Fernanda);

21

Linguagem SQL (continuação)

n Update–Formato/Sintaxe

n Update <nome da tabela>Set coluna = expressãoWhere condição;

–Exemplon 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];

–Exemplon Delete From Empregado

Where Idade > 65;

n Truncate–Formato/Sintaxe

n Truncate Table <nome da tabela>;

22

Linguagem SQL (continuação)

n Recursos–Joins de tabelas

n Inner Joinn Outer Join

–Left–Right–Full

–Subqueries–Queries recursivas

Linguagem SQL (continuação)

n Inner Join–Select nome, depto

From Empregado E Inner JoinDepartamento DOn E.CodDepto = D.CodDeptoWhere ...

n Traz apenas as linhas que temcorrespondência nas duas tabelas

23

Linguagem SQL (continuação)

n Left Outer Join–Select nome, matricula, nome_dependente

From Empregado E Left Outer JoinDependente DOn E.Matricula = D.MatriculaWhere ...

n Traz apenas as linhas da tabela aesquerda mesmo que não existamlinhas que tem correspondência natabelas da direita

Linguagem SQL (continuação)

n Right Outer Join–Select nome, matricula, depto

From Empregado E Right Outer JoinDepartamento DOn E.CodDepto = D.CodDeptoWhere ...

n Traz apenas as linhas da tabela a direitamesmo que não existam linhas que temcorrespondência na tabelas da esquerda

24

Linguagem SQL (continuação)

n Full Outer Join–Select nome, matricula, depto

From Empregado E Full Outer JoinDepartamento DOn E.CodDepto = D.CodDeptoWhere ...

n Traz as linhas de qualquer uma dasduas tabelas mesmo que não existamlinhas que tem correspondência naoutra

Linguagem SQL (continuação)

n Subqueries–Select nome, matricula, depto

From Empregado EWhere exists(Select * From Dependente D WhereD.matricula = E.Matricula)

–Select nome, matricula, salarioFrom EmpregadoWhere salario >(Select avg(salario) From Empregado)

25

Linguagem SQL (continuação)

n Query Recursiva– With Gerenciados (nome, salario) As

(( Select nome, salarioFrom EmpregadosWhere gerente = “ Pedro”)Union all(Select E.nome, E.salarioFrom Gereciados G, Empregados EWhere E.gerente = G.nome))Select nome, salarioFrom GerenciadosWhere salario > 5000

Tópicos Abordadosn Conceitos Básicosn Característicasn Arquitetura Lógican Usuários Finaisn Modelo E/Rn Linguagens de

Consultan Linguagem SQL

n Projeto de BDn Restrições de

Integridade

26

Projeto de BDn 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ãon Exclusão

n → Através de Dependências Funcionais,Formas Normais e Algoritmos deDecomposição

Tópicos Abordadosn Conceitos Básicosn Característicasn Arquitetura Lógican Usuários Finaisn Modelo E/Rn Linguagens de

Consultan Linguagem SQL

n Projeto de BDn Restrições de

Integridade

27

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, < chefen Idade entre [0, 150]n Atributos percentuais somam 100%n Quanto aos Dados

28

Tópicos Abordadosn Conceitos Básicosn Característicasn Arquitetura Lógican Usuários Finaisn Modelo E/Rn Linguagens de

Consultan Linguagem SQL

n Projeto de BDn Restrições de

Integridade

Referência

n Fundamentals of Database SystemsElmasri/Navathe Segunda EdiçãoAddison-Wesley Publishing Company