quinta-feira, 27 de agosto de 2009

Modelo de Entidade e Relacionamento (MER)

1- Explique o conceito do MER e a sua importância no relacionamento entre os profissionais da informática e os demais profissionais.

Modelo de Entidade e Relacionamento (MER)

Definição
O modelo de entidade e relacionamento é o mais utilizado atualmente, devido a sua simplicidade e eficiência. Baseia-se na percepção de mundo real, que consiste em uma coleção de objetos básicos, chamados entidades e relacionamentos entre esses objetos. Você poderá usar ou não um software para modelagem de dados.
Consiste em mapear o mundo real do sistema em um modelo gráfico que irá representar o modelo e o relacionamento existente entre os dados. Este modelo foi desenvolvido a fim de facilitar o projeto de banco de dados permitindo a especificação de um esquema que representa a estrutura lógica global do Banco de Dados.
O Modelo de Entidades e Relacionamentos é um modelo abstrato cuja finalidade é descrever, de maneira conceitual, os dados a serem utilizados em um Sistema de Informações ou que pertencem a um domínio. A principal ferramenta do modelo é sua representação gráfica, o Diagrama Entidade Relacionamento. Normalmente o modelo e o diagrama são conhecidos por suas siglas: MER e DER.

Entidade
Identifica o objeto de interesse do sistema e tem "vida" própria, ou seja, a representação
abstrata de um objeto do mundo real sobre o qual desejamos guardar informações.
Exemplo: Clientes, Fornecedores, Alunos, Funcionários, Departamentos, etc.
Não são entidades:
Entidade com apenas 01 elemento;
Operações do sistema;
Saídas do sistema;
Pessoas que realizam trabalhos (usuários do sistema);
Cargos de direção

Atributo
Informações que desejamos guardar sobre a instância de entidade.
Exemplo: Nome do aluno, Número da turma, Endereço do fornecedor, Sexo do funcionário, etc.

Domínio do Atributo

Universo de valores que um atributo pode armazenar.
Exemplos:
Conjunto de valores do atributo Sexo do funcionário: M ou F;
Conjunto de valores do atributo Nome do aluno: 40 caracteres alfanuméricos.
Conjunto de valores do atributo salário: inteiro maior que 5000


Relacionamento
Na análise de relacionamentos o objetivo é definir como e quando as entidades se relacionam, isto é particularmente importante a fim de dar maior entendimento do problema.
Outro fator importante é o diagrama de entidade e relacionamento que representa graficamente o modelo de entidade e relacionamentos, este diagrama pode ser feito com o uso de ferramenta de modelagem de dados ou usando algum programa gráfico. Os softwares para modelagem de dados são alternativas mais interessantes em função da produtividade, organização do seu diagrama de entidade e relacionamento e facilidade de modificações.
Representa a associação entre os elementos do conjunto de uma entidade com outra entidade.
Exemplo: O João está matriculado na disciplina de Banco de Dados. Onde:
“João”: Elemento do conjunto de valores do atributo Nome do aluno da entidade Aluno;
“Banco de Dados”: Elemento do conjunto de valores do atributo Nome da disciplina da
entidade Disciplina;
“Matriculado”: Ligação existente entre um aluno e uma disciplina.
Matriculado
Aluno
Disciplina



2- Explique e comente o conceito de entidades e atributos.

Entidade: é qualquer coisa, concreta ou abstrata, incluindo associações entre entidades, abstraídos do mundo real e modelado em forma de tabela que guardarão informações no banco de dados.

Atributos
Um atributo é um valor de dado assumido pelos objetos de uma classe. Nome, idade e peso são exemplos de atributos de objetos Pessoa. Cor, peso e modelo são possíveis atributos de objetos Carro. Cada atributo tem um valor para cada instância de objeto. Por exemplo, o atributo idade tem valor ``29'' no objeto Pedro Y. Em outras palavras, Pedro Y tem 29 anos de idade. Diferentes instâncias de objetos podem ter o mesmo valor para um dado atributo.
Cada nome de atributo é único para uma dada classe, mas não necessariamente único entre todas as classes. Por exemplo, ambos Pessoa e Companhia podem ter um atributo chamado endereço.



3- Explique e comente o conceito de relacionamento.

É a forma como os objetos que compõem a realidade se relacionam.
Quando se reduz a realidade em objetos como entidades e seus atributos, está se trabalhando com a parte estática dos Negócios.
Todavia, na verdade, iremos encontrar situações onde Clientes solicitam Cotações, que geram Pedidos de Vendas quando aprovadas; os Pedidos vendem Produtos em quantidades e preços diferentes que são faturados através da Nota Fiscal, que é paga em parcelas pelas Duplicatas e, assim por diante, em um fluxo dinâmico.
Isto mostra que os dados se relacionam entre si, indicando a própria dinâmica dos negócios, bem como as regras e políticas que os regem. Para representar essa dinâmica, o Modelo E-R define o conceito de relacionamento entre as entidades.
Logo, o relacionamento é um conceito dinâmico, pois representa a própria dinâmica dos negócios, bem como as suas regras e políticas.Um Banco de Dados Relacional é um banco de dados que segue o Modelo Relacional.
De forma mais detalhada, um Banco de Dados Relacional é um conceito abstrato que define maneiras de armazenar, manipular e recuperar dados estruturados unicamente na forma de tabelas, construindo um banco de dados.
O termo também é aplicável aos próprios dados, quando organizados dessa forma, ou a um Sistema Gerenciador de Banco de Dados Relacional (SGBDR) – do inglês Relacional database management system (RDBMS) .A arquitetura de um banco de dados relacional pode ser descrita de maneira informal ou formal. Na descrição informal estamos preocupados com aspectos práticos da utilização e usamos os termos tabela, linha e coluna. Na descrição formal estamos preocupados com a semântica formal do modelo e usamos termos como relação(tabela), dupla(linhas) e atributo(coluna).
Tipos de relacionamento
De acordo com a cardinalidade, existem 3 (três) tipos básicos de relacionamento entre as entidades.

A. Relacionamento um – para - um (1:1)
Indica que uma única ocorrência de uma entidade pode se relacionar com apenas uma única ocorrência de outra entidade. Este tipo de relacionamento é bastante raro (no mundo dos negócios).
Por exemplo: FUNCIONÁRIO (1) gerencia (1) DEPARTAMENTO
(Lê-se: um departamento possui um funcionário que exerce o papel de gerente; por sua vez, um funcionário-gerente pode gerenciar apenas um departamento de cada vez.)

B. Relacionamento um – para - muitos (1:N ou 1:M)
Indica que uma ocorrência de uma entidade pode se relacionar com muitas ocorrências de outra entidade. No entanto, a recíproca não é verdadeira. Este tipo de relacionamento é muito comum (no mundo dos negócios).
Por exemplo: FUNCIONÁRIO (1) possui (N) DEPENDENTE
(Lê-se: um funcionário pode possuir vários dependentes; mas cada dependente pertence a apenas um funcionário.)
Outro exemplo: CLIENTE (1) solicita (N) COTAÇÃO
(Lê-se: um cliente pode solicitar muitas cotações de vendas; no entanto, cada cotação somente pode ter sido solicitada por um cliente.)

C. Relacionamento muitos – para - muitos (N:M)
Indica que várias ocorrências de uma entidade pode se relacionar com muitas ocorrências de outra entidade. Pode-se representar como N:M ou como M:N ou, ainda, como N:N ou M:M. Geralmente, um relacionamento desse tipo pode ser convertido e simplificado pela criação de uma entidade intermediária (do tipo associativa, a ser vista posteriormente) e de dois relacionamentos do tipo 1:N (um – para - muitos).
Por exemplo: PEDIDO (N) vende (M) PRODUTO
(Lê-se: em cada pedido podem ser vendidos muitos produtos diferentes - um para cada linha do pedido; por outro lado, um produto pode ser vendido por diversos pedidos.)



4- Explique e comente o conceito de atributo-chave.

Um conceito importante em um banco de dados relacional é o conceito de atributo chave, que permite identificar e diferenciar uma tupla de outra. Através do uso de chaves é possível acelerar o acesso a elementos (usando índices) e estabelecer relacionamentos entre as múltiplas tabelas de um sistema de banco de dados relacional.
O conceito de chave é muito importante no Modelo Relacional. De entre todas as chaves candidatas apenas uma será a escolhida para identificar cada linha de forma única. A chave selecionada de entre as chaves candidatas é designada por chave primária da relação. Uma chave estrangeira é um conjunto de um ou mais atributos que são chave primária numa outra relação. Isto é, quando um atributo surge em mais do que uma relação, estamos perante um relacionamento de registros.
Chave estrangeira
O conceito de Chave estrangeira em uso de banco de dados se refere ao tipo de relacionamento entre as tabelas de dados do banco de dados.
Uma chave estrangeira é chamada quando há o relacionamento entre duas tabelas.
Sempre em chave estrangeira vai haver relacionamentos entre tabelas, por exemplo, se uma tabela que tem uma chave primária de outra tabela.
Chave externas ou estrangeiras
Uma chave externa ou estrangeira é um atributo ou uma combinação de atributos numa relação R2, cujos valores são necessários para equivaler à chave primária de uma relação R1.
Uma chave estrangeira é um campo, que aponta para a chave primária de outra tabela. Ou seja, passa a existir uma relação entre essas duas tabelas. A finalidade da chave estrangeira é garantir a integridade dos dados referenciais, pois apenas serão permitidos valores que supostamente vão aparecer na Base de Dados.
Chave primária
Chaves primárias (em inglês Primary Keys ou PK) sob o ponto de vista de um banco de dados relacional, referem-se às tuplas (conjuntos) de um ou mais campos, cujos valores, considerando a combinação de valores de todos os campos da tupla, nunca se repetem e que podem ser usadas como um índice para os demais campos da tabela do banco de dados. Em chaves primárias, não pode haver valores nulos nem repetição de tuplas.
Simplificando, quando a chave primária é simples, ou seja, é formada por um único campo da tabela, esse campo não pode ter dois ou mais registros de mesmo valor, e também não pode conter nenhum registro nulo. Se a chave primária é composta, ou seja, formada por mais de um campo, os valores de cada campo podem se repetir, mas não a combinação desses valores. Exemplo: a tabela 'Livros_Autores' tem como chave primária (cod_livro, cod_autor). Podem existir nessa tabela os registros:
(5, 9), (5, 10), (4, 9), (9, 5)



5- Explique o conceito do DER e a sua importância no relacionamento entre os profissionais da informática e os demais profissionais.

Diagrama entidade relacionamento é um modelo diagramático que descreve o modelo de dados de um sistema com alto nível de abstração. Ele é a principal representação do Modelo de Entidades e Relacionamentos. É usado para representar o modelo conceitual do negócio. Não confundir com modelo relacional, que representam as tabelas, atributos e relações materializadas no banco de dados.
· MER: Conjunto de conceitos e elementos de modelagem que o projetista de banco de dados precisa conhecer. O Modelo é de Alto Nível.
· DER: Resultado do processo de modelagem executado pelo projetista de dados que conhece o MER.
É um modelo em rede que descreve a diagramação dos dados armazenados de um sistema em alto nível de abstração. Devido a complexidade da estrutura de dados e os relacionamentos deve-se dar uma importância maior para os dados que serão utilizados para formar uma informação importante para um Gerente ou diretor de uma empresa ( importantes para um sistema de gestão empresarial).

Portanto é importante especifica e documentar, e o DER é uma ferramenta de modelagem especificamente para isto. “Modelar os dados (organizar em tabelas) e seus relacionamentos.
Quais os benefícios ?

- Realça os relacionamentos entre os depósitos de dados de um DFD que de outro modo só seriam percebidos nas especificações de processos.
- Facilita descobrir funções necessárias no DFD.
- Organizar a nossa estrutura de dados (redundância de dados)

Os Componentes

Tipo de Objetos – representação no sistema (tabelas de dados)

Retângulo;

Uma coleção ou um conjunto de objetos (coisas) do mundo real cujo membros individuais (instâncias) tem as seguintes características:
- Cada um deles só pode ser identificado de uma única forma (instâncias)
o Chaves (código, CPF, CNPJ, etc...)
- Cada um exerce um papel no sistema em construção
o Deve ter um significado
- Cada um pode ser descrito por um ou mais elementos de dados
o Cliente (nome, endereço, telefone, rg, CPF, etc...)

Tipos Especiais de Relacionamentos

- Indicadores de tipos de objetos (muitos-para-muitos)

Funciona tanto como um objeto como um relacionamento





Exemplo: Guardar a data e hora que aconteceu a compra.

- Indicadores de Subtipos/Supertipos
o Consistem em um objeto e um ou mais subcategorias, interligados por um relacionamento.

Herança




Diretrizes para a Construção de DER

- O DER deve ser criado a partir de entrevistas com o usuário e de seu conhecimento do ramo da empresa do usuário. (fichas cadastrais, notas fiscais, fichas de pedido, extratos bancários, etc...). Assim é encontrado os principais objetos e relacionamentos.
- Identificar os diferentes elementos de dados (campos) nos diferentes tipos de tabelas (objetos).
o Isto pode ser feito através do DFD e especificando em um dicionário de dados.
o Realizar refinamentos
- Verificar a existência de supressão de dados (reduzir o DER)
o Verificar a existência de relacionamentos redundantes ou errôneos
§ Tipos de objetos compostos por apenas um identificador (tabela cliente e cônjuge. Relacionamento de um para um)
§ Tipos de objetos para os quais existe apenas uma instância (constante)
§ Relacionamentos derivados ou calculados devem ser removidos do sistema
· Exemplo: Renovar pela data de aniversário, primeira letra.







6- Dê ou faça um exemplo de um DER e explique o mesmo.




No Exemplo:
Banco de dados que permite o correto controle das matrículas dos alunos em uma escola, onde a preocupação concentra-se no acompanhamento da vida acadêmica dos alunos.
Identificar as Entidades – de acordo com os requisitos do sistema
ALUNO - matricula-se - CURSO
-um aluno pode matricular-se em um único curso nesta escola, mas um curso contém vários alunos
Cardinalidade N : 1
CURSO - formado - DISCIPLINA
-um curso é formado por diversas disciplinas, mas uma mesma disciplina pode estar em mais que um curso
Cardinalidade N : M
ALUNO - cursa - DISCIPLINA ® nota, falta, situação
-vários alunos podem cursar uma mesma disciplina e uma disciplina tem vários alunos
Cardinalidade N : M
Os relacionamentos têm que procurar representar a realidade que ocorre no mundo real.

quinta-feira, 20 de agosto de 2009

Introdução a Banco de Dados I

1) O que é e como funciona o armazenamento de dados em arquivo? (criação, utilização, vantagens e problemas).

Um banco de dados (a sua abreviatura é BD, em inglês DB, database) é uma entidade na qual é possível armazenar dados de maneira estruturada e com a menor redundância possível. Estes dados devem poder ser utilizados por programas, por utilizadores diferentes. Assim, a noção básica de dados é acoplada geralmente a uma rede, a fim de poder pôr conjuntamente estas informações, daí o nome banco. Fala-se geralmente de sistema de informação para designar toda a estrutura que agrupa os meios organizados para poder compartilhar dados. Um banco de dados permite pôr dados à disposição de utilizadores para uma consulta, uma introdução ou uma atualização, assegurando-se dos direitos atribuídos a estes últimos. Isso é ainda mais útil quando os dados informáticos são cada vez mais numerosos. Um banco de dados pode ser local, quer dizer utilizável numa máquina por um utilizador, ou repartida, quer dizer que as informações são armazenadas em máquinas distantes e acessíveis por rede.A vantagem essencial da utilização de banco de dados é a possibilidade de poder ser acedida por vários utilizadores simultaneamente. A fim de poder controlar os dados bem como os utilizadores, a necessidade de um sistema de gestão fez-se sentir rapidamente. A gestão de banco de dados faz-se graças a um sistema chamado SGBD (sistema de gestão de bases de dados) ou em inglês DBMS (Database management system).

2-O que é e como funcionam os SGBD? Explique a evolução dos arquivos, passando pelo BD até SGBD.

O SGBD é um conjunto de serviços (aplicações software) que permitem gerir as bases de dados, quer dizer:
Permitir o acesso aos dados de maneira simples
Autorizar um acesso às informações a múltiplos utilizadores
Manipular os dados presentes na base de dados (inserção, supressão, modificação) O SGBD pode decompor-se em três subsistemas: O sistema de gestão de ficheiros: permite o armazenamento das informações num suporte físico O SGBD interno: gere a emissão das informações O SGBD externo: representa o interface com o utilizador

Os principais sistemas de gestão de bases de dados são os seguintes:
Borland Paradox
Filemaker
IBM DB2
Ingres
Interbase
Microsoft SQL server
Microsoft Access
Microsoft FoxPro
Oracle
Sybase
MySQL
PostgreSQL
mSQL
SQL Server 11
As primeiras arquiteturas usavam mainframes para executar o processamento principal para todas as funções do sistema, incluindo os programas aplicativos, programas de interface com o usuário, bem como a funcionalidade dos SGBDs. Esta é a razão pela qual a maioria dos usuários acessava os sistemas via terminais que não possuíam poder de processamento, apenas capacidade de visualização. Todos os processamentos eram feitos remotamente, e apenas as informações a serem visualizadas e os controles eram enviados do mainframe para os terminais de visualização, que eram conectados a ele através de várias redes de comunicação. Como os preços do hardware foram decrescendo, muitos usuários trocaram seus terminais por computadores pessoais (PC) e estações de trabalho. No começo os SGBDs usavam esses computadores da mesma maneira que usavam os terminais, ou seja, o SGBD era centralizado e toda sua funcionalidade, execução de programas aplicativos e processamento da interface do usuário eram executados em apenas uma máquina. Gradualmente os SGBDs começaram a explorar a disponibilidade do poder de processamento no lado do usuário, o que levou a arquitetura cliente-servidor. A arquitetura cliente-servidor foi desenvolvida para dividir ambientes de computação onde um grande número de PCs, estações de trabalho, servidores de arquivos, impressoras, servidores de banco de dados e outros equipamentos estão conectados juntos por uma rede. A idéia é definir servidores especializados tais como servidor de arquivos que mantém os arquivos de máquinas clientes ou servidores de impressão que podem estar conectados a várias impressoras, assim quando se deseja imprimir, todas as requisições de impressão são enviadas a este servidor. As máquinas clientes disponibilizam para o usuário as interfaces apropriadas para utilizar esses servidores, bem como poder de processamento para executar aplicações locais. Esta arquitetura se tornou muito popular por algumas razões. Primeiro a facilidade de implementação dada à clara separação de funcionalidade e o servidor. Segundo um servidor é inteligentemente utilizado porque as tarefas mais simples são delegadas as máquinas clientes mais baratas. Terceiro o usuário pode executar uma interface gráfica que já lhe é familiar ao invés de usar a interface do servidor. Desta maneira a arquitetura cliente-servidor foi incorporada nos SGBDs comerciais. Diferentes técnicas foram propostas sendo uma bastante adotada por muitos Sistemas Gerenciadores de Banco de Dados Relacionais (SGBDRs) comerciais a inclusão da funcionalidade de um SGBD centralizado no lado do servidor. As consultas e a funcionalidade transacional permanecem no servidor, sendo que este é chamado de servidor de consulta ou servidor de transação. Desta maneira um servidor de SQL é fornecido para os clientes. Cada cliente tem que formular suas consultas SQL, e prover a interface do usuário e a funções de interface para linguagem de programação. O cliente pode também se referir a um dicionário de dados que incluem informações sobre a distribuição dos dados em vários servidores SQL, bem como os módulos para a decomposição de uma consulta global em um número de consultas locais que podem ser executadas em vários sítios. Comumente o servidor SQL também é chamado de back-end machine e o cliente de front-end machine. Como SQL provê uma linguagem padrão para SGBDRs, ele criou o ponto de divisão lógica entre o cliente e o servidor. Existem várias tendências para Banco de Dados atualmente, nas mais diversas direções.

3-Quais são os tipos de conexão existentes com BD? Explique-as.

TIME SHARING
Estações dos usuários não possuem inteligência e tipicamente são terminais alfanuméricos.
Toda a aplicação é executada no servidor, inclusive o SGDB.
Existe um alto overhead de comunicação.
O acesso remoto é simplificado através de linhas dedicadas.
Não é escalável.

SERVIDOR DE ARQUIVOS
As estações de trabalho são inteligentes.
Toda a aplicação é executada na estação, inclusive o SGBD.
Todos os arquivos residem no servidor e transitam pela rede quando são acessados.
O tráfego da rede é proporcional ao número de estações
É mais escalável do que a conexão anterior, porém apresenta problemas com
Relação ao tamanho do BD devido ao tráfego de dados pela rede.

CLIENTE-SERVIDOR
O SGBD é residente e executado no servidor
As estações são inteligentes, possuem alta capacidade de processamento.
A aplicação é dividida entre a estação (cliente) e o SGBD.
O SGBD executa comandos SQL, vindos dos clientes, e apenas os resultados desses comandos trafegam pela rede.
Apresenta uma sobrecarga menor para a rede do que o tipo de conexão servidor de arquivos. Também sobrecarrega menos o servidor do que o tipo de conexão time sharing.
É difícil atualizar aplicações nas estações clientes.
Estações clientes não devem guardar dados corporativos por razões de segurança.
O acesso remoto pode ser complexo. Esse problema foi minorado recentemente com a disponibilização de Intranets.
Integridade, segurança e backup da BD devem ter procedimentos semelhantes aos de mainframes.
Ajuste do sistema.

SERVIDOR DE APLICAÇÕES
Concentra a aplicação numa única máquina, o servidor de aplicações, que recebe os pedidos dos clientes e os dirige ao SGBD
Combina todas as vantagens da arquitetura cliente-servidor e elimina a principal desvantagem referente a atualização da aplicação.
Propicia sigilo do código da aplicação, agora residente numa máquina fisicamente controlada.
Em sistemas muito grandes a concentração de todo o processamento em uma única máquina pode ser diminuída replicando uma ou mais vezes o servidor de aplicações.

SERVIDOR WEB
Permite acesso gráfico ao SGBD de forma transparente, tanto local como remotamente
A aplicação reside em um servidor WWW que também faz o papel de servidor de aplicações
O único software requerido no cliente é um navegador padrão.
Apresenta problemas no que se refere a diferentes graus de resolução gráfica.


4-Quais são os modelos de dados existentes? Explique-os.

Modelo Hierárquico
É o primeiro reconhecido como modelo de dados. Foi desenvolvida devido à consolidação dos
discos de armazenamento endereçáveis, sua estrutura utiliza as organizações de endereçamento físicos dos discos. Os dados estão estruturados em hierarquias ou árvores. Os nós das hierarquias contêm ocorrências de registros, onde cada registro é uma coleção de campos (atributos) cada um contendo apenas uma informação. O registro que em uma hierarquia precede outros se designa registro-pai dos outros registros que são chamados de registros-filhos. Uma ligação é uma associação entre dois registros. O relacionamento entre um registro-pai e registros-filhos é de 1:N. Os dados estão organizados e podem ser acessados segundo uma seqüência hierárquica com uma navegação do topo para as folhas e da esquerda para a direita. Um registro pode estar associado a vários registros diferentes. Para que exista esta condição este registro deve ser replicado. A replicação possui duas grandes desvantagens: pode causar inconsistência de dados quando houver atualização e o desperdício de espaço é inevitável. O Sistema comercial mais divulgado no modelo hierárquico foi Informativo Management System da IBM Corp(IMS). Grande parte das restrições e consistências de dados estavam contidas dentro nos programas escritos para as aplicações. Era necessário escrever programas na ordem para acessar o banco de dados. Um diagrama de estrutura da árvore é o esquema para um banco de dados hierárquico. Tal diagrama
consiste em dois componentes básicos: Caixas - que correspondem ao tipo de registro e
Linhas - que correspondem às ligações.

Modelo em Rede
Aparece como uma extensão do modelo hierárquico. Elimina o conceito de hierarquia e permite
que um mesmo registro esteja envolvido em várias associações. No modelo em rede os registros estão organizados em grafos. Nele aparece um único tipo de associação (set), que define uma relação de 1: N entre 2 tipos de registros: proprietário e membro. Desta maneira dados dois relacionamentos 1:N entre os registros A e D e entre os registros C e D é possível construir um relacionamento M:N entre A e D. O gerenciador Data Base Task Group (DBTG) da CODASYL (Committee on Data Systems and Languages) estabeleceu uma norma para este modelo de banco de dados, com linguagem própria para definição e manipulação de dados. Os dados tinham uma forma limitada de independência física. A única garantia era que o sistema deveria recuperar os dados para as aplicações como se eles estivessem armazenados na maneira indicada nos esquemas. Os geradores do relatório da CODASYL também definiram sintaxes para dois aspectos chaves dos sistemas gerenciadores de dados: Concorrência e segurança. O mecanismo de segurança fornecia uma facilidade na qual parte do banco de dados (áreas) pudessem ser bloqueadas para prevenir acessos simultâneos quando isto fosse necessário. A sintaxe da segurança permitia que uma senha fosse associada com cada objeto descrito no esquema. Ao contrário do Modelo Hierárquico, em que qualquer acesso aos dados passa pela raiz, o modelo em rede pode-se ter acesso a qualquer nó da rede. Estes dois modelos: Hierárquico e Rede são Orientados a Registros, isto é qualquer acesso à base de dados, inserção, consulta, alteração ou remoção é feito com um registro de cada vez. No Modelo em Rede o sistema comercial mais divulgado CA-IDMS da Computer Associates. O diagrama para representar os conceitos do modelo de rede consiste em dois componentes básicos: Caixas - as quais correspondem os registros e Linhas - as quais correspondem as associações.

Modelo Relacional
O modelo relacional apareceu devido a seguintes necessidades: aumentar a independência de
dados nos sistemas gerenciadores de banco de dados; prover um conjunto de funções apoiadas em álgebra relacional para armazenamento e recuperação de dados; permitir processamento ad hoc1. O modelo relacional resultou de um estudo teórico realizado por CODD [Codd70] (investigador da IBM), tendo por base a teoria dos conjuntos e álgebra relacional. O modelo foi apresentado num artigo publicado em 1970, mas que só nos anos 80, foi implementado. O Modelo relacional revelou-se ser o mais flexível e adequado ao solucionar os vários problemas que se colocam ao nível da concepção e implementação da base de dados. A estrutura fundamental do modelo relacional é a relação. Uma relação é constituída por um ou mais atributos (campos), que traduzem o tipo de dados a armazenar. Cada instancia 1 processamento dedicado, exclusivo
do esquema (linha), designa-se por tupla (registro). O modelo relacional não tem caminhos predefinidos para acessar dados como no modelo de redes ou hierárquicos. O modelo relacional
implementa estruturas de dados organizadas em relações (tabelas). Porém para trabalhar com
essas tabelas algumas restrições tiveram que ser impostas para evitar aspectos indesejáveis
no modelo relacional tais como: Repetição de informação, Incapacidade de representar parte
da informação e perda de informação. Essas restrições são: integridade referencial, chaves,
integridade de junções de relações.

Modelo Orientado Objetos
Os bancos de dados orientados a objeto começaram a se tornar comercialmente viáveis em
meados de 1980. Eles começaram a ser desenvolvidos em função dos limites de armazenamento e representações semânticas dos modelos relacionais. Alguns exemplos são os sistemas de informações geográficas (SIG), os sistemas CAD e CAM. Esses sistemas são mais facilmente construídos usando tipos complexos de dados. A habilidade para criar os tipos de dados necessários é uma característica das linguagens de programação orientada a objetos. Estes sistemas, porém , necessitam guardar representações das estruturas de dados que eles usam no armazenamento permanente. A estrutura padrão para os bancos de dados objeto foi feita pelo Grupo de gerenciamento dados objetos (ODMG). Esse grupo é formado por representações da maioria dos fabricantes no mercado de banco de dados objeto. Membros do grupo estão comprometidos a incorporar o padrão em seus produtos. O termo Modelo Orientado Objetos é usado para o documento padrão que contém a descrição geral das facilidades de um conjunto de linguagens de programação orientadas a objetos e a biblioteca de classes que pode formar a base para o Sistema de banco de Dados. Quando os bancos de dados orientados a objetos foram introduzidos, algumas das falhas perceptíveis do modelo relacional parecem ter sido solucionadas com esta tecnologia e acreditava-se que tais bancos de dados ganhariam grande parcela do mercado. Porém hoje se acredita que os Banco de Dados Orientados a Objetos serão usados em aplicações especializadas, enquanto os sistemas relacionais continuarão a sustentar os negócios tradicionais nos quais as estruturas de dados baseadas em relações são suficientes. Um diagrama UML é geralmente o esquema para o modelo orientado a objetos.

Sistemas Objetos-Relacionais
A área de atuação dos sistemas Objeto-Relacional tenta suprir a dificuldade dos sistemas
relacionais convencionais, que é o de representar e manipular dados complexos. A solução
proposta é a adição de facilidades para manusear tais dados utilizando-se das facilidades SQL
existentes. Para isso foi necessário adicionar: extensões dos tipos básicos no contexto SQL;
representações para objetos complexos no contexto SQL ; herança no contexto SQL; sistema
para produção de regras.

5-Quais são os aspectos relevantes que devem ser considerados para atingir a eficiência e eficácia do sistema informatizado? (na visão do BD).

Atualmente, devem-se considerar alguns aspectos relevantes para atingir a eficiência e a eficácia dos sistemas informatizados desenvolvidos, a fim de atender seus usuários nos mais variados domínios de aplicação: automação de escritórios, sistemas de apoio a decisões, controle de reserva de recursos, controle e planejamento de produção, alocação e estoque de recursos, entre outros. Tais aspectos são:
a) Os projetos Lógicos e Funcionais do Banco de Dados devem ser capazes de prever o volume
de informações armazenadas a curto, médio e longo prazo. Os projetos devem ter uma grande capacidade de adaptação para os três casos mencionados;
b) Deve-se ter generalidade e alto grau de abstração de dados, possibilitando confiabilidade e
eficiência no armazenamento dos dados e permitindo a utilização de diferentes tipos de gerenciadores de dados através de linguagens de consultas padronizadas;
c) Projeto de uma interface ágil e com uma "rampa ascendente" para propiciar aprendizado suave ao usuário, no intuito de minimizar o esforço cognitivo;
d) Implementação de um projeto de interface compatível com múltiplas plataformas (UNIX, Windows NT, Windows Workgroup, etc);
e) Independência de Implementação da Interface em relação aos SGBDs que darão condições às operações de armazenamento de informações (ORACLE, SYSBASE, INFORMIX, PADRÃO XBASE, etc.)
f) Conversão e mapeamento da diferença semântica entre os paradigmas utilizados no desenvolvimento de interfaces (Imperativo (ou procedural), Orientado a Objeto, Orientado a
evento), servidores de dados (Relacional) e programação dos aplicativos (Imperativo, Orientado a Objetos).

6-Quais são as arquiteturas de SGBD’s? Explique-as.

Plataformas centralizadas: Na arquitetura centralizada, existe um computador com grande capacidade de processamento, o qual é o hospedeiro do SGBD e emuladores para os vários aplicativos. Esta arquitetura tem como principal vantagem a de permitir que muitos usuários manipulem grande volume de dados. Sua principal desvantagem está no seu alto custo, pois exige ambiente especial para mainframes e soluções centralizadas.

Sistemas de Computador Pessoal - PC: Os computadores pessoais trabalham em sistema stand-alone, ou seja, fazem seus processamentos sozinhos. No começo esse processamento era bastante limitado, porém, com a evolução do hardware, tem-se hoje PCs com grande capacidade de processamento. Eles utilizam o padrão Xbase e quando se trata de SGBDs, funcionam como hospedeiros e terminais. Desta maneira, possuem um único aplicativo a ser executado na máquina. A principal vantagem desta arquitetura é a simplicidade.

Banco de Dados Cliente-Servidor: Na arquitetura Cliente-Servidor, o cliente (front_end) executa as tarefas do aplicativo, ou seja, fornece a interface do usuário (tela, e processamento de entrada e saída). O servidor (back_end) executa as consultas no DBMS e retorna os resultados ao cliente. Apesar de ser uma arquitetura bastante popular, são necessárias soluções sofisticadas de software que possibilitem: o tratamento de transações, as confirmações de transações (commits), desfazer transações (rollbacks), linguagens de consultas (stored procedures) e gatilhos(triggers). A principal vantagem desta arquitetura é a divisão do processamento entre dois sistemas, o que reduz o tráfego de dados na rede.

Banco de Dados Distribuídos (N camadas): Nesta arquitetura, a informação está distribuída em diversos servidores. Como exemplo, observe a abaixo. Cada servidor atua como no sistema cliente-servidor, porém as consultas oriundas dos aplicativos são feitas para qualquer servidor indistintamente. Caso a informação solicitada seja mantida por outro servidor ou servidores, o sistema encarrega-se de obter a informação necessária, de maneira transparente para o aplicativo, que passa a atuar consultando a rede, independente de conhecer seus servidores. Exemplos típicos são as bases de dados corporativas, em que o volume de informação é muito grande e, por isso, deve ser distribuído em diversos servidores. Porém, não é dependente de aspectos lógicos de carga de acesso aos dados, ou base de dados fracamente acopladas, em que uma informação solicitada vai sendo coletada numa propagação da consulta numa cadeia de servidores. A característica básica é a existência de diversos programas aplicativos consultando a rede para acessar os dados necessários, porém, sem o conhecimento explícito de quais servidores dispõem desses dados.

Arquitetura Três Esquemas:A principal meta da arquitetura “três esquemas” é separar as aplicações do usuário do banco de dados físico. Os esquemas podem ser definidos como:· nível interno: ou esquema interno, o qual descreve a estrutura de armazenamento físico do banco de dados; utiliza um modelo de dados e descreve detalhadamente os dados armazenados e os caminhos de acesso ao banco de dados;· nível conceitual: ou esquema conceitual, o qual descreve a estrutura do banco de dados como um todo; é uma descrição global do banco de dados, que não fornece detalhes do modo como os dados estão fisicamente armazenados;· nível externo: ou esquema de visão, o qual descreve as visões do banco de dados para um grupo de usuários; cada visão descreve quais porções do banco de dados um grupo de usuários terá acesso.