Buscar

Banco de Dados I

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 56 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 56 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 56 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

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
Banco
de
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ância
Regras para
estruturação dos
dados
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
520
074
M Reis
400
Departamento
Empregado
Modelo Entidade-Relacionamento
30
Processo de Projeto de 
Bancos de Dados
Mini-Mundo
Análise de
Requisitos
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
31
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
32
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.
33
Esquema conceitual
M
34
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 = John
Address = 2311 Kirby, Houston, TX
Age = 55
Home Phone = 713-749-2630
e1
(Employee)
35
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)
Monovaloradosou 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
36
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
37
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
38
Figura 3.5
Tipos de entidade e suas instâncias
39
Esquema conceitual
M
40
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
41
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
42
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
43
Instâncias de um tipo de relacionamento binário
44
Instâncias de um tipo de relacionamento ternário
45
Esquema conceitual
M
46
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
47
Cardinalidade 1:1
48
Cardinalidade M:N
49
Esquema conceitual
M
50
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
51
Figure 3.11
1 – Supervisor
2 - Supervisee
52
Esquema conceitual
M
53
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
54
Esquema conceitual
M
55
Notação ER
(Resumo)
56

Outros materiais