Departamento de Engenharia Informática Bases de Dados 2007/2008 1º semestre Lab 7: Desenvolvimento de aplicações em PHP Crie uma aplicação Web para gestão da base de dados cujo esquema aqui se repete: branch(branch_name, branch_city, assets) customer(customer_id, customer_name, customer_street, customer_city) loan(loan_number, branch_name, amount) account(account_number, branch_name, balance) employee(employee_id, employee_name, telephone_number, start_date) dependent_name(employee_id, d_name) borrower(customer_id, loan_number) depositor(customer_id, account_number, access_date) cust_banker(customer_id, employee_id, type) works_for(worker_employee_id, manager_employee_id) payment(loan_number, payment_number, payment_date, payment_amount) savings_account(account_number, interest_rate) checking_account(account_number, overdraft_amount) A aplicação deverá ter as seguintes funcionalidades: • Uma página inicial de login, onde o utilizador deverá inserir a sua senha e nome de utilizador. O acesso à base de dados deve ser fornecido apenas a utilizadores devidamente autenticados no sistema, isto é, o par utilizador/senha fornecido na página de login deve ser um par válido de autenticação no sistema de bases de dados. • Uma vez feita a autenticação, as seguintes opções deverão ficar disponíveis: 1. inserir cliente 2. alterar dados do cliente 3. consultar dados de cliente 4. criar nova conta para um cliente 5. consultar dados de conta Opção 1. A aplicação deve permitir ao utilizador inserir o identificador, nome, rua e cidade do cliente a inserir. Uma vez submetida esta informação a aplicação deverá mostrar uma página indicado se os dados foram inseridos com sucesso e uma ligação para o menu inicial. IST/DEI Pág. 1 de 3 BD Opção 2. A aplicação deve permitir procurar um cliente (a) pelo seu nome (b) pelo seu identificador No caso (a) deve ser mostrada uma lista de clientes cujo nome contenha a palavra dada. O utilizador poderá seleccionar um cliente "clicando" no nome apresentado. Uma vez seleccionado um cliente, a aplicação passará à página de alteração dos respectivos dados. No caso (b) a aplicação passará imediatamente à página de alteração dos dados. A página de alteração dos dados deverá mostrar os dados existentes sobre o cliente (nome, cidade e rua), e permitir a sua alteração. Uma vez submetida esta informação a aplicação deverá mostrar uma página indicado se os dados foram inseridos com sucesso e uma ligação para o menu inicial. Opção 3. A aplicação deverá permitir seleccionar um cliente, tal como descrito para a Opção 2. Uma vez seleccionado, deverão ser mostrados os dados do cliente (id, nome, cidade e rua). Adicionalmente será mostrado um menu (do tipo "drop-down") contendo todas as contas do cliente. Ao ser seleccionada uma conta no menu, deverá ser executada a Opção 5. Deve ser apresentada uma ligação para o menu inicial. Opção 4. A aplicação deve permitir ao utilizador inserir o identificador da conta a inserir, a cidade e o saldo. Deverá verificar se o saldo é um número real válido. A filial da conta deverá ser escolhida através de um menu que mostra todas as filiais do banco. Uma vez submetida esta informação a aplicação deverá mostrar uma página indicado se os dados foram inseridos com sucesso. Em caso afirmativo, a aplicação deverá permitir associar clientes existentes à conta recém-criada. Para tal, deverá ser mostrada uma lista de todos os clientes do banco (id e nome). O utilizador poderá seleccionar um ou mais clientes utilizando "checkboxes". Os clientes seleccionados deverão ser associados à conta. Como data de acesso deve ficar a data actual. Uma vez submetida esta informação a aplicação deverá mostrar uma página indicado se os dados foram inseridos com sucesso e uma ligação para o menu inicial. IST/DEI Pág. 2 de 3 BD Opção 5. A aplicação deve permitir procurar uma conta pelo seu identificador. Devem ser mostrados o número, filial e saldo da conta. Adicionalmente será mostrado um menu (do tipo "drop-down") contendo todos os clientes associadas à conta. Ao ser seleccionado um cliente no menu, deverá ser executada a Opção 2. Deve ser apresentada uma ligação para o menu inicial. As opções 1 e 2 devem ser implementadas no laboratório. As opções 3 a 5 devem ser resolvidas individualmente e entregues na próxima aula. A aplicação deve ser desenvolvida usando unicamente SQL, PHP e HTML. Não pode ser usada qualquer outra linguagem ou script (e.g. Javascript, Flash, etc.) IST/DEI Pág. 3 de 3