Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

56
Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves

Transcript of Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Page 1: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Sistemas de Banco de Dados

Extraído do Material do ProfºMarcos André Gonçalves

Page 2: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Introdução

Page 3: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

O que é um banco de dados?

Page 4: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Definições Preliminares

• [Chu, 1985]– Um banco de dados é um conjunto de arquivos

relacionados entre si• [Date, 2000]

– Um banco de dados é uma coleção de dados operacionais armazenados usados pelas aplicações de uma determinada organização

Page 5: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Outra Definição de Banco de Dados

• [Elmasri & Navathe, 2000]– Um banco de dados é uma coleção de dados

relacionados• Representando algum aspecto do mundo real (mini-

mundo ou universo de discurso)• Logicamente coerente, com algum significado• Projetado, construído e gerado (“povoado”) para uma

aplicação específica

Page 6: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Sistema de Gerência de Banco de Dados

• Um sistema de gerência de banco de dados (SGBD) é um conjunto de programas que permite a criar e manter um banco de dados

• Um banco de dados juntamente com o SGBD que o gerência constitui um sistema de banco de dados

Page 7: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Consultas/Programas

SGBD

Bancode

Dados

Usuários/Programadores

Catálogo(Meta-Dados)

Sistema de Banco de Dados

Page 8: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Exemplo de um Banco de Dados

• Mini-mundo: parte de uma universidade• Algumas entidades:

– Alunos– Disciplinas– Departamentos

• Alguns relacionamentos:– Disciplinas são oferecidas por Departamentos– Alunos estão matriculados em Disciplinas

Page 9: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Exemplo de um Banco de Dados

Page 10: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Exemplo de um Banco de Dados

Page 11: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Características da Abordagem de BD

• Auto-descrição dos dados

• Isolamento entre programas e dados: abstração de dados

• Suporte a múltiplas visões dos dados

• Compartilhamento de dados e processa-mento de transações concorrentes

Page 12: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Usuários em um Ambiente de BD

• Administradores de banco de dados• Projetistas de banco de dados• Analistas de sistema e programadores• Usuários finais:

– Usuários casuais– Usuários leigos– Usuários especializados

Page 13: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Vantagens da Utilização de um SGBD

• Controle de redundância dos dados

• Controle de acesso (segurança)

• Armazenamento persistente dos dados

• Existência de múltiplas interfaces para os usuários

• Representação de relacionamentos complexos entre os dados

• Manutenção de restrições de integridade

• Recuperação de falhas

Page 14: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Implicações da Abordagem de BD

• Adoção/imposição de padrões

• Redução do tempo de desenvolvimento das aplicações

• Flexibilidade

• Atualidade da informação disponível

• Economia de escala

Page 15: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Quando não Utilizar um SGBD

• Aplicações simples e bem definidas onde não se espera mudanças

• Aplicações de tempo-real• Aplicações onde não é necessário acesso multi-usuário• Motivos:

– Investimento inicial alto– Generalidade na definição e manipulação dos dados– Custo adicional para prover outras facilidades funcionais

(manutenção de segurança, controle de concorrência, recuperação de falhas, etc.)

Page 16: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Modelo de Dados, Esquema e Instância

• Modelo de dados: Conjunto de conceitos usados para descrever a estrutura de um banco de dados– Abstração de dados– Estrutura = tipos de dados + relacionamentos + restrições

(+operações )• Esquema: Descrição (textual ou gráfica) da estrutura

de um banco de dados de acordo com um determinado modelo de dados

• Instância: Conjunto de dados armazenados em um banco de dados em um determinado instante de tempo

Page 17: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Modelo de Dados, Esquema e Instância

Esquema do banco de dados de exemplo

Page 18: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Modelo de Dados, Esquema e Instância

Instância do banco de dados de exemplo

Page 19: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Relação entre Modelo de Dados, Esquema e Instância

Modelo de Dados

Esquema InstânciaRegras para

estruturação dosdados

Regras para verificação das

instâncias

Page 20: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Modelo de Dados, Esquema e Instância

• Estado do Banco– Dados do banco em qualquer ponto do tempo– Inicialmente vazio– Muda freqüentemente– Validade parcialmente guarantida pelo SGBD

• Esquema do Banco– Armazenado no catálogo– Mudanças muito menos freqüentes

Page 21: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Tipos de Modelo de Dados

• Modelos conceituais– Utilizados para se descrever a estrutura de um

banco de dados de uma forma mais próxima da percepção dos usuários (independente de aspectos de implementação)

– Ex. Conceitos: entidades, atributos, relacionamentos– Exemplos:

• Modelo entidade-relacionamento (ER)• Modelo funcional• Modelo orientado a objetos (OO)

Page 22: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Tipos de Modelo de Dados

• Modelos representacionais (lógicos)– Utilizados para se descrever a estrutura de um banco de

dados da forma como será manipulado através de SGBD (mais dependente das estruturas físicas de armazenamento de dados)

– Exemplos:• Modelo relacional• Modelo de rede (CODASYL)• Modelo hierárquico

Page 23: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Tipos de Modelo de Dados

• Modelos físicos– Utilizados para descrever como os dados são

fisicamente armazenados

Page 24: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Linguagens• Linguagem de definição de dados (LDD)

– Usada para definir esquemas• Linguagem de manipulação de dados (LMD)

– Recuperação, inserção, remoção, modificação do BD

• Linguagem de consulta– LMD de alto nivel usada em modo “stand-alone”

• Exemplo: SQL

Page 25: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Utilitários

• Carregamento• Backup

– E.g. dumps do banco de dados• (Re-)Organização de arquivos• Monitoramento da performance

Page 26: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Classificação dos SGBDs• Quanto ao modelo de dados adotado:

– Relacionais– De rede– Hierárquicos – Orientados a objetos– Objeto-relacionais

• Quanto ao número de usuários suportados:– Mono-usuários– Multi-usuários

• Quanto à localização dos dados:– Centralizados– Distribuídos

Page 27: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Exemplo de um BD Relacional

NumEmp

NomeEmp Salário Dept

032 J Silva 380 21

074 M Reis 400 25

089 C Melo 520 28

092 R Silva 480 25

112 R Pinto 390 21

121 V Simão 905 28

130 J Neves 640 28

NumDept NomeDept

Ramal

21 Pessoal 142

25 Financeiro 143

28 Técnico 144

Empregado

Departamento

Page 28: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Exemplo de um BD de Rede

21 Pessoal

142

25 Financeiro 143

28 Técnico

144

032 J Silva 380

112 R Pinto 390

121 V Simão 905

130 J Neves

640

092 R Silva 480

089 C Melo 520

074 M Reis 400

Departamento

Empregado

Page 29: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Exemplo de um BD Hierárquico

21 Pessoal

142 25 Financeiro

143 28 Técnico 144

032 J Silva 380

112 R Pinto

390 121 V Simão

905

130 J Neves 640

092 R Silva

480

089 C Melo

520074 M Reis

400

Departamento

Empregado

Page 30: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Modelo Entidade-Relacionamento

Page 31: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Processo de Projeto de Bancos de Dados

Mini-Mundo

Análise deRequisitos

Requisitos do BD

Projeto Conceitual

Esquema Conceitual

(em um modelo de dados de alto nível)

Projeto Lógico

Esquema Lógico(em um modelo de dados lógico)

Projeto Físico

Esquema Físico(para um SGBD específico)

Requisitos Funcionais

Análise Funcional

Especificação das Transações(em alto nível)

Projeto das Aplicações

Implementação

Programas

Independente de SGBD

Específico para um SGBD

Page 32: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Aplicação exemplo

• Banco de Dados de uma companhia– Organizada em departamentos que têm um nome e um

número únicos e um empregado que gerencia o departamento. A data de quando o empregado começou a gerenciar o departamento deve ser registrada. Um departamento pode ter varias localizações

– Um departamento controla um número de projetos, cada qual com um nome e número únicos e uma única localização

Page 33: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Aplicação exemplo

• Banco de Dados de uma companhia– Nós armazenamos para cada empregado seu nome,

identidade, endereço, salário, sexo, e data de nascimento. Um empregado é assinalado a um departamento mas pode trabalhar em diversos projetos, os quais não são necessariamente controlados pelo mesmo departamento. Nos registramos o número de horas por semana que o empregado trabalha em cada projeto e o supervisor direto de cada empregado

– Nós mantemos registro para cada empregado, do numero de dependentes (para seguro) e para cada dependente o primeiro nome, sexo, data de nascimento e relacionamento com o empregado.

Page 34: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Esquema conceitual

M

Page 35: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Modelo ER - Conceitos

• Entidades:– Objetos do mundo real que são de interesse

para alguma aplicação• Atributos:

– Propriedades utilizadas para descrever uma entidade

Name = JohnAddress = 2311 Kirby, Houston, TX

Age = 55Home Phone = 713-749-2630

e1

(Employee)

Page 36: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Modelo ER - Conceitos• Tipos (classes) de atributo:

– Simples ou compostos• Ex. Endereço (Endereço da Rua (número, nome da rua,

número do apto), Cidade, Estado, CEP)– Monovalorados ou multivalorados

• Ex. Profissão – Armazenados ou derivados

• Data de Nascimento Idade, Empregados trabalhando no departamento NumeroDeEmpregados

– Valores Null • Não aplicável

– Ex. Número do apartamento• Desconhecido

– Ex. Telefone de casa

Page 37: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Modelo ER - Conceitos

• Tipo de entidade:– Define um conjunto de entidades que têm os

mesmos atributos (propriedades)– Descreve o esquema para um conjunto de

entidades que compartilham a mesma estrutura

– Exemplos:• Employee, Company

Page 38: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Modelo ER - Conceitos

• Chave de um tipo de entidade:– Atributo que possui valor único para cada entidade

(instância)• Ex. Nome da companhia, identidade do empregado

– Chave pode ser formada por vários atributos: chave composta

• Registro do Veiculo: Numero de Registro e Estado

• Domínio de um atributo:– Conjunto de valores que podem ser atribuídos a um atributo

para cada entidade individualmente– Ex. Idade do Empregado: (16,70); Nome do Empregado:String

Page 39: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Figura 3.5

Tipos de entidade e suas instâncias

Page 40: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Esquema conceitual

M

Page 41: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Modelo ER - Conceitos

• Relacionamentos:– Associações entre duas ou mais entidades

distintas (instâncias) com um significado– Exemplo:

• Employee John Smith Works-for Department Research

• Employee Fred Brown Manages Department Research

• Departament Research Controls Project X

Page 42: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Modelo ER - Conceitos

• Tipo de Relacionamento:– Define um conjunto de associações entre n tipos

de entidade E1, E2,...,En

– Exemplo: • Works-for entre Employee e Department

Employee Works-for Department

Page 43: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Modelo ER - Conceitos

• Tipo de Relacionamento:– Matematicamente, um tipo de relacionamento R é um

conjunto de (instâncias de) relacionamentos ri, onde cada ri associa n (instâncias de) entidades (e1,...,en) e cada ej pertence a um tipo de entidade Ej

– R Í E1 x E2 x ... x En

– ri = (e1,...,en)

• Grau de um Tipo de Relacionamento– Número de tipos de entidade participantes de um tipo

de relacionamento

Page 44: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Instâncias de um tipo de relacionamento binário

Page 45: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Instâncias de um tipo de relacionamento ternário

Page 46: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Esquema conceitual

M

Page 47: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Modelo ER - Conceitos• Restrições sobre tipos de relacionamento:

– Limitam as possiveis combinações de entidades que podem participar no conjunto de relacionamentos

– Cardinalidade: Especifica o número de instâncias de um tipo de relacionamento do qual uma entidade pode participar

– Participação: Especifica se a existência de uma entidade depende de seu relacionamento com outra entidade através de um tipo de relacionamento parcial ou total

• Ex. Todo empregado deve trabalhar para um departamento (total)• Ex. Nem todo empregado gerencia um departamento (parcial)

• Cardinalidade + Participação Restrições Estruturais

Page 48: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Cardinalidade 1:1

Page 49: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Cardinalidade M:N

Page 50: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Esquema conceitual

M

Page 51: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Modelo ER - Conceitos• Papéis e relacionamentos recursivos

– Entidades atuam com um determinado papel– Significado do papel é dado por um nome, atribuído

a cada tipo de entidade – Nomes só são necessários em tipos de

relacionamento que envolvam mais de uma vez o mesmo tipo de entidade relacionamentos recursivos

– Exemplo: Supervision, onde Employee tem os papéis de Supervisor e Supervisee

Page 52: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Figure 3.11

1 – Supervisor2 - Supervisee

Page 53: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Esquema conceitual

M

Page 54: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Modelo ER - Conceitos

• Tipos de Entidade Fraca– Tipos de entidade que não têm chave própria– As instâncias são identificadas através do

relacionamento com entidades de outro tipo, chamado de dono ou identificador, juntamente com os valores de alguns atributos (chave parcial)

– Exemplo: Dependent

Page 55: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Esquema conceitual

M

Page 56: Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.

Notação ER(Resumo)