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. Figura 1. Base de dados de exemplo

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. 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 1º semestre

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

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

Bases de Dados 2007/2008. Aula 1. Referências

P S I 2. º A N O F 5 M E S T R E / D E T A L H E E P E S Q U I S A. Criar uma relação mestre-detalhe. Pesquisa de informação

Tarefa Orientada 12 Junção Externa, Auto-Junção e União

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

Tarefa Orientada 15 Manipulação de dados

Manual de Administração Intranet BNI

Ficha prática nº 7. SGBD Microsoft Access e SQL Server

8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito)

Licenciatura em Eng.ª Informática Complementos de Redes - 3º Ano - 2º Semestre. Trabalho Nº 4 - VoIP

Tarefa Orientada 1 Base de Dados Editora

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

JDBC Java Database Connectivity

Sistemas Empresariais Integrados

Os dados no MySQL são armazenado em tabelas. Uma tabela é uma colecção de informação relacionada e consiste em colunas e linhas.

EIC. Projecto I. Manual do Utilizador. Vídeo Vigilância Abordagem Open Source. Curso: Engenharia de Informática e Comunicações Ano Lectivo: 2005/2006

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

Acronis Servidor de Licença. Manual do Utilizador

Administração e Optimização de BDs

Tarefa Orientada 16 Vistas

Principais Comandos SQL Usados no MySql

Prof. Carlos Majer Aplicações Corporativas UNICID

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Bases de Dados 2005/2006. Aula 5

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO

Banco de Dados. Conversão para o Banco de Dados SisMoura

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

AULA 6 INTEGRIDADOS DOS DADOS - CRIANDO RESTRIÇÕES

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

INTRODUÇÃO: 1 - Conectando na sua conta

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

PRODUTO E-COMMERCE 3D Secure

Programação 2008/2009 MEEC Guia de instalação do PC de programação

Introdução ao Microsoft Windows

Aplicações de Escritório Electrónico

Manual de Utilizador. Disciplina de Projecto de Sistemas Industriais. Escola Superior de Tecnologia. Instituto Politécnico de Castelo Branco

PHP INTEGRAÇÃO COM MYSQL PARTE 1

---- ECOpro Manual de implementação

Manipulação de Banco de Dados com Java 1. Objetivos

Extracto on Line Aplicação Local Guia do Administrador

---- Webdbpro Manual de implementação

COLIBRI Ambiente Colaborativo Multimédia MÓDULO MOODLE. Rui Ribeiro FCCN - Dezembro 2010

Função dos Sistemas de Bases de Dados Visão dos dados Modelos de dados Linguagem de Definição de Dados Linguagem de Manipulação de Dados Gestão de

Programação SQL. Introdução

Tarefa Orientada 19 Triggers

Android e Bancos de Dados

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

INSTALANDO E CONFIGURANDO O MY SQL

Iniciar o Data Adapter Configuration Wizard. Toolbox Data Duplo clique em OleDbDataAdapter. Botão next na caixa de diálogo

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

PgAdmin. O pgadmin é um software gráfico para administração do SGBD PostgreSQL disponível para Windows e UNIX.

Desenvolvendo Websites com PHP

PACWEB Módulo de Pesquisa MANUAL DO UTILIZADOR

Ministério das Finanças Instituto de Informática. Departamento de Sistemas de Informação

Guia de instalação para ambiente de Desenvolvimento LINUX

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Plataforma de Benefícios Públicos Acesso externo

Conteúdo O que é?... 4 Histórico... 4 Onde Baixar?... 4 Diferença entre Firebird e o Interbase... 4 Como instalar?... 4 Instalando o Ibexpert...

Oracle SQL Developer

EDUTec Learning. José Paulo Ferreira Lousado

Aplicação da Qualidade. Manual do Utilizador. Versão

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

GESTÃO DE INFORMAÇÃO PESSOAL OUTLOOK (1)

Gestão de Projectos de Software Licenciatura em Engenharia Informática e Computação Faculdade de Engenharia da Universidade do Porto

Modelo Cliente/Servidor Por HIARLY ALVES

MySQL Query Browser. Professor Victor Sotero SGD

Procedimentos para a divulgação de eventos no site da ECUM

Guia de Consulta. Percorrer

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL

Como funciona a MEO Cloud?

Sistema de impressão da Divisão de Informática

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Introdução ao SQL. Aécio Costa

Introdução à aplicação Web

Módulo 6: Linguagem de Programação IV 6.1. Introdução 6.2. Bases de Dados Visão Estrutural SGBD: Sistema de Gestão de Bases de Dados

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

Persistência de Classe e Auto- Relacionamento em Tabelas de Banco de Dados

Portfólio Meec 2015/2016. Instalação de CMS na infra-estrutura do Técnico.

Você pode testar se está tudo OK, abrindo um navegador no Debian Linux e acessando qualquer site.

Reconhecer alguns dos objectos VBA Automatizar bases de dados recorrendo à programação VBA e scripts SQL

DSS 08/09. Camada de Dados - JDBC. Aula 1. António Nestor Ribeiro /António Ramires Fernandes/ José Creissac Campos {anr,arf,jfc}@di.uminho.

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF)

Laboratório de Arquitectura de Computadores IST - Taguspark 2008/2009 Introdução aos sistemas binários Guião 1 9 a 13 de Março 2009

Solutions for Information Technologies. BIS-Navegador. IBM DB2 UDB v8.x

UNIVERSIDADE CATÓLICA PORTUGUESA DSI

PERGUNTAS FREQUENTES. RCi. Versão 1.1

Iniciando o MySQL Query Brower

- O MySQL para além da sua utilização em modo linha de comandos, também pode ser utilizado através de ferramentas gráficas.

Construção Páginas de Internet

PRIMAVERA EXPRESS: Funcionalidades do Produto

Transcrição:

Departamento de Engenharia Informática 2014/2015 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) ); Pág. 1 de 7

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' ); Nesta instrução 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. Para poder fazer o que é solicitado neste laboratório, deverá aceder primeiro à página de self- service do CIIST: https://ciist.ist.utl.pt/servicos/self_service/index.php e activar os serviços shell, web e cgi 2. Para aceder ao sigma.ist.utl.pt, tem de usar um programa designado genericamente por Secure Shell. Em Windows pode usar um dos programas de SSH Secure Shell ou PuTTY ; em Linux ou Mac deve usar o comando ssh. Terá de usar as suas credenciais do Fenix (nome de utilizador e password do sistema Fénix) para entrar na sua conta do sigma. 3. Para obter a password da sua conta no MySQL, e após estar ligado ao cluster sigma, execute o comando: mysql_reset 4. Para entrar em sessão em sessão no MySQL use 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, e deverá entrar com a password obtida no comando anterior 5. Para copiar ficheiros do seu PC para a sua área do sigma.ist.utl.pt deverá usar um programa específico de Secure Copy, ( WinSCP em Windows; scp em Linux). 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) Pág. 2 de 7

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 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. 6. Coloque o ficheiro bank.sql na sua área pessoal no cluster sigma.ist.utl.pt que está no site da cadeira no Fenix. Caso esteja a fazer o download a partir de um dos PCs do laboratórios em Linux, então esta cópia não será necessária dado que o download do browser já deixa os ficheiros na vossa área no sigma. 7. Entre na sua área do sigma, como explicado no passo 2, e navegue até ao directório onde guardou o ficheiro. 8. Entre no MySQL, como explicado no passo 3 e 4. 9. Uma vez dentro do MySQL, 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. 10. Use help para obter informação sobre os comandos disponíveis. 11. Se precisar de sair do programa, pode utilizar a qualquer momento o comando: quit 12. 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. 13. É este comando que deverá utilizar para executar as instruções no ficheiro bank.sql. source bank.sql O sistema produz algumas mensagens à medida que executa as instruções do ficheiro. 14. Para listar as tabelas da base de dados, use o comando: show tables; 15. Após a ligação à base de dados pode fazer algumas consultas, nomeadamente: 2 A interface MySQL Workbench encontra- se disponível em http://www.mysql.com/products/workbench/ Pág. 3 de 7

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 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. 16. Utilize o comando SHOW DATABASES; para obter informação sobre as bases de dados existentes no sistema. 17. Para se ligar à sua base de dados, utilize o comando: USE istxxxxx (onde istxxxxx é o seu nome de utilizador) 18. Para listar as tabelas da base de dados, use o comando: SHOW TABLES; 19. 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. 20. Use o comando quit para sair do sistema e voltar ao terminal. Pesquisas full- text no sistema MySQL O sistema MySQL tem atualmente suporte para a indexação e pesquisa com base em restrições full- text. As consultas deste tipo permitem selecionar registos com base na ocorrência de palavras ou expressões de língua natural. As pesquisas full- text podem fazer uso de stopwords (i.e., palavras muito frequentes que não devem ser consideradas, como a, e, ou que), podem usar restrições Booleanas, e podem envolver a ordenação dos resultados de acordo com a sua relevância. Pág. 4 de 7

21. Use os seguintes comandos para criar uma tabela de nome bank_news, e para lhe associar os conteúdos textuais de artigos noticiosos relevantes no domínio de um banco. Note que a criação da tabela envolve também um índice que suporta a execução de pesquisas full- text. create table bank_news ( id int primary key, title varchar(250), body text, fulltext ( title, body ) ) engine=myisam; insert into bank_news values ( 1, 'New Perryridge branch', 'The new Perryridge branch, in the city center, has opened today.'); insert into bank_news values ( 2, 'Customer feedback', 'Customers from the Brighton branch, located in the center of the city, have provided a great deal of positive feedback.'); insert into bank_news values ( 3, 'New focus group', 'Several Perryridge branch staff have been promoted to a skilled team who are focused on improving customer relations.'); insert into bank_news values ( 4, 'New staff', 'Several new staff members have been hired for the Brighton branch.'); insert into bank_news values ( 5, 'Branch in Redwood', 'New branch in Redwood is bringing us closer to clients in the area.'); 22. Após proceder à criação da tabela, pode executar consultas envolvendo restrições sobre os conteúdos textuais dos artigos noticiosos. Encontrar todos os artigos cujo conteúdo se relacione com city center : select * from bank_news where match(title, body) against ('"city center"' in boolean mode); Encontrar todos os artigos relacionados com Perryridge, apresentando os resultados ordenados de acordo para com a sua relevância: select *, match(title, body) against('perryridge') as score from bank_news where match(title, body) against('perryridge') order by score desc; Pág. 5 de 7

Encontrar todos os artigos relacionados com o balcão Perryridge, mas não relacionados com opened, usando para isso restrições Booleanas na interrogação: select * from bank_news where match(title, body) against('+perryridge - opened' in boolean mode); 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. Desenvolvimento de aplicações com bases de dados MySQL : Exemplo em PHP Os passos seguintes têm por objectivo testar a ligação à base de dados através de um script PHP. 23. 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. 24. 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 25. 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. 26. Confirme que o script corre correctamente e sem erros. 27. 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: Pág. 6 de 7

$db = new PDO( ) $db- >query( ) 28. 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. 29. 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( ) 30. 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. Pág. 7 de 7