Roteiro 7 Comandos SQL Parte 1: Criação e manutenção de tabelas

Tamanho: px
Começar a partir da página:

Download "Roteiro 7 Comandos SQL Parte 1: Criação e manutenção de tabelas"

Transcrição

1 Roteiro 7 Comandos SQL Parte 1: Criação e manutenção de tabelas Objetivos: Detalhar características da linguagem SQL; Explorar o uso da linguagem SQL no banco de dados Mysql; Manipular a linguagem DDL e DML através da console de comandos; Este roteiro tem como objetivo explorar o uso da linguagem SQL através do uso da console Mysql serão detalhados comandos básicos para a criação de tabelas e bancos de dados e também comandos para a manipulação de informações existentes em tabelas de dados; Ferramentas necessárias Navegador, Xampp,Notepad++, Bibliografias de livros da faculdade. Introdução Quando os bancos de dados relacionais estavam sendo desenvolvidos, foram criadas linguagens destinadas à sua manipulação. O Departamento de Pesquisas da IBM, desenvolveu a Sequel como forma de interface para o sistema de BD relacional denominado SYSTEM R, no início dos anos 70. Esta linguagem foi evoluindo de nome e seu nome foi mudado para SQL (Structured Query Language Linguagem de Consulta Estruturada). Em 1986 o American National Standards Institute (ANSI) e a International Standards Organization (ISO) publicaram os padrões para o SQL, chamado SQL-86. Em 1989 foi publicada uma extensão chamada SQL-89. Atualmente os sistemas que dão suporte a SQL estão baseados pelo menos nos recursos do SQL-89.A versão mais amplamente suportada é a SQL-92. A última publicação define o SQL-3. O SQL apresenta uma série de comandos que permitem a manipulação de estruturas de dados, manipulação dos dados, definição de restrições de segurança, são estas partes: DDL(Data Definition Language) Linguagem de Definição de dados DML (Data Manipulation Language) Linguagem de Manipulação de Dados Embedded DML (Incorporação DML) Comandos SQL para serem usados em linguagens gerais (PHP, JAVA, Python) Definição de Views Definição de visões de dados Controle de Transações Para controlar e disponibilizar as informações de bancos de dados será utilizado inicialmente o SBGD Mysql, que está embutido no aplicativo integrado XAMPP, disponível no endereço Para o banco de dados, o xampp utiliza uma pasta em sua estrutura denominada Mysql, e para o servidor web utiliza a estrutura contida no Apache, a pasta htdocs.a figura a seguir detalha a estrutura de diretórios utilizada pelo XAMPP quando é descompactado no disco. Figura 17 - Estrutura de diretórios do XAMPP Pág 39

2 Utilizando a console Mysql Para realizar logar no Mysql via console é necessário possuir um usuário com privilégios de root para realizar as tarefas de criação, visualização e alteração de bancos de dados, a seguir um exemplo de login utilizando o usuário máster do SGBD Mysql, o usuário root: c:\xampp\mysql\bin\mysql -u root p O primeiro contato que teremos será o prompt mysql para utilizar nossos comandos: Geralmente inicia-se a manutenção de bancos de dados com uso dos comandos DDL (data definition language) e DML (Data Manipulation language), são demonstrados a seguir os comandos mais comuns que podem ser utilizados: COMANDOS DDL/DML SOURCE SHOW DATABASES; CREATE DATABASE nomedb USE nomedb Comando Função Exemplo de uso CREATE TABLE nometable (CAMPO1 TIPODADOS, CAMPO2 TIPODADOS...); Executa um arquivo.sql no formato SOURCE caminhoarquivo Visualiza todos os bancos de dados disponíveis no SGBD; Cria uma nova base de dados. Faz com que seja escolhida uma nova database nos bancos de dados existentes no servidor Mysql. Cria uma nova tabela no servidor de banco de dados, tem a possibilidade de apenas criar a tabela e também de inserir valores na mesma. SOURCE d:\comandos-sql.sql SHOW DATABASES; CREATE DATABASE ANDRE; USE ANDRE; CREATE TABLE SENAC( id int, nome varchar(30) DROP TABLE nometable Apaga uma tabela do sgbd. DROP TABLE SENAC; DROP DATABASE nomedb Apaga uma base de dados do sgbd. DROP DATABASE ANDRE; DESC nometable Descreve a estrutura de uma tabela do sgbd. DESC SENAC; INSERT INTO nometable (campo1,campo2) values (valor1,valor2) Insere informações em uma tabela na ordem em que forem definidos. ); INSERT INTO SENAC(id,nome) VALUES(1, andré moraes ); Pág 40

3 FROM nometable Realiza uma consulta de valores existentes em uma tabela. SELECT * FROM SENAC; SELECT campos WHERE condicao Adiciona na consulta uma condição. SELECT * FROM SENAC WHERE ID =1; ORDER BY nomecampo Adiciona na consulta uma ordenação dos valores retornados. SELECT * FROM SENAC ORDER BY NOME; EXIT Sai da console mysql EXIT; Tarefas 1) Realizar o download do XAMPP para o seu desktop a partir do endereço descompactá-lo e iniciar o servidor de banco de dados e o servidor HTTP Apache server; 2) Iniciar o prompt de comandos do Windows, acessar o diretório bin do mysql, localizado em xampp\mysql\bin e realizar o login como usuário root; 3) Listar todos os bancos de dados existentes no SGBD; 4) Criar um novo banco de dados com o nome bd_aluno; 5) Abra o software notepad ++( modifique a linguagem utilizada para SQL e utilize-o para criar um script com as tabelas descritas abaixo, salve o script com o nome de roteiro-7-script1.sql Tabela: computador Campo ID NOME MEMORIA DISCO MONITOR Tipo INT VARCHAR(50) DOUBLE DOUBLE VARCHAR(15) 6) Execute o script no console, copiando o script e colando diretamente na console; 7) Altere o script criado e inclua o comando drop table [nometabela], precedendo cada tabela criada. Rode o script completo novamente na console. 8) Altere o script criado e inclua os comandos necessários para inserir 3 computadores, com dados à sua escolha; 9) Diretamente na console aplique um select para selecionar todos os computadores da tabela computadores; 10) Diretamente na console, aplique um select para selecionar apenas os computadores onde o ID seja 2; 11) Altere o script de criação de tabelas, e inclua mais duas tabelas, descritas a seguir: Tabela: pessoa Campo Tipo Pág 41

4 ID NOME ENDERECO CIDADE INT VARCHAR(50) VARCHAR(70) VARCHAR(20) Tabela: cidade Campo ID NOME ESTADO Tipo INT VARCHAR(50) VARCHAR(2) 12) Altere o script criado para inserir mais 3 pessoas, 3 cidades e 3 computadores. 13) Aplique um select para selecionar todas as cidades; 14) Aplique um select para selecionar todas as pessoas; 15) Descreva a tabela pessoa; 16) Delete cada tabela criada no banco de dados; 17) Visualize as tabelas do banco de dados para confirmar a exclusão das mesmas; 18) Delete o banco de dados; 19) Visualize os bancos de dados existentes para confirmar a exclusão do banco; Referências Elmasri, Navathe Sistemas de banco de dados 6ª Edição; Introdução a Banco de dados, Osvaldo Kataro Tokai, disponível em Apache Friends Home page - Notepad++ Home page - Pág 42

5 Roteiro 8 Comandos SQL parte 2: Comandos DDL Objetivos: Adicionar chaves primárias em tabelas de dados; Utilizar comandos DDL para alteração de estruturas de bancos de dados Neste roteiro são utilizados comandos para realizar a manipulação nas estruturas de bancos de dados que são importantes para modificar ou adicionar componentes as tabelas de bancos de dados. Ferramentas necessárias Navegador, Xampp,Notepad++,console Mysql, Bibliografias de livros da faculdade. Introdução Alterar a estrutura de tabelas é uma tarefa bastante importante na administração de bancos de dados. A estrutura das tabelas pode ser alterada a qualquer momento que se desejar através dos comandos fornecidos pelo SGBD. Serão exploradas algumas das tarefas comuns na manipulação de estruturas de tabelas em bancos de dados. Adicionando Chaves primárias: Para adicionar uma chave primária na definição de uma tabela de dados é suficiente a adição do comando primary key(nome-campo). Exemplo de criação de chave primária para uma tabela contatos: No comando criado, temos de atentar aos itens: NOT NULL, DEFAULT NULL, PRIMARY KEY. NOT NULL define que o campo não poderá ser definido com valores vazios; DEFAULT NULL define como valor padrão o NULL; PRIMARY KEY(nome_campo) Define que o campo mencionado no comando será utilizado como chave primária dentro da estrutura das tabelas. Pág 43

6 ALTERANDO A ESTRUTURA DE TABELAS Estruturas de tabelas podem ser alteradas através do comando ALTER TABLE. Este comando, como o nome indica, realiza uma alteração na tabela para que seja possível inserir, alterar ou remover colunas de dados. A seguir um exemplo de coluna sendo adicionada: ALTER TABLE DRINKS ADD COLUMN ID_DRINK INT NOT NULL AUTO_INCREMENT FIRST; Indica que a nova coluna a ser inserida ocupará a primeira coluna na tabela de dados a qual estamos inserindo este novo campo, ou seja, o FIRST é a cláusula que permite realizar esta inclusão em primeiro. ALTERANDO UMA TABELA PARA ADICIONAR UMA CHAVE PRIMÁRIA: É possível que uma tabela seja alterada para incluir um novo campo e adicionarmos nossa chave primária, para tanto é utilizado o comando ALTER TABLE. No comando anterior foi feita a inserção de uma nova coluna denominada id_drink com os parâmetros INT, NOT NULL, AUTO_INCREMENT e FIRST. Sendo que com isso informamos que o campo será do tipo inteiro, não vazio, será incrementado automaticamente e será posicionado como a primeira coluna da tabela. EXEMPLO DE ALTERAÇÃO DE COLUNA: Incluir uma coluna em uma tabela DRINKS com o nome de nota. A coluna será posicionada após a coluna de preço. RENOMEANDO UMA TABELA CRIADA ANTERIORMENTE: Para renomear uma tabela criada anteriormente é possível utilizar o comando ALTER TABLE juntamente com o comando RENAME TO Exemplo de renomeação de tabela BEBIDAS para INGREDIENTES. ALTERANDO NOMES DE CAMPOS DE UMA TABELA: Para alterarmos um campo podemos utilizar o comando ALTER TABLE seguido do comando CHANGE COLUMN. Exemplo de modificação do nome da coluna NOME para DESCRICAO. Pág 44

7 OBSERVAÇÕES: O cuidado ao alterar colunas de tabelas se deve ao tipo de dados e tamanhos escolhidos. Se alterarmos um tipo de uma coluna para um tipo que não é compatível com o anterior, os dados serão perdidos. Caso a alteração seja feita para dados compatíveis, porém de menor tamanho, os dados serão reduzidos para adaptarem-se ao novo tamanho. ALTERANDO APENAS OS TIPOS DE DADOS DE UM CAMPO: Quando for necessário alterar o tipo de dado de uma coluna específica, podemos também utilizar o comando MODIFY campo NOVO_TIPO; EXEMPLO: Modificando o tipo de dados do campo DESCRICAO para VARCHAR(100); A diferença do comando MODIFY para o comando CHANGE se dá no fato de não estarmos modificando o nome e tipo de dados da coluna, e sim apenas o tipo de dados. Tarefas 1) Preencher a tabela de comandos abaixo com uma descrição, baseado no seu exemplo de uso. Comandos para alteração de estrutura de tabelas Todos os comandos listados a seguir devem ser executados sempre precedidos do comando ALTER TABLE [NOMETABELA] Comando Função Exemplo de uso ADD COLUMN [nomecoluna] [TIPO] [PARÂMETROS] RENAME TO [nometabela] LAST BEFORE AFTER FIRST AUTO_INCREMENT CHANGE COLUMN ALTER TABLE X ADD COLUMN NOME VARCHAR(30); ALTER TABLE X RENAME TO Y; ALTER TABLE Y ADD COLUMN ZZZ INT LAST; ALTER TABLE Y ADD COLUMN AAA INT BEFORE BBB; ALTER TABLE Y ADD COLUMN CCC INT AFTER BBB; ALTER TABLE Y ADD COLUMN CHAVE INT FIRST; ALTER TABLE Y ADD COLUMN CHAVE2 INT AUTO_INCREMENT; ALTER TABLE Y TRUNCATE TABLE TRUNCATE TABLE Y; CHANGE COLUMN CHAVE2 CHAVEPRINCIPAL INT; Pág 45

8 2) Criar um script para gerar a tabela no formato e com as informações a seguir: UC Projeto de Banco de Dados COR ANO FABRICANTE MOD_ VALORDECUSTO Prata 1998 Porsche Boxter NULL 2000 Jaguar XJ Vermelho 2002 Cadillac Escalade ) A tabela possui um planejamento pouco eficaz, pois possui várias falhas. Utilizando o comando ALTER TABLE gere o script para a modificação da tabela acima para que no formato da tabela a seguir: CARRO_ID CHASSI FABRICANTE MODELO COR ANO VALOR 1 RNKLK66N33G Porsche Boxter Prata SAEDA44B175B04113 Jaguar XJ NULL GYEK63NT2G Cadillac Escalade Vermelho COMANDOS SUGERIDOS PARA SEREM UTILIZADOS: ALTER TABLE RENAME TO ADD COLUMN ADD PRIMARY KEY CHANGE COLUMN MODIFY COLUMN UPDATE; RESULTADO FINAL: 4) Alterar a coluna FABRICANTE para que tenha o tipo varchar(50) e fique em último lugar na tabela; 5) Criar uma tabela DONO, que representará os donos dos veículos. Nesta tabela inclua os campos cpf, nome, telefone, cidade. 6) Insira 3 donos de veículos preenchendo todas as informações da tabela dono; 7) Adicione outra coluna na tabela dono com o nome ID_DONO para que fique na esquerda da tabela, antes de todas as colunas, e fique com a propriedade auto_increment e primary key definidas. 8) Altere o nome da tabela DONO para PESSOA; 9) Zere todos os registros da tabela PESSOA; 10) Insira novamente os registros que foram excluídos na tabela dono, copiando novamente o seu script na console; 11) Adicione uma nova coluna na tabela PESSOA com o nome ID_VEICULO, e insira 3 novos registros completos de donos com ID S de VEICULOS; Pág 46

9 Referências Elmasri, Navathe Sistemas de banco de dados 6ª Edição; UC Projeto de Banco de Dados Introdução a Banco de dados, Osvaldo Kataro Tokai, disponível em Apache Friends Home page - Notepad++ Home page - Pág 47

10 Roteiro 9: SQL Básico - chave estrangeira, operadores de comparação e operadores booleanos Objetivos: Criar restrições para atributos, chaves primárias e estrangeiras; Explorar consultas SQL com uso de operadores de comparação; Explorar consultas SQL com uso de operadores booleanos; Neste roteiro são explorados comandos para a realização de consultas com uso de operadores de comparação e operadores booleanos importantes para a realização de consultas mais complexas onde os dados devem ser filtrados de acordo com critérios específicos do programador. Ferramentas necessárias Navegador, Xampp,Notepad++, console Mysql, Bibliografias de livros da faculdade. Criando Restrições Em SQL, restrições podem ser definidas para as tabelas que forem criadas. Existem restrições de chave e integridade referencial, restrições sobre domínios de atributo e NULLs e restrições sobre tuplas individuais (registros) dentro de uma relação. Restrições de atributo: Como o nome indica, são restrições que podem ser aplicadas aos atributos de uma tabela. Existem algumas restrições que podem ser aplicadas como valores null (NULL), valores padrão e valores (DEFAULT) de checagem (CHECK), que são detalhados a seguir na tabela abaixo: Restrição Descrição Exemplo de uso NOT NULL DEFAULT CHECK Se um valor NULL não for permitido isto pode ser especificado através do parâmetro NOT NULL na definição de um campo. Geralmente esta propriedade é definida para campos de chave primária, mas pode ser especificado para quaisquer outros atributos cujos valores não podem ser NULL. Determina um valor padrão para um atributo. O valor padrão será incluído em qualquer registro se um valor explícito não for declarado. Utilizado para limitar valores de atributo ou domínio. Pode ser utilizado para expressar que apenas valores dentro de uma faixa x podem ser utilizados em um campo. CREATE TABLE X( NOME VARCHAR(30) NOT NULL ); CREATE TABLE Y( TPAGTO INT DEFAULT 100 ); CREATE TABLE Z( TPAGTO INT CHECK(TPAGTO > 0 AND TPAGTO <3) ); Pág 48

11 Restrições de chave e integridade referencial: são restrições que podem ser impostas para os atributos para garantir a integridade da informação que será armazenada. Existem as restrições de chave primária (primary key) e de chave segundária (foreign key), as duas propriedades são detalhadas na tabela a seguir: Restrição Descrição Exemplo de uso PRIMARY KEY FOREIGN KEY Permite especificar atributos de chave primária em uma tabela. Se o atributo chave for único a restrição pode ser incluída diretamente no atributo, caso contrário deve ser incluído ao final da declaração dos campos ou após através da alteração da tabela. Especifica a criação de uma chave estrangeira. Da mesma forma que a chave primária, esta propriedade pode ser inserida na definição da tabela ou posteriormente através do comando ALTER TABLE. CREATE TABLE X( ID_FUNC INT PRIMARY KEY ); CREATE TABLE X( ID_FUNC INT, PRIMARY KEY(ID_FUNC); ); PRIMARY KEY(CAMPO1,CAMPO2,CAMPO3); CREATE TABLE Y( IDCIDADE INT NOT NULL, FOREIGN KEY(IDCIDADE) REFERENCES CIDADE(IDCIDADE) ); Ações de violação de integridade: uma violação ocorre quando alguma informação inserida ou atualizada em um atributo viola as regras de chave. Quando acontece uma violação de integridade, a ação padrão (default) do SGBD é a de recusar a operação. Porém é possível adicionar ações de comportamento para que sejam executadas, descritas na tabela a seguir: Restrição Descrição Exemplo de uso ON DELETE ON UPDATE SET NULL CASCADE Define opções para quando são deletados registros envolvendo chaves estrangeiras. Define opções para quando são atualizados registros envolvendo chaves estrangeiras. Opção para ON DELETE OU ON UPDATE que define que ao ser excluído ou alterado um registro que é referenciado por outras tabelas como chave estrangeira, estas são definidas como NULL. Opção para ON DELETE OU ON UPDATE que define que ao ser alterado um registro que é referenciado por outras tabelas como chave estrangeira, estas são atualizadas juntamente com o novo valor definido. CREATE TABLE X(... FOREIGN KEY (IDCIDADE) REFERENCES CIDADE(IDCIDADE) ON DELETE [AÇÃO] ); CREATE TABLE X(... FOREIGN KEY (IDCIDADE) REFERENCES CIDADE(IDCIDADE) ON UPDATE [AÇÃO] ); CREATE TABLE X(... FOREIGN KEY (IDCIDADE) REFERENCES CIDADE(IDCIDADE) ON DELETE SET NULL ); CREATE TABLE X(... FOREIGN KEY (IDCIDADE) REFERENCES CIDADE(IDCIDADE) ON UPDATE CASCADE ); Pág 49

12 Nomeando Restrições Uma restrição pode ser nomeada em sua definição com uso da palavra-chave CONSTRAINT. Nomes de restrição precisam ser exclusivos e são importantes por identificarem diferentes restrições no caso de precisarem ser excluídas ou trocadas por outras ao longo da definição do banco de dados. Nomear restrições em bancos de dados é uma tarefa opcional, porém as principais ferramentas CASE de implementação normalmente utilizam nomes em restrições. Exemplo de criação de restrição com uso de CONSTRAINT CONSTRAINT PK_FUNCIONARIO PRIMARY KEY(IDFUNCIONARIO), CONSTRAINT FK_CIDADE_FUNCIONARIO FOREIGN KEY(IDCIDADE) REFERENCES CIDADE(IDCIDADE) ON DELETE SET NULL ON UPDADTE CASCADE; Operadores de comparação A cláusula WHERE introduz um potencial maior para as buscas de informações. Permite que seja possível escolher quais linhas são restauradas de uma declaração SELECT. É utilizado para restaurar linhas que combinem uma condição, como ter um valor de coluna que combine exatamente com uma string, um número maior ou menor que um valor, ou uma string que é o prefixo de outra. A seguir são demonstrados os operadores de comparação sendo utilizados em conjunto com a cláusula WHERE. Operadores de Comparação Os operadores de comparação a serem utilizados em uma consulta SQL são os mesmos utilizados na maioria das linguagens de programação, e permitem que uma consulta possa ser executada de forma muito mais poderosa para a seleção de informações em tabelas. Os operadores de comparação são descritos a seguir: SELECT campos FROM tabela WHERE argumentos Comando Função Exemplo = < > <= >= <> Insere um operador de comparação igual a entre dois campos. Insere um operador de comparação menor que entre dois campos ou expressões. Insere um operador de comparação maior que entre dois campos ou expressões. Insere um operador de comparação maior que entre dois campos ou expressões. Insere um operador de comparação menor que entre dois campos ou expressões. Insere um operador de comparação diferente de SELECT * FROM dados WHERE nome = joão SELECT * FROM funcionario WHERE salario < 1000 SELECT * FROM cidade WHERE populacao > SELECT * FROM cidade WHERE populacao >= SELECT * FROM aluno WHERE nota >= 7 SELECT * FROM pessoa WHERE sexo <> masculino Pág 50

13 Operadores Booleanos Os operadores de condição são úteis para combinar duas ou mais condições utilizando os operadores booleanos AND, OR e NOT. Permite unir critérios de pesquisa diferentes na mesma consulta, podemos utilizar a conjunção AND e separar critérios diferentes, por exemplo. Operadores AND, OR e NOT A seguir são detalhados os operadores de combinação que podem ser utilizados em conjunto nas consultas com uso do SELECT em conjunto com a cláusula WHERE. Comando Função Exemplo AND Restringe os resultados para as linhas que possuem ambas as condições. SELECT * FROM dados WHERE nome = joão and salario > 3000 SELECT campos FROM tabela WHERE argumentos OR Restringe os resultados para as linha que atendam pelo menos uma das condições. SELECT * FROM funcionario WHERE salario < 1000 or nome >= G NOT Nega uma declaração Booleana. SELECT * FROM funcionario WHERE NOT (salario >1000 and salario < 5000) Tarefas Utilizando o script de criação disponível em crie o banco de dados em seu servidor Mysql para uso nas tarefas do roteiro. 1) Crie as chaves estrangeiras utilizando uma CONSTRAINT nomeada com o prefixo FK_TABELAORIGEM_TABELADESTINO para as seguintes tabelas a. Movimento navio; b. Navio; c. Porto; d. Porto_visitado; 2) Altere o script de criação e Insira uma restrição de atributo para o campo TIPO_NAVIO.CAPACIDADE_PESO para que não aceite valores inferiores a Insira um novo registro de tipo de navio e teste o resultado da restrição feita. 3) Insira no script de todas as tabelas criadas, a restrição para a ação de violação de integridade ON UPDATE com CASCADE e ON DELETE para SET NULL; 4) Crie uma consulta para selecionar todos os portos Localizados em Salvador; 5) Crie uma consulta para selecionar todos os tipos de navios com capacidade maior do que e casco unico; 6) Crie uma consulta para selecionar todos os navios onde o proprietário seja Sergen & Terres OU o tipo seja Graneleiro; 7) Crie uma consulta para selecionar todos os navios onde o proprietário seja Sergen & Terres E o tipo seja Graneleiro; 8) Crie uma consulta para selecionar os navios onde o proprietário seja Maritimus E o tipo seja Graneleiro OU o tipo seja Quimico. 9) Crie uma consulta que liste todos os nomes dos navios que visitaram o porto com o nome de Porto de Santos; Pág 51

14 10) Crie uma consulta que liste todos os nomes dos navios e a data de inicio onde a data de inicio seja superior a 13 de setembro de 2011; 11) Utilizando o operador NOT, crie uma consulta para listar todos os navios que não estiveram no porto de Santos. Referências Elmasri, Navathe Sistemas de banco de dados 6ª Edição; Introdução a Banco de dados, Osvaldo Kataro Tokai, disponível em Apache Friends Home page - Notepad++ Home page - Pág 52

15 Roteiro 10: Consultas com várias tabelas/operadores de busca Objetivos: Criar consultas utilizando várias tabelas; Explorar as funcionalidades de selects em várias tabelas utilizando a notação tabela.campo e a cláusula AND; Explorar as funcionalidades de selects em várias tabelas utilizando INNER JOIN; Fazer uso dos operadores de busca em consultas; Neste roteiro são explorados comandos para a realização de consultas em várias tabelas, que são importantes para que seja possível reunir informações onde existam tabelas relacionadas. São explorados os métodos de relacionamento com uso da cláusula AND e também com o uso do operador INNER JOIN (consulta interna), Ferramentas necessárias Navegador, Xampp,Notepad++, console Mysql, Bibliografias de livros da faculdade. Introdução Em um banco de dados relacional é comum trabalhar com tabelas diferentes. As consultas SQL podem ser muito simples até muito complexas, e inicialmente é muito comum utilizar consultas que faça a união entre tabelas diferentes com uso do SELECT FROM WHERE em sua forma básica. Selects em várias tabelas A forma básica do comando SELECT é também chamada de mapeamento ou bloco select-from-where, onde: SELECT <lista atributos>: lista de nomes de atributo cujos valores devem ser recuperados pela consulta. FROM <lista tabelas>: lista dos nomes de tabelas (relação) exigidos para processar a consulta. WHERE <condição>: expressão condicional (booleana) que identifica as tuplas (linhas) a serem recuperadas pela consulta. Os operadores possíveis de utilizar em consultas são os já vistos no roteiro 08 ( e podem ser combinados de diversas formas para se obter os resultados desejados. Exemplo de select com três tabelas: SELECT CAMPO1, CAMPO2, CAMPO3 FROM TABELA_A, TABELA_B, TABELA_C WHERE TABELA_A.CAMPO1 = TABELA_B.CAMPO2 AND TABELA_B.CAMPO10=TABELA_F.CAMPO20 AND TABELA_C.CAMPO2=TABELA_X.CAMPO30 ; Neste caso o resultado das consultas ficará restrito às condições explicitadas serem TRUE, caso contrário a listagem solicitada não é exibida. Consulta Interna (INNER JOIN) É uma técnica utilizada para realizar a chamada tabela de junção e foi criada para permitir aos usuários especificar uma tabela resultante de uma operação de junção na cláusula FROM de uma consulta. Geralmente é mais fácil de compreender este tipo de consulta do que inserir todas as condições de seleção e junção no WHERE, uma vez que fica claro quais critérios estão realizando junções e quais estão realizando critérios de pesquisa. Existem alguns tipos de junção que podem ser utilizados, porém o modo padrão de junção de tabelas é chamado de INNER JOIN, onde a tupla é incluída no resultado somente se uma tupla combinar com os os critérios da outra tabela. Pág 53

16 Exemplo de utilização de consulta com INNER JOIN SELECT TABELA_A.CAMPO1, TABELA_A.CAMPO2, TABELA_B.CAMPO3 FROM TABELA_A INNER JOIN TABELA_B ON TABELA_A.CAMPO1 = TABELA_B.CAMPOX ; Dica: A ordem em que são feitas as junções não importa nas consultas, o SQL executa a consulta de forma não procedural, então se for realizar uma consulta onde são realizadas junções com mais de 2 tabelas a ordem das junções não modificará o resultado final. Utilizando Operadores de Busca Os operadores de busca podem ser úteis para que seja possível substituir caracteres ou expressões em uma cláusula SELECT. Veremos os operadores LIKE, o operador % e o operador BETWEEN, que podem auxiliar um SELECT quando for necessário. Utilizando Operadores de Busca Coringa Comando Função Exemplo Alias SELECT campos FROM tabela WHERE argumentos LIKE % BETWEEN _ (under line) Utilizada somente com Strings, permite representar combinações possíveis da string que estiver sendo pesquisada. Normalmente realizada para pesquisa linhas onde exista a ocorrência de uma string. Permite representar uma parte da string, é utilizada em conjunto do comando LIKE. Semelhante ao AND, define um intervalo de dados definido que pode ser utilizado em uma consulta. Permite combinar exatamente um caractere desconhecido utilizado para representar qualquer combinação possível na cláusula LIKE. SELECT * FROM dados WHERE nome LIKE joão SELECT * FROM funcionario WHERE nome LIKE %a AND nome LIKE a% SELECT * FROM funcionario WHERE salario BETWEEN 1000 and 5000 SELECT * FROM funcionário WHERE nome LIKE R % Os nomes de campos utilizando a notação de ponto (TABELA.CAMPO1) são utilizados para qualificar um nome completo de um campo, e pode ser utilizado sempre que quiser para evitar a ambiguidade nos nomes de campos de tabelas diferentes. Outra forma de resolver este problema é com a implementação de ALIAS (apelidos) que são dados às tabelas quando necessário. Exemplo de utilização de alias: Pág 54

17 SELECT F.ID, F.NOME, E.NOME FROM FUNCIONARIO AS F, EMPRESA AS E WHERE F.idEmpresa = E.id ; Eliminando duplicatas Como o resultado de consultas é tratado pelo sql como um multiconjunto, desta forma é comum o aparecimento de tuplas duplicadas, que em muitos casos é necessário eliminá-las com uso do operador DISTINCT. Exemplo de utilização de distinct: Selecionando todos valores de salários pagos na empresa SELECT DISTINCT salario FROM funcionario; Ordenando consultas Ao realizar consultas onde a listagem das tuplas resultantes seja extenso é interessante ordenar os elementos através de uma das colunas utilizadas, isto pode ser feito através do uso do comando ORDER BY, inserido ao final da seleção dos campos utilizado na consulta. Exemplo de uso do ORDER BY SELECT nome,endereco,cidade,salario FROM funcionário ORDER BY salario; Tarefas Utilizando o arquivo disponível em representado pela modelagem abaixo, execute as seguintes tarefas em SQL: 1) Utilizando o arquivo da modelagem disponível em inner-operadores/roteiro-6-bdcinemas.mwb, abra a modelagem no workbench e através da aba Inserts do workbench insira os dados para as tabelas ator, filme, sessão, cidade, cinema, cinemapassafilme, participafilme. Um exemplo de alguns dos dados para serem inseridos é demonstrado na figura abaixo: 2) Aplique as seguintes modificações no modelo do workbench: Pág 55

18 a. Remover as cláusulas NOT NULL para todas as tabelas; b. Aplicar o Forward Engineer ativando a geração de INSERT S nas tabelas; UC Projeto de Banco de Dados 3) Realize as seguintes consultas utilizando o INNER JOIN para realizar junções entre tabelas diferentes. Caso alguma consulta não possa ser realizada adapte a modelagem para atender aos critérios e execute novamente o Forward Engineer: a. Selecionar todos os filmes juntamente com os seus gêneros, ordenando por gênero; b. Selecione todos os filmes com duração entre 100 e 190 minutos; c. Selecione todos os filmes onde o ator Chuck Norris e a atriz Julia Roberts estiverem participando; d. Selecionar todos os nomes de atores e os nomes dos filmes em que trabalharam ordenando pelo nome dos filmes; e. Selecionar todos os filmes que estão passando em todos os cinemas, organizando pelo título do filme; f. Selecione os nomes de filmes que comecem com O ou L e que terminem com A. g. Selecione o nome, a duração e nome do cinema que estiver passando os filmes que forem do gênero TERROR e que tenham duração até 120 minutos; h. Selecione o nome, o gênero e a duração dos filmes que não tenham o gênero Terror ; i. Selecionar todos os cinemas com o nome de todas as sessões atualmente em cartaz; j. Selecionar todos os filmes em que um determinado ator trabalhou; k. Selecione todos os nomes, duração e gênero dos filmes brasileiros. l. Selecionar todos os nomes e gêneros dos filmes que estão em cartaz atualmente; m. Selecionar o nome do cinema, título em português, o título original, o gênero, o diretor dos filmes que estão em cartaz na cidade de pelotas; n. Selecione o nome, a duração, e o gênero de todos os filmes exceto os filmes de drama e comédia; Referências Elmasri, Navathe Sistemas de banco de dados 6ª Edição; Introdução a Banco de dados, Osvaldo Kataro Tokai, disponível em Apache Friends Home page - Notepad++ Home page - Pág 56

19 Roteiro 11: SubConsultas Objetivos: Explorar as propriedades de subconsultas; Explorar propriedades de ordenação de informações; Atualizar informações de tabelas com uso de operações diversas; Converter dados de saída com uso do cast; Neste roteiro são explorados comandos para a realização de subconsultas, que são importantes para criar consultas avançadas e que possam sanar maiores necessidades de consultas sql. Também são exploradas propriedades de ordenação e atualização de informações em tabelas que são úteis para a manutenção de bases de dados e tabelas. Ferramentas necessárias Navegador, Xampp,Notepad++, console Mysql, Bibliografias de livros da faculdade. Introdução Algumas consultas necessitam que os valores existentes no banco de dados sejam buscados e depois utilizados em uma condição de comparação. Estas consultas podem ser formuladas com o uso de subconsultas ou consultas aninhadas. É possível utilizar subconsultas quando desejamos buscar valores que não podem ser encontrados apenas com uma única consulta. Consultas Aninhadas Este tipo de consulta pode ser implementada com o uso de blocos select-from-where completos dentro da cláusula WHERE de outra consulta. Uma maneira de utilizar uma consulta interna inicialmente é com o uso do operador IN, que compara um valor com um conjunto de valores ao mesmo tempo. Exemplo básico de consulta com uso do operador IN: SELECT filme.titulooriginalfilme,genero.nomegenero from filme,genero WHERE filme.generofilme = genero.idgenero AND genero.nomegenero IN('Suspense','Comedia', Drama, Terror, Acao ) ORDER BY genero.idgenero; Neste caso estamos procurando vários gêneros ao mesmo tempo, os que se adaptarem a nossa consulta serão retornados a tela. Mas a subconsulta, na verdade tem como objetivo principal reduzir o que estamos digitando e unificar uma pesquisa unindo duas consultas em uma só. Tudo o que temos a fazer é substituir uma parte da consulta anterior pelo que podemos chamar de subconsulta: Exemplo melhor elaborado de consulta com operador IN: SELECT filme.titulooriginalfilme,genero.nomegenero from filme,genero WHERE filme.generofilme = genero.idgenero AND genero.nomegenero IN(SELECT genero.nomegenero,filme.duracaofilme from genero) ORDER BY genero.idgenero; É possível ainda combinar vários tipos de consultas internas incluindo a maioria dos operadores utilizados em consultas e também mais de uma coluna, desde que sejam respeitadas a quantidade de colunas da cláusula e do resultante do que resultar do select mais interno. Pág 57

20 Operadores para subconsultas São operadores que podem ser explicitados nas consultas com subconsultas e consultas onde os argumentos são relacionados(consultas correlacionadas), a tabela a seguir descreve os operadores mais comuns que podem ser utilizados: Utilizando Operadores em SubConsultas Comando Função Exemplo SELECT campos FROM tabela WHERE argumentos OBSERVAÇÕES: IN EXISTS Compara um valor v com um conjunto de valores V e avalia como TRUE se v for um dos elementos em V. Verifica se o resultado de uma consulta aninhada correlacionada é vazio (não contém registros) ou não. Retorna TRUE se o resultado da consulta aninhada tiver ao menos um registro e FALSE se não houverem registros. SELECT filme.titulooriginalfilme,genero.nomegenero from filme,genero WHERE filme.generofilme = genero.idgenero AND genero.nomegenero IN('Suspense','Comedia', Drama, Terror, Acao ) ORDER BY genero.idgenero; -- seleciona filmes apenas dos gêneros listados SELECT f.titulooriginalfilme FROM filme as f WHERE EXISTS(SELECT cipf.cinema_idcinema from cinema_passa_filme as cipf WHERE cipf.filme_idfilme = f.idfilme); -- seleciona os filmes que já passaram; É possível combinar os dois operadores de subconsultas com os demais operadores já utilizados (NOT, AND), e inclusive com o próprio IN ou EXISTS na mesma consulta. Ordenando Informações Em um banco de dados relacional, as linhas de uma tabela formam um grupo, não há ordem intrínseca entre as linhas e então temos de pedir ao MySQL para classificar os resultados se os desejarmos em uma ordem em particular. A tabela a seguir demonstra as maneiras de ordenar a informação recuperada em selects. Ordenando Listagens crescente e decrescente Alguns comandos utilizados em conjunto com a cláusula ORDER BY podem fazer com que a listagem retornada de uma consulta possa ser diferente do esperado, para tanto, existem operadores que podem ser combinados para alterar os resultados obtidos em listagens de dados. Comando Função Exemplo SELECT campos FROM tabela WHERE argumentos ORDER BY coluna DESC ASC Classifica uma coluna em ordenação decrescente. Classifica uma coluna em ordenação crescente, é o padrão de um ORDER BY quando não é informada nenhuma ordenação. SELECT nome FROM drinks ORDER BY nome DESC; SELECT nome FROM drinks ORDER BY nome ASC; Pág 58

21 ATUALIZANDO DADOS EM TABELAS: Os dados das tabelas existentes no banco de dados podem ser modificados caso necessite. Normalmente são tarefas rotineiras do banco de dados atualizas as informações existentes em nossas tabelas. Para isso, podemos utilizar o comando UPDATE (atualizar). Atualizando dados em tabelas O UPDATE pode utilizar todos os parâmetros utilizados em consultas comuns no SQL criado. Podendo inclusive realizar a alteração de várias linhas de tabelas por vez. Comando Função Exemplo UPDATE tabela SET novo_valor WHERE condições Altera dados de uma tabela mediante condições estipuladas UPDATE drinks SET quantidade = 10 WHERE igr_secundario LIKE %abacaxi% Ao atualizar informações de tabelas é possível combinar também diversas operações, envolvendo operadores de busca e também operações matemáticas nos valores das colunas, como o exemplo a seguir: Exemplo de UPDATE envolvendo operações matemáticas UPDATE filme SET filme.duracaofilme = filme.duracaofilme + 30; -- atualiza o tempo de todos os filmes cadastrados; DICA: Para estes tipos de operações podem ser combinados os operadores lógicos AND e OR; Forçando Classificações com CAST A classificação da listagem de informações é sempre efetuada como apropriada para o tipo de coluna que está-se utilizando. É possível forçar colunas para que comportem-se diferente utilizando a função CAST( ) seguida pela palavra chave AS. Vejamos as principais propriedades: Propriedade Cast SELECT campos FROM tabela WHERE argumentos ORDER BY CAST(coluna AS tipo) Comando Função Exemplo AS CHAR AS SIGNED AS UNSIGNED AS DATE AS DATETIME AS TIME Para classificar como uma string de caractere. Para classificar como um número inteiro assinado. Para classificar como um número inteiro não assinado. Para classificar como uma data. Para classificar como uma data e hora. Para classificar como uma hora. SELECT nome FROM drinks ORDER BY CAST(nome AS CHAR); SELECT nome, preco FROM drinks ORDER BY CAST(preco AS SIGNED); SELECT nome, preco FROM drinks ORDER BY CAST(preco AS UNSIGNED); SELECT nome, preco FROM drinks ORDER BY CAST(preco AS DATE); SELECT nome, preco quant FROM drinks ORDER BY CAST(quant AS DATETIME); SELECT nome, preco quant FROM drinks ORDER BY CAST(quant AS TIME); Pág 59

22 VERIFICANDO COMO A ESTRUTURA DE SUAS TABELAS FOI CRIADA: Podemos também desejar ver a estrutura das tabelas que foram criadas para testarmos como eles foram projetados. Para isso, podemos utilizar o comando SHOW organizado da seguinte forma: SHOW CREATE TABLE DRINKS; Neste caso, podemos usar o comando para poder visualizar como os dados da sua tabela foram projetados e atendem aos requisitos para os quais foram projetados. Tarefas(Se for necessário crie os registros de inserção para testar as consultas solicitadas) 1) Crie uma consulta que liste todos nomes dos filmes, gêneros e duração, ordenados por gênero e em seguida em ordem decrescente de nome de Filme; 2) Utilizando o operador IN, crie uma consulta para que liste o nome de todos os gêneros menos os gêneros de suspense, terror e comédia; 3) Utilizando subconsultas, crie uma consulta que retorne os títulos, gênero e duração de filmes onde o gênero seja SUSPENSE e a duração esteja entre 70 e 130 minutos; 4) Crie uma consulta para atualizar o tempo para + 44 minutos em todos os filmes de suspense. 5) Utilizando o IN, crie uma consulta que selecione o nome dos atores que não participaram de nenhum filme; 6) Atualizar o título em inglês dos filmes para senac onde a duração seja maior do que 120min e o gênero seja drama, terror, suspense. 7) Utilizando o IN crie uma consulta que retorne o título e o gênero de todos os filmes que não passaram ainda em cinema algum; Referências Elmasri, Navathe Sistemas de banco de dados 6ª Edição; Introdução a Banco de dados, Osvaldo Kataro Tokai, disponível em Aprendendo SQL, Alan Beaulieu, O Reilly, Editora Novate, São Paulo, 2010; Pág 60

23 Roteiro 12: Funções de Agregação/ Manipulação de Strings Objetivos: Explorar funções de Agregação para atingir totais calculados; Explorar comandos para trabalhar com Strings; Ferramentas necessárias Navegador, Xampp,Notepad++, console Mysql, Bibliografias de livros da faculdade. Funções de Agregação Funções de agregação podem executar cálculos em conjuntos de registros em tabelas de bancos de dados. A principal função que desempenha a tarefa de agrupar dados é a função GROUP BY( ). Na tabela a seguir são detalhadas as principais funções de comandos de agregação que podem ser utilizadas com o Mysql: Funções de agregação A seguir são detalhados os comandos comuns a serem utilizados em funções de agregação. Todos os comandos a seguir são comumente utilizados em combinação do comando GROUP BY. Comando Função Exemplo GROUP BY COLUNA SUM(COLUNA) AVG(COLUNA) MAX(COLUNA) MIN(COLUNA) LIMIT NUMERO COUNT(COLUNA) Agrupa os resultados por uma coluna selecionada Realiza um somatório dos valores agrupados na coluna. Realiza o cálculo da média dos valores agrupados na coluna. Determina o maior valor dos valores agrupados. Determina o menor valor dos valores agrupados. Restringe os resultados de uma consulta para uma quantidade de valores explícita no argumento numero. Realiza a contagem de itens listados em um Group By. SELECT NOME,CARGO FROM PESSOA GROUP BY CARGO; -- agrupa os nomes de pessoas por cargo; SELECT SUM(SALARIO) FROM PESSOA; -- calcula o somatórios de salários das pessoas cadastradas. SELECT AVG(SALARIO) FROM PESSOA; -- calcula a média dos salários dos funcionários. SELECT NOME, MAX(SALARIO) FROM PESSOA; -- calcula o maior salário das pessoas cadastradas. SELECT NOME, MIN(SALARIO) FROM PESSOA; -- calcula o menor salário das pessoas cadastradas. SELECT * FROM CIDADE LIMIT 10; -- limita o resultado da consulta a apenas 10 resultados; SELECT COUNT(SALARIO) FROM PESSOA; -- calcula a contagem de salários existentes em pesoa. Trabalhando com Strings Quando nos deparamos com bancos de dados que possuem dados formatados ou inseridos de maneira consistente, é fácil de realizarmos alterações nas suas informações. Normalmente é recomendado para a inserção de informações em um banco, que usuários padronizem a forma como digitam as informações. Por exemplo Imagine inserindo um conjunto de endereços para clientes, automaticamente fazemos um certo padrão de inserção, dividindo o nome da rua, separando com vírgula o número e o bairro. Estes padrões, quando encontrados, podem ser Pág 61

24 utilizados para que possamos aplicar funções de texto através do SQL. A seguir veremos algumas funções bastante úteis e que podem ser utilizadas pelo MYSQL também. Comandos para manipulação de Strings A seguir são detalhados os comandos comuns a serem utilizados na manipulação de Strings. Comando Função Exemplo RIGHT(CAMPO,QUANT) LEFT(CAMPO,QUANT) SUBSTRING_INDEX(CAMPO,CARACT ERE,QUANT) UPPER(CAMPO) LOWER(CAMPO) REVERSE(CAMPO) LTRIM(CAMPO) RTRIM(CAMPO) LENGTH(CAMPO) Seleciona uma quantidade específica de caracteres de uma coluna. Seleciona caracteres avaliando a ocorrência de algum caractere específico. Aplica caixa alta nos caracteres de um campo. Aplica caixa baixa nos caracteres de um campo. Inverte o texto do campo selecionado na consulta. Remove espaços em branco à esquerda ou à direita do campo selecionado. Retorna a quantidade de caracteres do campo selecionado. SELECT RIGHT(NOME,2) FROM CONTATO; -- seleciona os dois caracteres à direita da coluna nome. SELECT SUBSTRING_INDEX(NOME, -,3) FROM PESSOA; -- seleciona os caracteres após o a terceira ocorrência de hífen no campo nome. SELECT UPPER(NOME) FROM PESSOA; -- aplica caixa alta em todos os registros selecionados no campo nome; SELECT LOWER(PROFISSAO) FROM PESSOA; -- aplica caixa baixa em todos os registros selecionados no campo profissão; SELECT REVERSE(NOME) FROM CIDADE; -- Inverte o texto contido no campo selecionado; SELECT LTRIM(NOME) FROM PESSOA -- remove espaços à esquerda no nome das pessoas cadastradas. SELECT LENGTH(NOME) FROM PESSOA; -- retorna a quantidade de caracteres do nome cadastrado; É possível também realizar alterações nos dados das colunas através da manipulação de Strings utilizando o UPDATE em e envolvendo outra coluna internamente no comando utilizado. Pág 62

25 Tarefas 1) Adaptar as seguintes alterações no script de criação do banco de dados utilizado no roteiro 11: a. Renomear a base de dados que será criada para roteiro12bdcinema; b. Criar uma nova tabela CIDADE, contendo os campos idcidade, nomecidade, estado; c. Criar uma nova tabela USUARIO, contendo os campos idusuario, nomeusuario, usuario, idcidadeusuario. d. Criar a tabela VENDA, relacionar esta tabela com sessão determinando o tipo de relacionamento para possibilitar a venda de ingressos para as sessões disponíveis no cinema. Em seguida criar um relacionamento entre usuário e venda, determinando a cardinalidade do relacionamento. e. Criar todos os insert s de dados necessários no próprio workbench; 2) Cadastrar 5 usuários, em seguida cadastrar 10 vendas de ingressos; 3) Criar as seguintes consultas: a. Criar uma consulta para visualizar todas as compras de ingressos para todos os filmes, listando a data, a hora, o do usuário, e o nome do filme ordenando por filme; b. Criar uma consulta para listar os títulos em Inglês e português dos filmes que ainda não possuem ingressos vendidos; c. Criar uma consulta para contabilizar o total dos valores de ingressos vendidos por filme, liste o nome do filme e a quantidade de ingressos; d. Criar uma consulta para contabilizar o total de valores de ingressos vendidos por cinema, liste o nome do cinema e a quantidade de ingressos; Pág 63

26 e. Criar uma consulta que contabilize quantos ingressos foram vendidos por cidade, liste o nome da cidade e a quantidade. Em seguida limite para que sejam listados apenas 2 resultados desta consulta; f. Criar uma consulta que contabilize quantos ingressos foram vendidos por filme, liste o nome do filme e a quantidade, liste apenas os 5 primeiros caracteres do nome do filme e a quantidade de ingressos; g. Criar uma consulta que liste o nome de todos os usuários que compraram ingressos. Liste o nome do usuário e o nome do filme ao lado. h. Modifique a consulta 3.g para que apresente o nome do usuário invertido e em letras maiúsculas. i. Criar uma consulta que liste todos os nomes dos cinemas e a quantidade de caracteres de cada nome de cinema; j. Modificar a consulta anterior para que liste apenas os 5 primeiros caracteres do nome do cinema listado; k. Modificar a consulta anterior para remover os espaços em branco dos nomes dos cinemas listados; l. Criar uma consulta para listar a quantidade de atores que trabalharam em cada filme. Listar o nome do filme e a quantidade de atores. m. Criar uma consulta para listar a média de valores de ingressos vendidos por filme. (esta consulta exigirá um número alto de ingressos vendidos por filme) n. Criar uma consulta que some a quantidade em minutos de cada filme que já teve ingressos vendidos; Referências W3Schools Funções de Agregação SQL em Elmasri, Navathe Sistemas de banco de dados 6ª Edição; Pág 64

27 Roteiro 13: Stored Procedures /Functions e uso do Having Objetivos: Criar e utilizar stored procedures utilizando linguagem SQL; Criar e utilizar functions utilizando linguagem SQL; Aplicar a restrição HAVING em conjunto de funções de agregação. Ferramentas necessárias Navegador, Xampp,Notepad++, console Mysql, Bibliografias de livros da faculdade. Stored Procedures Uma stored procedure consiste em um repositório para um conjunto de declarações SQL. Stored Procedures podem conter declarações adicionais e processamento lógico que normalmente estaria indisponível em uma declaração SQL tradicional gerada dinamicamente. Elas podem conter comandos de desvios condicionais e repetição como if e while. O principal comando para criar uma stored procedure é o comando CREATE PROCEDURE. As stored Procedures são importantes para tarefas que devam ser realizadas de forma mais automatizada como atualizações que possam ser chamadas via SQL ou controles de dados que devam ser verificados em registros que manipulam informações de estado ou status de algum item contido no banco de dados, além de permitirem o armazenamento permanente de blocos de códigos a serem úteis posteriormente como funções criadas em linguagens de programação. Fazer uso de stored procedures possibilita à aplicação minimizar a quantidade de código fonte da aplicação e coloca estes códigos sob o controle da camada do banco de dados. Isto faz com que o projeto da aplicação fique mais claro e deixa as páginas de código fonte da aplicação livres de códigos SQL dinâmicos. Exemplo de criação de stored procedure em Mysql: DELIMITER $$ CREATE PROCEDURE nome(num INT(4)) BEGIN SELECT filme.titulooriginalfilme from FILME LIMIT num ; END $$ As stored procedures permitem também que códigos de desvios e loops de execução possam ser armazenados, na tabela a seguir são descritos os principais componentes que podem ser utilizados: Componentes da criação de Stored Procedures A seguir são detalhados os comandos comuns a serem utilizados na manipulação de Stored Procedures. Comando Função Exemplo CALL NOMEPROCEDURE SHOW PROCEDURE STATUS DELIMITER caractere CREATE PROCEDURE nomeprocedure DROP PROCEDURE nomeprocedure Realiza a execução de uma stored procedure através da console Mysql; Mostra as procedures que foram criadas no SGBD; Define um novo delimitador de código, ou seja, o Mysql irá encerrar grupos de comandos através do caracter que for inserido. Realiza a criação de uma nova stored procedure, seu uso é obrigatório. Elimina a procedure do SGBD; CALL listadados(100); SHOW PROCEDURE STATUS; DELIMITER % -- faz com que o delimitador seja o caracter % CREATE PROCEDURE teste(num INT(3)) -- cria um procedimento chamado teste com uma variável como parâmetro DROP PROCEDURE teste; -- elimina a procedure teste Pág 65

28 BEGIN END IF condicao THEN ELSE END IF DECLARE nomevariavel TIPO DEFAULT valor; SET nomevariavel = valor INCREMENT: LOOP Comandos END LOOP INCREMENT; LEAVE INCREMENT Define o corpo da stored procedure, o código da função será inserido entre os blocos BEGIN-END Cria um bloco com instruções IF. Podem ser utilizados comandos de seleção, inclusão, e demais comandos aceitos pela sintaxe Mysql. Encerra um bloco completo IF, seu uso é obrigatório. Realiza uma declaração de variável na stored procedure. Associa um novo valor a uma variável declarada; Define a inicialização de um bloco de repetição e finaliza o bloco; Realiza a saída de um bloco de repetição, utilizado em conjunto com INCREMENT: LOOP CREATE PROCEDURE teste(num INT(3)) BEGIN -- comandos END IF contador > 10 THEN SELECT entrou no if ; ELSE SELECT entrou no else ; END IF; DELIMITER $$ DECLARE contador INT DEFAULT 0; INCREMENT: LOOP SET contador = contador + 1; IF contador =10 THEN LEAVE INCREMENT; ELSE ITERATE INCREMENT; END IF; END LOOP INCREMENT; $$ ITERATE INCREMENT Realiza o incremento de uma repetição, utilizado em conjunto com INCREMENT: LOOP Functions As functions são bastante semelhantes às Stored Procedures, com a diferença que para cria-las são utilizados os comandos CREATE FUNCTION e que podem retornar valores de saída através de variáveis e também podem ser chamadas dentro de outras funções. A chamada a funções criadas é feita através do comando SELECT nomefunction(). Os comandos utilizados pelas funções são os mesmos utilizados pelas procedures, uma definição de função é demonstrada a seguir: Exemplo de criação de função em Mysql: DELIMITER $$ DROP FUNCTION IF EXISTS minhafuncao1; $$ CREATE FUNCTION minhafuncao1() RETURNS VARCHAR(50) DETERMINISTIC BEGIN DECLARE msg VARCHAR(50) DEFAULT ' '; SET msg = 'Projeto de Banco de Dados!!!'; RETURN msg; END $$ Exemplo de chamada de função em Mysql: SELECT minhafuncao1(); $$ Pág 66

29 Complemento de Funções de agregação: uso da função Having Em muitos casos é necessário aplicar as funções de agregação a subgrupos de registros em consultas. Foi explorado o comando GROUP BY, que permite que os grupos resultantes de uma consulta sejam particionados em subgrupos com a finalidade de separar estes grupos de informações para que possam ser feitos somatórios, percentuais, ou qualquer tipo de cálculo envolvendo grupos. Exemplo de uso do HAVING SELECT Projnumero,Projnome, COUNT(*) FROM projeto,trabalha_em WHERE projnumero = pnr GROUP BY projnumero,projnome HAVING COUNT(*) > 2; No argumento da função COUNT é possível incluir qualquer nome de campo que possa ser envolvido nos grupos resultantes da consulta de agregação. Tarefas REALIZE AS SEGUINTES ADAPTAÇÕES 1) Realize as seguinte alterações na estrutura do banco de dados cinema para resultar no seguinte esquema ilustrado no diagrama E-R (altere no script de criação das tabelas), criando as tabelas necessárias e as modificações nos campos necessários. 2) Ajuste os INSERTS realizados para que se adaptem às novas tabelas Pág 67

30 CRIE AS SEGUINTES CONSULTAS 3) Crie uma consulta para listar o somatório de ingressos vendidos para cada filme onde o tipo de pagamento foi parcelado. Liste o nome do filme e o somatório de valor de ingressos. 4) Altere a consulta anterior para que, utilizando a propriedade HAVING, a consulta que liste somente os filmes com mais de 3 ingressos vendidos (cadastre mais vendas se necessário); 5) Crie uma consulta para listar quantos usuários efetuaram compras à vista. 6) Altere a consulta anterior para listar o nome do usuário que fez a compra e a quantidade de compras à vista; 7) Crie uma stored procedure alteravaloringresso(valor) que defina um novo valor aos ingressos já vendidos por um valor informado na chamada da procedure, listando os ingressos em seguida na própria procedure; 8) Crie uma function alteraparcela(idusuario) que altere a situação das parcelas de um usuário específico para pagas. A função deve receber como entrada o id de um usuário qualquer e realizar a alteração de todas as parcelas do usuário. 9) Crie uma stored procedure relvendas(usuario), onde receba o id de algum usuário do sistema e liste todas as parcelas de um usuário específico juntamente com a situação de pagamento das mesmas 10) Crie uma stored procedure visualizavendas(tipovenda) onde deve receber como argumento um inteiro 1 para listar o somatório de vendas à vista ou 2 para o somatório de vendas à prazo. Referências Material disponibilizado em aula em Roteiro 11,12 e 13; java2s - Procedures e Functions em Procedure- Function/Catalog0201 Procedure-Function.htm Mysql online Editing Stored Procedures e Funções em Dev Mysql - Flow control Statements, disponível em Pág 68

31 Roteiro 14: Criando e manipulando View s UC Projeto de Banco de Dados Objetivos: o Criar e utilizar View s com uso do Mysql; Ferramentas necessárias Navegador, Xampp,Notepad++, console Mysql, WorkBench, Bibliografias recomendadas. View s Uma view consiste em uma consulta armazenada acessível como uma tabela virtual composta pelo resultado de um conjunto de consultas (queries). Ao contrário de uma tabela comum em um banco de dados, uma view não faz parte do esquema físico, ela é uma tabela dinâmica e virtual computada ou colada a partir de dados existentes no banco de dados. Ao alterar os dados em uma tabela, os dados exibidos por uma view serão alterados automaticamente. Views podem prover algumas vantagens ao ser comparadas com tabelas: Podem representar um subconjunto de dados contidos em tabelas; Podem criar junções, cálculos e simplificar as consultas posteriores para recuperação de informações na camada de aplicativo; Podem ocultar informações pouco relevantes para diferentes tipos de usuários que interagem com o banco de dados; Exemplo de criação de uma View: CREATE VIEW vw_filme_genero AS SELECT filme.titulooriginalfilme,genero.nomegenero FROM filme,genero WHERE filme.generofilme = genero.idgenero ORDER BY genero.nomegenero; As view s são simples de criar e podem ser manipuladas como consultas comuns e são tratadas pelo banco de dados como se fossem realmente tabelas. Para visualizar uma view basta utilizar o mesmo comando utilizado para visualizar as tabelas do banco de dados: show tables. OBSERVAÇÃO: Utilizar padrões de nome ao criar uma view é interessante! Utilize sempre o prefixo vw precedendo o nome de uma view para que não haja confusão ao listar tabelas e views e tentar diferenciá-las em sua manutenção. Somente view s que reúnam informações diretas de tabelas podem sofrer operações de insert, delete e update. View s que resultem em cálculos de agregação ou somatórios não podem receber atualizações devido a não conseguirem definir quais serão os dados que sofrerão alteração nas tabelas de origem. Pág 69

32 Tarefas REALIZE AS SEGUINTES ADAPTAÇÕES 1) Utilizando o esquema de banco de dados do roteiro 13, renomeie o arquivo da modelagem para roteiro14bdcinema e realize o forward engineer para a criação do banco de dados e de seus insert s: 2) Através do workbench, crie uma nova tabela chamada de log com os campos idlog e acao, em seguida relacione a tabela com usuário para que tenha o campo idusuario na mesma. 3) Criar as seguintes view s: a. Uma view vwatorfilme para listar os nomes dos atores e o nome do filme em que estão atuando; b. Uma view vwcinemafilme para listar os nomes dos cinemas, nomes dos filmes que estão passando, o horário da sessão que o filme passou ou está passando e a data; c. Uma view vwusuarioingresso para listar os nomes dos usuários que compraram ingressos, o nome do filme, a data da compra, a data da sessão e o nome do cinema que passou a sessão. d. Uma view vwusuarioparcela para listar os nomes dos usuários, a data da venda, o valor da parcela e a situação de suas parcelas; e. Uma view vwlogacao para listar todas as ações realizadas no sistema, o nome do usuário que realizou a ação e a data a realização. 4) Criar consultas para realizar as seguintes tarefas com as view s: a. Alterar na view vwatorfilme o nome do ator para Senac em todos os filmes que iniciarem por a ; b. Alterar na view vwcinemafilme todas as datas para ; c. Alterar na view vwusuarioingresso o nome dos usuários que comprar ingressos para Usuário X ; d. Alterar o valor das parcelas na view vwusuarioparcela para R$ e a situação de pagamento para Quitada ; Referências Material disponibilizado em aula e em Roteiros 13,14; Trabalhando com View s, disponível em Introdução as view s, disponível em Pág 70

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

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Objetivos: Criar restrições para atributos, chaves primárias e estrangeiras; Explorar consultas SQL com uso de

Leia mais

Comandos de Manipulação

Comandos de Manipulação SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL

Leia mais

2008.1. A linguagem SQL

2008.1. A linguagem SQL SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão

Leia mais

2008.1 SQL. Autor: Renata Viegas

2008.1 SQL. Autor: Renata Viegas SQL Autor: Renata Viegas A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua

Leia mais

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

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix

Leia mais

O que são Bancos de Dados?

O que são Bancos de Dados? SQL Básico Liojes de Oliveira Carneiro [email protected] www.professor-liojes.blogspot.com O que são Bancos de Dados? É o software que armazena, organiza, controla, trata e distribui os dados

Leia mais

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011 Banco de Dados I Aula 12 - Prof. Bruno Moreno 04/10/2011 Plano de Aula SQL Definição Histórico SQL e sublinguagens Definição de dados (DDL) CREATE Restrições básicas em SQL ALTER DROP 08:20 Definição de

Leia mais

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

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA 3 Linguagem SQL Linguagem de manipulação de dados (DML) DISCIPLINA: Banco de

Leia mais

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

Introdução à Banco de Dados. Nathalia Sautchuk Patrício Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem

Leia mais

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

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do

Leia mais

PHP INTEGRAÇÃO COM MYSQL PARTE 1

PHP INTEGRAÇÃO COM MYSQL PARTE 1 INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira [email protected] Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança

Leia mais

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

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Manipulação de Dados Banco de Dados SQL DML SELECT... FROM... WHERE... lista atributos de uma ou mais tabelas de acordo com alguma condição INSERT INTO... insere dados em uma tabela DELETE

Leia mais

Linguagem SQL Sub-linguagem DDL

Linguagem SQL Sub-linguagem DDL Linguagem SQL Sub-linguagem DDL A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language para suas

Leia mais

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita: SQL Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino de Ciências

Leia mais

Linguagem de Consulta Estruturada SQL- DML

Linguagem de Consulta Estruturada SQL- DML Linguagem de Consulta Estruturada SQL- DML INTRODUÇÃO A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation

Leia mais

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language) Básico da Linguagem SQL Definição de Esquemas em SQL SQL(Structured Query Language) Desenvolvida como a linguagem de consulta do protótipo de SGBD Sistema R (IBM, 1976). Adotada como linguagem padrão de

Leia mais

Programação SQL. Introdução

Programação SQL. Introdução Introdução Principais estruturas duma Base de Dados: Uma BD relacional é constituída por diversas estruturas (ou objectos ) de informação. Podemos destacar: Database: designa a própria BD; Table/Tabela:

Leia mais

Banco de Dados. Prof. Antonio

Banco de Dados. Prof. Antonio Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards

Leia mais

Tarefa Orientada 16 Vistas

Tarefa Orientada 16 Vistas Tarefa Orientada 16 Vistas Objectivos: Vistas só de leitura Vistas de manipulação de dados Uma vista consiste numa instrução de SELECT que é armazenada como um objecto na base de dados. Deste modo, um

Leia mais

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

Introdução à Engenharia da Computação. Banco de Dados Professor Machado Introdução à Engenharia da Computação Banco de Dados Professor Machado 1 Sistemas isolados Produção Vendas Compras Banco de Dados Produtos... Banco de Dados Produtos... Banco de Dados Produtos... Desvantagens:

Leia mais

Structured Query Language (SQL)

Structured Query Language (SQL) SQL Histórico Structured Query Language (SQL) Foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language) para suas primeiras tentativas

Leia mais

SQL Structured Query Language

SQL Structured Query Language Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa

Leia mais

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Structured Query Language (SQL) Ambiente Simplificado de um SGBD Structured Query Language (SQL) Ambiente Simplificado de um SGBD 2 1 Características dos SGBDs Natureza auto-contida de um sistema de banco de dados: metadados armazenados num catálogo ou dicionário de

Leia mais

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL 1. O que é Linguagem SQL 2. Instrução CREATE 3. CONSTRAINT 4. ALTER TABLE 5. RENAME TABLE 6. TRUCANTE TABLE 7. DROP TABLE 8. DROP DATABASE 1 1. O que é Linguagem SQL 2. O SQL (Structured Query Language)

Leia mais

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais 1 LINGUAGEM SQL SQL Server 2008 Comandos iniciais SQL - STRUCTURED QUERY LANGUAGE Quando os Bancos de Dados Relacionais estavam sendo desenvolvidos, foram criadas linguagens destinadas à sua manipulação.

Leia mais

Comandos DDL. id_modulo = id_m odulo

Comandos DDL. id_modulo = id_m odulo Comandos DDL Estudo de Caso Controle Acadêmico Simplificado Uma escola contém vários cursos, onde cada aluno possui uma matricula num determinado curso. Estes cursos, por sua vez, possuem módulos, aos

Leia mais

1. Domínio dos Atributos

1. Domínio dos Atributos Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br 1. Domínio dos Atributos Por domínio, ou tipo, pode-se entender como a maneira como determinado atributo (ou campo, se tratando

Leia mais

4.6. SQL - Structured Query Language

4.6. SQL - Structured Query Language 4.6. SQL - Structured Query Language SQL é um conjunto de declarações que é utilizado para acessar os dados utilizando gerenciadores de banco de dados. Nem todos os gerenciadores utilizam SQL. SQL não

Leia mais

Principais Comandos SQL Usados no MySql

Principais Comandos SQL Usados no MySql Principais Comandos SQL Usados no MySql O que é um SGBD? Um Sistema Gerenciador de Banco de Dados (como no Brasil) ou Sistema Gestor de Base de Dados (SGBD) é o conjunto de programas de computador (softwares)

Leia mais

Uma expressão básica em SQL consiste em três cláusulas: select, from e where.

Uma expressão básica em SQL consiste em três cláusulas: select, from e where. Introdução a Banco de Dados O.K. Takai; I.C.Italiano; J.E. Ferreira. 67 8 A Linguagem SQL A linguagem SQL é um padrão de linguagem de consulta comercial que usa uma combinação de construtores em Álgebra

Leia mais

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

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes Banco de dados 1 Linguagem SQL DDL e DML Professor: Victor Hugo L. Lopes Agenda: Introdução à linguagem de dados; DDL; DML; CRUD; Introdução à linguagem SQL. 2 Por que precisamos da linguagem SQL? A algebra

Leia mais

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. SQL (Structured Query Language) SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. Além de permitir a realização de consultas, SQL possibilita: definição

Leia mais

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 11-1. INTRODUÇÃO TRIGGERS (GATILHOS OU AUTOMATISMOS) Desenvolver uma aplicação para gerenciar os dados significa criar uma aplicação que faça o controle sobre todo ambiente desde a interface, passando

Leia mais

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

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda. SQL comando SELECT Uma das tarefas mais requisitadas em qualquer banco de dados é obter uma listagem de registros armazenados. Estas tarefas são executadas pelo comando SELECT Sintaxe: SELECT [DISTINCT]

Leia mais

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas: Álgebra Relacional Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída operação (REL 1 ) REL 2 operação (REL 1,REL 2 ) REL 3 Operações básicas: seleção projeção

Leia mais

Faça um Site PHP 5.2 com MySQL 5.0 Comércio Eletrônico

Faça um Site PHP 5.2 com MySQL 5.0 Comércio Eletrônico Editora Carlos A. J. Oliviero Faça um Site PHP 5.2 com MySQL 5.0 Comércio Eletrônico Orientado por Projeto 1a Edição 2 Reimpressão São Paulo 2011 Érica Ltda. Noções Livrarse Preparação muitas muita Sumário

Leia mais

EXERCÍCIOS PRÁTICOS. Banco de Dados

EXERCÍCIOS PRÁTICOS. Banco de Dados EXERCÍCIOS PRÁTICOS Banco de Dados Introdução ao uso do SQL Structured Query Language, considerando tanto DDL Data Definition Language quanto DML Data Manipulation Language. Banco de Dados selecionado:

Leia mais

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL Carga horária: 32 Horas Pré-requisito: Para que os alunos possam aproveitar este treinamento ao máximo, é importante que eles tenham participado dos treinamentos

Leia mais

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

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre BANCO DE DADOS BANCO DE DADOS Prof. Patrícia Lucas 3º Trimestre ROTEIRO PARA O 3º TRIMESTRE 1. O MySQL DDL SQL 1. Como funciona o MySQL 2. Como criar um banco de dados no MySQL 3. Como criar tabelas: comandos

Leia mais

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo ) PRONATEC - Programador de Sistemas Banco de Dados 1) Incluindo linhas nas tabelas a. Para incluir linhas em tabelas utilize o comando INSERT INTO INSERT INTO tabela [ ( coluna [, coluna,...] ) ] VALUES

Leia mais

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional Modelo de Dados Relacional e as Restrições de um Banco de Dados Relacional Modelo de Dados Relacional Conceitos do Modelo Relacional Representa o banco de dados como uma coleção de relações. Comparação

Leia mais

EXEMPLOS DE COMANDOS NO SQL SERVER

EXEMPLOS DE COMANDOS NO SQL SERVER EXEMPLOS DE COMANDOS NO SQL SERVER Gerenciando Tabelas: DDL - DATA DEFINITION LANGUAG Criando uma tabela: CREATE TABLE CLIENTES ID VARCHAR4 NOT NULL, NOME VARCHAR30 NOT NULL, PAGAMENTO DECIMAL4,2 NOT NULL;

Leia mais

Linguagem de Consulta Estruturada (SQL)

Linguagem de Consulta Estruturada (SQL) Linguagem de Consulta Estruturada (SQL) Conceitos sobre a versão ANSI da SQL, a sublinguagem de definição de dados (DDL) e a sublinguagem de manipulação de dados (DML) Prof. Flavio Augusto C. Correia 1

Leia mais

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

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix Ingress SQL

Leia mais

SQL DML. Frederico D. Bortoloti [email protected]

SQL DML. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DML Frederico D. Bortoloti [email protected] SQL - DML Os exemplos da aula serão elaborados para o esquema de dados a seguir: Empregado(matricula, nome, endereco, salario, supervisor,

Leia mais

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo ) Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: B1SGB - Sistemas Gerenciadores de Banco de Dados Memória de aula Aula 10 1) Incluindo linhas nas tabelas a. Para incluir linhas em tabelas

Leia mais

Tarefa Orientada 19 Triggers

Tarefa Orientada 19 Triggers Tarefa Orientada 19 Triggers Objectivos: Criar triggers AFTER Criar triggers INSTEAD OF Exemplos de utilização Os triggers são um tipo especial de procedimento que são invocados, ou activados, de forma

Leia mais

Banco de Dados. Maurício Edgar Stivanello

Banco de Dados. Maurício Edgar Stivanello Banco de Dados Maurício Edgar Stivanello Agenda Conceitos Básicos SGBD Projeto de Banco de Dados SQL Ferramentas Exemplo Dado e Informação Dado Fato do mundo real que está registrado e possui um significado

Leia mais

NOME SEXO CPF NASCIMENTO SALARIO

NOME SEXO CPF NASCIMENTO SALARIO Tutorial SQL Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=2973 Para começar Os Sistemas Gerenciadores de Bancos de Dados Relacionais (SGBDr) são o principal mecanismo de suporte ao armazenamento

Leia mais

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 Banco de Dados Fundamentos de SQL Structured Query Language Aula2 Apresentado por: Robson do Nascimento Fidalgo [email protected] IF685

Leia mais

Integridade dos Dados

Integridade dos Dados 1 Integridade dos Dados Integridade dos Dados Melissa Lemos [email protected] A integridade dos dados é feita através de restrições, que são condições obrigatórias impostas pelo modelo. Restrições

Leia mais

Tarefa Orientada 15 Manipulação de dados

Tarefa Orientada 15 Manipulação de dados Tarefa Orientada 15 Manipulação de dados Objectivos: Criação de tabelas teste Comando INSERT INTO Inserção de dados Comando INSERT Actualização de dados Comando UPDATE Eliminação de dados Comando DELETE

Leia mais

SQL (Structured Querie Language) Escola Secundária de Emídio Navarro 2001/2002 Estruturas, Tratamento e Organização de Dados

SQL (Structured Querie Language) Escola Secundária de Emídio Navarro 2001/2002 Estruturas, Tratamento e Organização de Dados SQL (Structured Querie Language) SQL é mais que uma linguagem de interrogação estruturada. Inclui características para a definição da estrutura de dados, para alterar os dados de uma base de dados, e para

Leia mais

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

Programação SQL. Manipulação de Dados. DML Data Manipulation Language Programação SQL Manipulação de Dados DML Data Manipulation Language Manipulação de Dados (DML) Os comandos INSERT, UPDATE, DELETE, são normalmente classificados como pertencendo a uma sublinguagem da linguagem

Leia mais

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com SQL Prof. Márcio Bueno {bd2tarde,bd2noite}@marciobueno.com Material dos professores Ana Carolina Salgado, Fernando Foncesa e Valéria Times (CIn/UFPE) SQL SQL - Structured Query Language Linguagem de Consulta

Leia mais

Projeto de Banco de Dados

Projeto de Banco de Dados Projeto de Banco de Dados Prof. Marcelo Siedler Objetivos do documento: Apresentar os conceitos de stored procedutes e funções. Exercícios. Referência: http://dev.mysql.com/doc/refman/4.1/pt/stored-procedures.html

Leia mais

SQL - Criação de Tabelas

SQL - Criação de Tabelas SQL - Criação de Tabelas André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) SQL - Criação de Tabelas February 24, 2012 1 / 25 Sumário 1 Introdução 2 Tabelas

Leia mais

Introdução ao SQL. Aécio Costa

Introdução ao SQL. Aécio Costa Aécio Costa A linguagem SQL é um padrão de linguagem de consulta comercial e possui as seguintes partes: Linguagem de definição de dados (DDL) Linguagem interativa de manipulação de dados (DML) Definição

Leia mais

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL Banco de Dados Exercícios SQL 1 TRF (ESAF 2006) 32. Analise as seguintes afirmações relacionadas a Bancos de Dados e à linguagem SQL: I. A cláusula GROUP BY do comando SELECT é utilizada para dividir colunas

Leia mais

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS CLAUDIO RIBEIRO DA SILVA MARÇO 1997 2 1 - CONCEITOS GERAIS DE 1.1 - Conceitos Banco de Dados - Representa

Leia mais

Introdução ao SQL. O que é SQL?

Introdução ao SQL. O que é SQL? Introdução ao SQL 1 O que é SQL? Inicialmente chamada de Sequel, SQL (Structured Query Language), é a linguagem padrão utilizada para comunicar-se com um banco de dados relacional. A versão original foi

Leia mais

Profº Aldo Rocha. Banco de Dados

Profº Aldo Rocha. Banco de Dados Profº Aldo Rocha Banco de Dados HOJE! CREATE TABLE com uma Chave primária Primeiramente façam um SELECT na tabela pessoa. Percebam que não há NENHUMA CHAVE PRIMÁRIA. utilizem o comando SHOW CREATE TABLE

Leia mais

Banco de Dados. StructuredQuery Language- SQL. Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.

Banco de Dados. StructuredQuery Language- SQL. Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo. Banco de Dados StructuredQuery Language- SQL Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br [email protected] 2015 A Origem Em 1970, Ted Codd (pesquisador da IBM) publicou o primeiro

Leia mais

Treinamento sobre SQL

Treinamento sobre SQL Treinamento sobre SQL Como Usar o SQL Os dois programas que você mais utilizara no SQL Server são: Enterprise Manager e Query Analyzer. No Enterprise Manager, você pode visualizar e fazer alterações na

Leia mais

Introdução ao SQL Avançado

Introdução ao SQL Avançado Introdução ao SQL Avançado Introdução as consultas, manipulação e a filtragem de dados com a linguagem SQL Prof. MSc. Hugo Vieira L. Souza Este documento está sujeito a copyright. Todos os direitos estão

Leia mais

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011 Banco de Dados Aula 1 - Prof. Bruno Moreno 16/08/2011 Roteiro Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza autodescritiva

Leia mais

Prof.: Clayton Maciel Costa [email protected]

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa [email protected] 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

Leia mais

PROCEDIMENTOS ARMAZENADOS (Stored Procedures)

PROCEDIMENTOS ARMAZENADOS (Stored Procedures) PROCEDIMENTOS ARMAZENADOS (Stored Procedures) 1. Introdução Stored Procedure é um conjunto de comandos, ao qual é atribuído um nome. Este conjunto fica armazenado no Banco de Dados e pode ser chamado a

Leia mais

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

AULA 2 INTERAÇÃO COM O BANCO DE DADOS AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,

Leia mais

SQL DDL. Frederico D. Bortoloti [email protected]

SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DDL Frederico D. Bortoloti [email protected] Introdução Modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de padrão SQL (Structured Query Language)

Leia mais

Introdução à linguagem SQL

Introdução à linguagem SQL Introdução à linguagem SQL 1 Histórico A linguagem de consulta estruturada (SQL - Structured Query Language) foi desenvolvida pela empresa IBM, no final dos anos 70. O primeiro banco de dados comercial

Leia mais

CIÊNCIA E TECNOLOGIA DO RIO

CIÊNCIA E TECNOLOGIA DO RIO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE BANCO DE DADOS II Docente: Éberton da Silva Marinho e-mail: [email protected] [email protected] Curso de Tecnologia

Leia mais

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

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2012 Edição 7 Listando e Gravando Listando itens em ComboBox e gravando os dados no

Leia mais

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados LINGUAGEM SQL Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é uma linguagem de pesquisa declarativa para banco de dados relacional (base de dados relacional). Muitas das características

Leia mais

Programação com acesso a BD. Prof.: Clayton Maciel Costa [email protected]

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa [email protected] 1 Agenda Linguagem SQL: Introdução; Construção/Definição de tabelas. 2 Linguagem SQL SQL - Structured Query Language;

Leia mais

Banco de Dados Oracle 10g: Introdução à Linguagem SQL

Banco de Dados Oracle 10g: Introdução à Linguagem SQL Oracle University Entre em contato: 0800 891 6502 Banco de Dados Oracle 10g: Introdução à Linguagem SQL Duração: 5 Dias Objetivos do Curso Esta classe se aplica aos usuários do Banco de Dados Oracle8i,

Leia mais

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos.

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos. Banco de Dados O que é um Banco de Dados? Este assunto é muito vasto, tentaremos resumi-lo para atender as questões encontradas em concursos públicos. Já conhecemos o conceito de dado, ou seja, uma informação

Leia mais

Linguagem SQL Parte I

Linguagem SQL Parte I FIB - Centro Universitário da Bahia Banco de Dados Linguagem SQL Parte I Francisco Rodrigues Santos [email protected] Slides gentilmente cedidos por André Vinicius R. P. Nascimento Conteúdo A Linguagem

Leia mais

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011 BASES DE DADOS I LTSI/2 Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011 A Linguagem SQL As raízes da linguagem SQL remontam a 1974, altura em que a IBM desenvolvia

Leia mais

3) Palavra-chave distinct (select-from). Obter apenas os pibs distintos entre si.

3) Palavra-chave distinct (select-from). Obter apenas os pibs distintos entre si. NOME: BRUNO BRUNELI BANCO DE DADOS - ADS create database ProducaoMinerais use ProducaoMinerais create table Mineral( nome varchar(15) primary key, preco real) create table Pais( nome varchar(30) primary

Leia mais

Programação WEB II. PHP e Banco de Dados. [email protected]. Thiago Miranda dos Santos Souza

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza PHP e Banco de Dados [email protected] Conteúdos Os materiais de aula, apostilas e outras informações estarão disponíveis em: www.thiagomiranda.net PHP e Banco de Dados É praticamente impossível

Leia mais

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

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL SQL TGD/JMB 1 Projecto de Bases de Dados Linguagem SQL SQL TGD/JMB 2 O que é o SQL? SQL ("ess-que-el") significa Structured Query Language. É uma linguagem standard (universal) para comunicação com sistemas

Leia mais

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento. Roteiro Modelo de Dados Relacional Posicionamento Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto [email protected] www.decom.ufop.br/luiz Introdução

Leia mais

Linguagem de Consulta - SQL

Linguagem de Consulta - SQL SQL Structured Query Language Linguagem de Consulta Estruturada; Originou-se da linguagem SEQUEL (1974); Revisada e chamada de SQL em 1976/77; Em 1986, padronizada pelo ANSI/ISO - chamada SQL-86; Em 1987

Leia mais

Prof. Carlos Majer Aplicações Corporativas UNICID

Prof. Carlos Majer Aplicações Corporativas UNICID Este material pertence a Carlos A. Majer, Professor da Unidade Curricular: Aplicações Corporativas da Universidade Cidade de São Paulo UNICID Licença de Uso Este trabalho está licenciado sob uma Licença

Leia mais

Disciplina de Banco de Dados Parte V

Disciplina de Banco de Dados Parte V Disciplina de Banco de Dados Parte V Prof. Elisa Maria Pivetta CAFW - UFSM Modelo de Dado Relacional O Modelo Relacional O Modelo ER é independente do SGDB portanto, deve ser o primeiro modelo gerado após

Leia mais

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

Leia mais

Disciplina: Unidade V: Prof.: E-mail: Período:

Disciplina: Unidade V: Prof.: E-mail: Período: Encontro 17 Disciplina: Sistemas de Banco de Dados Unidade V: Introdução à Linguagem SQL Prof.: Mario Filho E-mail: [email protected] Período: 5º. SIG - ADM 13. Introdução à Linguagem SQL Introdução

Leia mais

Escrito por Sex, 14 de Outubro de 2011 23:12 - Última atualização Seg, 26 de Março de 2012 03:33

Escrito por Sex, 14 de Outubro de 2011 23:12 - Última atualização Seg, 26 de Março de 2012 03:33 Preço R$ 129.00 Compre aqui SUPER PACOTÃO 3 EM 1: 186 Vídeoaulas - 3 dvd's - 10.5 Gybabyte. 1) SQL 2) Banco de Dados (Oracle 10g, SQL Server 2005, PostgreSQL 8.2, Firebird 2.0, MySQL5.0) 3) Análise e Modelagem

Leia mais

Banco de Dados I Linguagem SQL Parte 2. Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello

Banco de Dados I Linguagem SQL Parte 2. Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello Banco de Dados I Linguagem SQL Parte 2 Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello Introdução Como vimos, um SGBD possui duas linguagens: DDL: Linguagem de Definição de Dados. Usada

Leia mais

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE MODERNIZAÇÃO E INFORMÁTICA CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MANUAL

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Pedro F. Carvalho OCP Oracle 2008.2 10g LINGUAGEM SQL. www.pedrofcarvalho.com.br [email protected] São José do Rio Preto

Pedro F. Carvalho OCP Oracle 2008.2 10g LINGUAGEM SQL. www.pedrofcarvalho.com.br contato@pedrofcarvalho.com.br São José do Rio Preto Pedro F. Carvalho OCP Oracle 2008.2 10g LINGUAGEM SQL Objetivos Revisando a sintaxe SQL SELECT, UPDATE, INSERT, DELETE Manipulando expressões Funções matemáticas, etc Condições de Pesquisa Funções de Agregação

Leia mais

Memória de aula Semanas 15 e 16

Memória de aula Semanas 15 e 16 FMU Curso: Ciência da Computação Disciplina: Banco de Dados I Professor: Ecivaldo Matos Memória de aula Semanas 15 e 16 1) Incluindo linhas nas tabelas a. Para incluir linhas em tabelas utilize o comando

Leia mais

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015 SQL - Banco de Dados 1 Disciplina: Banco de Dados Professor: José Antônio 2 Tópicos de discussão Criando um banco de dados Incluindo, atualizando e excluindo linhas nas tabelas Pesquisa básica em tabelas

Leia mais

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

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 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 Prof. MSc. Hugo Souza Iniciando nossas aulas sobre

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) (Structured Query Language) I DDL (Definição de Esquemas Relacionais)... 2 I.2 Domínios... 2 I.3 Criação de Tabelas... 2 I.4 Triggers... 4 II DML Linguagem para manipulação de dados... 5 II.2 Comando SELECT...

Leia mais

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

8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito) 8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito) Nos itens anteriores vimos transações do tipo explícitas, ou seja, aquelas que iniciam com BEGIN TRANSACTION. As outras

Leia mais