Bases de Dados 1º semestre



Documentos relacionados
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 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

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

- 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.

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

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

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

Projeto de Banco de Dados: Empresa X

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

Programação SQL. Introdução

Consistem num conjunto de apontadores para instâncias especificas de cada relação.

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

Sistemas Empresariais Integrados

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

Comandos DDL. id_modulo = id_m odulo

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

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...

Linguagem SQL (Parte II)

BD Oracle. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04

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

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

AULA 6 INTEGRIDADOS DOS DADOS - CRIANDO RESTRIÇÕES

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda.

Acronis Servidor de Licença. Manual do Utilizador

EXEMPLOS DE COMANDOS NO SQL SERVER

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

A criação de utilizadores no MySQL pode passar pela utilização de dois comandos: - Create user; - Grant;

Introdução ao SQL. Aécio Costa

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

AULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS

TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS

Principais Comandos SQL Usados no MySql

Prof. Carlos Majer Aplicações Corporativas UNICID

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

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

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso):

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Tarefa Orientada 2 Criar uma base de dados

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

CREATE TABLE AUTOR ( cod_autor int not null primary key, nome_autor varchar (60) )

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

1. Domínio dos Atributos

Linguagem SQL. Comandos Básicos

Tarefa Orientada 15 Manipulação de dados

Prof. Omero, pág. 63. Banco de Dados InterBase.

Comandos de Manipulação

Bases de Dados 2007/2008. Aula 9

Usando PostgreSQL na Regra de Negócio de um ERP. Fabiano Machado Dias Eduardo Wolak

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

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

ZS Rest. Manual Avançado. Ementas : e SMS. v2011

Backup e Restauração de curso do Moodle. Compartilhamento Banco de Cursos Justiça do Trabalho

Segurança de Dados no PostgreSQL

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Tarefa Orientada 16 Vistas

Banco de dados. Linguagens de Banco de Dados II. Wedson Quintanilha da Silva -

Introdução ao Sistema. Características

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

SQL Server Ferramenta de administração. SQL Server Management Studio. 1º passo conectar ao banco de dados 2ª Query (consulta) usando SQL

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

Linguagem SQL Sub-linguagem DDL

Manual de backup do banco de dados PostgreSQL - Versão 2. Setembro-2011

Ferramentas de Comunicação da Internet no Ensino/Aprendizagem

TUTORIAL DE CRIAÇÃO DE BANCO DE DADOS ESPACIAL

SQL: Definição de tabelas, Modificações à Base de Dados

SQL. Autor: Renata Viegas

Hugo Pedro Proença, 2007

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela

Linguagem de Consulta - SQL

Projeto de Banco de Dados

Manual de Instruções para a Criação de Ficheiros CSR. Microsoft IIS 5/6

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Integridade Referencial Interface Visual SQL Server

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

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

Treinamento sobre SQL

A linguagem SQL

EXERCÍCIOS PRÁTICOS. Banco de Dados

PHP INTEGRAÇÃO COM MYSQL PARTE 1

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

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

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

Notas sobre o MySQL: Resumo dos comandos no MySQL linha de comandos:

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Treinamento em PHP. Aula 7. Ari Stopassola Junior

Administração e Optimização de BDs

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

Noções de. Microsoft SQL Server. Microsoft SQL Server

PostgreSQL. André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br

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

PROCEDIMENTOS ARMAZENADOS (Stored Procedures)

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes

Structured Query Language (SQL) Aula Prática

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

Armazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas;

Programação SQL. Manipulação de Dados. DML Data Manipulation Language

Transcrição:

DepartamentodeEngenhariaInformática 2008/2009 BasesdeDados1ºsemestre Lab1:Introduçãoaoambiente O ficheiro create bank.sql contém um conjunto de instruções SQL para criar a base de dadosdeexemploilustradanafigura1. Figura1.Basededadosdeexemplo Para criar a base de dados é necessário criar as tabelas e carregar os registos de cada tabela.acriaçãodastabelaséfeitacomrecursoàinstruçãocreatetable.porexemplo, atabeladeclientespodesercriadacomaseguinteinstruçã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)); Esta instrução especifica o nome da tabela, os nomes das três colunas, o tipo de cada coluna,eaindarestriçõestaiscomoosvaloresnãopoderemsernulleofactodachave primáriadatabelaseronomedocliente. IST/DEI Pág.1de8

BD 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'); emquesãoespecificados,respectivamente,osvaloresdecadacolunapelamesmaordem em que estes foram definidos aquando da criação da tabela 1. Esta instrução resulta na criaçãodeumnovoregistonatabeladeclientes. Utilizaçãodalinhadecomando OservidordebasesdedadosPostgresaserusadonasaulasdelaboratóriopodeser acedidonoendereço172.20.41.222,quandodentrodaredeist Tagus,ounoendereço 193.136.166.123quandonumaredeexternaaoIST Tagus. Cadaalunotemumabasededadosparautilizaçãonasaulas.Ologincorrespondenteé: Username:u<n.dealuno> Database:u<n.dealuno> Password:n.dealuno. O servidor de bases de dados pode ser acedido através da ferramenta de linha de comandospsqlouatravésdoclientegráficopgadminiii. Osalunosdevemterocuidadodealterarasuapasswordinicial,porexemploatravésda instrução: alter user u<n. de aluno> with password 'nova_password'; Utilizaçãodalinhadecomando Em geral todos os sistemas de gestão de base de dados dispõem de uma linha de comandoatravésdaqualépossívelexecutarinstruçõessqletambémoutroscomandos deadministraçãoemanutençãodosistema. 1 Existem outras variantes da instrução INSERT com as quais é possível especificar os valores por outra ordem,ouespecificarapenasalgunsdosvalorespretendidosdeixandoosrestantesanulloucomovalor poromissão(defaultvalue,quenestecasonãofoiespecificado) IST/DEI Pág.2de8

BD EnquantoquealinguagemSQLestánormalizadaepodeserusadaemtodosossistemas, já os comandos de administração e manutenção são específicos e diferentes para cada sistema. No Postgres a linha de comando está acessível através do programa psql, tal como se ilustranocomandoabaixo: psql -d u<n. de aluno> -U u<n. de aluno> -h <end. servidor> Algunscomandosúteisnoprogramadelinhadecomandoencontram selistadosabaixo: \h AjudasobrecomandosSQL \? Ajudasobreopgsql \q Sairdopsql \password Mudarapassworddeumutilizadordeformasegura \d Descreverumatabela,índiceouvista 1. Faça download do ficheiro create bank.sql e guarde o em C:\Temp ou noutro directórioàsuaescolha. 2. Através do menu Start do Windows, localize o grupo de aplicações do Postgres e chameocommandprompt. 3. Naveguenalinhadecomandoatéaodirectórioondeguardouoficheiro.sql. 4. Invoqueoprogramapsqlcomocomando: psql Uusername hhostname onde username é o nome de utilizador. O sistema pedirá a password, que também deve ser fornecida. Para saber o username e password que deve utilizar, entre em contactocomodocentedolaboratório. 5. Umavezdentrodosistema,utilizeocomando\hparaobterinformaçãosobretodos oscomandossqldisponíveis. 6. Utilize o comando \? para obter informação sobre todos os comandos de administraçãodisponíveis. 7. Ligue se à sua base de dados, utilizando o comando: \c nome da bd. Para saber o nome da base de dados que deve utilizar, entre em contacto com o docente do laboratório. 8. Seprecisardesairdoprograma,podeutilizaraqualquermomentoocomando\q IST/DEI Pág.3de8

BD 9. Nalistadecomandosdeadministraçãoteránotadoaexistênciadeumcomandonesta forma: \ifileexecutecommandsfromfile 10. É este commando que vamos utilizar para executar as instruções no ficheiro createbank.sql.executeocomando: \icreate bank.sql O Postgres produz algumas mensagens à medida que executa as instruções do ficheiro. 11. Depoisdecriadaabasededadospodefazeralgumasconsultas,nomeadamente: veralistacompletadeclientes: SELECT * FROM customer; veralistacompletadecontas: SELECT * FROM account; 12. O tempo que o sistema demora a responder a algumas consultas é um factor importantequandoovolumededadoséconsiderável.executeocomando: \timing Repita as consultas anteriores. Passará a ver o tempo que o sistema demora a responder. Utilizaçãodaaplicaçãodeadministração A linha de comando é geralmente a forma de ter acesso a todas as funcionalidades do sistema. No entanto, para um conjunto limitado de tarefas é possível recorrer a ferramentasmaissimples. AdistribuiçãodoPostgresincluiumaferramentadessegénerodesignadapgAdminIII.No MySQLexisteumaferramentaequivalenteconhecidapor MySQLQueryBrowser. 1. Através do menu Start do Windows, localize o grupo de aplicações do Postgres e chame a aplicação pgadmin III. Em Linux, a aplicação de administração pode ser acedidaatravésdocomandopgadmin3 2. Ligue seaoservidordebasededados. 3. Expandaaárvoreelocalizeabasededados bank,bemcomoassuastabelas,que foramcriadasquandoexecutou\icreate bank.sqlnalinhadecomando. IST/DEI Pág.4de8

BD 4. No menu de ferramentas, abra a ferramenta query tool ( ferramenta de consulta seosistemaestiveremportuguês) 5. Escrevaasmesmasconsultasquerealizouanteriormentenalinhadecomando.Após escrever o comando SQL use o botão executar consulta. Observe os resultados e reparequenocantoinferiordireitosurgeotempodeexecuçãoparaaconsulta. 6. Repitaasmesmasconsultasmasagorautilizeobotão explicarconsulta. 7. Repare que o sistema mostra graficamente o plano de execução que seguiu para responder à consulta. Para perguntas simples como esta, foi necessária apenas uma operação de pesquisa sequencial. Mais para a frente na disciplina veremos como o sistemageraplanospararesponderaperguntasmaiscomplexas. InstruçõessimplesnalinguagemSQL Procure explorar as possibilidades do Postgres através da utilização da aplicação gráfica pgadminiiioudaferramentadelinhadecomandos. Abaixo encontram se alguns exemplos de instruções simples em SQL. Com o apoio do docentedolaboratórioedadocumentação,deverátentarcompreenderosmecanismos essenciaisrelacionadoscomasinstruçõesdeexemploapresentadas. Criaçãodetabelas CREATE TABLE cities ( name varchar(80) UNIQUE, country varchar(80) NOT NULL, PRIMARY KEY (name) ); CREATE TABLE climate ( city varchar(80) UNIQUE, min_temp int, -- temperatura mínima max_temp int, -- temperatura máxima measurement_date date, PRIMARY KEY (city,measurement_date), CONSTRAINT valid_temp CHECK (max_temp < 60), FOREIGN KEY (city) REFERENCES cities (name) ); Inserçãodedados INSERT INTO cities VALUES ( Brooklyn, USA ); INSERT INTO cities VALUES ( Paulo Alto, USA ); IST/DEI Pág.5de8

BD INSERT INTO climate VALUES ( Brooklyn,46,50, 1994-11-27 ); INSERT INTO climate (city,min_temp,max_temp,measurement_date) VALUES ( Paulo Alto,43,55, 1994-11-29 ); Consultassimples SELECT city,(max_temp+min_temp)/2 AS avg_temp FROM climate; SELECT * FROM climate WHERE city = Paulo Alto ; SELECT DISTINCT city FROM climate ORDER BY city; SELECT * FROM climate, cities WHERE city = name; SELECT city, min_temp, max_temp, country FROM climate, cities WHERE city = name; Remoçãodetabelas DROP TABLE climate; DROP TABLE cities; Geraroscriptdeumabasededados A base de dados de exemplo foi criada com recurso a um script(ficheiro de texto) com uma série de instruções SQL. Durante a utilização da base de dados serão adicionados, removidosealteradosregistos,demodoqueoestadodabasededadoséoresultadodas operaçõesrealizadas. A qualquer momento é possível gerar um script quer para efeitos de backup, quer para efeitos de replicação da base de dados noutro sistema. Em geral existem mecanismos própriosquesãomaisadequadosparaesseefeito,masoscriptdecriaçãodeumabasede dadoséútilemmuitasocasiões. 1. Através do menu Start do Windows, localize o grupo de aplicações do Postgres e chameocommandprompt. 2. Invoqueoprogramapg_dumpcomocomando: pg_dump Uusername hhostnamedbname onde dbname éonomedabasededadoscujoscriptsepretendeobter. 3. Verá que o programa produz o script na linha de comando. Vamos redireccionar o outputdeformaaguardaroscriptnumficheiro. Invoquenovamenteoprogramapg_dumpcomosseguinteparâmetros: IST/DEI Pág.6de8

BD pg_dump Uusername hhostnamedbname>backup bank.sql ondedbnameéonomedabasededadosebackup bank.sqléonomedoficheiroque serácriado. 4. Abra o ficheiro backup bank.sql e compare o seu conteúdo com create bank.sql. Alguns elementos não existiam no ficheiro original. Contudo, observe que apesar de usarinstruçõesdiferentesestescriptcriaráumabasededadosidênticaàoriginal. NaferramentagráficapgadminIII,oscriptdeumabasededadospodesercriadodesdea árvoreondesãoexibidasasbasesdedadosexistentes.cliquecomobotãodireitodorato eseleccioneaopção Backup. Obterinformaçãosobreoesquemadeumabasededados Paraumabasededadosexistentenosistemamassobreaqualnãohajadocumentação,é possívelusarinstruçõesespeciaisparaobterinformaçãosobreosartefactosexistentesno sistema(basesdedados,tabelas,vistas,funções,etc.).geralmenteestesmecanismossão proprietáriosediferentesparacadasistema. NoPostgresessasfuncionalidadesestãodisponíveisatravésdocomando\devariantes. 13. Através do menu Start do Windows, localize o grupo de aplicações do Postgres e chameocommandprompt 14. Invoqueoprogramapsqlcomocomando: psql Uusername hhostname 15. Utilizeocomando\l( L pequeno)paraobterumarelaçãodetodasasbasesdedados existentesnosistema. 16. Paraseligaràbasededados dbname,utilizeocomando:\cdbname 17. Obtenhainformaçãosobreastabelasdeclientesecontas: \dcustomer \daccount Confirme que esta descrição corresponde às especificações com que essas tabelas foramcriadas. Importaçãodedados Muitasvezesénecessárioimportardadosqueseencontramnoutroformato,porexemplo numafolhadecálculo.égeralmentepossívelconverteressesdadosparaumficheirode IST/DEI Pág.7de8

BD texto separado por vírgulas (CSV) ou por tabs (TSV). Uma vez num destes formatos, o Postgresdispõedeumcomando\copyquepermiteimportaressesdados. 1. Crieumficheirodetextocomváriaslinhascorrespondentesanovosclientes,emque cadalinhatemaforma: nome,rua,cidade 2. Invoqueoprogramapsql. 3. Ligue seàbasededadospretendida. 4. Façaumaconsultaàtabelacustomerparaveroseuconteúdo. 5. Executeocomando: \copytabelafromficheirousingdelimiters',' onde tabela deve ser substituído pelo nome da tabela que receberá os dados e ficheiro devesersubstituídopelonomedoficheirodetextoquecriou. 6. Façaumaconsultaàtabelacustomerparaveroconteúdo. 7. Façaumaconsultaàtabelaaccountparaveroconteúdo. 8. Crieumficheirodetextocomumúnicalinhaquedescrevaumanovacontaaadicionar àtabelaaccount: A-555,New York,800.00 9. Executeumcomando\copyparaimportarestesdadosparaatabelaaccount. 10. Osistemaproduzumerro.Procureumapossívelexplicaçãoparaacausadesteerro. 11. Altere os dados da conta A 555 de modo que o sistema deixe de produzir o erro e aceiteosnovosdados. 12. Executenovamenteocomando\copyefaçaumaconsultaàtabelaaccountparavero conteúdo. IST/DEI Pág.8de8