Upload
internet
View
110
Download
0
Embed Size (px)
Citation preview
Resumo1.1) Introdução1.2) Abordagem Convencional de Arquivos1.3) Sistema Gerenciador de Banco de Dados
1.3.1) Propriedades1.3.2) Esquema de dados1.3.3) Linguagens (DDL/DML)1.3.4) Modelos de dados
1.4) Administração de Dados e de Banco de Dados
1.5) Projeto de um Banco de Dados
1.3.2) Esquema de dados
O SGBD deve prover aos usuários uma visão abstrata dos dados.
Os níveis de abstração simplificam a interação do usuário com o sistema.
Nível Interno ou Físico: nível mais baixo, descreve COMO os dados estão realmente armazenados.Exemplo: alocação de disco
1.3.2) Esquema de dados
Nível Conceitual ou Lógico: este nível descreve QUAIS dados são armazenados no BD e quais os relacionamentos entre eles.Exemplo: tipos de dados e relacionamentosBaseado na modelagem dos dados
1.3.2) Esquema de dados
Nível Externo ou de Visão: visão de cada usuário, sejam estes programadores ou usuários finais. Os usuários necessitam de apenas uma parte do BD. Podem haver diferentes visões providas pelo sistema para um mesmo BD.Exemplo: interface com o usuário
1.3.2) Esquema de dados
Nível Físico
Nível Conceitual
Visão 1 Visão 2 Visão N...
1.3.2) Esquema de dados
Independência Física: ocorre quando alterações no nível físico não provocam modificações no nível conceitual. Alterações no nível físico são necessárias ocasionalmente para melhorar a performance, como a criação de índices, por exemplo.
1.3.2) Esquema de dados
Independência Lógica: ocorre quando alterações no nível conceitual não provocam modificações no nível externo. A independência lógica é mais difícil de ser atingida do que a independência física, uma vez que os programas são muito dependentes da estrutura lógica dos dados que manipulam.
1.3.3) Linguagens (DDL/DML)
Um esquema de banco de dados precisa de uma linguagem para ser especificado, construído (DDL) e outra para a manipulação dos dados (DML).
DDL (Data Definition Language): linguagem de definição de dados. Permite a especificação da base de dados, definindo os arquivos, as ligações entre arquivos, os registros e as variáveis dos registros.
1.3.3) Linguagens (DDL/DML)
DML (Data Manipulation Language): linguagem de manipulação de dados. Permite a consulta e atualização (inclusão, alteração e exclusão) de informações da base de dados definida pela DDL.
1.3.3) Linguagens (DDL/DML)
A DML pode ser:Procedural: o usuário tem que especificar
QUAL dado é necessário e COMO obtê-lo.Não-procedural: o usuário não define COMO
os dados serão acessados. DMLs não-procedurais são mais fáceis de
aprender, pois o usuário não precisa especificar como chegar até os dados, mas apenas quais dados deseja.
1.3.4) Modelos de dados
Modelo de Dados é uma coleção de ferramentas conceituais para descrição dos dados, seus relacionamentos, suas restrições de consistência e semântica.
O modelo de dados é utilizado na criação de um banco de dados para modelar o que será armazenado (nível conceitual ou lógico).
1.3.4) Modelos de dados
Há as seguintes categorias da forma de representação da base de dados:Modelos lógicos com base em objetos:
Modelo Entidade-Relacionamento Modelo Orientado a Objetos
Modelos lógicos com base em registros: Modelo Hierárquico Modelo de Rede Modelo Relacional
1.3.4) Modelos de dados
Organiza dados logicamente Todo SGBD deve suportar um modelo Primeiros modelos de BD datam da década de 60 Histórico dos modelos de dados:
1o) Modelo Hierárquico: década de 60. Organizava dados em estruturas de árvore. Ex SGBDs: IMS, System2000;
2o) Modelo de Redes: final dos anos 60 e década de 70. Organizava dados estrutura similar a um grafo direcionado. Ex SGBDs: IDMS, Total
1.3.4) Modelos de dados3o) Modelo Relacional: definido na década de 70, é o
modelo de dados dominante no mercado atualmente. Organiza dados em em um conjunto de relações (tabelas). Ex SGBDs:Oracle, Informix, Sybase e SQL Server;
4o) Abordagens Pós-Relacionais: novos modelos que começaram a ser definidos a partir da década de 80, visando atender as necessidades de aplicações ditas não convencionais.
orientado a objetos (suporta a representação de objetos complexos) Ex: Jasmine, Postgress
temporais (suporta a representação de versões de dados no tempo) Ex: Ferramentas de Cad
Armazenamento XML Ex: Tamino
1.3.4) Modelo Hierárquico Várias entidades do mundo real são organizadas
hierarquicamente. Ex:Universidade Estrutura
Registro (corresponde a entidade)
Relacionamento Pai e Filho - 1:N entre dois tipos de registros. Pai (1) e filho (N)
Diagrama de estrutura de árvore. Registros organizados como estrutura em árvore - Raiz é
um nó auxiliar Elos (relacionamento,ligação) são explícitos
1.3.4) Modelo Hierárquico Sentido de acesso é sempre unidirecional,Pai -> Filho
(parte sempre da raiz e percorre os níveis inferiores). Cardinalidade
1:N - representados diretamente
1:1- representados diretamente
N:M - criação de duas estruturas de árvores
Relacionamentos ternários - criação de N estruturas de árvores
Operações tratam um registro por vez
estrutura de implementação de um BD de Hierárquico é árvore, logo operações seguem essa filosofia
1.3.4) Modelo Hierárquico Desvantagens
Não suporta relacionamentos com cardinalidade M:N Não há acesso direto a ocorrências de tipos de registro
filhos: Inexistência de uma linguagem independente para
manipulação de dados - comandos embutidos em uma linguagem hospedeira - Linguagem Procedural
1.3.4) Modelo de Redes Denominado modelo DBTG CODASYL (Data Base Task
Group - subgrupo da Conference On DAta SYstems and Languages), Estruturas
Registro (corresponde a entidade)
Conjunto - associação entre 2 registros
Diagrama de estrutura de dados Registros organizados como grafo direcionado Elos (relacionamento,ligação) são explícitos
1.3.4) Modelo de Rede Cardinalidade
1:N - representada diretamente 1:1- representada usando uma ligação 1:N N:M - transformada em 2 relacionamentos 1:N através
da criação de um registro de ligação
Relacionamentos ternários - criação de um registro de ligação
Operações tratam um registro por vez estrutura de implementação normalmente em listas
encadeadas , logo operações seguem essa filosofia
1.3.4) Modelo de Redes Vantagens
Suporte a todas as cardinalidades de relacionamento
Eliminação da redundância
Flexibilidade
Desvantagens Número excessivo de ligações
Estrutura complexa de ponteiros
Inexistência de uma linguagem independente para manipulação de dados - comandos embutidos em uma linguagem hospedeira -Linguagem Procedural