If you can't read please download the document
View
214
Download
0
Embed Size (px)
BANCO DE DADOS IIConceitos Bsicos
COTEMIG
Gerson Borges
gerson@cotemig.com.br
Reviso
O que um banco de dados?
Definies Preliminares
[Chu, 1985]
Um banco de dados um conjunto de arquivos relacionados entre si
[Date, 2000]
Um banco de dados uma coleo de dados operacionais armazenados usados pelas aplicaes de uma determinada organizao
Outra Definio de Banco de Dados
[Elmasri & Navathe, 2000]
Um banco de dados uma coleo de dadosrelacionados
Representando algum aspecto do mundo real (mini-mundo ou universo de discurso)
Logicamente coerente, com algum significado
Projetado, construdo e gerado (povoado) para uma aplicao especfica
Sistema de Gerncia de Banco de Dados
Um sistema de gerncia 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 gerncia constitui um sistema de banco de dados
Consultas/Programas
SGBD
Bancode
Dados
Usurios/Programadores
Catlogo(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 so oferecidas por Departamentos
Alunos esto matriculados em Disciplinas
Exemplo de um Banco de Dados
Exemplo de um Banco de Dados
Caractersticas da Abordagem de BD
Auto-descrio dos dados
Isolamento entre programas e dados: abstrao de dados
Suporte a mltiplas vises dos dados
Compartilhamento de dados e processa-mento de transaes concorrentes
Usurios em um Ambiente de BD
Administradores de banco de dados
Projetistas de banco de dados
Analistas de sistema e programadores
Usurios finais:
Usurios casuais
Usurios leigos
Usurios especializados
Vantagens da Utilizao de um SGBD
Controle de redundncia dos dados
Controle de acesso (segurana)
Armazenamento persistente dos dados
Existncia de mltiplas interfaces para os usurios
Representao de relacionamentos complexos entre os dados
Manuteno de restries de integridade
Recuperao de falhas
Implicaes da Abordagem de BD
Adoo/imposio de padres
Reduo do tempo de desenvolvimento das aplicaes
Flexibilidade
Atualidade da informao disponvel
Economia de escala
Quando no Utilizar um SGBD
Aplicaes simples e bem definidas onde no se espera mudanas
Aplicaes de tempo-real
Aplicaes onde no necessrio acesso multi-usurio
Motivos: Investimento inicial alto
Generalidade na definio e manipulao dos dados
Custo adicional para prover outras facilidades funcionais (manuteno de segurana, controle de concorrncia, recuperao de falhas, etc.)
Modelo de Dados, Esquema e Instncia
Modelo de dados: Conjunto de conceitos usados para descrever a estrutura de um banco de dados Abstrao de dados Estrutura = tipos de dados + relacionamentos +
restries (+operaes )
Esquema: Descrio (textual ou grfica) da estrutura de um banco de dados de acordo com um determinado modelo de dados
Instncia: Conjunto de dados armazenados em um banco de dados em um determinado instante de tempo
Modelo de Dados, Esquema e Instncia
Esquema do banco de dados de exemplo
Modelo de Dados, Esquema e Instncia
Instncia do banco de dados de exemplo
Relao entre Modelo de Dados, Esquema e Instncia
Modelo de Dados
Esquema InstnciaRegras para
estruturao dosdados
Regras para verificao das
instncias
Modelo de Dados, Esquema e Instncia
Estado do Banco
Dados do banco em qualquer ponto do tempo
Inicialmente vazio
Muda freqentemente
Validade parcialmente guarantida pelo SGBD
Esquema do Banco
Armazenado no catlogo
Mudanas muito menos freqentes
Tipos de Modelo de Dados
Modelos conceituais Utilizados para se descrever a estrutura de um
banco de dados de uma forma mais prxima da percepo dos usurios (independente de aspectos de implementao)
Ex. Conceitos: entidades, atributos, relacionamentos
Exemplos: Modelo entidade-relacionamento (ER)
Modelo funcional
Modelo orientado a objetos (OO)
Tipos de Modelo de Dados
Modelos representacionais (lgicos) Utilizados para se descrever a estrutura de um banco
de dados da forma como ser manipulado atravs de SGBD (mais dependente das estruturas fsicas de armazenamento de dados)
Exemplos:
Modelo relacional
Modelo de rede (CODASYL)
Modelo hierrquico
Tipos de Modelo de Dados
Modelos fsicos Utilizados para descrever como os dados so
fisicamente armazenados
Linguagens
Linguagem de definio de dados (LDD) Usada para definir esquemas
Linguagem de manipulao de dados(LMD) Recuperao, insero, remoo, modificao
do BD
Linguagem de consulta LMD de alto nivel usada em modo stand-
alone
Exemplo: SQL
Utilitrios
Carregamento
Backup
E.g. dumps do banco de dados
(Re-)Organizao de arquivos
Monitoramento da performance
Classificao dos SGBDs Quanto ao modelo de dados adotado:
Relacionais De rede Hierrquicos Orientados a objetos Objeto-relacionais
Quanto ao nmero de usurios suportados: Mono-usurios Multi-usurios
Quanto localizao dos dados: Centralizados Distribudos
Exemplo de um BD Relacional
NumEmp NomeEmp Salrio 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 Simo 905 28
130 J Neves 640 28
NumDept NomeDept Ramal
21 Pessoal 142
25 Financeiro 143
28 Tcnico 144
Empregado
Departamento
Exemplo de um BD de Rede
21 Pessoal 142
25 Financeiro 143
28 Tcnico 144
032 J Silva 380
112 R Pinto 390
121 V Simo 905
130 J Neves 640
092 R Silva 480
089 C Melo 520
074 M Reis 400
Departamento
Empregado
Exemplo de um BD Hierrquico
21 Pessoal 142 25 Financeiro 143 28 Tcnico 144
032 J Silva 380
112 R Pinto 390 121 V Simo 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
Anlise de
Requisitos
Requisitos do BD
Projeto Conceitual
Esquema Conceitual
(em um modelo de dados de alto nvel)
Projeto Lgico
Esquema Lgico
(em um modelo de dados lgico)
Projeto Fsico
Esquema Fsico
(para um SGBD especfico)
Requisitos Funcionais
Anlise Funcional
Especificao das Transaes
(em alto nvel)
Projeto das Aplicaes
Implementao
Programas
Independente de SGBD
Especfico para um SGBD
Aplicao exemplo
Banco de Dados de uma companhia
Organizada em departamentos que tm um nome e umnmero nicos e um empregado que gerencia odepartamento. A data de quando o empregadocomeou a gerenciar o departamento deve serregistrada. Um departamento pode ter variaslocalizaes
Um departamento controla um nmero de projetos,cada qual com um nome e nmero nicos e uma nicalocalizao
Aplicao exemplo
Banco de Dados de uma companhia Ns armazenamos para cada empregado seu
nome, identidade, endereo, salrio, sexo, e datade nascimento. Um empregado assinalado a umdepartamento mas pode trabalhar em diversosprojetos, os quais no so necessariamentecontrolados pelo mesmo departamento. Nosregistramos o nmero de horas por semana que oempregado trabalha em cada projeto e osupervisor direto de cada empregado
Ns mantemos registro para cada empregado, donumero de dependentes (para seguro) e paracada dependente o primeiro nome, sexo, data denascimento e relacionamento com o empregado.
Esquema conceitual
M
Modelo ER - Conceitos
Entidades:
Objetos do mundo real que so de interessepara alguma aplicao
Atributos:
Propriedades utilizadas para descrever umaentidade
Name = John
Address = 2311 Kirby, Houston, TXAge = 55
Home Phone = 713-749-2630e1(Employee)
Modelo ER - Conceitos Tipos (classes) de atributo:
Simples ou compostos Ex. Endereo (Endereo da Rua (nmero, nome da rua,
nmero do apto), Cidade, Estado, CEP)
Monovalorados ou multivalorados Ex. Profisso
Armazenados ou derivados Data de Nascimento Idade, Empregados trabalhando
no departamento NumeroDeEmpregados
Valores Null No aplicvel
Ex. Nmero do apartamento
Desconhecido Ex. Telefone de casa
Modelo ER - Conceitos
Tipo de entidade:
Define um conjunto de entidades que tmos mesmos atributos (propriedades)
Descreve o esquema para um conjunto deentidades que compartilham a mesmaestrutura
Exemplos:
Employee, Company
Modelo ER - Conceitos
Chave de um tipo de entidade: Atributo que possui valor nico para cada entidade
(instncia) Ex. Nome da companhia, identidade do empregado
Chave pode ser formada por vrios atributos: chavecomposta Registro do Veiculo: Numero de Registro e Estado
Domnio de um atributo: Conjunto de valores que podem