Sistemas de Informação

Just another WordPress.com weblog

Aulas n.º 162-163, de 26 de Novembro de 2009 (tarde)

Sumário:

  • Modelos utilizados na gestão de bases de dados:
    • Relacional
    • Hierárquico (abordagem  sumária)
    • Rede (abordagem sumária)
  • Bases de dados relacionais:
    • Conceito de tabela (linhas representando registos e colunas representando campos).

Tempo de Aula: 90´.

1. Modelos de Bases de Dados

1.1 Modelo conceptual

É um modelo lógico de basa de dados que traduz uma abstracção da realidade. Mais tarde é convertido num dos modelos de implementação de bases de dados

1.2 Modelos de implementação

Os modelos de implementação permitem descrever a forma como os dados estão representados num sistema de gestão de bases de dados.

1.2.1. Modelo Hierárquico

Uma base de dados hierárquica é um tipo de sistema de gestão de base de dados que liga registos numa estrutura de dados em árvore através de ligações de tal modo que cada tipo de registo tenha apenas um possuidor. A base de dados baseia-se num Modelo de Entidades e Relacionamentos: cada registo é uma colecção de atributos (campos), cada um dos quais contendo somente uma informação; uma ligação é a associação entre dois registos. Por exemplo: em uma dada base de dados comercial, uma encomenda (i.e. registo) é possuída por um único cliente.

1.2.2. Modelo de rede

A sua organização é semelhante à das BDs com modelo hierárquico, com diferença de que cada registo filho pode ser ligado a mais de um registo pai, criando conexões bastante complexas e são bastante utilizados em sistemas para computadores de grande porte. Sendo que esse modelo é composto de uma estrutura mais completa, possui as propriedades básicas de registos, conjuntos e ocorrências, e utiliza a linguagem de definição de BD (DDL) e a linguagem de manipulação de dados (DML), além de permitir evolução mais eficiente do modelo. A estrutura é formada de entidade (registos), atributos (itens de dados), tipo de registo e ocorrência do registo. Tanto o modelo hierárquico quanto o de rede são chamados de sistemas de navegação, pois as aplicações devem ser construídas para atravessar um conjunto de registos interligados previamente.

1.2.1. Modelo relacional

que veremos mais pormenorizadamente em seguida.

2. Modelo relacional

É o modelo de bases de dados mais utilizado para desenvolvimento de BD.

É constituído por relações entre os dados que se julga introduzir na(s) tabela(s). Uma relação é uma estrutura bidimensional representada por uma tabela organizada por linhas e colunas, respectivamente tuplos e atributos. Cada linha corresponderá a um registo, cada coluna corresponderá ao domínio da tabela e terá sempre o mesmo tipo de dados.

O princípio básico do modelo relacional é o princípio da informação: toda informação é representada por valores em relações (relvars). Assim, as relvars não são relacionadas umas às outras no momento do projecto. Entretanto, os projectistas utilizam o mesmo domínio em vários relvars, e se um atributo é dependente de outro, esta dependência é garantida através da integridade referencial.

Sobre Conceitos básicos ver:

Base_de_Dados_conceitos_basicos

Sobre Modelo relacional ver:

Base_de_Dados_modelo_relacional

Novembro 26, 2009 Publicado por | 1 | Deixe um Comentário

Aulas n.º 160-161, 26 de Novembro de 2009 (manhã)

Sumário:

Módulo V -  Desenvolvimento de Bases de Dados

  • Conversa com os formandos sobre:
  • O que são bases de dados;
  • Necessidade de bases de dados
  • Aplicação de bases de dados
  • Sistemas de Gestão de bases de dados e exemplos
  • Linguagens de programação para consulta de bases de dados

1. Apresentação do módulo V

Este módulo tem como objectivo fornecer os elementos conceptuais e instrumentais adequados ao conhecimento e desenvolvimento de bases de dados, apresentando os seus fundamentos teóricos e a diversidade de formas de utilização, bem como as suas potencialidades ao nível da recolha e manipulação de informação.

2. Objectivos de aprendizagem

Perceber a necessidade das bases de dados.
Adquirir vocabulário relativo às bases de dados.
Planificar e estruturar bases de dados relacionais simples.
Representar graficamente as relações existentes na base de dados.
Planificar bases de dados simples.

3. Conteúdos

Necessidade das bases de dados.
Sistemas de gestão de bases de dados.
Os modelos como métodos de concepção de sistemas.
Modelos utilizados na gestão de bases de dados:

  • Relacional.
  • Hierárquico (abordagem de forma sumária).
  • Rede (abordagem de forma sumária)

Bases de dados relacionais:

  • Conceito de tabela (linhas representando registos e colunas representando campos).
  • Conceito de índice. Chaves de indexação simples e compostas.
  • Chaves candidatas. Chaves primárias. Chaves externas.
  • Relações entre tabelas: De um para um, de um para muitos, de muitos para muitos.

O modelo ER (entidade-relação) para representação gráfica de bases de dados:

  • Entidades.
  • Atributos.
  • Relações.
  • Integridade e consistência de bases de dados.

O papel da normalização no desenho de bases de dados:

  • Vantagens e desvantagens da normalização.
  • 1ª, 2ª e 3ª formas de normalização.
  • “Desnormalizar” para atingir melhor performance.

Novembro 26, 2009 Publicado por | 1 | Deixe um Comentário

Aula n.º 159, de 24 de Novembro de 2009

Sumário:

  • Elementos básicos de Linguagem PHP:
    • Funções internas.

Tempo de aula: 45′.

Funções Internas (Built-in-functions)

Podemos construir as nossas funções, foi isso que estivemos a explicar e explorar até agoranas aulas anteriores.

Se organizarmos o nosso código em funções podemos evitar a escrita desnecessária do mesmo código vezes sem conta.
Uma normal instalação do PHP vem com imensas funções que interessa explorar, para não termos que reinventar a roda. Não precisando de escrever a função apenas temos que saber chamá-la, e a forma de o fazer já explicamos.

nome_funcao($var, $var, …)

Para este workshop convém explorar as seguintes listas de funções:

http://www.php.net/manual/pt_BR/ref.strings.php
http://www.php.net/manual/pt_BR/ref.var.php
http://www.php.net/manual/pt_BR/ref.array.php

O primeiro link lista funções que manipular strings.
O segunda link lista funções que manipulam todo o tipo de variáveis, não só strings. O terceiro link lista funções que manipulam arrays.
Todos links remetem para o manual do PHP. No manual explica-se o que faz a função, quantos argumentos pode receber, e que argumentos são esses e muitas vezes são dados exemplos de como utilizar a função.
Lembram-se da função sort()
http://www.php.net/manual/pt_BR/function.sort.php
Nota final, podem encontram funções nas listas que não funcionam no vosso servidor, isto porque existem funções que só estão disponíveis quando instalamos módulos de PHP.
Geralmente na página da função refere-se isso. O erro que é gerado quando uma função não foi definida – neste caso que falamos, não está disponível porque não foi instalado o módulo correspondente – é “undefined function”.

Vejamos agora o vídeo 4, sobre funções internas.

E por hoje é tudo. Até à próxima aula.

Referências a consultar:

  • http://www.php.net
  • Arroyo, A. e al. (2002). Programação para Web utilizando PHP. Brasil. Unicamp.
  • Powers, D. (2007). The essencial guide to dreamweaver cs3, css, ajax e php. USA. Friendesofed.
  • Materiais fornecidos em aula

Novembro 23, 2009 Publicado por | 1 | Deixe um Comentário

Aulas n.º 157-158, de 24 de Novembro de 2009

Sumário:

  • Elementos básicos de Linguagem PHP:
    • Funções e argumentos
    • Exercícios de consolidação de conhecimentos

Tempo de aula: 90′.

 

ARGUMENTOS

As funções podem receber argumentos. No exemplo em baixo temos uma variável com uma mensagem fora da função e antes de esta ser chamada. Para enviar esta variável para dentro da função teremos de a incluir dentro dos parênteses. O nome da variável usado dentro da função tem de corresponder ao nome usado no parâmetro recebido, mas este não tem de ser idêntico ao nome da variável enviada, reparem que na função é $mensagem mas fora é $msg.

?php
function aminhafuncao($mensagem){

echo $mensagem;
}
$msg = “esta é a minha função”;
aminhafuncao($msg);

//chama a função aminhafuncao enviado o argumento
?>

Podemos enviar múltiplos argumentos para uma função, os argumentos são separados por vírgulas. O número de argumentos que a função recebe tem de corresponder ao número que é enviado:

<?php

function aminhafuncao($var1, $var2, $var3) {
//chama a função aminhafuncao e recebe 3 parâmetros
echo $var1;
echo $var2;
echo $var3;
}
$v1 = 1;
$v2 = 5;
$v3 = 7;
aminhafuncao($v1, $v2, $v3);

// chama a função aminhafuncao e envia 3 parâmtetros

?>

Por fim, a função poderá retornar valores, para isso utilizamos a estrutura de controlo return.
E podemos atribuir esses valores a variáveis. Utilizando return dentro de uma função faz com que o php sai da função, qualquer instrução dentro da função a seguir ao return não será avaliada.

<?php


function aminhafuncao($var1, $var2){
$res = $var1 + $var2;
return $res; // retorna o resultado
}
$v1 = 1;
$v2 = 5;
//chama a função aminhafuncao e envia 2 parâmtetros


$resultado = aminhafuncao($v1, $v2);
echo $resultado;

//a var $resultado recebe o que é retornado no final da função

?>

Vejamos agora o vídeo 3, sobre Funções e argumentos e realizemos os exercícios propostos para consolidação de conecimentos.

Por agora é tudo.

Até à próxima aula.

Referências a consultar:

  • http://www.php.net
  • Arroyo, A. e al. (2002). Programação para Web utilizando PHP. Brasil. Unicamp.
  • Powers, D. (2007). The essencial guide to dreamweaver cs3, css, ajax e php. USA. Friendesofed.
  • Materiais fornecidos em aula

Novembro 23, 2009 Publicado por | 1 | Deixe um Comentário

Aulas n.º 155-156, de 18 de Novembro de 2009

Sumário:

  • Elementos básicos de Linguagem PHP:
    • Escopo de variáveis
    • Funções

Tempo de aula: 90′.

Funções

Uma função contem um conjunto de instruções que serão executadas apenas quando essa função for ‘chamada’. O código PHP é executado verticalmente, desde a primeira linha à última, mas podemos controlar esse comportamente do php, vimos por exemplo condições e ciclos. Uma função inserida no código php não é executada sem ter um código que a chame.
O php passa pela função e nada faz. Só actua quando decidimos chamar a função.
Para criar uma função terá que se criar um nome precedido pela palavra chave function. O nome da função nunca pode começar com um número. Depois do nome da função teremos que utlizar () e dentro de {} colocamos as instruções que queremos que sejam executadas caso e quando a função for chamada.
<?php
function aminhafuncao(){
echo “esta é a minha função”;
}
?>
Para chamar a função
<?php
aminhafuncao();
// chama a função aminhafuncao, sem isto nada acontece
?>
Este é um exemplo muito simples onde temos uma função que imprime uma string. Quando chamamos a função a string é impressa, se não chamarmos a função nada acontece.
Vamos visualizar os vídeos 1 e 2 e desenvolver os exercícios propostos para consolidação de conhecimentos.


Referências a consultar:

  • http://www.php.net
  • Arroyo, A. e al. (2002). Programação para Web utilizando PHP. Brasil. Unicamp.
  • Powers, D. (2007). The essencial guide to dreamweaver cs3, css, ajax e php. USA. Friendesofed.
  • Materiais fornecidos em aula

Novembro 17, 2009 Publicado por | 1 | Deixe um Comentário

Aulas n.º 153-154, de 5 de Novembro de 2009

Sumário:

  • Elementos básicos de Linguagem PHP:
    • Avaliação sumativa – adivinha o número
Tempo de aula: 90′.

Avaliação sumativa parcial

1) Advinha o Número. Este é um clássico.

Criam um formulário onde pedem ao utilizador para introduzir um número (tentar adivinhar). Se o utilizador acertar, dá mensagem de sucesso.

Se falhar, tem que dizer que o número que introduziu é maior ou menor ao $num.

Ao falhar tem que aparecer um link a dizer tentar outra vez que remete para o formulário.

Já possuem conhecimentos para fazer isto, se não vos sair automaticamente pensem um pouco antes de desistir.

Faça ainda o segundo exercício com a função Get String.
Não se esqueça que a construção de formulários exige conhecimentos de HTML.  É inevitável que tenham de rever os conteúdos do módulo 1 de Sistemas de Informação leccionado no ano transato para realizar o exercício.

Referências a consultar:

  • http://www.php.net
  • Arroyo, A. e al. (2002). Programação para Web utilizando PHP. Brasil. Unicamp.
  • Powers, D. (2007). The essencial guide to dreamweaver cs3, css, ajax e php. USA. Friendesofed.
  • Materiais fornecidos em aula

Novembro 5, 2009 Publicado por | 1 | Deixe um Comentário

Aula n.º 152, de 3 de Novembro de 2009

Sumário:

  • Elementos básicos de Linguagem PHP:
    • $_Get
    • Get String

    Exercícios de consolidação de conhecimentos.

Tempo de aula: 45′.

$_GET e Get String

UTILIZAÇÕES
Embora o método GET não seja o ideal para formulários, por norma, não quer dizer que ele não possa ser utilizado. Na realidade ele continua a ser utilizado em alguns formulários, por exemplo formulários de busca. Se visitarem o Google e abrirem o código HTML vão ver que a tag form não tem método, logo por defeito, GET.
URL com GET.
Em cima dissemos que os argumentos com o método GET são passados através do URL, e dissemos que isto é uma desvantagem. E é, na medida em que ao passar os argumentos desta forma eles tornam-se visíveis:
O exemplo 5 é o único a utilizar o método GET. Preencham o formulário e submetam-no. O endereço do browser altera-se.

No meu caso:
http://127.0.0.1/formularios/m6/exemplo5.php?nome=Paula+Mestre&email=”aqui não o publico, evidentemente!”
Desconstruindo:
primeiro a localização e o ficheiro que estamos a utilizar

http://127.0.0.1/formularios/m6/exemplo5.php

depois, um ? Que indica que a partir daqui temos uma GET string
e depois pares de variáveis e valores
nome = Paula Mestre
email = “********@*****.com”
Entre pares o símbolo & que separa cada par de variável e valor.
Como podem ver a informação está visível a todos. Isto tem um lado positivo, como está visível podemos criar um bookmark a partir dela e voltar à página sempre que quisermos. É por isso que é útil para pesquisas.

Esta particularidade é interessante para construção de sites dinâmicos. É por isso que CMS como o Joomla! têm este tipo de URLS com GET Strings. Podemos de certa forma automatizar uma “pesquisa” pela parte do site que queremos visitar. O script avalia o URL e direcciona-nos para a secção, artigo, etc que desejamos.

PROCESSAR UM FORMULÁRIO COM $_GET

Para que não restem dúvidas, podem utilizar GET como método. Só precisam de ter atenção em introduzir method=”get” no HTML e quando forem processar os dados a supervaríavel é $_GET. Por exemplo campo nome no HTML e método GET e depois no PHP:
<?php echo $_GET['nome']; ?>
O exemplo 5 utiliza o método GET.

Realizemos os exercícios propostos no vídeo 4.

Referências a consultar:

  • http://www.php.net
  • Arroyo, A. e al. (2002). Programação para Web utilizando PHP. Brasil. Unicamp.
  • Powers, D. (2007). The essencial guide to dreamweaver cs3, css, ajax e php. USA. Friendesofed.
  • Materiais fornecidos em aula

Novembro 3, 2009 Publicado por | 1 | Deixe um Comentário

   

Seguir

Get every new post delivered to your Inbox.