Banco de Dados
Aula 1
●
Date, C. J. Introdução a Sistemas de Bancos de
Dados. 8ª ed. Editora
Introdução
●
Banco de Dados (BD) fazem parte do nosso
dia-a-dia!
– operação bancária
– reserva de hotel
– matrícula em um curso da Universidade
– cadastro na vídeo locadora
●
Área de BD:
– pesquisa e desenvolvimento de tecnologias para
dar suporte eficiente ao gerenciamento de dados
de sistemas
Conceitos Básicos
●
Dado: fato do mundo real que está registrado e
possui um significado implícito no contexto de
um domínio de aplicação
– Exemplos: endereço, Data de nascimento
●
Informação: fato útil que pode ser extraído
direta ou indiretamente a partir dos dados
– Exemplos: idade
Conceitos Básicos
●
Banco de Dados:
– Fornece acesso seguro e eficiente a
grandes quantidades de dados
– Resolve problemas:
● Armazenamento
● Consulta eficiente
●
Acesso e atualização com segurança: por
múltiplos usuários
Conceitos Básicos
●
[Chu, 1985]
– Um banco de dados é um conjunto de
arquivos relacionados entre si.
●
[Date, 1975]
– Um banco de dados é uma coleção de dados
operacionais usados pelas aplicações de uma
determinada organização
Conceitos Básicos
●
[Elmasri & Navathe, 2000]
– Um banco de dados é uma coleção de
dados relacionados
– Entretanto, um BD possui as
seguintes propriedades implícitas:
● 1. Representa aspectos do mundo real (mini-
mundo ou universo de discurso)
●
2.É uma coleção de dados logicamente
coerentes com algum significado inerente
●
3.É projetado, construído e instanciado
(“povoado”) para uma aplicação específica
Conceitos Básicos
●
Qualquer aplicação precisa de dados
● Dados precisam ser armazenados, gerenciados,
consultados, recuperados
SGBD
(Sistema de Gerência de Banco de Dados)
Por quê usar BD?
●
Considere o contexto (“passado”) de uma
grande organização que NÃO utiliza BD
●
Exemplo: domínio da Universidade
– várias divisões gerenciais (com suas aplicações)
– grande volume de dados
– aplicações manipulam dados comuns
Academia Espaço Físico Pessoal
Alunos Centros Centros
Professores Departamentos Departamentos
Disciplinas Cursos Professores
Turmas Disciplinas Funcionários
Salas
Gerenciamento de Dados sem BD
●
Cada aplicação descreve os seus dados
– nomes e formatos próprios
– dados são particulares de cada aplicação
(isolamento)
●
Gerenciamento local
– procedimentos de manipulação de dados
– implementados pela própria aplicação
– implementados por softwares de gerenciamento de
arquivos
Problemas
● Redundância não-controlada
● Difícil manutenção
●
Falta de padronização
– dificulta integração e reutilização de programas
●
Formas restritas de acesso
– novas operações de manipulação de dados exigem
mudança no código da aplicação
●
Falta de segurança
– exemplo: falha em uma operação
Utilização de BD
●
Visa evitar estes problemas
Vantagens de uso
●
Dados armazenados em um único local
– Redundância
●
Dados compartilhados pelas aplicações
– Integração de aplicações; evita redefinições
●
Maior independência de dados
– Aplicações não gerenciam os dados
●
Maior flexibilidade de acesso
– Linguagens para BD
Quando não usar um BD?
●
Quando a aplicação é simples
– lida com poucos dados operacionais
– podem ser mantidos em um ou poucos arquivos
●
Quando a aplicação faz processamento pesado
mas não requer gerenciamento de dados
operacionais. Ex: algumas aplicações científicas
●
Quando o custo para instalação e administração
é muito alto
– equipamento, pessoal, treinamento, ..
Sistema Gerenciador de Banco
de Dados (SGBD)
●
Dados inter-relacionados + programas que os
acessam
SGBD
●
Responsável pela:
– Definição: especificação dos tipos de dados
– Construção: armazenamento dos dados
– Manipulação: consultas, atualizações e geração
de relatórios
●
Objetivo Central:
– Dar ao usuário (aplicação) uma visão abstrata dos
dados, escondendo detalhes de armazenamento.
Funcionalidades
● Redundância controlada
● Compartilhamento de dados
● Padronização da definição e acesso aos dados
● Controle de Segurança
● Restrições de Integridade
● Mecanismos de Tolerância a Falhas
● Controle de Acesso Concorrente
●
Independência de dados (lógica e física)
Usuários
●
Administrador de BD- (DBA – Database Administrator)
– Responsável pelos dados, SGBD e programas
relacionados
– Autorização de acesso, coordenação e
monitoração do uso
●
Projetista de BD (Database Designer)
– Identificação dos requisitos dos usuários
– Escolha das estruturas de armazenamento
●
Usuário Final: comunica-se com o BD através de
aplicativos.
●
Programadores: interagem via comandos de
manipulação de dados.
SGBD
● Um sistema de gerência de banco de dados
(SGBD) é um conjunto de programas que
permite criar e manter um banco de dados
● BD + SGBD = sistema de banco de dados
Classificação dos SGBD
● Quanto ao modelo de dados adotado
– De rede (DMS II)
– Hierárquico (IMS da IBM)
– Relacional (Oracle, PostreSQL,
SQLServer, MySQL)
– Orientado a objetos (ObjectStore,
Matisse,O2, Jasmine, Caché)
– Objeto-relacional (Oracle,
SQLServer, PostreSQL)
– NoSQL (MongoDB, Cassandra, CoucheDB)
Exemplo de um BD
● Mini-mundo: parte de uma universidade
● Alguns integrantes
– Alunos
– Disciplinas
– Departamentos
●
Alguns relacionamentos
– Disciplinas são oferecidas por Departamentos
– Alunos estão matriculados em Disciplinas
Exemplo de um BD
Classificação dos SGBD
● Quanto ao número de usuários suportados
– Mono-usuários
– Multi-usuários
●
Quanto à localização dos dados
– Centralizados
– Distribuídos
Conceitos e Arquitetura do SBD
1. Modelos de Dados, Esquemas e Instâncias
2. Categorias de Modelos de Dados
3.Arquitetura de Três Esquemas e Independência
de Dados
4. Linguagens e Interfaces
5. Módulos de Componentes do SGBD e Utilitários
6. Classificação dos SGBDs
Modelo de Dados, Esquema e
Instância
Modelo de Dados, Esquema e
Instância
●
Modelo de dados: Conjunto de conceitos
descrevem a estrutura de um BD
– Abstração de dados
– Estrutura = tipos de dados + relacionamentos
+ restrições (+operações para recuperação
e atualização)
●
Esquema: Descrição (textual ou gráfica) da
estrutura de um BD de acordo com um
determinado modelo de dados
●
Instância: Conjunto de dados armazenados em
um BD em um determinado instante de tempo
Modelo de Dados, Esquema,
Instância
Mundo Real
Sistema Médico
Modelo Independente do
Consulta
Médico Paciente
Conceitual modelo de dados
Independente do
(modelo abstrato dos SGBD CRM nome
dados)
Dependente do
Modelo Lógico modelo de dados Orientado a Objeto-
Relacional
(estrutura dos dados) Independente do Objetos relacional
SGBD
Médico (CRM, Nome)
Minimundo
Projeto Conceitual