quinta-feira, 23 de agosto de 2012

MODELO RELACIONAL



MODELO RELACIONAL:
O modelo relacional apareceu devido às 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 hoc. O modelo relacional, tendo por base a teoria dos conjuntos e álgebra relacional, foi resultado de um estudo teórico realizado por CODD. O Modelo relacional revelou-se ser o mais flexível e adequado ao solucionar os vários problemas que se colocam no nível da concepção e implementação da base de dados. A estrutura fundamental do modelo relacional é a relação (tabela). Uma relação é constituída por um ou mais atributos (campos) que traduzem o tipo de dados a armazenar.
Cada instância do esquema (linha) é chamada de tupla (registro). O modelo relacional não tem caminhos pré-definidos para se fazer acesso aos dados como nos modelos que o precederam. O modelo relacional programa estruturas de dados organizadas em relações. Porém, para trabalhar com essas tabelas, algumas restrições precisaram ser impostas para evitar aspectos indesejáveis, 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 e integridade de junções de relações. 

MODELO ORIENTADA A OBJETO




MODELO ORIENTADA A OBJETO:
Os modelos de dados orientados são mais adequados para o tratamento de objetos complexos como textos, gráficos e imagens, e dinâmicos, como programas e simulações. O casamento entre as linguagens de programação e banco de dados é um dos problemas que estão sendo tratados de forma mais adequada no contexto de orientação a objetos. A habilidade para criar os tipos de dados necessários é uma característica das linguagens de programação orientadas a objetos.
Contudo, estes sistemas necessitam guardar representações das estruturas de dados que utilizam no armazenamento permanente. A estrutura padrão para os bancos de dados orientados a objetos foi feita pelo Object Database Management Group (ODMG). Esse grupo é formado por representantes dos principais fabricantes de banco de dados orientados a objeto disponíveis comercialmente. Membros do grupo têm o compromisso de incorporar o padrão em seus produtos. O termo Modelo Orientado a Objetos é usado para documentar o 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 pareceram ter sido solucionadas com esta tecnologia e acreditava-se que tais bancos de dados ganhariam grande parcela do mercado. Hoje, porém, acredita-se que os Bancos de Dados Orientados a Objetos serão usados em aplicações especializadas, enquanto os sistemas relacionais continuarão a sustentar os negócios tradicionais, onde as estruturas de dados baseadas em relações são suficientes. O diagrama de classes UML serve geralmente como o esquema para o modelo dedado orientado a objetos.  




MODELO HIERARQUICO




MODELO HIERÁRQUICO:
 Dados neste tipo de banco de dados estão hierarquicamente estruturados e é tipicamente diagramado como uma árvore invertida. Uma única tabela no banco de dados funciona como a "raiz" da árvore invertida e as  outras tabelas atuam como os ramos que fluem a partir da raiz.Um agente reserva diversos artistas, e cada artista tem sua própria programação. 
Um agente também mantém um número de clientes cujas necessidades de entretenimento são atendidas pelo agente. Um cliente reserva compromissos por meio do agente e faz os pagamentos ao agente por seus serviços. Banco de Dados – 3http://erinaldosn. wordpress.com. Uma relação num banco de dados hierárquico é representada pelo termo pai/filho. Neste tipo de relação, uma tabela pai pode ser associada com um ou mais tabelas filho, mas uma única tabela filho pode ser associada com apenas uma tabela pai. Estas tabelas são explicitamente ligadas através de um ponteiro ou pela disposição física dos registros dentro das tabelas. Um usuário acessa os dados dentro deste modelo, iniciando da tabela de raiz e trabalhando para baixo através da árvore para os dados de destino. Este método de acesso requer que o utilizador esteja muito familiarizado com a estrutura do banco de dados.
Uma vantagem de usar um banco de dados hierárquico é que um usuário pode obter dados muito rapidamente, porque existem ligações explícitas entre as estruturas de tabelas. Outra vantagem é que a integridade referencial é construída e automaticamente executada. Isso garante que um registro em uma tabela filho deve ser ligado a um registro existente em uma tabela pai, e que um registro excluído na tabela pai fará com que todos os registros associados na tabela filho para ser excluído. Em um banco de dados hierárquico ocorre problema quando um usuário precisa armazenar um registro em uma tabela filho que está alheio a qualquer registro em uma tabela pai. Por exemplo, um usuário não pode cadastrar um novo artista na tabela.Artistas até que o artista seja atribuído a um agente na tabela AGENTES. No entanto, na vida real, artistas comumente se inscrevem com a agência muito antes deles serem atribuídos a agentes específicos. Este cenário é difícil de modelar em um banco de dados hierárquico.Este tipo de banco de dados não pode suportar relacionamentos complexos, e há muitas vezes problema com dados redundantes. No Modelo de Dados Hierárquico, os registros são organizados como coleções de árvores, diferentemente do Modelo de Dados Rede que são representados com gráficos arbitrários, entretanto podemos dizer que a estrutura dos dois modelos é semelhante.
Um Diagrama de Estrutura de Árvore é o esquema para um banco de dados hierárquico. Este diagrama tem a mesma utilidade de um diagrama Entidade e Relacionamento, ou seja, ele especifica toda a estrutura lógica de um banco de dados.
Suas principais características são:
· Acesso aos dados se faz percorrendo as hierarquias, desde a raiz até os nodos que contém o registro pretendido;
· Grande desempenho no acesso sequencial de informações e a navegação na busca de dados é cima/baixo, esquerdo-direita;
· Limitações ao nível do acesso aleatório aos dados;
· Registro pai e registro filho têm relacionamento 1:N;
·Manipulação de dados do tipo record-oriented, isto é, qualquer acesso à base de dados envolve apenas um registro de cada vez (insere, altera, consulta ou remove um registro de cada vez).

MODELO DE REDE



MODELO DE REDE:

O modelo em redes surgiu como uma extensão ao modelo hierárquico, eliminando o conceito de hierarquia e permitindo que um mesmo registro estivesse envolvido em várias associações. No modelo em rede, os registros são organizados em grafos onde aparece um único tipo de associação (set) que define uma relação 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 de relatórios 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 (ou área) pudesse ser bloqueada para prevenir acessos simultâneos, quando necessário. A sintaxe da segurança permitia que uma senha fosse associada a 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 possibilita acesso a qualquer nó da rede sem passar pela raiz. No Modelo em Rede o sistema comercial mais divulgado é o CAIDMS da Computer Associates.
O diagrama para representar os conceitos do modelo em redes consiste em dois componentes básicos: Caixas, que correspondem aos registros e Linhas, que correspondem às associações. 
O Modelo de Dados de Rede difere do Modelo de Dados Relacional à medida que os dados são apresentados por uma coleção de registros e os relacionamentos entre dados são representados por meio de links, enquanto no Modelo Relacional, os dados e os relacionamentos entre dados são representados por meio de uma coleção de tabelas.
 As principais características são: 
· Eliminam o conceito de hierarquia, permitindo que um mesmo registro possua várias associações;
· Dados estão organizados em grafos, e não em árvores como no modelo hierárquico;
· Modelo em rede existe apenas um tipo de associação, que é o Set;
· Set define um relacionamento 1:M entre dois tipos de registro, o Owner e o Member; e
· Dado um Set a um Owner estão associados zero ou mais registros Member.