Buscar

aula1_ConceitosFundamentais

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 20 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 20 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 20 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

1
BANCO DE DADOS 
 
CONCEITOS FUNDAMENTAIS 
 
Profa. Gisele Busichia Baioco 
gisele@ft.unicamp.br 
 
1 Base de Dados (BD) 
1.1 Definição 
Uma Base de Dados ou Banco de Dados (BD) é uma coleção de dados (fatos conhecidos) 
logicamente relacionados, com algum significado. 
1.2 Propriedades 
• Associações aleatórias de dados não podem ser chamadas de BD; 
• Uma BD é projetada, construída e preenchida com dados para um propósito específico. 
Ela tem um grupo de usuários e algumas aplicações para atender esses usuários; 
• Uma BD representa algum aspecto do mundo real, conhecido como Mini-Mundo ou 
Universo de Discurso. Assim, mudanças no Mini-Mundo provocam mudanças na BD. 
 2
2 Sistema de Gerenciamento de Bases de Dados (SGBD) 
2.1 Evolução 
• Programa aplicativo com os dados armazenados: código executável e dados compõem 
um único objeto; 
• Sistema de Arquivos: dados organizados em coleções de itens logicamente relacionados - 
arquivos. Nesse caso: 
- programas aplicativos ficam isolados dos dados; 
- procedimentos relacionados com a gerência de dados (localização, recuperação e 
armazenamento) ficam embutidos no código-fonte dos programas; 
- programas aplicativos podem compartilhar dados, mas dependem da organização dos 
arquivos. 
Esquematicamente tem-se: 
 
 
Arquivo 
Aplicativo1 
Aplicativon 
... 
 
 
• Sistema de Gerenciamento de Bases de Dados: promove a independência dos 
programas aplicativos em relação aos dados armazenados. 
Esquematicamente tem-se: 
 
 
Arquivo 
Aplicativo1 
Aplicativon 
... 
S 
G 
B 
D 
 
2.2 Definição 
Um Sistema de Gerenciamento de Bases de Dados (SGBD) é uma coleção de programas 
que permitem aos usuários criarem e manipularem uma BD. Um SGBD é, então, um sistema de 
software de propósito geral que facilita o processo de definir, construir e manipular BDs de 
diversas aplicações. 
 
• Definição: envolve a especificação de tipos de dados a serem armazenados na BD; 
 
• Construção: processo de armazenar os dados em algum meio que seja controlado pelo SGBD; 
 
• Manipulação: utilização de funções como a de consulta, para recuperar dados específicos, 
alteração da BD, para refletir mudanças ocorridas no Mini-Mundo, e geração de relatórios. 
 
 
 3
Exemplo: Universidade 
 
A BD deve conter dados de: 
• alunos - informações pessoais de cada aluno; 
• cursos - descrição de informações dos cursos; 
• disciplinas – descrição das disciplinas referentes a cada curso; 
• notas - relação das notas nas disciplinas referentes a cada aluno; 
• professores - relação dos professores; 
• salas - relação de todas as salas de aula. 
 
Em relação aos dados de alunos tem-se: 
Definição: 
ra: integer 
nome: string 
grau: integer 
 
Construção: 
 
ra nome grau 
1 Maria 1 
2 Raquel 2 
3 Marcelo 2 
 
Manipulação: 
 
• Consultas 
“Recupere uma lista de todas as disciplinas referentes ao aluno Marcelo” 
“Liste os nomes dos alunos que fizeram a disciplina Banco de Dados em 1999” 
 
• Alterações 
“Altere o grau de Maria para 2” 
“Crie um novo aluno para a disciplina de Banco de Dados” 
2.3 Capacidades de um SGBD 
• Controle de Redundância: no processamento tradicional de arquivos, grupos de usuários 
(programadores) mantêm seus próprios arquivos de dados, o que pode provocar o 
armazenamento de informações redundantes. Problemas: 
- necessidade de atualizar múltiplas cópias; 
- desperdício de espaço de armazenamento; 
- inconsistência: alteração em alguns arquivos e em outros não, ou em todos os 
arquivos, porém de maneira independente. 
Exemplo: 
 
Departamento Financeiro 
Nome No. Carteira Prof. Salário (R$) Descontos 
Maria 234.456.789.00 700.00 100.00 
Raquel 123.234.345.55 550.00 80.00 
Felipe 987.876.654.32 830.00 150.00 
 4
 
 Departamento de Recursos Humanos 
Nome No. Carteira Prof. Data Nasc. Dependentes 
Maria 234.456.789.00 12/05/1970 2 
Raquel 123.234.345.55 04/08/1974 1 
Felipe 987.876.654.32 23/10/1968 3 
 
 Nome e No. Carteira Prof. estão nos dois arquivos. 
 
• Compartilhamento de Dados: SGBDs multiusuário devem fornecer controle de 
concorrência para assegurar que atualizações simultâneas resultem em modificações corretas. 
Um outro mecanismo que suporta o compartilhamento de dados é a facilidade de definir visões 
de usuário, usadas para especificar a porção da BD que é de interesse de um grupo particular 
de usuários. 
 
• Restrições de Acesso Multiusuário: quando múltiplos usuários compartilham uma BD, é 
comum que alguns usuários não tenham acesso a todos os dados da BD. 
 
Exemplo: os dados financeiros são freqüentemente considerados confidenciais e, desse modo, 
somente pessoas autorizadas devem ter acesso. Além disso, pode ser permitido a alguns 
usuários apenas consultar esses dados. Já, para outros, são permitidas a consulta e a alteração. 
Assim, o tipo de operação de acesso pode também ser controlado. 
 
Um SGBD deve fornecer um subsistema de autorização e segurança, que é usado pelo DBA 
para criar contas de usuários/grupos e especificar restrições nessas contas. 
 
• Fornecimento de Múltiplas Interfaces: devido aos vários tipos de profissionais que usam 
o SGBD, com níveis distintos de conhecimento técnico, tipos variados de interface devem ser 
fornecidos, por exemplo: 
- linguagens de consulta para usuários ocasionais; 
- interfaces de linguagem de programação para programadores de aplicações; 
- formulários e interfaces dirigidas por menus para usuários comuns; 
- ferramentas de controle e monitoramento para os DBAs. 
 
• Representação de Relacionamento Complexo entre Dados: uma BD pode possuir 
dados que estão relacionados de muitas maneiras. Um SGBD deve ter a capacidade de 
representar essa variedade de relacionamentos entre dados, bem como recuperar e alterar 
dados relacionados de maneira fácil e eficiente. 
 
• Reforço de Restrições de Integridade: a forma mais elementar de restrição de 
integridade é a especificação do tipo de dado de cada item. Existem restrições mais complexas, 
por exemplo: um registro de um arquivo (tabela) deve estar relacionado a registros de outros 
arquivos (tabelas). Algumas restrições podem ser especificadas ao SGBD e automaticamente 
executadas. Outras podem ser verificadas pelos programas aplicativos, por exemplo: no 
momento da entrada de dados. 
 
• Fornecimento de Backup e Recovery: um SGBD deve fornecer recursos para restauração 
caso ocorra falhas de hardware ou software. O subsistema de backup e recovery do SGBD é o 
 5
responsável pela restauração, por exemplo: se o sistema de computador falhar no decorrer da 
execução de um programa que esteja realizando uma alteração na BD, esse subsistema é 
responsável por assegurar que a BD seja restaurada no estado anterior ao início da execução 
do programa. 
 
Tradicionalmente, considera-se que existem dois motivos fundamentais que justificam a 
utilização de SGBDs: Independência de Dados e Consistência de Dados. 
2.4 Independência de Dados 
Antes dos SGBDs: 
• Os programas gravam seus dados em disco, segundo estruturas próprias. Para acessar 
esses dados é necessário conhecer as estruturas; 
• Se vários programas compartilham dados, todos devem conhecer e manipular as mesmas 
estruturas; 
• Se um programa precisar de alguma mudança na estrutura de dados, todos os programas 
terão que ser alterados, mesmo que a alteração ocorra em dados que não utilize. 
 
Com os SGBDs: 
• Cada programa “vê” apenas os dados que lhe interessam; 
• Não é preciso saber detalhes de como os dados estão fisicamente gravados; 
• Os programas não precisam ser modificados se a estrutura de dados que não utilizam for 
alterada. 
2.6 Consistência de Dados 
Manter todos os dados de uma empresa de maneira centralizada aumenta a necessidade de se 
garantir ao máximo a corretude desses dados. 
 
A corretude dos dados é mantida de três maneiras distintas: 
• Pela aplicação, que garante que os dados gravados estejam sempre corretos; 
• Pelo SGBD, que avalia os dados recebidos conforme regras de integridade; 
• Pelo próprio processode construção do software. 
 
A corretude decorre de três propriedades principais: 
• Validade: os dados são válidos quando pertencem a um domínio de valores pré-
estabelecido; 
• Completeza: todos os dados que precisam ser conhecidos estão disponíveis; 
• Consistência: sempre que a mesma informação é gravada, mesmo que em locais 
diferentes, ela tem o mesmo valor. 
 
Validade e Completeza dependem muito do próprio aplicativo garanti-las. 
 
Consistência é uma propriedade dificil de se garantir através de um conjunto de programas, 
mas pode ser tratada de maneira bastante satisfatória por um SGBD. Além disso, a utilização de 
SGBDs permite que se empreguem técnicas de desenvolvimento de software que contribuam para a 
manutenção da consistência de dados. 
 6
3 Sistema de Bases de Dados (SBD) 
 
A BD e o SGBD são partes do chamado Sistema de Bases de Dados (SBD), como mostrado 
na figura seguinte: 
 
 
 
SBD 
Programas de Aplicação/Consultas 
SGBD 
Software para processo (Programas/Consultas) 
Software para acesso a dados armazenados 
Usuários/Programadores 
Base de Dados 
Definição da 
Base de Dados 
(Meta-Dados) 
 
 
3.1 Arquitetura de um SBD 
Mais especificamente, um SBD é composto por três partes: 
 
• Interface com o usuário: responsável por validar as solicitações dos usuários e iniciar operações 
em uma BD de acordo com essas solicitações; 
 
• Mecanismo de acesso: responsável pela manutenção das estruturas de dados das BDs, pelo 
acesso aos dados e pela manutenção da integridade dos dados; 
 
• Armazenamento de dados: arquivos que contém os dados em si (BDs). 
 
De acordo com essas três partes, duas arquiteturas são possíveis para um SBD: desktop e 
cliente-servidor. A seguir essas duas arquiteturas serão discutidas considerando um ambiente de 
rede, onde os dados ficam armazenados em um servidor na rede e podem ser compartilhados. 
 7
3.1.2 Arquitetura Desktop 
 Em uma arquitetura desktop a interface com o usuário e o mecanismo de acesso ficam no 
mesmo computador e apenas os arquivos de dados ficam em um servidor na rede. Esquematicamente, 
tem-se: 
 
 
BD1 Aplicativo1 
Servidor 
BDm 
... ... 
Aplicativon 
Interface com o Usuário 
+ 
Mecanismo de Acesso 
Armazenamento 
de Dados 
Usuário 
 
 
Por exemplo: quando um usuário quer ver uma relação de contas a pagar apenas em 
determinado período, o sistema deve selecionar alguns registros de acordo com uma data informada. 
Em uma arquitetura desktop, todos os registros serão trazidos pela rede, inclusive os que não serão 
utilizados (estão fora da data informada pelo usuário). 
 
O tráfego na rede fica grande, principalmente quando o servidor é acessado simultaneamente 
(compartilhamento de dados). 
 8
3.2 Arquitetura Cliente-Servidor 
Em uma arquitetura cliente-servidor, a interface com o usuário fica em um computador 
(cliente), sendo que o mecanismo de acesso e os arquivos de dados ficam em um servidor na rede. O 
mecanismo de acesso é um SGBD rodando no servidor. Esquematicamente, tem-se: 
 
 
BD1 
Aplicativo1 
S 
G 
B 
D 
Cliente 
(front-end) 
Servidor 
(back-end) 
BDm 
... 
CBuilder 
JAVA 
Delphi 
Visual Basic, etc 
SQL Server 
Sybase 
Oracle, etc 
... 
Aplicativon 
Interface com o Usuário Mecanismo de Acesso + 
Armazenamento 
de Dados 
Servidor Usuário 
 
 
Quando o SGBD recebe uma solicitação para selecionar alguns dados, ele acessa localmente 
os dados no servidor e retorna apenas os dados resultantes da solicitação. Assim, O trafego na rede 
fica bem menor que em uma arquitetura desktop. 
 9
3.3 Profissionais envolvidos 
• Administrador da Base de Dados (DBA - Database Administrator): 
Responsável por: 
- autorizar o acesso à BD, coordenar e monitorar seu uso; 
- solucionar problemas, tais como, quebra de segurança e baixo desempenho. 
 
• Projetistas da Base de Dados: 
Responsáveis por: 
- identificar os dados a serem armazenados na BD; 
- escolher estruturas apropriadas para representar e armazenar os dados. 
Essas tarefas devem ser executadas antes que a BD seja utilizada. 
 
• Usuários Finais: profissionais que precisam ter acesso à BD para consultar, modificar e 
gerar relatórios. Categorias: 
- ocasionais: ocasionalmente fazem acesso à BD, mas podem necessitar de diferentes 
informações cada vez que fazem acesso; 
- comuns: realizam operações de consulta e atualização que foram cuidadosamente 
programadas e testadas; 
- sofisticados: incluem engenheiros, analistas de negócio e outros que procuraram 
familiarizar-se com as facilidades de um SGBD para atender seus complexos requisitos; 
 
• Analistas de Sistemas e Programadores de Aplicação: os analistas especificam as 
transações para atender aos requisitos dos usuários finais e os programadores implementam 
essas especificações produzindo os programas aplicativos. 
 10
4 Modelos de Dados, Esquemas e Instâncias 
Para ser possível armazenar informações do mundo real em uma BD, essa informação deve ter 
sua estrutura definida. Por estrutura de uma BD entende-se: tipos de dados, relacionamentos e 
restrições pertinentes aos dados. Assim, surgem os seguintes conceitos: 
 
Modelo de Dados: conjunto de conceitos e regras usados para descrever a estrutura de uma 
BD. 
 
Modelagem de Dados: processo de estruturar as informações do mundo real segundo um 
modelo de dados. 
 
Esquema da BD: é a descrição textual ou gráfica de uma BD de acordo com um determinado 
modelo de dados. Os modelos de dados têm convenções para mostrar esquemas de BDs. Um 
esquema é especificado durante o projeto da BD, sendo que a expectativa de mudanças não é grande. 
 
Instâncias (ou Ocorrências ou Estados) da BD: são os dados de uma BD em um 
determinado momento do tempo. Os dados atualmente existentes em uma BD podem mudar com 
freqüência. 
 
Esquematicamente tem-se: 
 
Informação do 
Mundo Real 
(Mini-Mundo) Modelagem 
Esquema da BD 
(segundo um 
modelo de dados) Implementação 
Instâncias 
da BD 
 
 
 11
5 Histórico 
1959: 
- Sistemas de arquivos com acesso não seqüencial; 
- Sistema RAMAQ da IBM – conseguia fazer busca em arquivos em disco por conteúdo. 
 
1961: 
- Estabelecimento do CODASYL (Committee on Data Systems Language) – união de 
universidades, fabricantes, empresas e exército. Objetivo: criar uma maneira de representar os dados; 
- Conceituação de SGBD e modelos de dados; 
- Proposta do Modelo Rede. 
 
1968: 
- Primeiro SGBD comercialmente disponível; 
- Modelo Hierárquico (simplificação do Modelo Rede feita pela IBM). 
 
1970: 
- Proposta do Modelo Relacional 
 
1974: 
- Grupos trabalhando em protótipos de SGBDs relacionais: 
INGRES (Universidade de Berkeley) – linguagem QBE (de domínio público) 
Sistema R (IBM) – linguagem SEQUEL (ancestral da linguagem SQL) 
 
1976: 
- Proposta do Modelo Entidade-Relacionamento; 
- Introdução do conceito de Modelos Conceituais – Modelagem Semântica 
 
1983: 
- Primeiro SGBD Relacional de grande porte disponível – DB2 (IBM) 
 
1985: 
- Modelos Orientados a Objetos 
 
1986: 
- Primeiro padrão ANSI da linguagem SQL (Structured Query Language): SQL-86 
 
1987: 
- Surgiram várias empresas: INGRES, SYBASE, ORACLE, INFORMIX 
- Todos os SGBDs Relacionais criados têm o mesmo núcleo e, portanto, são compatíveis. 
Utilizam a linguagem SQL. 
 
1989: 
- Padrão ANSI SQL-89 
 
1990: 
- Desenvolvimento de SGBDs Orientados a Objetos. 
 
1992: 
- Padrão ANSI SQL-92 
 12
 
1993: 
- SGBDs Orientados a Objetos: O2, ITASCA 
 
1997: 
- Início do desenvolvimento do padrão ANSI/ISO SQL3 (extensão da linguagem SQL com 
conceitos de orientação a objetos); 
- Conceito de SGBDs Objeto-Relacionais 
 
1999: 
- Publicação do padrão SQL3, chamado oficialmente de SQL:1999, alicerce para os SGBDs 
Objeto-Relacionais 
 
2003: 
- Publicação do padrão SQL:2003 (ou SQL 2003): introduz características relacionadas a 
linguagem XML (eXtensible Markup Language) 
 
2006: 
- Publicação do padrão SQL:2006 (ou SQL 2006): define meios de utilização de SQL em 
conjunto com XML 
 
2008: 
- Publicaçãodo padrão SQL:2008 (ou SQL 2008) 
 
2011: 
- Publicação do padrão SQL:2011 (ou SQL 2011) 
 
Atualmente: 
- SGBD Objeto-Relacional; 
- BD Multimídia; 
- Modelagem multidimensional: Data Warehouse; 
- Consultas: Data Mining, OLAP; 
- Banco de Dados NoSQL (“Not Only SQL”). 
 
 13
6 Arquitetura de um SGBD 
6.1 Arquitetura Three-Schema (ou ANSI/SPARC) 
Objetivo da arquitetura Three-Schema (Três Esquemas): separar as aplicações de usuários 
da BD física. 
Nessa arquitetura os esquemas podem ser definidos em três níveis: 
 
• Nível Externo ou Visão: possui esquemas externos ou visões de usuários. Cada 
esquema externo descreve a visão da BD de um grupo de usuários, ou seja, descreve a parte 
da BD que um grupo de usuários em particular está interessado e “esconde” o restante da 
informação; 
 
• Nível Conceitual: tem um esquema conceitual que descreve a estrutura de toda a BD. O 
esquema conceitual é uma descrição global da BD, omitindo detalhes da estrutura de 
armazenamento físico. Neste nível descreve-se entidades, tipos de dados, relacionamentos e 
restrições; 
 
• Nível Interno: tem um esquema interno que descreve a estrutura de armazenamento 
físico da BD. Neste nível descreve-se todos os detalhes de armazenamento de dados e 
caminhos de acesso à BD. 
 
Esquematicamente tem-se: 
 Usuários Finais 
Visão Externa 1 Visão Externa N 
Esquema Conceitual 
Esquema Interno 
Mapeamento 
Externo/Conceitual 
Mapeamento 
Conceitual/Interno 
. . . 
Bases de Dados 
Nível Externo 
Nível Conceitual 
Nível Interno 
 
 
Note-se que os três esquemas são apenas descrições dos dados. 
 14
6.2 Independência de Dados na Arquitetura Three-Schema 
A arquitetura three-schema pode ser utilizada para explicar conceitos de independência de 
dados, definidos como a capacidade de alterar o esquema de um nível sem ter que alterar o esquema 
do nível superior mais próximo. Dois tipos de independência de dados podem ser definidos: Lógica e 
Física. 
 
Independência de Dados Lógica é a capacidade de alterar o esquema conceitual sem ter que 
alterar os esquemas externos (visões) ou programas de aplicação. Pode-se alterar o esquema 
conceitual para expandir a BD, adicionando um novo tipo de registro ou um item de dado, ou reduzir 
a BD, removendo um tipo de registro ou um item de dado. No último caso, apenas os esquemas 
externos que se referem aos dados que permanecem na BD não são afetados. Exemplo: Considerando 
o seguinte esquema externo (visão) em relação a dados de alunos de uma Universidade: 
 
ra nome_aluno código_disciplina 
1 Maria 
CCS1310 
MAT2410 
2 Raquel 
CCS1310 
CCS3320 
CCS3380 
MAT2410 
 
No esquema conceitual tem-se a definição do seguinte arquivo (tabela) que participa do 
esquema externo anterior: 
 
código_disciplina nome_disciplina créditos 
CCS1310 Introdução à Computação 4 
CCS3320 Estruturas de Dados 4 
CCS3380 Linguagens de Programação 2 
MAT2410 Cálculo Numérico 2 
 
O esquema externo não precisa ser alterado se for adicionado mais um item de dado no 
arquivo anterior: 
 
código_disciplina nome_disciplina departamento créditos 
CCS1310 Introdução à Computação CCS 4 
CCS3320 Estruturas de Dados CCS 4 
CCS3380 Linguagens de Programação CCS 2 
MAT2410 Cálculo Numérico MAT 2 
 
Independência de Dados Física é a capacidade de alterar o esquema interno sem ter que 
alterar o esquema conceitual. Alterações no esquema interno podem ser necessárias quando alguns 
arquivos físicos têm que ser reorganizados para melhorar o desempenho de recuperações e/ou 
atualizações de dados. Exemplos de reorganização: 
- redistribuição dos dados em diversos dispositivos (devices) e/ou localidades; 
- reorganização das estruturas de acesso físico aos dados (criação/remoção de índices); 
- balanceamento da carga de dados para manipulação em memória (bufferização). 
Após a reorganização, se nenhum item de dado foi adicionado ou removido, não haverá 
necessidade de modificar o esquema conceitual. 
 15
7 Linguagens de acesso de SGBDs 
Os SGBDs disponibilizam linguagens apropriadas para que os usuários de diversos tipos 
possam acessar as BDs. 
Basicamente, três categorias de linguagens estão disponíveis nos SGBDs: 
 
• Linguagem de Definição de Dados (Data Definition Language – DDL): permite a 
definição da estrutura da BD e a criação, alteração e eliminação dos objetos da BD (tabelas, 
visões, procedimentos armazenados, etc). É utilizada pelo DBA e projetistas da BD para 
definir seus esquemas físicos de dados; 
 
• Linguagem de Manipulação de Dados (Data Manipulation Language – DML): 
suporta a manipulação dos dados armazenados na BD – inserção, consulta, eliminação e 
alteração. É utilizada por diversos tipos de usuários; 
 
• Linguagem de Controle de Dados (Data Control Language – DCL): envolve comandos 
para o controle de privilégios de acesso aos dados, segurança e administração da BD 
(cadastramento de usuários/grupos, atribuição de permissões, backup da BD, configurações, 
etc). É utilizada pelo DBA. 
 
 16
8 Modelos de Dados 
8.1 Classificação de Modelos de Dados 
O processo de modelagem de dados envolve a transformação de um problema real em uma 
representação implementável. Esse processo consiste em abstrair a informação do mundo real que 
necessita ser armazenada em uma BD e construir, utilizando um modelo de dados específico, um 
esquema que represente essa informação. Assim, pode-se considerar que um esquema de dados é 
composto por um conjunto de abstrações de dados semanticamente integradas e que, nos modelos 
de dados, as abstrações são as estruturas disponíveis para a representação da informação. 
Os modelos de dados são classificados de acordo com o nível de abstração que permitem no 
processo de modelagem. Os níveis de abstração estão relacionados com a omissão ou não de detalhes 
do armazenamento físico de dados na modelagem, ou seja, quanto menos detalhes sobre o 
armazenamento físico forem necessários, maior será o nível de abstração proporcionado pelo modelo. 
Desse modo, as categorias de modelos de dados são: 
 
Modelos Conceituais ou Semânticos: 
- permitem uma modelagem conceitual, ou seja, uma modelagem mais próxima à percepção 
dos usuários, pois o objetivo imediato não é a implementação; 
- o esquema de dados gerado deve ser suportado por uma implementação: usualmente 
SGBDs Relacionais; 
- SDM (Semantic Data Model), o SAM (Semantic Association Model), ME-R (Modelo 
Entidade-Relacionamento) - mais utilizado. 
 
Modelos Orientados a Objetos: 
- permitem uma modelagem com alta representação conceitual: objetos e classes de objetos; 
- o esquema de dados gerado deve ser suportado por uma implementação: SGBDs 
Orientados a Objetos; 
- O2, Orion, GemStone, ObjectStore, Modelo de Classes da UML. 
 
Modelos Lógicos: 
- primeiros modelos de dados que surgiram; 
- descrevem as estruturas que estarão contidas na BD de acordo com o tipo de SGBD a ser 
utilizado na implementação (por exemplo, SGBD Relacional), mas sem considerar 
nenhuma característica específica do SGBD; 
- também conhecidos como modelos baseados em registros e relações: Modelo Rede, 
Modelo Hierárquico e Modelo Relacional - mais utilizado. 
 
Modelos Físicos: 
- descrevem as estruturas físicas de armazenamento e acesso aos dados de acordo com o 
SGBD a ser utilizado na implementação, tais como: tipo e tamanho de campos, índices, 
etc; 
- para a construção do modelo físico usa-se a DDL do SGBD a ser utilizado na 
implementação. 
 17
8.2 Primeiros Modelos de Dados 
8.2.1 Modelo Rede 
A concepção inicial de um modelo de dados baseou-se na representação da informação por 
meio de: 
• Um conjunto de arquivos, cada um contendo registros estruturalmente idênticos; 
• Cada registro é estruturalmente composto por campos; 
• Campos podem conter valores de dados representados literalmente ou ponteiros para 
registros específicos de outros arquivos. 
 
Bachman propôs um modelo de representação gráfica (que levou seu nome) para representar 
essas estruturas. Nos diagramas deBachman: 
• Os arquivos são representados por retângulos nomeados; 
• Relacionamentos entre arquivos são representados por setas nomeadas (ligações entre 
arquivos). Cada seta representa um ponteiro e indica que um campo refere-se a um registro de 
outro arquivo. Os relacionamentos são de cardinalidade 1:N. O arquivo que participa com uma 
ocorrência é chamado de arquivo mestre (de onde parte a seta), e o arquivo que participa 
com N ocorrências é chamado de arquivo membro (para onde a seta aponta). 
 
Exemplo: 
 
Empresa 
Razão Social Deptos 
Nome Produtos 
Departamento 
Funcionários 
Empregado 
Nome Endereço Código Peso 
Produto 
Fornecedor 
Composta por 
Emprega Produz
Obtém Matéria-Prima 
Mestre 
Membro 
Relacionamento 
1:N 
 
 
Na implementação, as ligações entre arquivos são realmente ponteiros. Por exemplo, a ligação 
de Empresa sendo composta por departamentos, significa que o campo Deptos do registro de 
Empresa constitui-se em uma lista de ponteiros para um ou mais registros do arquivo de 
departamentos. 
Os diagramas de Bachman levam a modelagens que representam o mundo real por meio de 
uma rede de arquivos ligados. Por isso o modelo de dados que eles representam foi chamado de 
Modelo Rede. 
Assim, o Modelo Rede organiza o esquema de dados colocando os tipos de registros 
(arquivos) como nós de um grafo. 
 18
8.2.2 Modelo Hierárquico 
Devido à dificuldade inicial no desenvolvimento de SGBDs seguindo o Modelo Rede, a IBM 
concebeu uma variação desse modelo, onde não é permitido que o grafo de uma modelagem contenha 
ciclos e nem que um nó seja destino de mais de um arco. O modelo resultante foi chamado de Modelo 
Hierárquico. 
Assim, o Modelo Hierárquico organiza os tipos de registros (arquivos) em uma estrutura de 
árvore. Os demais conceitos são iguais aos do Modelo Rede (arquivos, registros, campos, ponteiros, 
etc). 
Cada hierarquia dos esquemas de dados gerados pelo Modelo Hierárquico deve respeitar as 
seguintes regras: 
• não possuir ciclos; 
• um mesmo arquivo não pode ser membro de mais do que uma ligação (relacionamento), 
embora possa ser mestre de mais de uma delas. 
 
Esquematicamente tem-se: 
 
 
 
 
Em geral, os modelos hierárquicos trabalham bem em aplicações que são naturalmente 
hierárquicas. Quando existem relacionamentos não-hierárquicos o ajuste torna-se difícil e o resultado 
das representações é freqüentemente insatisfatório. 
8.2.3 Exemplos de SGBDs 
• IMS: suporta implementações de acordo com o Modelo Hierárquico; 
• ADABAS: suporta implementações de acordo com os modelos Rede e Hierárquico; 
• System 2000 ou S2K: suporta implementações de acordo com os modelos Rede e Hierárquico. 
 
 
 
 19
9 Projeto de Bases de Dados 
Um processo genérico de projeto de BDs inclui quatro fases, a serem realizadas na ordem 
apresentada: 
• Coleta e Análise de Requisitos: consiste em identificar e entender os requisitos de dados e 
funcionais da aplicação, definindo, de forma não-ambígua, os elementos a serem considerados no 
projeto de dados e as transações a serem executadas nesses dados. 
• Projeto Conceitual: envolve duas atividades paralelas. A primeira consiste em examinar os 
requisitos de dados resultantes da fase anterior e produzir o esquema conceitual de dados, utilizando 
um modelo de dados de alto nível de abstração. A segunda atividade consiste em examinar os 
requisitos funcionais obtidos na fase anterior e produzir especificações para as transações, 
independente do SGBD a ser utilizado. 
• Projeto Lógico: consiste em transformar o esquema conceitual de dados em um esquema 
específico para um dado tipo de SGBD, denominado esquema lógico de dados. Esse processo é 
conhecido como mapeamento. 
• Projeto Físico: consiste em escolher estruturas de armazenamento e acesso específicas para o 
SGBD a ser utilizado na implementação, visando atender os requisitos de desempenho dos sistemas 
que compõem a aplicação e que irão interagir com a BD. 
Esquematicamente, tem-se: 
 
Requisitos Funcionais Requisitos de Dados 
Esquema Conceitual 
de Dados 
Especificação das 
Transações 
Esquema Lógico de Dados 
Mini-Mundo 
Coleta e Análise de 
Requisitos 
Esquema Físico de Dados 
Independente do SGBD 
Específico do SGBD 
Projeto 
Conceitual 
Projeto 
Lógico 
Projeto 
Físico 
Modelagem 
ME-R/ME-R Estendido 
Mapeamento 
ME-R/ME-R Estendido 
para o Modelo Relacional 
 
 
 20
Exercícios de Fixação 
1. Defina os termos: Base de Dados, Sistema de Gerenciamento de Bases de Dados e Sistema de 
Bases de Dados. 
2. Explique resumidamente as três ações envolvendo Bases de Dados. 
3. O que você entende por meta-dados? 
4. Estabeleça a diferença entre a utilização de Sistemas de Gerenciamento de Bases de Dados e os 
tradicionais Sistemas de Arquivos. 
5. Quais são as responsabilidades do Administrador de Bases de Dados e dos Projetistas de Bases de 
Dados? 
6. Explique três capacidades de um Sistema de Gerenciamento de Bases de Dados. 
7. Explique o conceito de consistência de dados. 
8. Considerando as três partes de um Sistema de Bases de Dados (interface com o usuário, 
mecanismo de acesso e armazenamento de dados) e um ambiente de rede (dados ficam armazenados 
em um servidor e podem ser compartilhados), estabeleça a diferença entre a arquitetura desktop e a 
arquitetura cliente-servidor. 
 
9. Defina os termos: modelo de dados, esquema da base de dados e instância da base de dados. 
 
10. Estabeleça a diferença entre independência lógica e física de dados. 
 
11. Explique as três categorias de linguagens de acesso de Sistemas de Gerenciamento de Bases de 
Dados. 
 
12. Discuta os três níveis da arquitetura Three Schema relacionando-os com modelos de dados 
Conceituais, Lógicos e Físicos. 
 
13. Estabeleça a diferença entre os modelos de dados Rede e Hierárquico. 
 
14. Explique as quatro fases de projeto de bases de dados. 
 
15. Em qual das fases de projeto de bases de dados o Modelo Entidade-Relacionamento deve ser 
utilizado?

Outros materiais