Banco de Dados com MySQL
|
|
|
- Antônia Márcia Padilha Cabreira
- 9 Há anos
- Visualizações:
Transcrição
1 Banco de Dados com MySQL Cleverson S Carneiro April 13, 2016 Contents 1 Desenvolvimento de Software Engenharia de Software Análise do Sistema Projeto do Sistema Implementação Programação de Computadores Desenvolvimento Web Interfaces Serviços Computação nas Núvens Banco de Dados SGBD - Sistemas Gerenciadores de Bancos de Dados SQL nosql Modelo entidade relacionamento O MySQL Os clientes phpmyadmin Mysql Workbench Terminal Client Implementando o Banco de Dados Mecanismos de Tabelas MyISAM InnoDB
2 3.2 Conjuntos de Caracteres Criando um Banco de Dados Acessando o banco de dados Listando os Banco de Dados do Servidor Excluindo um Banco de Dados Alterando um Banco de Dados Tabelas Criando Tabelas Tipos de Dados Excluir Listar tabelas do banco de dados Exibir a Estrutura da Tabela Exibir o SQL de Criação da Tabela Alterar Renomear Adicionar colunas Remover coluna Alterar coluna Apagando registros Constraint Not NULL UNIQUE Chave Primaria Chave Estrangeira Manipulando Dados Inserindo Atualizando Removendo Consultas Operadores de Comparacao ou Relacionais Funções e Operadores Funções Agregadoras (Group By) Unindo Tabelas Inner Join Left Join
3 5.5.3 Right Join Sub Queries Consultas Atualização Inserção Índices FullText Search IN NATURAL LANGUAGE MODE IN BOOLEAN MODE WITH QUERY EXPANSION Timezone 21 7 Acesso remoto e Permissões Criar usuário Apagar usuário Conectar a um banco remoto Conceder permissão Remover permissão Principais Tipos de Permissão Stored Procedures Chamando uma Store Procedure Parametros Modo IN Modo OUT Modo INOUT Instruções de Controle CASE IF LOOP REPEAT WHILE Percorrer resultado de pesquisa Funções Triggers 32 3
4 11 Tuning Monitorando Consultas Lentas Número máximo de conexões Table Cache Replicação de Dados Configurar Master Criação do usuário Configurar o Slave
5 List of exercises Exercício 1 Meu primeiro banco Exercício 2 Banco de Dados da Empresa Exercício 3 Tabela departamentos Exercício 4 MeuBank Exercício 5 Funções Exercício 6 Extrato de Conta Exercício 7 Transferências Agendadas Exercício 8 Revisão Geral
6 1 Desenvolvimento de Software 1.1 Engenharia de Software Análise do Sistema A análise de sistemas é a atividade que tem como finalidade a realização de estudos de processos a fim de encontrar o melhor caminho racional para que a informação possa ser processada Projeto do Sistema Ao realizar o projeto ou design do sistema, o desenvolvimento analisa os requisitos de hardwares (equipamentos), softwares (programas) e os requisitos trabalhados na fase de análise Implementação É na implementação que construimos o sitema utilizando recursos e tecnologias definidas em tempo de projeto e as definições descritas em tempo de análise. 1.2 Programação de Computadores Programação é o processo de escrita, teste e manutenção de um programa de computador. Diferentes partes de um programa podem ser escritas em diferentes linguagens. Há várias décadas se debate se a programação é mais semelhante a uma arte (Donald Knuth), a uma ciência, à matemática (Edsger Dijkstra), à engenharia (David Parnas), ou se é um campo completamente novo. 1.3 Desenvolvimento Web Interfaces HTML, CSS, JavaScript? Serviços PHP, Java, Python, JavaScript (Node.js), Banco de Dados Computação nas Núvens 6
7 1.4 Banco de Dados Bancos de dados é um conjunto de arquivos organizados e que se relacionam entre si de forma a criar algum sentido e melhorar a eficiência para o acesso aos dados SGBD - Sistemas Gerenciadores de Bancos de Dados É o conjunto de softwares responsáveis pelo gerenciamento de um banco de dados. Seu principal objetivo é retirar da aplicação cliente a responsabilidade de gerenciar o acesso, a manipulação e a organização dos dados. O SGBD disponibiliza uma interface para que seus clientes possam incluir, alterar ou consultar dados previamente armazenados SQL A Linguagem de Consulta Estruturada (Structured Query Language) é utilizada para manipulação de tabelas de dados. É a linguagem universal para manipular bancos de dados relacionais. Grupos de comandos DML Linguagem de Manipulação de Dados (INSERT, DELETE, UPDATE, SELECT...) DDL Linguagem de Definição de Dados (CREATE, DROP, ALTER...) DCL Linguagem de Controle de Dados (GRANT, REVOKE, DROP USER...) nosql Bancos de dados nosql utilizam formas especificas para organizar e acessar seus dados. Exemplos: Redis - Chave e Valor; MongoDB - Documentos; Neo4j - Grafos A melhor vantagem é escalabilidade e performance Modelo entidade relacionamento É um modelo de diagramas que descreve o modelo de dados de um sistema com alto nível de abstração. 7
8 2 O MySQL 2.1 Os clientes Os três principais clientes para acesso ao servidor MySQL são: phpmyadmin Cliente Web Mysql Workbench Cliente Desktop Terminal Client > mysql [OPTIONS] [database] Exemplo: mysql -u root -p 3 Implementando o Banco de Dados 3.1 Mecanismos de Tabelas Os dois principais mecanismos de tabelas do MySQL: MyISAM Este é o mecanismo padrão pois apresenta a melhor performance de consulta. No geral quando a aplicação possui bastante leitura e pouca escrita, este é o melhor mecanismo. Não dá suporte a transações e no momento das alteração dos registros o MyISAM efetua bloqueio de tabela InnoDB InnoDB funciona mais rápido que MyISAM quando há modificações constantes nos dados. Este mecanismo é mais recomendado para estrutura mais complexas por permitir uso de transações e efetuar bloqueios a nível de registros. Referência: Conjuntos de Caracteres Conjunto e subconjunto de caracteres mais utilizados: latin1 (iso ) / latin1 swedish ci 8
9 utf8 / utf8 general ci Criando um Banco de Dados CREATE DATABASE <nome> [CHARACTER SET <conjunto>] [COLLATE <subconjunto>] Exemplos: CREATE DATABASE meudb; CREATE DATABASE meudb CHARACTER SET latin1 COLLATE latin1$\ $swedish$\ $ci; CREATE DATABASE meudb CHARACTER SET utf8 COLLATE utf8$\ $general$\ $ci; Mais detalhes: Acessando o banco de dados Após conectar no servidor MySQL é possível acessar os dados do banco de dados colocando o nome do banco nas consultas. Exemplo: SELECT FROM <nomedobanco>.<nomedatabela> Ou primeiramente ativando o banco de dados para não precisar informar o banco a cada novo SQL. Exemplo: USE <nomedobanco> SELECT FROM <nomedotabela>; 3.5 Listando os Banco de Dados do Servidor Para listar os banco de dados no servidor, utilize o comando: SHOW DATABASES; 3.6 Excluindo um Banco de Dados DROP <banco de dados> 9
10 3.7 Alterando um Banco de Dados Um banco de dados pode apenas ter a definição de conjunto de caracteres alterado. renomear o banco de dados. Não é possível ALTER DATABASE <nome> [CHARACTER SET <conjunto>] [COLLATE <subconjunto>] Visualizando banco de dados 10
11 4 Tabelas 4.1 Criando Tabelas CREATE TABLE <nome da tabela> (<nome da coluna> <tipo da coluna>,...) Referência: Tipos de Dados Table 1: Tipos Textos Tipo Número de Bytes Limite CHAR(M) M M < 255 VARCHAR(M) M M < 255 TINYTEXT M+1 < 255 TEXT M+2 < MEDIUMTEXT M+3 < LONGTEXT M+4 < ENUM até 2 1 a valores SET até 8 1 a 64 valores Table 2: Tipos numéricos Tipo Número de Bytes Limite TINYINT[(M)] a a 255 (UNSIGNED) SMALLINT[(M)] a a (UNSIGNED) MEDIUMINT[(M)] a A (UNSIGNED) INT[(M)] a A (UNSIGNED) BIGINT[(M)] a a (UNSIGNED) FLOAT[(M, D)] 4 DOUBLE[(M, D)] / REAL[(M, D)] 8 DECIMAL[(M[, D])] / NUMERIC[(M[, D])] Varia e+38 a e e-38 a e+38 (UNSIGNED) e+308 a e E-308 A E+308 (UNSIGNED) e+308 a e E-308 a E+308 (UNSIGNED) 11
12 Table 3: Data e Hora Tipo Número de Bytes Formato DATE 3 YYYY-MM-DD TIME 3 hh:mm:ss DATETIME 8 YYYY-MM-DD hh:mm:ss TIMESTAMP 4 YYYYMMDDHHMMSS YEAR[(2 ou 4)] 1 YY ou YYYY Table 4: Tipos Binários Tipo Número de Bytes Limite BIT[(M)] (M + 7)/8 0 ou 1 TINYBLOB M+1 0 a 255 BLOB M+1 0 a MEDIUMBLOB M+3 0 a LONGBLOB M+4 0 a Excluir DROP TABLE contato; 4.3 Listar tabelas do banco de dados SHOW TABLES; 4.4 Exibir a Estrutura da Tabela Para visualizar a definição/descrição da sua tabela, utilize o comando: DESC <nome da tabela>; 4.5 Exibir o SQL de Criação da Tabela SHOW CREATE TABLE <nome da tabela>; 12
13 4.6 Alterar ALTER TABLE <nome da tabela> <opcoes> 4.7 Renomear ALTER TABLE <nome da tabela> RENAME TO <novo nome> Adicionar colunas ALTER TABLE <nome da tabela> ADD <nome da coluna> <tipo de dado> [NULL NOT NULL] [DEFAULT <valor>] Remover coluna ALTER TABLE <nome da tabela> DROP <nome da coluna> Alterar coluna ALTER TABLE <nome da tabela> CHANGE <nome da coluna> <novo nome da coluna> <tipo de dado> [NULL NOT NULL] [DEFAULT <valor>] Apagando registros TRUCANTE <nome da tabela> Exercício 1 Meu primeiro banco Criar um banco de dados com o nome Agenda 1. Crie tabelas de forma a armazenar os seguintes dados: Nome, Data de Nascimento, Telefone Residencial, Telefone Comercial, , Endereço Residencial e Comerical (Rua, Número, Bairro, CEP, Cidade, Estado) 13
14 4.8 Constraint Regras que restringem os valores que os campos das tabelas podem assumir Not NULL ALTER TABLE <nome da tabela> MODIFY nome VARCHAR(50) NOT NULL; UNIQUE ALTER TABLE <nome da tabela> ADD UNIQUE (nome); Chave Primaria ALTER TABLE <nome da tabela> ADD PRIMARY KEY (id); Chave Estrangeira ALTER TABLE <nome da tabela> ADD CONSTRAINT funcionarios cargos FOREIGN KEY ( cargo ) REFERENCES <nome da tabela de referencia> ( cargo ); 14
15 5 Manipulando Dados 5.1 Inserindo INSERT INTO contatos (nome, , telefone, data criacao) VALUES ( Cleverson, cleverson. [email protected], , now()); 5.2 Atualizando UPDATE contatos SET nome = Cleverson Carneiro WHERE id = 1; 5.3 Removendo DELETE FROM contatos WHERE id = 1; 5.4 Consultas SELECT FROM contatos; SELECT FROM contatos WHERE id = 1; SELECT FROM contatos WHERE id in (1,2); SELECT FROM contatos ORDER BY nome; SELECT FROM contatos ORDER BY data criacao desc; SELECT FROM contatos LIMIT 2; A instrução LIKE é utilizada para realizar buscas em partes do conteúdo. SELECT FROM contatos WHERE nome LIKE C% SELECT FROM contatos WHERE nome LIKE %de% SELECT FROM contatos WHERE nome LIKE %s 15
16 5.4.1 Operadores de Comparacao ou Relacionais Operador Descrição > Maior do que < Menor do que = Igual a <> ou!= Diferente de >= Maior ou igual a <= Menor ou igual a <=> Igual para Null Funções e Operadores Funções Agregadoras (Group By) Nome AVG() BIT AND() BIT OR() BIT XOR() COUNT(DISTINCT) COUNT() GROUP CONCAT() MAX() MIN() STD() STDDEV POP() STDDEV SAMP() STDDEV() SUM() VAR POP() VAR SAMP() VARIANCE() Descrição Valor médio do argumento Operação AND bit a bit Operação OR bit a bit Operação XOR bit a bit Contagem de número de diferentes valores Contagem do número de linhas retornadas Retorna uma string concatenada Valor máximo Valor mínimo Desvio padrão da população Desvio padrão da população Desvio padrão da amostra Desvio padrão da população Soma Variância padrão da população Variação da amostra Variância padrão da população 16
17 5.5 Unindo Tabelas Inner Join Retorna dados apenas quando as duas tabelas tem chaves Left Join Retorna todos os dados da tabela a esquera e apenas os registros que possuem chaves da tabela a direita Right Join Retorna todos os dados da tabela a direita e apenas os registros que possuem chaves da tabela a esquerda. Exercício 2 Banco de Dados da Empresa 1. Criar um banco de dados chamado MinhaEmpresa 2. Criar as tabelas e seus relacionamentos conforme diagrama ER da Figura 1 da Página Inserir os registros contidos no arquivo sql 4. Altere a tabela funcionarios e não permita que exita CPF iguais 5. Altere a tabela funcionarios e defina que o salário default será Inserir um novo funcionario sem salário 7. Inserir despesas para 2 funcionarios. É possível lançar despesas para um setor diferente ao qual o funcionario foi cadastrado? 8. Faça uma consulta que mostre apenas os campos nome e sexo de todos funcionarios. 9. Faça uma consulta que mostre todos os campos dos funcionários e que o resultado seja exibido na ordem decrescente de salário. 10. Atualize o cargo Vendedor para Agente de Vendas. 11. Faça uma consulta que mostre quantos funcionarios existem por sexo. 12. Faça uma consulta que mostre a soma dos salários dos funcionarios do setor Em uma só consulta mostre o nome e cargo de todos os funcionarios. 14. Em uma só consulta mostre o nome, setor e cargo de todos os funcionarios cujo orçamento do setor seja maior que
18 Figure 1: Esquema do Banco de Dados MinhaEmpresa 5.6 Sub Queries Consultas SELECT FROM t1 WHERE column1 = (SELECT MAX(column2) FROM t2); SELECT s1 FROM t1 WHERE s1 <> ANY (SELECT s1 FROM t2); SELECT s1 FROM t1 WHERE s1 <> SOME (SELECT s1 FROM t2); SELECT s1 FROM t1 WHERE s1 > ALL (SELECT s1 FROM t2); SELECT FROM t1 WHERE id IN (SELECT id FROM t2); SELECT FROM t1 WHERE id NOT IN (SELECT id FROM t2); SELECT FROM t1 WHERE (col1,col2) = (SELECT col3, col4 FROM t2 WHERE id = 10); Atualização UPDATE <nome da tabela> SET <nome da coluna> = ( SELECT <nome da coluna> FROM < nome da outra tabela> b WHERE <nome da tabela>.name = <nome da outra tabela>.name ) Inserção INSERT INTO qa costpriceslog (item code, invoice code, item costprice) SELECT 1 AS item code, 18
19 2 AS invoice code, item costprice FROM qa items WHERE item code = 1; Ver mais: Índices Criando junto com a tabela: CREATE TABLE CLIENTES ( Codigo INT, Nome VARCHAR(50), INDEX (Codigo) ); Criando indice após criação da tabela: CREATE INDEX idx CLIENTES CODIGO ON CLIENTES(Codigo); 5.8 FullText Search FULLTEXT SEARCH é um mecanismo de busca que permite procurar termos em meio a grande volume de textos. Ao criar um indice Fulltext para uma coluna, faz com que seja criado uma entrada no indice para cada palavra colocada na coluna. Até a versão 5.5 do Mysql, os indices Fulltext são permitidos apenas para tabelas MyISAM. A partir da 5.6, também são permitidas na InnoDB. Realizar busca com a instrução LIKE Exemplo: SELECT FROM contas WHERE nome LIKE Cl% ; SELECT FROM contas WHERE nome LIKE %on ; SELECT FROM contas WHERE nome LIKE %de% ; Para criar um index fulltext index utilize: CREATE FULLTEXT index ON contas(nome); Realizar buscas Fulltext envolve os operadores MATCH e AGAINST: SELECT FROM contas WHERE MATCH(nome) AGAINST ( Cleverson ); 19
20 Os valore são retornados por relevância. A relevância é calculada com base no número de palavras na linha, com o número de palavras únicas nessa linha, o número total de palavras nos registros, o número de documentos (linhas) que contenham uma determinada palavra. Existem três tipos de buscas fulltext: IN NATURAL LANGUAGE MODE Utilizado por default, realiza uma busca em linguagem natural (ignorando por exemplo acentos e maiúscula/minúscula) IN BOOLEAN MODE Utiliza as palavras da busca com operadores lógicos. Operadores: Sinal Sinal Sinal + Sinal < Sinal > Sinal Sinal Entre aspas Entre parenteses ( ) Descrição Indica que a palavra não deve estar no resultado Indica que a palavra deve estar no resultado Palavra tem menos relevância Palavra tem mais relevância Indica que a palavra deve tem relevância negativa na busca Utilizado com curinga mas apenas no final da palavra Retorna busca que possuem exatamente este texto Agrupa palavras e subexpressões WITH QUERY EXPANSION Expande a busca para palavras não digitadas. Por exemplo, ao buscar por MySQL, Oracle, Postgres ele poderá expandir a busca para banco de dados Exercício 3 Tabela departamentos 1. Crie uma tabela departamentos com os campos id e nome do departamento. Faça os seguintes inserts: INSERT INTO departamentos (id, nome) VALUES (1, TI ); INSERT INTO departamentos (id, nome) VALUES (2, Marketing ); INSERT INTO departamentos (id, nome) VALUES (3, Financeiro ); Realize o JOIN entre as tabelas cargos e departamentos Criando Visualizações CREATE VIEW nome da view AS sql 20
21 6 Timezone 7 Acesso remoto e Permissões É possível gerenciar as permissões em quatro níveis: Servidor: Garante o acesso a este usuário a todos os BDs de forma irrestrita em um determinado servidor. As informações ficam armazenados na tabela mysql.user. Banco de dados: Garante o acesso a este usuário a todas as tabelas de um determinado BD. As informações ficam armazenados na tabela mysql.db e mysql.host. Tabelas: Garante o acesso apenas a uma determinada tabela. As informações dos privilégios deste nível ficam armazenados na tabela mysql.tables p riv. Colunas: Garante o acesso a este usuário apenas a uma determinada coluna de uma tabela de um BD. As informações ficam na tabela mysql.columns p riv. 7.1 Criar usuário CREATE USER localhost IDENTIFIED BY password ; 7.2 Apagar usuário DROP USER demo@localhost; 7.3 Conectar a um banco remoto mysql -u [nome do usuário]-p [-h ip] 7.4 Conceder permissão GRANT [tipo de permisso] [colunas] ON [nome da base de dados].[nome da tabela] TO [nome do localhost; Exemplos: GRANT ALL PRIVILEGES ON. TO usuariol@localhost IDENTIFIED BY abc123 ; Cria o usuário1 no servidor localhost, com senha de acesso definida como abc123, com todos os privilégios (ALL PRIVILEGES) a todos os BDs e tabelas. 21
22 GRANT ALL PRIVILEGES ON. TO IDENTIFIED BY abcl23 WITH GRANT OPTION; Idem, com a possibilidade de conceder seus privilégios a outros usuários. GRANT ALL PRIVILEGES ON. TO usuario2@ \% IDENTIFIED BY abc123 WITH GRANT OPTION; Cria o usuario2 no servidor localhost com senha de acesso = abc123 com todos os privilégios. Neste exemplo é omitido o nome do host e em seu lugar é usado o símbolo % (percentagem), um curinga que indica a criação do usuário específico em qualquer máquina do domínio host. GRANT SELECT (NOME, SALRIO) ON virtual.cadfun TO usuario3@localhost IDENTIFIED BY abcl23 ; Cria o usuario3 no servidor localhost com senha de acesso = abc123 e informa que esse usuário pode apenas acessar as colunas NOME e SALÁRIO da tabela cadfun do BD virtual. GRANT UPDATE, INSERT ON virtual. TO usuario4@localhost IDENTIFIED BY abcl23 ; Cria o usuario4 no servidor localhost com senha de acesso = abc123 e informa que esse usuário pode executar os comandos UPDATE e INSERT em qualquer tabela do BD virtual. Para verificar as tabelas do MySql que controlam estes direitos (user, db, host, tables priv e columns priv), vamos olhar o conteúdo do bd de controle do MySql. Digite: SHOW DATABASES; USE mysql; SHOW TABLES; DESCRIBE user; SELECT FROM user; DESCRIBE host; SELECT FROM host; DESCRIBE db; SELECT FROM db; DESCRIBE tables priv; SELECT FROM tables priv; DESCRIBE columns priv; SELECT FROM columns priv; 22
23 FLUSH PRIVILEGES; 7.5 Remover permissão REVOKE [tipo de permisso] [colunas] ON [nome da base de dados].[nome da tabela] FROM [nome do 7.6 Principais Tipos de Permissão Tipo ALL [PRIVILEGES] ALTER ALTER ROUTINE CREATE CREATE ROUTINE CREATE USER CREATE VIEW DELETE DROP EVENT EXECUTE GRANT OPTION INDEX INSERT LOCK TABLES REFERENCES SELECT SHOW DATABASES SHOW VIEW TRIGGER UPDATE Descrição Todos os privilégios menos GRANT OPTION Permite ALTER TABLE para database, table. Permite alterar ou apagar stored routines Permite criar database ou tables Permite criar stored routine Permite criar, remover, renomear usuários Permite criar views Permite apagar registros Permite remover databases, tables, e views Permite use de Event Scheduler Permite executar stored routines Permite alterar regras de permissão Permite criar ou apagar indexs Permite insert Permite Lock em tabelas Permite criação de foreign key Permite visualizar dados (database, table e coluna) Permite exibir databases Permite exibir Views Permite utilizar trigger Permite efetuar update (database, table e column) 23
24 8 Stored Procedures É o nome dado ao recurso que permite armazenar no banco de dados um conjunto/bloco de instruções que podem receber parametros, executar operações em diversas tabelas e retornar valores. Vantagens: Centralização Segurança Velocidade Transacional Estrutura: DELIMITER $$ CREATE PROCEDURE <nome> ( <parametros> ) BEGIN <corpo> END $$ DELIMITER ; Exemplo: CREATE PROCEDURE mostrarnumeroaleatorio () BEGIN SELECT RAND(); END $$ DELIMITER ; 8.1 Chamando uma Store Procedure Como chamar a Store Procedure: Exemplo: CALL mostrarnumeroaleatorio(); 8.2 Parametros (MODO nome TIPO, MODO nome TIPO,... ) 24
25 8.2.1 Modo IN Indica que o parâmetro é apenas para entrada. CREATE PROCEDURE mostrarnumeroaleatorionointervalo (IN de INT, IN ate INT) BEGIN SELECT FLOOR( ( RAND() (de ate + 1) ) + ate); END $$ DELIMITER ; CALL mostrarnumeroaleatorioentre(3, 8); Modo OUT Indica que o parâmetro é apenas de saída. DELIMITER $$ CREATE PROCEDURE quantidadefuncionarios (OUT quantidade INT) BEGIN SELECT COUNT( ) INTO quantidade FROM funcionarios; END $$ DELIMITER ; CALL quantidadefuncionarios(@total); DELIMITER $$ CREATE PROCEDURE elevaraoquadrado (OUT numero INT) BEGIN SET numero = numero numero; END $$ DELIMITER ; = 5; CALL elevaraoquadrado(@valor); Modo INOUT Indica que o parâmetro é de entrada e saída. 25
26 8.3 Instruções de Controle CASE CASE case value WHEN when value THEN statement list [WHEN when value THEN statement list]... [ELSE statement list] END CASE Exemplo: DELIMITER $$ CREATE PROCEDURE p() BEGIN DECLARE v INT DEFAULT 1; CASE v WHEN 2 THEN SELECT v; WHEN 3 THEN SELECT 0; ELSE BEGIN END; END CASE; END $$ DELIMITER ; IF IF search condition THEN statement list [ELSEIF search condition THEN statement list]... [ELSE statement list] END IF Exemplo: DELIMITER $$ CREATE PROCEDURE inserecargo(p nome VARCHAR(50), p id departamento int) BEGIN IF (p nome!= ) THEN INSERT INTO cargos (cargo, id departamento) VALUES (p nome, p id departamento); 26
27 ELSE SELECT Nome deve ser fornecido! AS Msg; END IF; END $$ DELIMITER ; Exemplo: DELIMITER $$ CREATE PROCEDURE inserefuncionario(in p id INT, IN p nome VARCHAR(50), IN p cargo varchar(50)) BEGIN DECLARE excessao SMALLINT DEFAULT 0; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET excessao = 1; START TRANSACTION; IF (p id > 0 AND p nome <> AND p cargo <> ) THEN INSERT INTO funcionarios (id, nome, cargo) VALUES (p id, p nome, p cargo); IF excessao = 1 THEN SELECT Erro ao inserir funcionario AS Msg; ROLLBACK; ELSE SELECT Cadastro efetuado com sucesso AS Msg; COMMIT; END IF; ELSE SELECT \ $Parametros invlidos\ AS Msg; END IF; END $$ DELIMITER ; LOOP 27
28 [begin label:] LOOP statement list END LOOP [end label] Exemplo: DELIMITER $$ CREATE PROCEDURE doiterate(p1 INT) BEGIN label1: LOOP SET p1 = p1 + 1; IF p1 < 10 THEN ITERATE label1; END IF; LEAVE label1; END LOOP label1; = p1; END $$ DELIMITER ; REPEAT [begin label:] REPEAT statement list UNTIL search condition END REPEAT [end label] Exemplo: DELIMITER $$ CREATE PROCEDURE dorepeat(p1 INT) BEGIN = 0; REPEAT + 1; > p1 END REPEAT; END $$ DELIMITER ; 28
29 8.3.5 WHILE [begin label:] WHILE search condition DO statement list END WHILE [end label] Exemplo: DELIMITER $$ CREATE PROCEDURE dowhile() BEGIN DECLARE v1 INT DEFAULT 5; WHILE v1 > 0 DO... SET v1 = v1 1; END WHILE; END $$ DELIMITER ; 8.4 Percorrer resultado de pesquisa 29
30 Exercício 4 MeuBank Criar um mini sistema bancário 1. Crie um banco de dados chamado MeuBanco com o CHARACTER utf8 e COLLATE utf8 general ci 2. No novo banco de dados, crie a tabela abaixo: CREATE TABLE contas ( id INT NOT NULL, agencia INT, saldo NUMERIC(10,2), PRIMARY KEY (id) ) ENGINE = InnoDB; 3. Criar uma procedure que gere valores aleatórios para a tabela contas. (Dica: Execute a query SELECT floor( ( rand() * ( ) ) + 3); e analise o resultado ) 4. Crie duas VIEWs: View que exiba a soma de saldos de todos os clientes (Dica: Utilizar a função SUM) View que exiba a soma de saldos por agência (Dica: Utilizar a instrução GROUP BY) 5. Crie uma tabela chamada transferencia (Do tipo InnoDB) com as colunas: id (com auto increment) id conta origem id conta destino valor 6. Na tabela transferencia, defina as colunas id c onta o rigemeid c onta d estinocomof OREINGKEY databelacontascolun 7. A assinatura da store procedure deverá ser executartransferencia (valor, contaorigem, contadestino) Os passos para transferir a conta são: 1. Diminuir saldo conta origem 2. Aumentar saldo conta destino 3. Registrar transferencia na tabela transferencia Caso ocorra algum erro em qualquer uma das 3 queries, a procedure deverá realizar Rollback; 30
31 9 Funções Embora a declaração de funções seja muito parecida com as de Store Procedures, sua utilização é apenas para pequenas operações como calculo e manipulação de strings. DELIMITER $$ CREATE FUNCTION ola(nome VARCHAR(20)) RETURNS VARCHAR(50) BEGIN RETURN CONCAT( Ola, nome,!!! ); END $$ DELIMITER ; Exercício 5 Funções Criar funções 1. Criar uma função gerarnumero(de, ate) que gere um numero aleatorio entre os parametros de e até Dica: SELECT floor( ( rand() * (de - ate + 1) ) + ate); 2. Criar uma função gerarnome que gere um nome aleatorio Dica: SELECT substring( abcdefghijklmnopqrstuvwxyz, rand()*26+1, 1); 3. Alterar a procudere que gera contas aleatorias e inserir o nome do cliente alter table contas add column nome varchar(128); Dica: gerarnome(gerarnumero(5,12)); 31
32 10 Triggers CREATE TRIGGER <nome> { BEFORE AFTER } { INSERT UPDATE DELETE } ON < nome da table> FOR EACH ROW <comandos> Exemplo: delimiter $$ CREATE TRIGGER saldo positivo BEFORE UPDATE ON contas FOR EACH ROW BEGIN IF NEW.saldo < 0 THEN SET NEW.saldo = 0; END; $$ delimiter ; Exercício 6 Extrato de Conta Criar funções 1. Crie uma tabela Extrato com as colunas (id auto increment, id conta, data, valor). 2. Crie uma trigger que para cada INSERT na tabela transferencia gere um insert na tabela extrato. Sendo que se a conta for a origem da transferencia o campo valor deve entrar como negativo e se a conta for destino na transferência o valor deve entrar como positivo. Eventos Habilitar eventos: SET GLOBAL event s cheduler = ON; CREATE EVENT <nome> ON SCHEDULE schedule AT { timestamp EVERY interval [YEAR QUARTER MONTH DAY HOUR MINUTE WEEK SECOND YEAR MONTH DAY HOUR DAY MINUTE DAY SECOND HOUR MINUTE HOUR SECOND MINUTE SECOND] } DO <comandos>; Exemplo: CREATE TABLE mensagens (data TIMESTAMP DEFAULT CURRENT TIMESTAMP, msg varchar(200)); CREATE EVENT ola ON SCHEDULE EVERY 30 SECOND DO INSERT INTO mensagens (msg) VALUES ( ola ); 32
33 Exercício 7 Transferências Agendadas 1. Crie uma tabela transferencia agendada com as colunas: (id auto increment, id conta origem, id conta destino, data hora agendamento, valor). 2. Crie um evento que a cada 1 minuto consulta a tabela transferencia agendada e verifica se possui uma transferência vencida que deve ser realizada. 11 Tuning 11.1 Monitorando Consultas Lentas Para analisar possíveis gargalos no seu banco de dados, é possível monitorar as consultas lentas. arquivo my.cnf [mysqld]... long q uery time = 1log slow queries = /var/log/mysql slow.log No 11.2 Número máximo de conexões Determina o número máximo de conexões simultâneas. Deve ser aumentado de acordo com a necessidade. No arquivo my.cnf [mysqld]... max connections = 200 Para verificar as conexões atuais: mysql show processlist 11.3 Table Cache Toda vez que o MySQL abre uma tabela, ele coloca os dados em cache. A variável table cache define quantas tabelas poderão estar em cache simultaneamente. [mysqld]... table cache = max c onnections n 33
34 12 Replicação de Dados Vantagens: Equilíbrio de carga Distribuição de dados Backup Alta disponibilidade Primeiramente deve-se criar uma conta de usuário com permissão de replicação para os servidores tanto no master quanto no slave Configurar Master SHOW GLOBAL VARIABLES WHERE Variable name = log bin ; Ativar o log binário e especificar um ID do servidor log-bin = mysql-bin server-id = 1 SHOW MASTER STATUS 12.2 Criação do usuário CREATE USER replicador IDENTIFIED BY replica; GRANT replication slave, replication client on. to replicador$\@$ $\%$ identified by replica ; 12.3 Configurar o Slave CHANGE MASTER TO MASTER HOST= , MASTER USER= replicador, MASTER PASSWORD= replica, MASTER LOG FILE= mysql bin , MASTER LOG POS =0; log-bin = mysql-bin server-id = 2 START SLAVE; SHOW SLAVE STATUS; 34
35 Exercício 8 Revisão Geral 1. Criar um banco de dados dbempresa, com a estrutura de tabelas conforme o diagrama de Entidade e Relacionamento (Diagrama) 2. Criar as chaves estrangeiras entre as tabelas: a) Na tabela despesas, criar as FKs despesa setor e despesa funcionario. b) Na tabela funcionarios, criar as FKs funcionario setor e funcionario cargo. 3. Realizar pelo menos 3 inserts em cada tabela. 4. Consultas a) Criar uma consulta na tabela setores ordenando pelos setores com menor orçamento b) Criar uma consulta na tabela despesas filtrando despesas com data Maior e Menor que uma determinada data. c) Criar uma consulta na tabela funcionarios agrupando por código do cargo. d) Criar uma consulta na tabela funcionarios exibindo o nome do setor e do cargo. e) Criar uma consulta na tabela cargos exibindo o cargo e a soma das despesas dos funcionarios daquele cargo. 5. Segurança a) Criar um usuário chamado auxfinanceiro que podera apenas realizar select na tabela despesas. b) Criar um usuário chamado rh que poderá fazer SELECT, UPDATE e INSERT nas tabelas funcionarios e cargos, porém não poderá apagar nenhum registro destas tabelas 6. Criar uma procedure chamada registrardespesa que recebe uma valor decimal e o código do funcionario: a) A procedure deve inserir um novo registro na tabela despesa. b) A procedure deve diminuir 10% do valor da despesa no salário do funcionario 35
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
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
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
Administração de Usuários e Privilégios no Banco de Dados
Administração de Usuários e Privilégios no Banco de Dados Todo agrupamento de bancos de dados possui um conjunto de usuários de banco de dados. Estes usuários são distintos dos usuários gerenciados pelo
BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho [email protected] www.diemesleno.com.br
BANCO DE DADOS info 3º ano Prof. Diemesleno Souza Carvalho [email protected] www.diemesleno.com.br Na última aula estudamos Unidade 4 - Projeto Lógico Normalização; Dicionário de Dados. Arquitetura
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
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;
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
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
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:
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
ROTEIRO. A Linguagem SQL (I parte) CEFET.PHB - PI Prof. Jefferson Silva. As partes da linguagem SQL. A Linguagem de Definição de Dados (SQL-DDL)
CEFET.PHB - PI Prof. Jefferson Silva SQL (MySql) ROTEIRO I PARTE - INTRODUÇÃO AO SQL COMANDOS E SUAS PARTES DA LINGUAGEM SQL II PARTE ADMINSTRAÇÃO DE BANCO DE DADOS UTILIZANDO MYSQL PRINCIPAIS INSTRUÇÕES
Triggers em PostgreSQL. Linguagem de Programação de Banco de Dados. Triggers em PostgreSQL. Triggers em PostgreSQL
Prof. Ms. Luiz Alberto Contato: [email protected] Linguagem de Programação de Banco de Dados Triggers em PostgreSQL Todos os bancos de dados comerciais possuem uma linguagem procedural auxiliar para a
Programação WEB II. PHP e Banco de Dados. [email protected]. 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
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
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
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
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
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
Structured Query Language (SQL) Aula Prática
Structured Query Language (SQL) Aula Prática Linguagens de SGBD Durante o desenvolvimento do sistema R, pesquisadores da IBM desenvolveram a linguagem SEQUEL, primeira linguagem de acesso para Sistemas
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
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
Minicurso3 Introdução ao Banco de Dados MySQL
I Workshop de Informática INFO-BAIANO 12 a 13 de nov. de 2011 Minicurso3 Introdução ao Banco de Dados MySQL Prof. Pablo Freire Matos Informática - Instituto Federal Baiano (IFBAIANO) [email protected]
Banco de dados. Linguagens de Banco de Dados II. Wedson Quintanilha da Silva - www.assembla.com/spaces/objetivobd/documents
Banco de dados Linguagens de Banco de Dados II 1 Linguagem de Definição de Dados - DDL Comandos utilizados para criação do esquema de dados; Um DDL permite ao utilizador definir tabelas novas e elementos
Armazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas;
Conjunto de informações relacionadas entre si; Armazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas; Conjunto de Tabelas onde cada linha é um vetor de dados específico;
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
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
Curso PHP Aula 08. Bruno Falcão [email protected]
+ Curso PHP Aula 08 Bruno Falcão [email protected] + Roteiro Conectividade com BD SQL + SQL Structured Query Language. Padrão para interagir com banco de dados relacionais. + Banco de dados Um banco
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
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
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
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
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,
Modelo Cliente/Servidor Por HIARLY ALVES
UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor. Modelo Cliente/Servidor Por HIARLY ALVES Fortaleza - CE CONCEITOS Cliente x Servidor. Cliente É um programa (software) executado
MYSQL: TIPOS DE DADOS. Gilvan Vieira Moura E-mail: [email protected]
MYSQL: TIPOS DE DADOS Gilvan Vieira Moura E-mail: [email protected] TIPOS DE DADOS Bancos de dados, como falamos anteriormente, armazenam dados dentro de tabelas, na forma de linhas e colunas.
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
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:
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)
RECUPERAÇÃO DE CONTEÚDO BANCO DE DADOS
RECUPERAÇÃO DE CONTEÚDO BANCO DE DADOS No Instituto Federal do Paraná tounou-se necessário o armazenamento de certas informações para controle de pessoal. Para armazenar tais dados é necessário saber que:
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
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
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,
DESENVOLVIMENTO DE SOFTWARE
VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.
BANCO DE DADOS: SQL. Edson Anibal de Macedo Reis Batista. 27 de janeiro de 2010
BANCO DE DADOS: SQL UERN - Universidade do Estado do Rio Grande do Norte. Departamento de Ciências da Computação. 27 de janeiro de 2010 índice 1 Introdução 2 3 Introdução SQL - Structured Query Language
Banco de Dados II. Triggers e Functions. Prof. Moser Fagundes. Curso TSI Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas
Banco de Dados II Triggers e Functions Prof. Moser Fagundes Curso TSI Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas Sumário da aula Functions (funções) Triggers (gatilhos) Atividades Functions
SQL. Hélder Antero Amaral Nunes
SQL Hélder Antero Amaral Nunes 2 Introdução Desenvolvida pelo departamento de pesquisa da IBM na década de 1970 (System R); Linguagem padrão de BD Relacionais; Apresenta várias padrões evolutivos: SQL86,
Treinamento em PHP. Aula 7. Ari Stopassola Junior [email protected]
Treinamento em PHP Aula 7 Ari Stopassola Junior [email protected] Banco de Dados Robustes no armazenamento Segurança, velocidade e facilidade na manipulação dos dados Controle e escalabilidade
Á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
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,
PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger
PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger A tecnologia de banco de dados permite persistir dados de forma a compartilha-los com varias aplicações. Aplicação 1 aplicação 2 aplicação 3 SGDB Banco
Notas sobre o MySQL: Resumo dos comandos no MySQL linha de comandos:
EDUCAÇÃO E FORMAÇÃO DE ADULTOS Curso EFA SEC Turma C - 2012 / 2013 Notas sobre o MySQL: 1) A indicação mysql> é o prompt do sistema. 2) Uma instrução, no prompt do MySQL, deve terminar sempre com ponto
Fábio Borges de Oliveira. MySQL
Fábio Borges de Oliveira MySQL Incremento automático CREATE TABLE alunos ( registro MEDIUMINT NOT NULL AUTO_INCREMENT, nome CHAR(30) NOT NULL, PRIMARY KEY (registro) ); INSERT INTO alunos (nome) VALUES
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
COMPETÊNCIAS ESPECÍFICAS Compreender e utilizar a linguagem SQL, na construção e manutenção de uma base de dados.
PLANIFICAÇÃO DA DISCIPLINA DE SISTEMAS DE INFORMAÇÃO 12.ºH CURSO PROFISSIONAL DE TÉCNICO MULTIMÉDIA ANO LECTIVO 2013/2014 6. LINGUAGENS DE PROGRAMAÇÃO IV Pré-requisitos: - Planificar e estruturar bases
Modelagem de banco de dados com MySQL Workbench
Modelagem de banco de dados com MySQL Workbench Após o término desse curso, você estará apto à: Teoria: Reconhecer os principais tipos de dados suportados pelo MySQL 5.0 Otimizar espaço pela escolha certo
SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL
SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL Criar uma base de dados (criar um banco de dados) No mysql: create database locadora; No postgresql: createdb locadora Criar
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
Transações Seguras em Bancos de Dados (MySQL)
Transações Seguras em Bancos de Dados (MySQL) Índice Entendendo os storage engines do MySQL 5 1 As ferramentas 1 Mais algumas coisas que você deve saber 1 Com a mão na massa 2 Mais ferramentas Usando o
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
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
DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR
SQL Structured Query Language, ou Linguagem de Consulta Estruturada, foi desenvolvida pela IBM nos anos 70 para demonstrar a viabilidade do modelo relacional para bancos de dados. No final dos anos 80
Esta aula tem o objetivo de nos orientar durante este período em nossas aulas de Banco de Dados, não tem a pretensão de ser a única fonte de
BD Esta aula tem o objetivo de nos orientar durante este período em nossas aulas de Banco de Dados, não tem a pretensão de ser a única fonte de informação para nosso êxito no curso. A intenção de elaborar
Sensor de temperatura Parte 5 Cleiton Bueno www.cleitonbueno.wordpress.com. Preparando o ambiente do Banco de dados Mysql
Criar database: Sensor de temperatura Parte 5 Cleiton Bueno www.cleitonbueno.wordpress.com Preparando o ambiente do Banco de dados Mysql CREATE DATABASE `tempuino` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
Linguagem SQL. Comandos Básicos
Linguagem SQL Comandos Básicos Caetano Traina Júnior Grupo de Bases de Dados e Imagens Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos [email protected] Comando
MySQL. Prof. César Melo. com a ajuda de vários
MySQL Prof. César Melo com a ajuda de vários Banco de dados e Sistema de gerenciamento; Um banco de dados é uma coleção de dados. Em um banco de dados relacional, os dados são organizados em tabelas. matricula
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)
Sumário 1 0.1 Introdução 1 0.2 Breve História da Linguagem SQL l 0.3 Características da Linguagem SQL 3 0.4 A Composição deste Livro 3
ÍNDICE o -INTRODUÇÃO Sumário 1 0.1 Introdução 1 0.2 Breve História da Linguagem SQL l 0.3 Características da Linguagem SQL 3 0.4 A Composição deste Livro 3 0.5 Sistemas Utilizados 6 0.5.1 Access 2003 (Microsoft)
Descrição Tinyint[(M)] Inteiro pequeno. Varia de 128 até +127
Disciplina: Tópicos Especiais em TI PHP Este material foi produzido com base nos livros e documentos citados abaixo, que possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade
FAPLAN - Faculdade Anhanguera Passo Fundo Gestão da Tecnologia da Informação Banco de Dados II Prof. Eder Pazinatto Stored Procedures Procedimento armazenados dentro do banco de dados Um Stored Procedure
CREATE TABLE AUTOR ( cod_autor int not null primary key, nome_autor varchar (60) )
TADS Exercício Laboratório I Analise o modelo de banco de dados abaixo: MUSICA FAIXA Codigo_Musica: INTEGER Nome_Musica: VARCHAR(60) Duracao: NUMERIC(6,2) Codigo_Musica: INTEGER (FK) Codigo_CD: INTEGER
DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano
DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS Fábio Roberto Octaviano Conceitos da arquitetura Oracle e da Linguagem SQL Recuperar dados por meio de SELECT Criar relatórios de dados classificados
Gerenciamento de um Sistema de
SBD Gerenciamento de um Sistema de Banco de Dados Prof. Michel Nobre Muza ua [email protected] Prof. Marcos Antonio Viana Nascimento Por que é importante: Motivação Participar na organização e no
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
Operação de União JOIN
Operação de União JOIN Professor Victor Sotero SGD 1 JOIN O join é uma operação de multi-tabelas Select: o nome da coluna deve ser precedido pelo nome da tabela, se mais de uma coluna na tabela especificada
Escola Secundária de Albufeira. Comandos MySQL. (Páginas Web Dinâmicas: PHP e MySQL) Carlos Nunes
Escola Secundária de Albufeira Comandos MySQL (Páginas Web Dinâmicas: PHP e MySQL) ([email protected]) 2009/2010 Criar Base de Dados CREATE DATABASE basededados; Apagar Base de Dados DROP DATABASE basededados;
BD Oracle. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04
BD Oracle SGBD Oracle Licenciatura em Engenharia Informática e Computação Bases de Dados 2003/04 BD Oracle Introdução aos SGBD Base de Dados Colecção de dados que descrevem alguma realidade Sistema de
Projeto de Banco de Dados: Empresa X
Projeto de Banco de Dados: Empresa X Modelo de negócio: Empresa X Competências: Analisar e aplicar o resultado da modelagem de dados; Habilidades: Implementar as estruturas modeladas usando banco de dados;
SQL (Structured Query Language)
SQL (Structured Query Language) Linguagem comercial para BD relacional padrão ISO desde a década de 80 SQL (86); SQL-2 (92); SQL-3 (99) e SQL:2003 não é apenas uma linguagem de consulta! como o nome sugere...
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
Sistemas de Banco de Dados
Sistemas de Banco de Dados Everson Santos Araujo [email protected] Conceitos Dado - Um fato que pode ser armazenado Banco de dados (BD) - Coleção de dados interrelacionados Sistema Gerenciador de Banco
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
PROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger
PROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger a tecnologia de banco de dados permite persistir dados de forma a compartilha-los com varias aplicações. Aplicação 1 aplicação 2 aplicação 3 SGDB Banco
SQL (Structured Query Language)
SQL (Structured Query Language) Linguagem comercial para BD relacional padrão ISO desde a década de 80 SQL- (86); SQL- (9); SQL- (99) não é apenas uma linguagem de consulta! como o nome sugere... Base
Linguagem SQL (Parte I)
Universidade Federal de Sergipe Departamento de Sistemas de Informação Itatech Group Jr Softwares Itabaiana Site: www.itatechjr.com.br E-mail: [email protected] Linguagem SQL (Parte I) Introdução
SQL (Structured Query Language)
SQL (Structured Query Language) Linguagem comercial para BD relacional padrão ISO desde a década de 80 SQL-1 (86); SQL- (9); SQL- (99) não é apenas uma linguagem de consulta! como o nome sugere... Base
Auditoria de sistemas Deixe que seu banco de dados faça o trabalho por você
Auditoria de sistemas Deixe que seu banco de dados faça o trabalho por você por Cristóferson Guimarães Magalhães Bueno e Odilon Corrêa da Silva 1 O objetivo deste artigo é demonstrar como criar um sistema
Apostila Delphi V 1.0
Preço: R$ 5,00 Link de download: setup.exe Tipo da licença: demonstração Limitações: perrmite visualizar até a página 12. Exige cadastro on-line para solicitar chave de registro. 1 / 7 Apostila completa
INTRODUÇÃO BANCO DE DADOS(MYSQL) E PHP
INTRODUÇÃO BANCO DE DADOS(MYSQL) E PHP Prof. Msc. Hélio Esperidião BANCO DE DADOS Podemos entender por banco de dados qualquer sistema que reúna e mantenha organizada uma série de informações relacionadas
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.
Introdução às funções e procedimentos. SQL suporta funções e procedimentos úteis com tipos de dados específicos
Bases de Dados Stored procedures e triggers Introdução às funções e procedimentos SQL suporta funções e procedimentos úteis com tipos de dados específicos p.ex. objectos geométricos, imagens intersecção
Gerência de Banco de Dados
exatasfepi.com.br Gerência de Banco de Dados Prof. Msc. André Luís Duarte Banco de Dados Os bancos de dados são coleções de informações que se relacionam para criar um significado dentro de um contexto
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
Fundamentos do Sistema Gerenciador de Banco de Dados
Fundamentos do Sistema Gerenciador de Banco de Dados Cláudio Luís V. Oliveira Janeiro de 2010 Definição "Um sistema cujo objetivo principal é gerenciar o acesso, a correta manutenção e a integridade dos
PostgreSQL. www.postgresql.org. André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP [email protected]
PostgreSQL www.postgresql.org André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP [email protected] Características Licença BSD (aberto, permite uso comercial) Multi-plataforma (Unix, GNU/Linux,
trigger insert, delete, update
1 Um trigger é um conjunto de instruções SQL armazenadas no catalogo da BD Pertence a um grupo de stored programs do MySQL Executado quando um evento associado com uma tabela acontece: insert, delete,
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
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...
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
