BANCO DE DADOS II Conceitos Básicos - .Outra Definição de Banco de Dados [Elmasri & Navathe, 2000]

  • View
    214

  • Download
    0

Embed Size (px)

Text of BANCO DE DADOS II Conceitos Básicos - .Outra Definição de Banco de Dados [Elmasri & Navathe,...

  • 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