quarta-feira, 18 de novembro de 2009

Álgebra Relacional

1) Quantos e Quais são os grupos nos quais a álgebra relacional está dividida? Identifique quais operações pertencem a cada um deles.

As operações da álgebra relacional são normalmente divididas em dois grupos. O primeiro deles inclui um conjunto de operações da teoria de conjuntos. As operações são UNION, INTERSECTION, DIFFERENCE e CARTESIAN PRODUCT. O segundo grupo consiste de operações desenvolvidas especificamente para bases de dados relacionais, tais como: SELECT, PROJECT e JOIN entre outras.
2) Explique a Operação SELECT e PROJECT. Quando usar, Para que usar, Como usar, diferenças, etc.
A operação SELECT é usada para selecionar um subconjunto de tuplas de uma relação. Estas tuplas devem satisfazer uma condição de seleção. O operador SELECT é unário; isto é, ele é aplicado somente a uma relação. Assim, o SELECTnão pode ser usado para selecionar tuplas de mais de uma relação. Note-se também que a operação de seleção é aplicada individualmente para cada tupla. Assim, as condições de seleção não podem ser aplicadas a mais que uma tupla. O grau da relação resultante é a mesma que a relação original. O número de tuplas da relação resultante é sempre menor ou igual ao número de tuplas da relação original.
Pensando na relação como uma tabela, então o operador SELECT seleciona algumas linhas da tabela enquanto descarta outras. O operador PROJECT, por outro lado, seleciona certas colunas da tabela e descarta outras. Se existir o interesse sobre certos atributos da relação, pode-se usar o PROJECT para “projetar” a relação sobre esses atributos. Por exemplo, suponha a necessidade de listar, para cada empregado, os atributos PNOME, SNOME e SALÁRIO; então pode-se usar o PROJECT como segue:SNOME, PNOME, SALÁRIO (EMPREGADO).
3) Explique a Operação UNION, INTERSECTION e DIFFERENCE. Quando usar, Para que usar, Como usar, etc.
União (UNION): R U S.
É outra relação Z que Inclui todas as tuplas da relação R e em S, ou em ambas, mas elimina as tuplas repetidas. Utilizar a operação união gera muitas vantagens e economiza muitas linhas de programação, essa operação permite reunir várias consultas num só resultado.
Intersecção (INTERSECTION): R ∩ S.
É outra relação Z que inclui todas as tuplas que estão em ambas às relações R e S. É importante salientar que a diferença entre a primeira e segunda relação não é o mesmo do inverso, ou seja, da segunda pela primeira. Com isso podemos dizer que a operação de diferença não é comutativa.
Diferença (DIFFERENCE): R - S
É outra relação Z que inclui todas as tuplas de R, mas não em S
Note que as operações UNION e INTERSECTION são operações comutativas:
R U (S U T) = (R U S) U T, e
R∩ (S ∩ T) = (R ∩ S) ∩ T.
A operação DIFFERENCE não é comutativa:
R - S
≠ S - R.
4) Explique a Operação CARTESIAN PRODUCT. Quando usar, Para que usar, Como usar, etc.

A operação CARTESIAN PRODUCT, denotada por x, é também uma operação de conjunto binária, mas as relações sobre as quais são aplicadas não necessitam ser união compatível.
Esta operação é usada para combinar tuplas de duas relações tal que tuplas relacionadas possam ser identificadas.
Em geral, o resultado de R(A1, A2, ..., An) x S(B1, B2, ..., Bm) é a relação Q com n + m atributos Q(A1, A2, ..., An, B1, B2, ..., Bm) nesta ordem. A relação resultante Q tem uma tupla para cada combinação de tuplas. Assim, se R tem nR tuplas e S tem nS tuplas, então RxS terá nR*nS tuplas. Para ilustrar, considere que se deseja recuperar para cada empregado do sexo feminino uma lista de nomes de seus dependentes.
5) Explique as Operações de junção (JOIN) e divisão (DIVISION). Quando usar, Para que usar, Como usar, etc.
Operação de Junção (JOIN)

A operação de junção é utilizada para combinar tuplas de duas relações partindo dos atributos comuns a ambas. O resultado conterá as colunas das duas relações que estão participando da junção. Esta operação é de extrema importância em bancos de dados relacionais, pois é através dela que nos é permitido fazer relacionamento. Representação gráfica: Simbologia: x Sintaxe: (Relação 1) x (Relação 2) Obs.: Uma condição de junção pode ser formada por mais de uma condição simples, apenas aplicando os operadores relacionais AND ou OR.
Operação de Divisão ( DIVISION)
É uma operação adicional que produz como resultado a projeção de todos os elementos da primeira relação que se relacionam com todos os elementos da segunda relação. Não é um operador primitivo, mas pode ter o resultado obtido por uma combinação de operadores primitivos. Representação gráfica: Símbologia: ÷ Sintaxe: (Relação 1) ÷ (Relação 2) .
6-)Explique as Operações de AGREGAÇÃO. Quando usar, Para que usar, Como usar, etc.

Agregação: As funções de agregação operam em conjunto de linhas, de modo que fornecem um resultado por grupo (tabela ou parte da tabela). O operador de agrupamento reune as tuplas em grupos sobre os quais podem ser aplicadas funções agregadas. As funções de agregação mais comuns são SOMA (SUM), MÉDIA(AVG), MÁXIMO(MAX), MÍNIMO(MIN) e CONTAR(COUNT).
Exemplos: Considerando a relação: R1 (C1, C2,C3), o agrupamento pode ser aplicado da seguinte maneira: C1 ? C1, SUM(C2) (R1) Expressão a ser resolvida conforme os passos a seguir: As tuplas da relação R1 são particionadas em grupos, conforme o valor de C1. Ou seja, as tuplas que possuírem o mesmo valor em C1 serão reunidas em um grupo. Caso não exista coluna informada na lista de colunas agrupadoras, apenas um grupo com todas as tuplas da relação é formado. Para cada grupo, uma nova tupla é produzida. Caso nenhuma coluna projetada ou função tenha sido informada, a tupla será composta apenas pelos valores resultantes do agrupamento. Caso contrário, a nova tupla será composta por: As colunas projetadas. A aplicação das funções agrupadoras ao grupo. No exemplo, para cada grupo, a coluna C2 será somada, produzindo o valor da nova tupla. Outros exemplos: C3 ? (R1) Produz uma nova relação agrupando os valores da coluna C3. ? MAX(C3) (R1) Produz uma nova relação com apenas uma tupla, contendo o maior valor da coluna C3. C1 ? C1, SUM(C3)->SOMA (R1) Produz uma nova relação a partir do agrupamento das tuplas a partir da coluna C1, contento a coluna C1 e o resultado da soma da coluna C3 renomeado para SOMA.

quinta-feira, 10 de setembro de 2009

Modelo Relacional

1) Explique conceitualmente a diferença entre o MER e o Modelo de Dados Relacional, ou simplesmente Modelo Relacional (MRel).
O MER é um modelo de dados conceitual de alto-nível. Assim, os conceitos do MER foram projetados para serem compreensíveis a usuários, descartando detalhes de como os dados são armazenados. Atualmente, o MER é usado principalmente durante o processo de projeto da base de dados. Existem expectativas para que uma classe de SGBD’s baseados diretamente no MER esteja disponível no futuro. O MREL representa dados e relacionamentos por um conjunto de tabelas. Cada uma tendo um número de colunas com nomes únicos.

2) Explique os conceitos de Instância, Esquema e Domínio no MRel. Explique as notações no MRel.
A coleção de informações armazenadas no banco de dados em um dado momento é chamada de instância do BD. A descrição (projeto geral) do BD é chamada de esquema, e esta não muda com freqüência. Muitas instâncias podem corresponder a um esquema particular.

3) Explique os conceitos de super-chave, chave candidata e chave estrangeira.
Uma super-chave é um conjunto de um ou mais atributos que, tomado coletivamente, permite-nos identificar unicamente uma entidade no conjunto de entidades. Por exemplo: o atributo cpf do conjunto de entidades cliente é suficiente para distinguir uma entidade de cliente das outras. Assim, cpf é uma super-chave. O conceito de super-chave não é suficiente. Se K é uma super-chave, então qualquer super-conjunto de K também será. Exemplo: cpf e nome.
Chaves Candidatas é qualquer super-chave que não tenha um subconjunto próprio como uma outra super-chave. É possível que diversos conjuntos distintos de atributos possam servir como uma chave candidata. Suponha que uma combinação de nome e rua seja suficiente para distinguir entre membros do conjunto de entidades cliente. Então ambos, {cpf} e {nome, rua}, são chaves candidatas. Embora os atributos cpf e nome juntos possam formar uma super-chave para cliente, esta combinação não forma uma chave candidata, uma vez que o atributo cpf sozinho é uma chave candidata.

4) Explique o conceito de integridade no MRel.
As restrições de chave e de integridade de entidade aplicam-se apenas a relações individuais. A restrição de integridade referencial é uma restrição que é especificada entre duas relações e é usada para manter a consistência entre tuplas de duas relações.Informalmente, a restrição de integridade referencial estabelece que um tupla de uma relação que se refere à outra relação deve se referir a uma tupla existente naquela relação. Não existe uma representação formal para chave estrangeira. Normalmente, identifica-se um arco direto de cada chave estrangeira à relação que ela faz referência.

5) Explique o conceito de integridade referencial no MRel.
Informalmente, a restrição de entidade referencial declama que uma tupla em uma relação, que faz referência a outra relação, deve se referir a uma tupla existente nessa relação. O conceito de Integridade Referencial depende do conceito de Chave Estrangeira.

6) Explique os conceitos de Intenção e Extensão no MRel. Quais são as operações de atualização sobre relações?
Foi introduzido por Codd (1970). Tornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance. É um modelo formal, baseado na teoria matemática das relações. Um dos SGBD's precursores que implementaram este modelo foi o System R (IBM). Baseado em seus conceitos surgiram: DB2 (IBM), SQL-DS (IBM), Oracle, Informix, Ingres, Sybase entre outros. Intenção da relação -> Esquema da Relação RExtensão da relação -> Estado da relação r(R). Não há ordenamento de tuplas de uma relação (diferentemente de um arquivo). Ordenamento de valores dentro de uma tupla n-tupla -> lista ordenada de n valores (ordem é importante na definição) Em nível lógico -> ordem não é importante, se houver correspondência entre atributo e valor Outra definição para relação: Um esquema da relação R(A1, A2,..., An) é um conjunto de atributos.

quinta-feira, 3 de setembro de 2009

Diagrama de Entidade e Relacionamento

1) Cadatro nacional de veículos:

Você apresentará um modelo de dados para o cadastro nacional de veículos. Sabe-se que:
  • O veículo possui sempre uma placa única em todo o país;
  • O veículo possui sempre um responsável legal por ele. É necessário manter o histórico desta responsabilidade (propriedade);
  • O veículo pertence sempre a uma categoria;
  • O veículo é sempre de uma marca e de um modelo e possui ano de fabricação.








2) Biblioteca:

Você irá elaborar um modelo de dados para atender as necessidades de informação de uma biblioteca universitária. São elas:

O cadastro dos usuários com endereço completo, inclusive com a informação do curso do usuário e data de início e de término previsto;

O cadastro das obras da biblioteca, com a devida classificação: livros científicos, periódicos científicos, periódicos informativos, periódicos diversos, entretenimento, etc.;

A língua em que encontra-se a obra;

A mídia onde encontra-se a obra;

Os autores da obra com o controle da nacionalidade do autor;

As editoras dos exemplares com o ano de edição;

Os usuários estão classificados entre alunos, professores e funcionários, sendo que para os professores não serão considerados limites de volumes para empréstimos, nem possíveis atrasos na devolução destes.

O histórico dos empréstimos.















3) Controle de estoque:

Uma empresa do comércio varejista, deseja fazer o controle de estoque de seu estabelecimento. Para facilitar a administração do seu estoque, a organização criou uma estrutura de almoxarifados, onde um produto pode ser estocado em vários almoxarifados e um almoxarifado pode conter vários produtos. A reposição de estoque acontece quando os produtos adquiridos de um fornecedor chegam com sua respectiva nota fiscal de compra. Já a baixa do estoque se dá quando ocorre a emissão de uma nota fiscal de venda para um determinado cliente. Além disso, deseja-se classificar os produtos em linhas a serem determinadas pelo usuário de acordo com a sua necessidade.





















4) Empresa de flores:

A X.P.T.O LTDA. criou a FLOWERNET, uma rede que tem como objetivo atender todo o mercado nacional no que diz respeito à venda e entrega de flores. Através desta rede, um cliente pode fazer uma compra de flores em Belo Horizonte e pedir para a entrega ser feita em Fortaleza. Para isso a X.P.T.O firmou convênio com várias floriculturas em várias cidades do Brasil. Uma floricultura pode atender várias cidades da região. O pedido do cliente, que pode possuir vários tipos de flores, é cadastrado e repassado para uma das floriculturas conveniadas que atendem a cidade, na qual será entregue o pedido.

























5) Apuração eleitoral:

Para facilitar o processamento da apuração eleitoral da eleição municipal a ser realizado nesse ano, o TRE (Tribunal Regional Eleitoral) resolveu informatizar esse processo. Sabe-se que cada localidade é dividida em várias zonas eleitorais que, por sua vez, são divididas em várias seções nas quais os eleitores estão vinculados. O candidato a um cargo público deve estar vinculado a um único partido político. Vale ressaltar que, segundo a legislação vigente, o voto é secreto.


















6) Concurso público:

Uma organização deseja implementar o procedimento de concurso público para tornar transparente o seu processo de seleção de pessoal. Esta organização possui vários departamentos, que por sua vez, possui vários cargos. O mesmo cargo pode estar vinculado à vários departamentos. Um concurso público é realizado para vários cargos, e um cargo pode ser oferecido em vários concursos. O candidato faz inscrição em somente um cargo oferecido em um concurso público. O concurso tem várias etapas, que tem a participação de vários candidatos. O candidato obtém a nota em cada etapa que participa. A etapa pode ser classificatória ou eliminatória.


Modelo Entidade Relacionamento

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

O MER é um modelo de dados conceitual de alto-nível. Assim, os conceitos do MER foramprojetados para serem compreensíveis a usuários, descartando detalhes de como os dadossão armazenados. Atualmente, o MER é usado principalmente durante o processo de projeto da base de dados.Existem expectativas para que uma classe de SGBD’s baseados diretamente no MER estejadisponível no futuro.

Definição: modelo baseado na percepção do mundo real, que consiste em um conjunto de objetos básicos chamados entidades e nos relacionamentos entre esses objetos.

Objetivo: facilitar o projeto de banco de dados, possibilitando a especificação da estrutura lógica geral do banco de dados.


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

Uma entidade é uma representação de um conjunto de informações sobre determinado conceito do sistema. Toda entidade possui ATRIBUTOS, que são as informações que referenciam a entidade. No exemplo de uma biblioteca podemos ter:

Entidades: Usuário, Livro, Empréstimo.

Relacionamentos: Usuário - Empréstimo, Livro - Empréstimo.


3) Explique e comente o conceito de relacionamento.

Relacionamento é estrutura que indica a associação de elementos de duas ou mais entidades.


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

Chave é um conjunto de um ou mais atributos que, tomados coletivamente, permite-nos identificar unicamente uma entidade no conjunto-entidade. Integridade de entidade quer dizer que nenhum atributo que participe da chave de um conjunto-entidade deve aceitar valores nulos. A questão fundamental do projeto de chaves é reduzir ao máximo os efeitos de redundância, a alteração dos valores de campos constituintes da chave primária ou a remoção de uma entidade de um conjunto de entidade pode ocasionar problemas de integridade referencial.


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

É um modelo em rede que descreve a diagramação dos dados armazenados de um sistema em alto nível de abstração. É usado para representar o modelo conceitual do negócio. É bem usado 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.


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

A abaixo ilustra um DER para o esquema da base de dados COMPANHIA. Os tipos deentidades tais como EMPREGADO, DEPARTAMENTO e PROJETO são mostrados em retângulos. Tipos de relacionamentos tais como TRABALHA-PARA, GERENCIA, CONTROLA e TRABALHA-EM são mostrados em losângulos interligados a tipos de entidades participantes. Atributos são mostrados em elipses conectadas a tipos de entidades ou relacionamentos. Os componentes de um atributo composto são também representados em elipses, porém conectadas ao atributo o qual ele pertence (atributo Nome de EMPREGADO). Atributos multivalorados são denotados em elipses com linhas duplas (atributo Localização de DEPARTAMENTO). Os atributos-chaves são sublinhados. Atributos derivados em elipses com linhas tracejadas (atributo NumeroDeEmpregados de DEPARTAMENTO). Os tipos de entidades-fracas são distinguidos por retângulos com linhas duplas e os relacionamentos de identificação por losângulos com linhas duplas (tipo de entidade-fracaDEPENDENTE e tipo de relacionamento de identificação DEPENDENTE-DE). A chave-parcialde um tipo de entidade-fraca é sublinhada com linha tracejada.

quinta-feira, 20 de agosto de 2009

Introdução a Banco de Dados

1 - O que é e como funciona o armazenamento de dados em arquivo? (criação, utilização, vantagens e problemas).
Banco de Dados: é uma coleção de dados interrelacionados, representando informações sobre um domínio específico. Exemplos: lista telefônica, controle do acervo de uma
biblioteca, sistema de controle dos recursos humanos de uma empresa.
Vantagens: rapidez na manipulação e no acesso à informação, redução do esforço humano desenvolvimento e utilização), disponibilização da informação no tempo necessário, controle integrado de informações distribuídas fisicamente, redução de redundância e de inconsistência de informações, compartilhamento de dados, aplicação automática de restrições de segurança, redução de problemas de integridade.
Desvantagens : Sem dispositivos de controle adequados, a segurança pode ficar comprometida; por exemplo, no caso de acesso não autorizado a dados. A integridade das informações pode ser comprometida se não houver mecanismos de controle; por exemplo no caso de manipulação concorrente de dados. A operação do sistema de banco de dados e o desenvolvimento de aplicações precisam ser feitos com muita precisão para evitar que informações não correspondam à realidade. A administração do sistema de banco de dados pode se tornar muito complexa em ambientes distribuídos, com grande volume de informações manipuladas por uma grande quantidade de usuários.

2 - O que é e como funcionam os SGBD? Explique a evolução dos arquivos, passando pelo BD até SGBD.
Sistema de Gerenciamento de Bancos de Dados (SGBD): é um software com recursos específicos para facilitar a manipulação das informações dos bancos de dados e o desenvolvimento de programas aplicativos. Exemplos: Oracle, Ingres, Paradox*, Access*, DBase*.
Os sistemas de banco de dados são projetados para gerenciar grandes grupos de informações. O gerenciamento de dados envolve a definição de estruturas para armazenamento de informação e o fornecimento de mecanismos para manipulá-las. Além disso, o sistema de banco de dados precisa fornecer segurança das informações armazenadas, caso o sistema dê problema, ou contra tentativas de acesso não-autorizado. Se os dados devem ser divididos entre diversos usuários, o sistema precisa evitar possíveis resultados anômalos.
Em 1970 um pesquisador da IBM - Ted Codd levou a IBM a montar um grupo de pesquisa conhecido como System R (Sistema R). O projeto do Sistema R era criar um sistema de banco de dados relacional o qual eventualmente se tornaria um produto. Os primeiros protótipos foram utilizados por muitas organizações, tais como MIT Sloan School of Management (uma escola renomada de negócios norte-americana). Novas versões foram testadas com empresas aviação para rastreamento do manufaturamento de estoque. Eventualmente o Sistema R evoluiu para SQL/DS, o qual posteriormente tornou-se o DB2.
O primeiro sistema de banco de dados construído baseado nos padrões SQL começaram a aparecer no início dos anos 80 com a empresa Oracle através do Oracle 2 e depois com a IBM através do SQL/DS, servindo como sistema e repositório de informações de outras empresas. O software de banco de dados relacionais foi sendo refinado durante a década de 80, devido ao desenvolvimento de sistemas para novas indústrias e ao aumento do uso de computadores pessoais e sistemas distribuídos.
Desde sua chegada, os bancos de dados têm tido aumento nos dados de armazenamento, desde os 8 MB (Megabytes) até centenas de Terabytes de dados em listas de e-mail, informações sobre consumidores, sobre produtos, vídeos, informações geográficas, etc. No início de 1990, temos a aparição do primeiro Sistema de Gerenciamento de Banco de Dados Orientado a Objetos, através da companhia Objectivity. Isso permitiu com que usuários criassem sistemas de banco de dados para armazenar resultados de pesquisas como o CERN (maior laboratório que trabalha com partículas físicas em pesquisas nucleares - europeu) e SLAC (Centro de Aceleração Nuclear - norte-americano), para mapeamento de rede de provedores de telecomunicações e para armazenar registros médicos de pacientes em hospitais, consultórios e laboratórios.

3 - Quais são os tipos de conexão existentes com BD? Explique-as.
Existem 5 tipos de conexões, que serão explicadas abaixo.
DML - Linguagem de Manipulação de Dados
Primeiro há os elementos da DML (Data Manipulation Language - Linguagem de Manipulação de Dados). A DML é um subconjunto da linguagem usada para inserir, atualizar e apagar dados.
* INSERT é usada para inserir um registro (formalmente uma tupla) a uma tabela existente.
* UPDATE para mudar os valores de dados em uma ou mais linhas da tabela existente.
* DELETE permite remover linhas existentes de uma tabela.
DDL - Linguagem de Definição de Dados
O segundo grupo é a DDL (Data Definition Language - Linguagem de Definição de Dados). Uma DDL permite ao utilizador definir tabelas novas e elementos associados. A maioria dos bancos de dados de SQL comerciais tem extensões proprietárias no DDL.
Os comandos básicos da DDL são poucos
* CREATE cria um objeto (uma Tabela, por exemplo) dentro da base de dados.
* DROP apaga um objeto do banco de dados.
Alguns sistemas de banco de dados usam o comando ALTER, que permite ao usuário alterar um objeto, por exemplo, adicionando uma coluna a uma tabela existente.
outros comandos DDL:
* ALTER TABLE
* CREATE INDEX
* ALTER INDEX
* DROP INDEX
* CREATE VIEW
* DROP VIEW
DCL - Linguagem de Controle de Dados
O terceiro grupo é o DCL (Data Control Language - Linguagem de Controle de Dados). DCL controla os aspectos de autorização de dados e licenças de usuários para controlar quem tem acesso para ver ou manipular dados dentro do banco de dados.
Duas palavras-chaves da DCL:
* GRANT - autoriza ao usuário executar ou setar operações.
* REVOKE - remove ou restringe a capacidade de um usuário de executar operações.
outros comandos DCL:
* ALTER PASSWORD
* CREATE SYNONYM
DTL - Linguagem de Transação de Dados
* BEGIN WORK (ou START TRANSACTION, dependendo do dialeto SQL) pode ser usado para marcar o começo de uma transação de banco de dados que pode ser completada ou não.
* COMMIT envia todos os dados das mudanças permanentemente.
* ROLLBACK faz com que as mudanças nos dados existentes desde que o último COMMIT ou ROLLBACK sejam descartadas.
COMMIT e ROLLBACK interagem com áreas de controle como transação e locação. Ambos terminam qualquer transação aberta e liberam qualquer cadeado ligado a dados. Na ausência de um BEGIN WORK ou uma declaração semelhante, a semântica de SQL é dependente da implementação.
DQL - Linguagem de Consulta de Dados
Embora tenha apenas um comando, a DQL é a parte da SQL mais utilizada. O comando SELECT permite ao usuário especificar uma consulta ("query") como uma descrição do resultado desejado. Esse comando é composto de várias cláusulas e opções, possibilitando elaborar consultas das mais simples às mais elaboradas.

4 - Quais são os modelos de dados existentes? Explique-os.
Modelo de dados de alto nível: o modelo de dados de alto nível apresenta as entidades e seus relacionamentos, em alto nível de abstração
Modelo de dados de nível intermediário: o modelo de dados de nível intermediário é criado a partir do modelo de alto nível após ser identificada cada uma das áreas de interesse ou entidades de modelagem. Para cada área de interesse, é desenvolvido um nível intermediário próprio.
Modelo de dados de baixo nível: o modelo de dados de baixo nível é também conhecido por modelo físico de dados. É criado a partir do modelo de nível intermediário, fazendo com que ele possua chaves e características específicas, ou seja, é criado a partir da expansão do modelo de nível intermediário. È nesse ponto que o modelo precisa ser alterado a fim de melhorar a performance.

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).
Os projetos Lógicos e funcional do Banco de Dados devem prever o volume de informações que serão armazenadas a curto, médio e longo prazo.
Generalidade e alto grau de abstração de dados, para que seja confiável e eficiente no armazenamento de dados. Flexibilidade para suportar diferentes gerenciadores de dados através de linguagens de consultas padronizadas
Projeto compatível com várias plataformas (UNIX, Windows NT)
Projeto de interface ágil
Independência de implementação da interface em relação aos SGBDs que darão condições as operações de armazenamento de infromações (Oracle, Padrão Xbase)
Conversão de mapeamento da diferença semântica entre paradigmas utilizados em seu desenvolvimento de interfaces (Procedural, Orientado a Objeto), servidores de dados (Relacional) e programação dos aplicativos.

6 - Quais são as arquiteturas de SGBD’s? Explique-as.
- Banco de Dados PostgreSQL
O sistema gerenciador de banco de dados PostgreSQL teve seu início na Universidade de Berkeley, na Califórnia, em 1986. Na época, um programador chamado Michael Stonebraker liderou um projeto para a criação de um servidor de banco de dados relacionais chamado Postgres, oriundo de um outro projeto da mesma instituição denominado Ingres. Essa tecnologia foi então comprada pela Illustra, empresa posteriormente adquirida pela Informix. Porém, mesmo diante disso, dois estudantes de Berkeley (Jolly Chen e Andrew Yu) compatibilizaram o Postgres à linguagem SQL. Este projeto recebeu o nome de Postgres95.
Em 1996, quando o projeto estava estável, o banco de dados recebeu o nome de PostgreSQL. No entanto, enquanto ainda possuía o nome Postgres95, o banco de dados teve várias mudanças. O seu código foi totalmente revisado e a linguagem SQL foi definida como padrão.
Tecnicamente falando, o PostgreSQL é um banco de dados relacional e orientado a objetos. Um de seus atrativos é possuir recursos comuns a banco de dados de grande porte, o que o deixa apto a trabalhar, inclusive, com operações de missão crítica. Além disso, trata-se de um banco de dados versátil, seguro, gratuito e de código aberto (disponível sob uma licença BSD).
Entre suas características, tem-se:
- Compatibilidade multi-plataforma, ou seja, executa em vários sistema operacionais, como Windows, Mac OS X, Linux e outras variantes de Unix;
- Compatibilidade com várias linguagens, entre elas, Java, PHP, Python, Ruby, e C/C++;
- Base de dados de tamanho ilimitado;
- Tabelas com tamanho de até 32 TB;
- Quantidade de linhas de até 1.6 TB ilimitada;
- Campos de até 1 GB;
- Suporte a recursos como triggers, views, stored procedures, SSL, MVCC, schemas, transactions, savepoints, referential integrity e expressões regulares;
- Instruções em SQL, como indica o nome.
- Banco de Dados MySQL
O MySQL é um dos sistemas de gerenciamento de banco de dados mais populares que existe e, por ser otimizado para aplicações Web, é amplamente utilizado na internet. É muito comum encontrar serviços de hospedagem de sites que oferecem o MySQL e a linguagem PHP, justamente porque ambos trabalham muito bem em conjunto.
Outro fator que ajuda na popularidade do MySQL é sua disponibilidade para praticamente qualquer sistema operacional, como Linux, FreeBSD (e outros sistemas baseados em Unix), Windows e Mac OS X. Além disso, o MySQL é um software livre (sob licença GPL), o que significa que qualquer um pode estudá-lo ou alterá-lo conforme a necessidade.
Entre as características técnicas do SGBD MySQL, estão:
- Alta compatibilidade com linguagens como PHP, Java, Python, C#, Ruby e C/C++;
- Baixa exigência de processamento (em comparação como outros SGBD);
- Vários sistemas de armazenamento de dados (batabase engine), como MyISAM, MySQL Cluster, CSV, Merge, InnoDB, entre outros;
- Recursos como transactions (transações), conectividade segura, indexação de campos de texto, replicação, etc;
- Instruções em SQL, como indica o nome.
Em relação à versão 4.0, houve acréscimo de vários recursos e melhorias importantes, como:
- Triggers;
- Stored procedures;
- Sub-selects;
- Suporte total ao Unicode;
- INFORMATION_SCHEMA (para armazenamento do dicionário de dados);
- Server side cursors;
- Suporte a SSL;
- Melhoria no tratamento de erros.
O MySQL surgiu na Suécia pelas mãos de três colegas: Allan Larsson, David Axmark e Michael Monty Widenius. Trabalhando com base de dados, eles sentiram a necessidade de fazer determinadas conexões entre tabelas e usaram o mSQL para isso. Porém, não demorou para perceberem que essa ferramenta não lhes atendia conforme o necessário e passaram a trabalhar em uma solução própria. Surgia então o MySQL, cuja primeira versão foi lançada no ano de 1996.
Um fato importante a ser destacado sobre o MySQL é que esse SGBD também possui uma licença comercial, isto é, paga. Neste caso, é possível obter suporte diferenciado dos desenvolvedores.
Vale ressaltar também que, em fevereiro de 2008, o MySQL foi comprado pela Sun Microsystems, que pagou a quantia de 1 bilhão de dólares pela aquisição.

Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é uma linguagem de pesquisa declarativa para banco de dados relacional (base de dados relacional). Muitas das características originais do SQL foram inspiradas na álgebra relacional.
A linguagem SQL é um grande padrão de banco de dados. Isto decorre da sua simplicidade e facilidade de uso. Ela se diferencia de outras linguagens de consulta a banco de dados no sentido em que uma consulta SQL especifica a forma do resultado e não o caminho para chegar a ele. Ela é um linguagem declarativa em oposição a outras linguagens procedurais. Isto reduz o ciclo de aprendizado daqueles que se iniciam na linguagem.
Com a linguagem SQL é possível:
-Criar, alterar e remover todas as componentes de uma base de dados, como tabelas, índices, views, etc.;
-Inserir, alterar e apagar dados;
-Interrogar a base de dados;
-Controlar o acesso dos utilizadores à base de dados, e às operações a que cada um deles tem acesso;
-Obter a garantia da consistência e integridade dos dados;
A linguagem SQL é composta por vários conjuntos de comandos:
DDL (Data Definition Language): comandos para definir ou modificar a composição das tabelas, apagar tabelas, criar índices, definir “views”, especificar direitos de acesso a tabelas e views;
DML
o (interactive Data Manipulation Language): inclui uma linguagem de consulta baseada em álgebra relacional e em cálculo relacional sobre registos; inclui também comandos para inserir, apagar e modificar registros na base de dados;
o (embedded Data Manipulation Language): projectada para ser usada a partir de linguagens de programação de uso geral, da 3ª geração;
As novas versões de SQL incluem capacidades de verificação de integridade dos dados, bem como comandos para especificação do princípio e fim de transações; algumas implementações permitem o impedimento explícito de acesso aos dados, para controle de acesso concorrencial.
- Banco de Dados Oracle
Oracle é um sistema de banco de dados que surgiu no final dos anos 70, quando Larry Ellison vislumbrou uma oportunidade que outras companhias não haviam percebido, quando encontrou uma descrição de um protótipo funcional de um banco de dados relacional e descobriu que nenhuma empresa tinha se empenhado em comercializar essa tecnologia. Ellison e os co-fundadores da Oracle Corporation, Bob Miner e Ed Oates, perceberam que havia um tremendo potencial de negócios no modelo de banco de dados relacional tornando assim a maior empresa de software empresarial do mundo. Com faturamento anual superior a 10,8 bilhões de dólares, a empresa oferece seus produtos de bancos de dados, ferramentas e aplicativos, bem como serviços relacionados de consultoria, treinamento e suporte. A tecnologia Oracle pode ser encontrada em quase todos os setores do mundo inteiro e nos escritórios de 98 das empresas citadas na lista da Fortune 100.
O Oracle 9i foi pioneiro no suporte ao modelo web. O Oracle 10g, mais recente, se baseia na tecnologia de grid. Recentemente fora lançado o Oracle 11g que veio com melhorias em relação ao Oracle 10g.
Além da base de dados, a Oracle desenvolve uma suíte de desenvolvimento chamada de Oracle Developer Suite, utilizada na construção de programas de computador que interagem com a sua base de dados.
A Oracle também criou a linguagem de programação PL/SQL, utilizada no processamento de transações.
Além das diferentes versões do software de gerenciamento de banco de dados Oracle, a Oracle Corporation subdivide seu produto em "edições" variáveis - aparentemente por razões de marketing e controle de licenças.
* Enterprise Edition (EE) inclue mais funcionalidades que a 'Standard Edition', especialmente nas áreas de performance e segurança. A Oracle Corporation licensia este produto na base de usuários ou de processadores, normalmente para servidores com 4 ou mais UCPs. EE não tem limite de memória e pode utilizar clusterização usando o software Oracle RAC.
* Standard Edition (SE) contem a a funcionalidade básica de banco de dados. A Oracle Corporation licensia este produto na base de usuários ou de processadores, normalmente para servidores com um à quatro UCPs. Se o número de UCPs exceder 4, o usuário deve migrar para a licensa Enterprise. SE não possui limite de memória e pode utilizar clusterização com o Oracle RAC sem custo adicional.
* Standard Edition One, introduziado com o Oracle 10g, possui algumas restrições de funcionalidades adicionais. A Oracle Corporation comercializa-o para uso em sistemas com uma ou duas UCPs. Ela não possui limitações de memória.
* Express Edition ('Oracle Database XE'), introduziada em 2005, oferece o Oracle 10g livre para distribuição nas plataformas Windows e Linux (com uma limitação de apenas 150 MB e restrita ao uso de apenas uma UCP, um máximo de 4 GB de dados de usuário e 1 GB de memória). O suporte para esta versão é feito exclusivamente através de fóruns on-line, sem o suporte da Oracle.
* Oracle Personal Edition fornece a funcionalidade de "alto fim" da Enterprise Edition mas é comercializada (e licenciada) para desenvolvedores específicos que trabalham em estações de trabalho pessoais.
* Oracle Database Lite, destinada para rodar em dispositivos móveis. O banco de dados, localizado parcialmente no dispositivo móvel, pode sincronizar com uma instalação baseada em servidor.
- Banco de Dados MS SQL
O MS SQL Server é um SGBD - sistema gerenciador de Banco de dados relacional criado pela Microsoft. Com a nova versão o Microsoft SQL Server 2008 é fornecida uma plataforma de dados confiável, produtiva e inteligente que permite que você execute suas aplicações de missão crítica mais exigentes, reduza o tempo e o custo com o desenvolvimento e o gerenciamento de aplicações e entregue percepção que se traduz em ações estratégicas em toda sua organização.O SQL É um Banco de dados robusto e usado por sistemas corporativos dos mais diversos portes.
Principais Recursos do SQL Server 2008
O Microsoft SQL Server 2008 fornece uma plataforma confiável de dados que permite que a execução de aplicações de missão crítica mais exigentes.
O SQL permite a encriptação de um banco de dados inteiro, arquivos de dados ou arquivos de log, com necessidade de mudanças nas aplicações. Os benefícios dessa encriptação incluem: consultas de dados encriptados usando consultas em série ou associadas, proteger os dados de consultas de usuários não autorizados e encriptação de dados sem requerer qualquer mudança nas aplicações existentes.
* Gerenciamento de Chave Extensível: O SQL Server 2005 fornece uma solução abrangente para a encriptação e o gerenciamento de chaves. O SQL Server 2008 entrega uma solução ineficaz para essa crescente necessidade, dando suporte aos produtos HSM e ao gerenciamento de chave de terceiros.
* Auditoria: Cria e gerencia a auditoria via DDL, ao mesmo tempo em que simplifica a adequação, fornecendo dados de auditoria mais abrangentes. Isto permite que as empresas respondam perguntas como “Quais dados foram recuperados?”

Baixe o arquivo da postagem aqui