Bases de Dados. Lab 1: Introdução ao ambiente. Figura 1. Base de dados de exemplo

Documentos relacionados
Bases de Dados. Lab 1: Introdução ao ambiente

Bases de Dados. Lab 1: Introdução ao ambiente. Figura 1. Base de dados de exemplo

Bases de Dados. Lab 1: Introdução ao ambiente. Figura 1. Base de dados de exemplo

Bases de Dados. Lab 1: Introdução ao ambiente

Bases de Dados. O ficheiro create-bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo ilustrada na figura 1.

Bases de Dados 1º semestre

Bases de Dados. Lab 7: Desenvolvimento de aplicações com PHP

Bases de Dados 1º semestre

Tarefa Orientada 9 Base de Dados Pagamentos

Benvindo ao Curso de Introdução ao Firebird com Ferramenta de Relatórios!

Sistemas de Informação e Bases de Dados 2012/2013. Linguagem SQL

LAB 7 Cookies e Sessões em PHP

Aprenda a instalar o GLPI no Centos 6.5

Tarefa Orientada 17 Scripts

Importar e Exportar Dados

Guia de utilização do servidor da disciplina

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

SISTEMAS DE INFORMAÇÃO

Introdução 20 Diagramas de fluxos de dados 20 O processo de elaboração de DFD 22 Regras práticas para a elaboração de DFD 24 Dicionário de dados 26

PSI Linguagem de Definição de dados. Módulo 15

Sistemas de Informação e Bases de Dados 2012/2013. Stored Procedures e Triggers

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas

Sistemas de Informação e Bases de Dados

Aprenda a instalar a plataforma de monitorização Cacti

C A P I T U L O 10 F U N Ç Õ E S I N T E R N A S P H P P A R A B A N C O D E D A D O S

Database and Applications. Criação, inserção de dados PHP+MySQL

Bases de Dados 2015/2016. Enunciado do Projeto Parte 2. O trabalho a desenvolver para a primeira parte do projeto consiste nos seguintes itens:

Rápida revisão do Modelo Relacional

Bases de Dados. Apresentação da disciplina. Programa

15 - Introdução às Bases de Dados

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

GUIÃO DO TRABALHO PRÁTICO INTRODUÇÃO À PROGRAMAÇÃO WEB SISTEMAS DE INFORMAÇÃO EMPRESARIAIS. Faculdade de Engenharia da Universidade do Porto

SQL (com MySQL) Apresentação OBJETIVOS. Programação

Tecnologias da Informação e Comunicação: Sistema Operativo em Ambiente Gráfico

Prof. Dr. Joaquim Assunção Banco de Dados. SQL (parte 4) DDL Restrições

Conexão com Banco de Dados, Inserção, exclusão e atualização de registros

Sistemas de Informação e Bases de Dados 2012/2013. Restrições de Integridade em SQL

Blob fields in MySQL Databases

Introdução às funções e procedimentos. SQL suporta funções e procedimentos úteis com tipos de dados específicos

LAB 8 em PHP. 1. Assume-se neste lab que concluiu com sucesso o LAB7. Copie todos os ficheiros da pasta LAB7 para a pasta LAB8.

O JasperReports Studio é uma ferramenta de software que oferece um ambiente visual para criar relatórios para a plataforma Java. É open source.

GLPI Gestão total e gratuita do seu parque informático

NOTA: Neste tutorial foi utilizado o Visual Studio 2010 para criar o Projeto Web no qual iremos realizar os passos abaixo.

Tarefa Orientada 4 Aplic. Manutenção de Produtos - ComboBox

Informática para as Ciências e Engenharias - 2º semestre 2015/2016

Transforme o seu CentOS num servidor Web (LAMP)

Como criar um banco de dados usando o mysql

Banco de Dados. Professora: Luciana Faria

MySQL. Prof. César Melo. com a ajuda de vários

PROGRAMAÇÃO I - Folha prática 1

Bases de Dados. DDL Data Definition Language

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

LAB 10 Programação com o framework CodeIgniter [parte 2]

Oracle SQL Developer

MYSQL - PRIMEIROS COMANDOS CRIAÇÃCO DO BD E DAS TABELAS, INSERÇÃO E CONSULTA DE REGISTROS. create database [if not exists] <nome>

Marcos Alexandruk Marcos Alexandruk

CONTEÚDO PROGRAMÁTICO

A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo

Banco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas

Conexão do Banco de Dados localhost

LAB 5 Formulários com PHP

LAB 5 Formulários com PHP

Banco de dados POO Márcio Delamaro. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP

Aula 06 Sistemas Embarcados LT38C


BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre

Introdução ao PostgreSQL

Tarefa Orientada 8 Criação de tabelas

ICE-B Sqlite e Python. Ludwig Krippahl

2 o Teste de ICE-B, 8 de Junho de 2019 (Versão B)

Oracle SQL Developer

Gestix. Instalar em Linux. Gestix.com. Instalar em Linux...2 Pré-requisitos para instalar o Gestix em Linux...2

Teste Exemplo Revisão da tentativa 1

Spectrum Miner. Versão 8.0. Guia de administração para a integração do Portrait Dialogue

Tutorial: Criar um servidor SFTP no Windows para acesso remoto

Guia de apoio à utilização. de serviços WFS, através do software GeoMedia

MySQL + PHP 06/05/2015. IFSC/campus Florianópolis Programação para a WEB Prof. Herval Daminelli

Ordenação de tuplos order by

LAB 11 Programação em JavaScript, JQuery, e AJAX

Sistema de Gestão de Videoteca

Banco de Dados I Introdução SQL

Administração de Sistemas Operacionais. Prof. Marlon Marcon

Fundamentos de Banco de Dados Postgre com Sql

A cláusula order by permite ordenar tuplos exemplo: listar por ordem alfabética os nomes dos clientes com empréstimo na agência de Perryridge

Escrever scripts de PHP com HTML

Segurança Informática e nas Organizações. Guiões das Aulas Práticas

Banco de Dados SQL (Structured Query Language) Ana Paula Toome Wauke

Manual Recurso Valores Default. FullCopyConvert Data

LAB 11 Programação em JavaScript, JQuery, e AJAX

22/05/2012 CRIANDO UM PROJETO COM TELAS ESTRUTURA DA APLICAÇÃO LOGIN BANCO DE DADOS TAREFAS PHP MYSQL PARTE 2

José Antônio da Cunha

Faculdade de Engenharia Departamento de Informática. Composição Web

Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013

Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva.

Módulo 17E. Revisões de HTML. A) Noções básicas de HTML (cont.)

TECNOLOGIAS DE ACESSO A BASES DE DADOS. Profª Ana Paula Cação Maio de 2018

Informática I. Aula 8. Aula 8-25/09/2006 1

Manipulação de Dados com SQL

Transcrição:

Departamento de Engenharia Informática 2013/2014 Bases de Dados Lab 1: Introdução ao ambiente 1º semestre O ficheiro bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo ilustrada na Figura 1. Figura 1. Base de dados de exemplo Para criar a base de dados é necessário criar as tabelas e carregar os registos de cada tabela. A criação das tabelas é feita com recurso à instrução CREATE TABLE. Por exemplo, a tabela de clientes pode ser criada com a seguinte instrução: create table customer (customer_name varchar(255) not null unique, customer_street varchar(255) not null, customer_city varchar(255) not null, primary key(customer_name)); IST/DEI Pág. 1 de 5

Esta instrução especifica o nome da tabela, os nomes das três colunas, o tipo de cada coluna, e ainda restrições tais como os valores não poderem ser NULL e o facto da chave primária da tabela ser o nome do cliente. Os registos de cada tabela são carregados através de instruções do tipo INSERT. Por exemplo: insert into customer values ('Jones','Main','Harrison'); em que são especificados, respectivamente, os valores de cada coluna pela mesma ordem em que estes foram definidos aquando da criação da tabela 1. Esta instrução resulta na criação de um novo registo na tabela de clientes. Note- se que o ficheiro bank.sql inclui instruções para inserir mais registos na base de dados do que aqueles que se encontram exemplificados na Figura 1. Estes registos serão usados para realizar vários testes sobre a base de dados. Em aulas de laboratório futuras, iremos utilizar esta base de dados para demonstrar vários dos conceitos da disciplina. Configurações Para começar a usar o sistema MySQL disponível na infra- estrutura do IST, deverá proceder aos seguintes passos: 1. Aceda à página de self- service do CIIST: https://ciist.ist.utl.pt/servicos/self_service/index.php 2. Active os serviços shell, web e cgi 3. Abra uma sessão SSH para o cluster sigma.ist.utl.pt, utilizando o seu nome de utilizador e password do sistema Fénix (em Windows pode usar um dos clientes SSH Secure Shell ou PuTTY ; em Linux deve usar o comando ssh ) 4. Uma vez ligado ao cluster sigma, execute o comando: mysql_reset 5. Ligue- se ao MySQL com o comando: mysql - h db.ist.utl.pt - u istxxxxx - p onde istxxxxx deve ser substituído pelo seu nome de utilizador no sistema Fénix. 6. Use a password dada pelo mysql_reset para entrar. Muito embora também possa ser utilizada a interface gráfica MySQL Workbench 2, como forma de interagir com o sistema de gestão de bases de dados MySQL, nas aulas de laboratório iremos sobretudo utilizar a interface de linha de comandos. Utilização da linha de comando 1 Existem outras variantes da instrução INSERT com as quais é possível especificar os valores por outra ordem, ou especificar apenas alguns dos valores pretendidos deixando os restantes a NULL ou com o valor por omissão (default value, que neste caso não foi especificado) 2 A interface MySQL Workbench encontra- se disponível em http://www.mysql.com/products/workbench/ IST/DEI Pág. 2 de 5

Em geral todos os sistemas de gestão de base de dados dispõem de uma interface de linha de comando através da qual é possível executar instruções SQL e também outros comandos de administração e manutenção do sistema. 7. Usando um cliente de SCP ( WinSCP em Windows; scp em Linux) coloque o ficheiro bank.sql na sua área pessoal no cluster sigma.ist.utl.pt 8. Abra uma sessão SSH para o cluster sigma.ist.utl.pt (ou utilize a sessão anterior) e navegue até ao directório onde guardou o ficheiro. 9. Invoque o programa psql com o comando: mysql - h db.ist.utl.pt - u istxxxxx p onde istxxxxx deve ser substituído pelo seu nome de utilizador no sistema Fénix. 10. Uma vez dentro do sistema, utilize o comando: USE istxxxxx para se ligar à sua base de dados com o nome istxxxxx, em que istxxxxx deve ser substituído pelo seu nome de utilizador. 11. Use help para obter informação sobre os comandos disponíveis. 12. Se precisar de sair do programa, pode utilizar a qualquer momento o comando: quit 13. Na lista de comandos terá notado a existência de um comando nesta forma: source (\.) Execute an SQL script file. Takes a file name as an argument. 14. É este commando que vamos utilizar para executar as instruções no ficheiro bank.sql. Execute o comando: source bank.sql O sistema produz algumas mensagens à medida que executa as instruções do ficheiro. 15. Para listar as tabelas da base de dados, use o comando: show tables; 16. Após a ligação à base de dados pode fazer algumas consultas, nomeadamente: ver a lista completa de clientes: SELECT * FROM customer; ver a lista completa de contas: SELECT * FROM account; ver o saldo da conta A- 101: SELECT balance FROM account WHERE account_number='a- 101'; Em aulas futuras verá como obter a resposta a consultas mais complexas. Obter informação sobre o esquema de uma base de dados IST/DEI Pág. 3 de 5

Para uma base de dados existente no sistema mas sobre a qual não haja documentação, é possível usar instruções especiais para obter informação sobre as respectivas tabelas. Geralmente estes mecanismos são proprietários e diferentes para cada sistema. 17. Utilize o comando SHOW DATABASES; para obter informação sobre as bases de dados existentes no sistema. 18. Para se ligar à sua base de dados, utilize o comando: USE istxxxxx (onde istxxxxx é o seu nome de utilizador) 19. Para listar as tabelas da base de dados, use o comando: SHOW TABLES; 20. Obtenha informação sobre as tabelas de clientes e contas: DESCRIBE customer; DESCRIBE account; Confirme que a estrutura dessas tabelas está de acordo com as instruções que foram dadas no ficheiro bank.sql. 21. Use o comando quit para sair do sistema e voltar ao terminal. Resumo dos comandos MySQL utilizados help quit ou exit source file use database show tables; show databases; describe table; Obter informação sobre todos os comandos disponíveis. Sair da linha de comando do MySQL. Executar os comandos contidos no ficheiro indicado. Ligar à base de dados indicada. Listas as tabelas da base de dados actual. Listar todas as bases de dados existentes no sistema. Obter informação sobre a estrutura de uma tabela. Teste de PHP Os passos seguintes têm por objectivo testar a ligação à base de dados através de um script PHP. 22. Edite o ficheiro test.php e coloque o seu nome de utilizador e password (dada pelo mysql_reset) nas variáveis $user e $password, respectivamente. 23. Usando um cliente de SCP ( WinSCP em Windows; scp em Linux) coloque o ficheiro test.php dentro da pasta web da sua área no cluster sigma.ist.utl.pt IST/DEI Pág. 4 de 5

24. Abra o browser e aceda ao URL: http://web.ist.utl.pt/istxxxxx/test.php onde istxxxxx é o seu nome de utilizador no sistema Fénix. 25. Confirme que o script corre correctamente e sem erros. 26. Abra o ficheiro test.php num editor e localize as chamadas à biblioteca PHP Data Objects (PDO), a qual é utilizada como forma de interagir com uma base de dados como o MySQL, a partir de um script PHP: $db = new PDO( ) $db- >query( ) 27. No ficheiro test.php, localize a consulta à base de dados: SELECT * FROM account; Compare o resultado desta consulta, que aparece no browser, com o resultado que obteve através da linha de comando. 28. No ficheiro test.php, localize o sítio onde está a ser construída uma tabela HTML para mostrar os resultados: <table> e </table> definem o início e fim da tabela HTML <tr> e </tr> definem o início e fim de uma linha da tabela HTML <td> e </td> definem o início e fim de uma célula na tabela HTML Esta é a forma típica de construção de tabelas em HTML. Repare que a tabela está a ser construída dentro de um ciclo que percorre os resultados de $db- >query( ) 29. No browser, abra o código fonte da página e compare esse código HTML com o código PHP do ficheiro de script test.php. IST/DEI Pág. 5 de 5