Diagrama Simplificado de um sistema de BD
Surgimento e evolução dos SGBDs
Visão dos Dados
Modelos de Dados
Linguagens de Bancos de Dados
Papéis envolvidos
Banco de Dados
Um Banco de Dados é uma coleção de dados;
Com dados, queremos dizer fatos conhecidos que podem
ser registrado e possuem significado implícito.
Hummm… e uma coleção de palavra que
compõem uma página de texto pode ser
considerada dados relacionados, é um banco de
dados?
Banco de Dados
O uso comum do termo Banco de Dados normalmente é mais restrito, e tem as seguintes propriedades implícitas:
Um Banco de dados representa algum aspecto do mundo
real, às vezes chamado de minimundo.
Um banco de dados é uma coleção logicamente coerente
de dados com algum significado inerente.
Um banco de dados é pojetado, contruído e populado com
Diagrama Simplificado de um
sistema de BD
Os SGBDs
Surgimento,
funcionalidades e
evoluções
Dados, Informações e
Conhecimento
Requisitos de Informações
Atualidade;
Correção;
Relevância;
Disponibilidade;
Legibilidade.
Os Sistemas de Arquivos
Registro de informações em arquivos diferentes. Programas para:
Inserção; Atualização;
Remoção de dados…
Quando da criação de novas regras:
Exemplo: Cadastro de Alunos
Inserção, atualização e remoção; Ordenar por nome;
Logins iniciados por “e”; Período maior que 3o; Idade igual a 23 anos;
Alunos com menos de 10 anos não
Problema do Armazenamento de
Dados
No contexto dos sistemas de arquivos:
Registros são duplicados em vários arquivos; Diversos programas de aplicação são escritos;
A cada nova regra de negócio: um grande trabalho pela frente...
Problema: armazenar e
recuperar Dados
Mais Desvantagens do Uso de
Arquivos
Inconsistência de dados;
Dificuldade no acesso a dados;
Isolamento dos dados;
Problemas de integridade;
Problemas de atomicidade;
Anomalias no acesso concorrente;
Problemas de segurança.
A Base de Dados...
Conjunto de dados
inter-relacionados
que
dizem respeito a um determinado
contexto
e são compartilhados por diferentes
usuários com
demandas
específicas.
Sistemas de Gerenciamento de
Banco de Dados - SGBDs
Conjunto de dados (base de dados) associado a um
conjunto de programas para acesso a estes dados.
Surgem em resposta à demanda de gestão
(armazenamento e manipulação) de grandes
quantidades de dados, muitas vezes fortemente
relacionados;
Deve fornecer
conveniência e
eficiência no
armezenamento e recuperação de dados, com
rapidez e concorrentemente.
Sistemas de Gerenciamento de
Banco de Dados - SGBDs
O SGBD é um sistema de software de uso geral
que facilita o processo de:
Definição – envolve especificar tipos, estruturas e
restrições dos dados a serem armazenados;
Construção – é o processo de armazenar os dados em
algum meio controlado pelo SGBD;
Manipulação – inclui funções como consultas, atualizações
e gerações de relatórios;
Compartilhamento – permite que diversos usuários e
Funcionalidades dos SGBDs
Em resposta aos problemas apresentados pelos sistemas de
arquivo: Integridade e consistência; Controle de redundância; Recuperação; Concorrência; Segurança. Outras: Compartilhamento de Dados; Controle de Acesso; Esquematização.
Um exemplo simples...
Um exemplo simples...
Manipulações, exemplos:
Recuperar uma lista de todas as disciplinas e notas de
`Silva`;
Listar os nomes dos alunos que realizaram a disciplina
`Banco de Dados` oferecida no segundo semesntre de 2008 e suas notas nessa turma;
Listar os pré-requisitos do curso de `Banco de Dados` Alterar o tipo de aluno `Silva` para segundo ano;
Criar outra turma para a Disciplina `Banco de Dados`
para este semestre;
Inserir uma nota `A` para Silva na turma `Banco de
Visão dos Dados
Abstração de Dados (1/2)
Extração da essência dos dados de acordo com
Abstração de Dados (2/2)
Empregado
Nome; CPF; Email.
Modelo de Dados
Uma coleção de conceitos que podem ser usados
para descrever a estrutura de um banco de dados.
Define tipos e formatos dos dados;
Não informa sobre os dados armazenados na base
Esquema de Banco de Dados
Projeto geral do banco de dados;
Implementa o modelo de dados com o uso de
linguagem de modelagem de dados.
Um mesmo modelo de dados pode ser
representado por diferentes esquemas de banco
de dados!
Exemplo de um Diagrama de
Esquema
Instâncias de Banco de Dados
Conjunto de dados contidos em um determinado banco de dados, em um dado momento.
Modelo Conceitual (1/3)
Modelo com maior capacidade semântica que
objetiva especificar o esquema de uma empresa
(estrutura de dados), independentemente do
SGBD a ser utilizado.
Definido em termos de:
Conjunto de entidades;
Conjunto de relacionamentos; Atributos.
Modelo Conceitual (2/3)
Entidade: representa um objeto ou conceito do mundo real,
como um funcionário ou um projeto do minimundo que é descrito no banco de dados;
Atributo: representa alguma propriedade de interesse que
descreve melhor uma entidade, como nome ou salário do funcionárió;
Relacionamento: entre duas ou mais entidades, representa
uma associação entre elas – Ex: relacionamento trabalha-em entre um funcionário e um projeto.
Modelos lógicos com Base em
Registros
Modelo usado na descrição de dados no nível lógico e de
visões. Usado na especificação de estruturas lógicas ou na implementação de alto nível.
BD estruturado com registros de formato fixo; Modelos mais comuns:
Relacional; Rede;
Modelos Relacionais
Usam um conjunto de tabelas para representar dados e as relações entre eles.
Modelos de Rede
Usam um conjunto de registros para representar dados e um conjunto de links para representar as relações entre eles.
Modelos Hierárquicos
Usam um conjunto de registros para representar dados e um conjunto de links para representar as relações entre eles. Registros organizados em árvores.
Modelos Físicos de dados
Descrevem os dados em seu nível mais baixo, com detalhes do armezenamento interno.
São pouco usados, na verdade são implementados; Influenciam no desempenho da aplicação;
Captam aspectos de implementação do sistema de banco de
Independência de Dados
Capacidade de modificar a definição dos esquemas em
determinado nível, sem afetar o esquema do nível superior.
Física:
Modificações no esquema físico;
Lógica:
Linguagens de
Definição dos Dados
Quando o projeto de BD é finalizado e um
SGBD é escolhido para implementá-lo, o
primeiro passo é:
Definição do esquema conceituais a ser
utilizado.
DDL (Data Definition Language):
Linguagem que fornece comandos para criar e
alterar esquemas de dados;
Exemplos de comandos:
Quando os esquemas são
compilados e o banco de
dados é populado, os
usuários precisam de alguma
forma de manipulá-lo
Manipulação de Dados
Engloba:
Recuperação de dados armazenados no BD; Inserção de novos dados no BD;
Remoção de dados do BD; Modificação de dados do BD.
DML (Data Manipulation
Language)
Permite o acesso ou manipulação dos dados de forma compatível com o modelo de dados utilizado.
Baseada na álgebra relacional e no cálculo relacional. Podem ser:
Procedurais;
DCL (Data Control Language)
Controla o nível de privilégio de acesso aos dados para os diferentes usuários do banco de dados.
Implementa as diferentes visões a partir do sistema de
controle de acesso;
Inclui comandos como:
SQL (Structured Query Language)
Linguagem para a definição, manipulação e controle dos
dados.
Linguagem declarativa;
Determina a forma do resultado.
Papéis Envolvidos
Projeto de Banco
de dados e uso de
Usuários de Banco de Dados
Programadores de aplicação:
Interagem com o sistema através de DML (encapsulada em
programas de aplicação);
Usuários sofisticados:
Realizam consultas diretamente à base através de DML;
Usuários especialistas:
Escrevem aplicações especializadas de bancos de dados.
Usuários navegantes:
O DBA (Database Administrator)
Controle centralizado da base de dados.
Responsabilidades:
Definição do esquema;
Definição da estrutura de dados e método de acesso; Esquema de modificações na organização;
Fornecer autorização de acesso ao sistema; Especificações de regras de integridade.
Bibliografia
Navathe, Shamkant B. e Elmasri, Ramez E. Sistemas de
Banco de Dados. Pearson Brasil, 2005.
Abraham, Silberschatz, Korth, Surdarshan. Sistema de
Banco de Dados. Makon Books, 2004.
Elmasri, Navathe. Sistema de Banco de Dados. Pearson
brasil, 2005.