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

Post on 18-Apr-2015

108 views 0 download

Transcript of 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

Introdução

O que é um banco de dados?

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

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

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

Consultas/Programas

SGBD

Bancode

Dados

Usuários/Programadores

Catálogo(Meta-Dados)

Sistema de Banco de Dados

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

Exemplo de um Banco de Dados

Exemplo de um Banco de Dados

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

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

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

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

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

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

Modelo de Dados, Esquema e Instância

Esquema do banco de dados de exemplo

Modelo de Dados, Esquema e Instância

Instância do banco de dados de exemplo

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

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

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)

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

Tipos de Modelo de Dados

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

fisicamente armazenados

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

Utilitários

• Carregamento• Backup

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

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

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

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

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

Modelo Entidade-Relacionamento

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

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

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.

Esquema conceitual

M

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)

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

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

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

Figura 3.5

Tipos de entidade e suas instâncias

Esquema conceitual

M

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

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

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

Instâncias de um tipo de relacionamento binário

Instâncias de um tipo de relacionamento ternário

Esquema conceitual

M

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

Cardinalidade 1:1

Cardinalidade M:N

Esquema conceitual

M

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

Figure 3.11

1 – Supervisor2 - Supervisee

Esquema conceitual

M

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

Esquema conceitual

M

Notação ER(Resumo)