quarta-feira, 19 de agosto de 2009

Introdução à Banco de Dados

MER - 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 modelo Entidade-Relacionamento é um modelo de dados conceitual de alto nível, cujos conceitos foram projetados para estar o mais próximo possível da visão que o usuário tem dos dados, não se preocupando em representar como estes dados estarão realmente armazenados. O modelo ER é utilizado principalmente durante o processo de projeto de banco de dados.Tem como objetivo facilitar o projeto de bancos 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


O objeto básico que o MER representa é a entidade. Uma entidade é algo do mundo real que possui uma existência independente. Uma entidade pode ser um objeto com uma existência física - uma pessoa, carro ou empregado - ou pode ser um objeto com existência conceitual - uma companhia, um trabalho ou um curso universitário. Cada entidade tem propriedades particulares, chamadas atributos, que o descrevem. Por exemplo, uma entidade empregada pode ser descrita pelo seu nome, o trabalho que realiza idade, endereço e salário. Uma entidade em particular terá um valor para cada um de seus atributos. Os valores de atributos que descrevem cada entidade ocupam a maior parte dos dados armazenados na base de dados.


3-)Explique e comente o conceito de relacionamento


Tipo e Instância de Relacionamento: Um tipo de relacionamento R entre n tipos de entidades E1, E2,..., En é um conjunto de associações entre entidades desses tipos. Diz-se que cada entidade E1, E2,..., En. Participa no tipo de relacionamento R e que as entidades individuais e1, e2,..., en participam na instância do relacionamento ri= (e1, e2,..., en). O índice i indica que podem existir várias instâncias de relacionamento.

Por exemplo, considere-se que um tipo de relacionamento trabalha - para exista entre tipos de entidades empregado e departamento,. Este relacionamento associa cada empregado com o departamento em que o empregado trabalha. Cada instância de relacionamento em trabalha para associa uma entidade empregado e uma entidade departamento.


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


Atributo-Chave de um Tipo de Entidade: Uma restrição importante sobre entidades de um tipo de entidade é a restrição de atributo-chave ou unicidade. Um tipo de entidade tem, normalmente, atributos cujos valores são distintos para cada entidade. Tal atributo é chamado atributo-chave, e seu valor podem ser usados para identificar cada entidade unicamente. Algumas vezes, um conjunto de atributos podem formar uma chave. Nestes casos, os atributos podem ser agrupados em um atributo composto, que virá a ser um atributo-chave do tipo de entidade.

A especificação de um atributo-chave para um tipo de entidade significa que a propriedade de unicidade deve valer para quaisquer extensões deste tipo de entidade. Assim, esta restrição proíbe que duas entidades tenham, simultaneamente, o mesmo valor para o atributo-chave, alguns tipos de entidades podem ter mais que um atributo-chave.


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


DER para o esquema da base de dados companhia. Os tipos de entidades 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 à tipos de entidades participantes. Atributos são mostrados em elipses conectadas à tipos de entidades ou relacionamentos. Os componentes de um atributos 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 numero de empregados de departamento).


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




Representa o nome das memórias que foram criadas, como aluno, disciplina, etc. Uma entidade (M.E) possui um conjunto de atributos que a compõem. Esses atributos correspondem aos campos dispostos na M.E. Esses atributos possuem pseudônimos para facilitar a fase de programação, como por exemplo:

Código do alunoCod_alu

Registro acadêmico do aluno→Ra_alu



Representa relacionamento entre as M.Es. O nome colocado no relacionamento será um verbo e ou abreviaturas entre as entidades relacionadas.

Relacionamento representa alguma coisa que deve ser recordada pelo sistema. Algo que não pode ser calculado.

Pode haver mais de um relacionamento entre objetos (Tabelas). Múltiplos relacionamentos.




Introdução à 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 estrutura de dados inter-relacionados, que possibilita uma organização e reorganização do mesmo, representando informações sobre um domínio específico.

È utilizado, por exemplo, em uma lista telefônica, controle do acervo de uma biblioteca, sistema de controle dos recursos humanos de uma empresa. As principais vantagens são: rapidez na manipulação e o acesso à informação, redução do esforço humano, compartilhamento de dados, disponibilização da informação no tempo necessário, redução de problemas de integridade. As principais desvantagens são:

Sem dispositivos de controle adequados, a segurança pode ficar comprometida; por exemplo, no caso de acesso não autorizado aos dados.

A integridade das informações pode ser comprometida se não houver mecanismo 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 SBGD? Explique a evolução dos arquivos, passando pelo BD até SGBD.


Um Sistema Gerenciador de Banco de Dados (SGBD), ou Sistema Gestor de Base de Dados (SGBD) é o conjunto de programas de computador (softwares) responsáveis pelo gerenciamento de uma base de dados. O principal objetivo é retirar da aplicação cliente a responsabilidade de gerenciar o acesso, manipulação e organização dos dados. O SGBD disponibiliza uma interface para que os seus clientes possam incluir, alterar ou consultar dados. Em bancos de dados relacionais a interface é constituída pelas APIs ou drivers do SGBD, que executam comandos na linguagem SQL.


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


A construção da linguagem é feita através da composição de cadeias de caracteres usualmente utilizando o
padrão SQL utilizado nos servidores de dados relacionais. Quando um acesso ao SGBD é
requerido, o programa estabelece uma conexão com o SGBD que está instalado no servidor.
Uma vez que a conexão é criada, o programa cliente pode se comunicar com o SGBD. Um
padrão chamado de Conectividade Base de Dados Aberta (Open DataBase Connectivity -
ODBC) provê uma Interface para Programação de Aplicações (API) que permite que os
programas no lado cliente possam chamar o SGBD, desde que as máquinas clientes como o
servidor tenham o necessário software instalado. Muitos vendedores de SGBDs disponibilizam
drivers específicos para seus sistemas. Desta maneira, um programa cliente pode se conectar
a diversos SGBDRs e enviar requisições de consultas e transações usando API, que são
processados nos servidores.


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


Modelo Hierárquico, primeiro reconhecido como modelo de dados, os dados são estruturados em arvores. O registro de hierarquia, precede de registro-pai, registro-filho, a ligação é a associação entre dois registros. Os dados hierárquico seguem uma seqüencia n ocaso hierárquico com navegação do topo para folhas e da esquerda para direita. Existe duas desvantagens:inconsistência de dados perante atualização e desperdício de espaço.do para

Modelo de Rede: É como uma extensão do modelo hierárquico, não usa o modo de hierarquia permitindo que um registro esteja ligado a varias associações usando o modo de organização em grafo.

Modelo relacional: revelando-se o mais flexível e adequado para solução de problemas o modelo relacional apareceu devido : aumento de independência de dados no sistemas gerenciadores de banco de dados; prover de um conjunto de funções apoiadas em álgebra relacional para armazenamento e recuperação de dados e permitir o processamento ad hoc¹. Com isso ele não possui caminhos pré definidos para acessar os dados como nos modelos de rede e hierárquico. Por isso existe algumas restrições para prevenir resultados indesejáveis como repetição de informação, incapacidade de representar parte da informação e perda de informação, sendo as restrições: integridade referencial, chaves, integridade de junções de relações.

Modelo orientado a objetos: Sistemas facilmente construídos usando tipos complexos de dados, porém necessitam guardar representações das estruturas de dados que eles usam no armazenamento permanente, quando os banco de dados orientados a objetos foram introduzidos algumas das falahas perceptíveis do modelo de dados relacional parecem ter sido solucionados com esta tecnologia e acreditava-se que os bancos de dados orientados a objetos serão usados em aplicações especializadas.

Sistemas objeto-relacionais: Ele tenta suprir a dificuldade dos sistemas relacionais convencionais, que é o de representar e manipular dados complexos, a solução proposta é a adição de facilidade para manusear tais dados utilizando facilidade SQL, foi adicionado extensões do tipo básico ao contexto SQL e outros ...

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ógico e Funcional 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;
• 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;
• Projeto de uma interface ágil e com uma " rampa ascendente" de aprendizado suave para o
usuário;
• Implementação de um projeto de interface compatível com múltiplas plataformas (UNIX,
Windows NT, Windows Workgroup, etc);
• Independência da Implementação da Interface em relação aos servidores de dados que
darão condições às operações de armazenamento de informações (ORACLE, SYSBASE,
INFORMIX, PADRÃO XBASE, etc).
• Conversão e mapeamento da diferença semântica entre os paradigmas utilizados no
desenvolvimento de interfaces (Imperativo, Orientado a Objeto, Orientado a evento),
servidores de dados

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


Plataformas centralizadas: Neste tipo de arquitetura existem computadores com uma grande capacidade de processar as informações por ser o Hospedeiro do SGBD ele fornece essas informações para os outros computadores usuários, a vantagem desse serviço é que se pode ter um grande número de usuários utilizando as informações dessa arquitetura, por outro lado a desvantagem fica encargo do alto custo dos equipamentos e são mais utilizados em ambientes especiais como mainframes e soluções centralizadas.

Sistemas de Computador Pessoal – PC: Neste tipo de arquitetura os computadores pessoais trabalham em um sistema denominado “stand-alone”, ou seja eles fazem seus processos sozinhos. Com a ajuda da evolução do hardware e a alta capacidade de processar informações os computadores de hoje podem muito bem servir como hospedeiros de aplicações com SGBD. A vantagem nesse tipo de arquitetura é a simplicidade e o baixo custo comparado a outros serviços.

Banco de Dados Cliente-Servidor: Neste tipo de arquitetura uma das mais comuns é onde o cliente(front_end)

executa as tarefas dos aplicativos através de uma interface com o usuário. Já o servidor(back_end) executa as consultas nos bancos e retorna os resultados. Mais para se fazer isso se faz necessário soluções de softwares que façam o tratamento de transações, os commits, os rollbacks, triggers etc.. a principal vantagem é o tráfego dividido reduzindo assim o tempo de processamento.

Banco de Dados Distribuídos (N camadas): Neste tipo de arquitetura a informação esta distribuida em vários servidores que atuam como Cliente-Servidor, porém as consultas são feitas por eles ao mesmo tempo. Caso se solicite uma informação que é mantida por outro servidor cabe ao sistema obter a informação correta e que fique claro para o usuário, sendo assim a aplicação é capaz de atuar na rede independente de conhecer ou não os seus servidores. A vantagem é que se pode ter vários sistemas acessando os servidores dos dados necessarios sem o conhecimento explícito de quais servidores dispõem desses dados