Protifolio Do 2º Semestre De ADS
Dissertações: Protifolio Do 2º Semestre De ADS. Pesquise 862.000+ trabalhos acadêmicosPor: 58627094 • 10/4/2013 • 2.430 Palavras (10 Páginas) • 911 Visualizações
SUMÁRIO
1 INTRODUÇÃO 3
2 DESENVOLVIMENTO 4
2.1 LISTAS LINEARES 4
2.1.1 FIFO (“FIRST IN FIRST OUT”) 4
2.1.2 FILO (“FIRST IN LAST OUT”) 5
2.1.3 TIPOS DE ALOCAÇÃO 6
2.2 TRANSAÇÕES EM BANCO DE DADOS – ACID 7
2.3 BANCO DE DADOS RELACIONAIS VERSUS PROGRAMAÇÃO ORIENTADA A OBJETOS 8
2.3.1 ORM (Object Relational Mapper) 8
2.3.2 HIBERNATE 9
2.4 HERANÇA E POLIFORMISMO 9
3 CONCLUSÃO 12
4 REFERÊNCIAS 13
INTRODUÇÃO
Esta produção textual interdisciplinar do 3º semestre do curso de Análise e Desenvolvimento de Sistemas tem como objetivo aplicar e exercitar os conteúdos assimilados no período abordando os diversos conceitos, técnicas e práticas das listas lineares (FIFO e FILO), alocações simplesmente encadeadas e duplamente encadeadas, conceitos de ACID de uma transação, ORM, herança e poliformismo, bem como a utilização de banco de dados relacional com a programação orientada a objetos.
DESENVOLVIMENTO
1 LISTAS LINEARES
Lista linear é a estrutura que permite representar um conjunto de dados afins, de forma a preservar a relação de ordem linear de seus elementos. É o conjunto de n ≥ 0 nós X1, X2, ... Xn, organizados estruturalmente de forma a refletir as posições relativas dos mesmos; se n > 0, então X1 é o primeiro nó; para 1 < k < n, o nó Xk é precedido pelo nó Xk-1 e seguido do Xk+1; temos também Xn como último nó e quando n = 0, diz-se que a lista é vazia.
Exemplos de listas lineares no cotidiano:
- Pessoas na fila de um banco;
- Pessoas esperando ônibus;
- Palavras de uma frase;
- Letras em uma palavra;
- Itens em estoque em uma empresa;
- Dias da semana;
- Cartas de baralho.
Exemplos de listas lineares em sistemas informatizados:
- Controle de documentos para impressão;
- Troca de mensagem entre computadores numa rede;
- Navegação entre páginas Web;
1 FIFO (“FIRST IN FIRST OUT”)
O primeiro elemento que entrou é o primeiro a sair. Cada elemento armazena um ou vários dados (estrutura homogênea ou heterogênea) e um ponteiro para o próximo elemento, permitindo o encadeamento e a linearidade. Temos as seguintes operações nesta estrutura: inserir na fila, consultar toda a fila, remover e esvaziá-la. Nas filas as remoções acontecem no ponteiro INICIO e as inserções no ponteiro FIM. Analogicamente, imaginemos uma fila de espera de um banco qualquer, todo cliente que chega é posicionado ao final da fila, e o primeiro a ser atendido sempre será o primeiro desta fila de espera.
[pic]
Figura 1 – esquema de funcionamento de uma fila FIFO
Fonte: ASCENSIO, Estrutura de Dados, pág. 191 e 192
2 FILO (“FIRST IN LAST OUT”)
O último elemento que entrou é o primeiro a sair. Cada elemento armazena um ou vários dados (estrutura homogênea ou heterogênea) e um ponteiro para o próximo elemento, permitindo o encadeamento e a forma linear. Temos as seguintes operações nesta estrutura: inserir na pilha, consultar toda a pilha, remover e esvaziá-la. Nas pilhas as remoções e inserções acontecem num único ponto, o TOPO. Analogicamente, pensemos numa pilha de pratos, onde um novo prato será sempre colocado no topo da pilha; para retirarmos um prato, escolhemos o do topo, ou seja, o último prato inserido.
[pic]
Figura 2 – esquema de funcionamento de uma pilha FILO
Fonte: ASCENSIO, Estrutura de Dados, pág. 185
3 TIPOS DE ALOCAÇÃO
SIMPLESMENTE ENCADEADAS
Uma lista simplesmente encadeada é uma sucessão de nós onde cada nó aponta para o próximo nó da lista. O nó que possuir o valor NULL no ponteiro para próximo é o último nó da lista. É de extrema importância que seja mantida uma referência para o primeiro nó da lista, caso esta referência for NULL, significa que a lista esta vazia.
[pic]
Figura 3 – alocação simplesmente encadeada
DUPLAMENTE ENCADEADAS
São listas que, além de cada elemento indicar o elemento seguinte, também indicam aquele que o antecede, ou melhor, cada elemento é ligado ao seu sucessor e ao seu predecessor.
[pic]
Figura 4 – alocação duplamente encadeada
Há uma questão que envolve desempenho, flexibilidade e requisitos de alocação de memória, relacionados com a opção que fazemos por uma ou outra estrutura de dados. No caso da lista simplesmente encadeada, os nós são menores (um ponteiro por dado armazenado), mas a flexibilidade de deslocamento entre os nós é menor (só em um sentido) e mesmo o desempenho pode ser menor em operações como a inserção no final da lista. Já as listas duplamente encadeadas irão ocupar mais memória (dois ponteiros para cada dado), mas são muito mais flexíveis e podem ser mais eficientes na em certas operações (por exemplo, na inserção/remoção do final da lista). Portanto, como
...