ETE Pedro Ferreira Alves. Apostila

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

Download "ETE Pedro Ferreira Alves. Apostila"

Transcrição

1 ETE Pedro Ferreira Alves Apostila Gerenciamento de Banco de Dados com MySQL Servidor WEB APACHE PHP Adaptado por Maromo Professor Marcos Roberto de Moraes

2 Índice 1. INTRODUÇÃO 4 2. GERENCIAMENTO DE BANCO DE DADOS COM MYSQL (PARTE I) SISTEMA DE BANCO DE DADOS BANCO DE DADOS CARACTERÍSTICAS DOS SGBDS CLASSES DE USUÁRIOS A LINGUAGEM SQL E SEUS COMPONENTES DDL (DATA DEFINITION LANGUAGE) DML (DATA MANIPULATION LANGUAGE) SINTAXE DE UM COMANDO SQL SOBRE O MYSQL OBTENDO O MYSQL UTILIZANDO O MYSQL MAS O QUE É CAMPO CHAVE? CRIANDO A BASE DE DADOS ALTERANDO A BASE DE DADOS VISUALIZANDO A ESTRUTURA DE NOSSA BASE DE DADOS MAS SÓ PARA SER DO CONTRA, VAMOS SIMULAR UM PROBLEMA MANIPULANDO DADOS NAS TABELAS INSERINDO DADOS VISUALIZANDO DADOS VISUALIZANDO DADOS DE VÁRIAS TABELAS ALTERANDO DADOS APAGANDO DADOS CONCLUSÃO DO AUTOR GERENCIAMENTO DE BANCO DE DADOS COM MYSQL (PARTE II) INTRODUÇÃO RESTRIÇÕES DE INTEGRIDADE VALORES NULOS VALORES DUPLICADOS VALORES INVÁLIDOS VALORES DEFAULT CAMPO CHAVE OU CHAVE PRIMÁRIA VISUALIZANDO DADOS DE MANEIRA MAIS ORGANIZADA EVITANDO A EXIBIÇÃO DE LINHAS DUPLICADAS ORDENANDO OS DADOS UTILIZANDO ALIAS (APELIDOS) UTILIZANDO CONDIÇÕES OPERADOR LIKE OPERADOR BETWEEN OPERADOR IN CONCATENANDO DADOS ARREDONDANDO VALORES 23 2/50

3 TRUNCANDO VALORES ENCONTRANDO VALORES RAIZ QUADRADA DE UM VALOR RETORNANDO VALOR PARA COMPARAÇÃO RESTO DE DIVISÃO SOMA MÉDIA VALOR MÁXIMO VALOR MÍNIMO RETORNANDO O NÚMERO DE LINHAS (REGISTROS) DE UMA TABELA OU CAMPO SUBQUERIES SEGURANÇA NO ACESSO AOS DADOS A TABELA USER A TABELA DB O COMANDO FLUSH PRIVILEGES CONCLUSÃO COMPILANDO O APACHE 2 COM PHP E MYSQL IMPLEMENTANDO SCRIPTS PHP COM MYSQL INTRODUÇÃO O QUE É PHP? CRIANDO UMA APLICAÇÃO TIPOS DE DADOS USO DE FUNÇÃO CRIANDO UM BANCO DE DADOS PARA USO EM NOSSOS SCRIPTS FAZENDO O PHP SE COMUNICAR COM O MYSQL CRIANDO OS HTMLS DE INTERAÇÃO COM O USUÁRIO CONCLUSÃO 50 3/50

4 1. Introdução Caros alunos, este material é uma compilação de artigos escritos para o Viva o Linux, que considero muito importante para o aprendizado de Banco de Dados e Integração PHP / Apache e MySQL. Fiz algumas adaptações para a seqüência das aulas, mas respeitei os originais dos colaboradores do Viva o Linux. Abaixo: Jefferson Estanislau da Silva Thiago Alves Todos os artigos utilizados nesse material estão publicados no site e são de autoria dos colaboradores citados. Espero que possamos aproveitar ao máximo esse material e nossas aulas. Abraços Maromo Prof. Marcos Roberto de Moraes 4/50

5 2. Gerenciamento de Banco de Dados com MySQL (Parte I) 2.1. Sistema de banco de Dados Um sistema de banco de dados é um ambiente de hardware e de software, composto por dados armazenados em um banco de dados (BD), o software de gerência do banco de dados (SGBD) e os programas de aplicação Banco de Dados São conjuntos de dados (versáteis, compartilháveis e integrados) armazenados em computador Características dos SGBDs Os SGBDs não são caracterizados tão-somente pelos seus modelos de banco de dados, um SGBD também é caracterizado por suas funções, que implementam um conjunto básico de facilidades e serviços que definem a capacidade de banco de dados que um sistema deve possuir para ser considerado um banco de dados. Um SGBD deve também prover mecanismos de segurança de acesso para consulta ou atualização dos objetos persistentes. Em geral, estes mecanismos são implementados por meio de comandos de concessão/revogação de privilégios de acesso a usuários individuais ou grupos de usuários. Dependendo da aplicação, o nível de segurança pode ser de coleções de dados (tabelas e registros ou linhas), atributos isolados (campos ou colunas) e até mesmo de conteúdo (valores de dados). Um banco de dados deve estar sempre num estado consistente, satisfazendo permanentemente algumas condições de consistência, chamadas restrições de integridade. O SGBD tem a incumbência de garantir a integridade do banco de dados na passagem de um estado para outro, que ocorre ao final de cada transação Classes de usuários Um sistema de banco de dados faz parte de um sistema mais amplo, conhecido como sistema de informação, cujos componentes, além da tecnologia, são a organização ou empresa e os recursos humanos. Os componentes humanos podem ser classificados em três grandes classes de usuários do banco de dados: Administradores; Desenvolvedores; Usuários Finais A Linguagem SQL e seus componentes DDL (Data Definition Language) A SQL DDL fornece comandos para definição e modificação de esquemas de relação, remoção de relações e criação de índices. Os principais comandos que fazem parte da DDL são: CREATE; ALTER; DROP. 5/50

6 DML (Data Manipulation Language) A SQL DML inclui uma linguagem de consulta baseada na álgebra relacional e no cálculo relacional. Compreende também comandos para inserir, remover e modificar informações em um banco de dados. Os comandos básicos da DML são: SELECT; INSERT; UPDATE; DELETE. OBS: Há outros componentes, mas estes não serão relevantes neste artigo e desta forma, não serão abordados Sintaxe de um comando SQL Um comando SQL é composto de cláusulas, algumas opcionais e outras obrigatórias. Para maior inteligibilidade, é conveniente iniciar uma cláusula em uma nova linha, mas isso não é obrigatório. As palavras que compõem um comando devem ser separadas por espaços ou tabs e o comando para ser executado deve terminar com ";" (ponto e vírgula). Por exemplo: SELECT * FROM ALUNOS; 2.6. Sobre o MySQL O banco de dados MySQL é um sério competidor para os maiores sistemas de banco de dados existentes para aplicações de pequeno e médio porte. Uma das grandes vantagens do MySQL é suportar mais de uma dúzia de tipos de dados. Desta forma, o MySQL é altamente recomendado para aqueles que irão desenvolver aplicações de pequeno e médio porte e querem bons resultados a um custo reduzido Obtendo o MySQL Nas distribuições Linux do mercado, os CDs possuem o pacote MySQL, desta forma, durante a instalação do sistema, você pode marcar o pacote mysql para ser instalado ou se ainda não o fez, pode abrir o seu gerenciador de pacotes e instalá-lo a partir do cd. Se você quer ter nas mão a versão mais atual deste BD, acesse o site do desenvolvedor em e baixe o arquivo mysql-x.xx.xx.tar.gz para o diretório /usr/src. Lembre-se que você deve estar como root e que o "xx" é o número da versão. 6/50

7 Para descompactar o MySQL use: # tar -xvzf mysql-x.xx.xx.tar.gz Após descompactar o arquivo, você irá entrar no diretório que foi criado e iniciar o processo de instalação desta forma. # cd mysql-x.xx.xx #./configure # make # make install Agora devemos criar a estrutura do banco de dados e suas tabelas administrativas. Ainda estando dentro do diretório do mysql, faça desta forma: #./scripts/mysql_install_db Inicialmente ele é setado para ser utilizado sem senha, bastando apenas digitar mysql num terminal para acessar o programa, mas é aconselhável que você coloque uma senha de acesso, assim você preserva integridade na questão de segurança. Estando no diretório do mysql, faça desta forma: #./bin/mysqladmin -u root password senha Onde senha é a palavra ou dígitos que você quer usar como sua senha para o MySQL e não a senha do root no Linux. Agora que já definimos uma senha para ele, vamos inicializar o MySQL para que assim possamos começar a brincar... #./bin/safe_mysql & O mysql está pronto para ser utilizado Utilizando o MySQL Para utilizarmos o MySQL, devemos digitar o comando mysql -p, em seguida será solicitado a senha e após pressionar o Enter, se esta estiver correta, você irá ver o prompt do MySQL, desta forma: # mysql -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 to server version: a-gamma Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> 7/50

8 OBS: Se você desejar encerrar as atividades do MySQL, basta usar o comando EXIT para fechá-lo. Agora que o MySQL está carregado, poderemos começar a criar nossa base de dados, mas antes, vamos conhecer os tipos de dados suportados para elaborar nossas tabelas. Tipo Descrição INT REAL CHAR(tamanho) TEXT(tamanho) VARCHAR(tamanh o) DATE TIME DATETIME Valor inteiro Valor de ponto flutuante Valor de caractere de tamanho fixo. Valor inferior ao definido será deixado em branco. Valor de caractere de tamanho variável. Valor de caractere de tamanho variável. Valores inferiores ao definido serão suprimidos. Valor para datas do tipo (AAAA-MM-DD) Valor de tempo padrão Valor para data e hora agregados. Veremos agora como é a sintaxe para se criar uma tabela: CREATE TABLE nome_tabela ( campo1 tipo(tamanho) null/not null, campo2 tipo(tamanho) null/not null, campo3 tipo(tamanho) null/not null, PRIMARY KEY (campo)); Esclarecendo as informações da sintaxe acima: CREATE TABLE comando para se criar uma tabela nome_tabela campo1..3 tipo tamanho null/not null o nome que você dará a esta tabela nome do campo dentro da tabela tipo de dado para este campo da tabela tamanho para ser digitados os dados do tipo escolhido deve-se escolher um dos dois para indicar se o campo aceita valores nulos ou não PRIMARY KEY comando que informará qual é o campo chave na tabela campo nome do campo que será o campo chave da tabela Agora que você sabe os tipos de dados suportados e a sintaxe de como criar uma tabela, é fundamental que você saiba o que deseja criar, isto é, como será a sua base de dados e como todo bom analista de sistemas elabora uma documentação de projeto antes de meter a mão na massa, vamos a cola do nosso modelo da base de dados. 8/50

9 Iremos desenhar o modelo para a criação de uma base de dados simples, que seria o início do controle das informações de um colégio. Nossa base de dados será chamada de COLEGIO e nela teremos as tabelas ALUNOS, CURSOS e DISCIPLINAS. Vamos então ao modelo. Tabela ALUNOS: Nome do campo Tipo de dado matricula Varchar(5) * nome endereco cidade codcurso Varchar(50) Varchar(50) Varchar(30) char(2) Obs: O * asterisco, significa que o campo é chave. Tabela CURSOS: Nome do campo Tipo de dado codcurso char(2) * nomecurso Varchar(50) coddisc1 char(2) coddisc2 char(2) coddisc3 char(2) Tabela DISCIPLINAS: Nome do campo Tipo de dado coddisciplina char(2) * nomedisciplina Varchar(30) Mas o que é Campo Chave? Campo chave é o campo mais importante de nossa tabela, pois este é o campo que irá identificar a posição de todos os outros dados de um registro. Os dados deste campo são exclusivos, isto é, não poderá existir dois registros deste campo em sua tabela com o mesmo valor. Por isso, toda tabela deve ter um campo designado como chave primária para o controle dos registros Criando a base de dados 9/50

10 Para podermos criar a base de dados a partir de nosso modelo, observe a sintaxe a seguir: CREATE DATABASE nome_base_de_dados; Esclarecendo as informações da sintaxe a cima: CREATE DATABASE Comando para se criar uma base de dados o nome que você dará a sua base de nome_base_de_dados dados Agora vamos meter a mão na massa. Lembre-se que o ";" (ponto e vírgula) serve para encerrar a linha de comando e após ele, deve-se pressionar "Enter" para que o comando seja executado. O texto que será apresentado abaixo da linha de comando é a confirmação de que o comando foi executado com êxito, neste nosso caso. A partir do prompt do MySQL, digite o comando abaixo: mysql> create database COLEGIO; Query OK, 1 row affected (0.29 sec) // Isto indica que sua base foi criada. Para utilizar agora esta base de dados, use o comando abaixo: mysql> use COLEGIO; Database changed // Isto indica que sua base está em uso. Agora que já criamos a base de dados e ela está em uso, poderemos criar as nossas tabelas. Criando a tabela Alunos: mysql> create table ALUNOS ( -> matricula varchar(5) not null, -> nome varchar(50) not null, -> endereco varchar(50) null, -> cidade varchar(30) null, -> primary key(matricula) ); Query OK, 0 rows affected (0.21 sec) Criando a tabela Cursos: mysql> create table CURSOS ( -> codcurso char(2) not null, -> nomecurso varchar(30) not null, -> coddisc1 char(2) not null, -> coddisc2 char(2) not null, -> coddisc3 char(2) not null, -> primary key(codcurso) ); Query OK, 0 rows affected (0.00 sec) Criando a tabela Disciplinas: mysql> create table DISCIPLINAS ( -> coddisciplina char(2) not null, -> nomedisciplina varchar(30) not null, 10/50

11 -> primary key(coddisciplina) ); Query OK, 0 rows affected (0.00 sec) Muito bem! Todas as tabelas foram criadas com sucesso Alterando a base de dados Observe que houve erros durante a digitação, pois esquecemos o campo codcurso na tabela Alunos e trocamos o valor de 50 para 30 do tipo varchar do campo nomecurso da tabela Cursos. Para corrigirmos isso, iremos utilizar o comando ALTER TABLE e usar os parâmetros ADD e CHANGE. Adicionando o campo "codcurso" na tabela Alunos: mysql> alter table ALUNOS -> add codcurso char(2) not null; Query OK, 0 rows affected (0.00 sec) Records: 0 Duplicates: 0 Warnings: 0 Alterando o tamanho do campo "nomecurso" na tabela Cursos: mysql> alter table CURSOS -> change nomecurso nomecurso varchar(50); Query OK, 0 rows affected (0.00 sec) Records: 0 Duplicates: 0 Warnings: 0 Muito bem! Agora nossas tabelas estão de acordo com o modelo proposto Visualizando a estrutura de nossa base de dados Veremos agora como ficou a estrutura de nossa base de dados. Digite o comando a seguir para saber quais são as tabelas da base de dados COLEGIO: mysql> show tables; Tables_in_COLEGIO ALUNOS CURSOS DISCIPLINAS rows in set (0.00 sec) OBS: Como já estávamos com a base de dados COLEGIO em uso, não foi preciso especificar seu nome. 11/50

12 Agora vamos ver como estão nossas tabelas, digite o comando abaixo: mysql> show fields from ALUNOS; Field Type Null Key Default Extra matricula varchar(5) nome varchar(50) PRI endereco varchar(50) YES NULL cidade varchar(30) YES NULL codcurso char(2) rows in set (0.00 sec) mysql> show fields from CURSOS; Field Type Null Key Default Extra codcurso char(2) PRI nomecurso varchar(50) YES NULL coddisc1 char(2) coddisc2 char(2) coddisc3 char(2) rows in set (0.00 sec) mysql> show fields from DISCIPLINAS; Field Type Null Key Default Extra coddisciplina char(2) PRI nomedisciplina varchar(30) rows in set (0.00 sec) E aí, fez a comparação entre o modelo e o resultado da estrutura da criação de nossas tabelas? Se fez, você constatou que elas são equivalentes e o nosso trabalho está perfeito! Mas só para ser do contra, vamos simular um problema Digamos que o analista (oh, este analista não sou eu não tá, hehehe!!), cometeu um erro no projeto e especificou um campo há mais na tabela CURSOS, pois deveria ter apenas 2 "coddisc" e ele acabou especificando 3. Devemos então apagar este campo, para isto use o comando abaixo: mysql> alter table CURSOS -> drop coddisc3; Query OK, 0 rows affected (0.00 sec) Records: 0 Duplicates: 0 Warnings: 0 Como visto acima, o parâmetro DROP é utilizado para apagar um campo dentro de uma tabela. Use 12/50

13 o comando show fields from CURSOS; para ver novamente a estrutura da tabela Manipulando dados nas tabelas Agora que já temos a nossa estrutura de tabelas prontas, é hora de começar a inserir dados nelas, pois é para isso que elas servem, armazenar dados para que estes sejam trabalhados mais tarde Inserindo Dados O comando utilizado para inserir dados nas tabelas é o INSERT, veja a sintaxe abaixo para se usar este comando: INSERT INTO tabela VALUES (valor_campo1, valor_campo2,..., valorcampon); OBS: Insere valores na ordem correta de todos os campos da tabela. Vamos agora para a inserção de dados. Iremos começar com a tabela DISCIPLINAS, sendo assim, a partir do prompt do MySQL, digite os comandos abaixo: mysql> insert into DISCIPLINAS values ('10','Matematica'); Query OK, 1 row affected (0.30 sec) mysql> insert into DISCIPLINAS values ('20','Portugues'); Query OK, 1 row affected (0.00 sec) mysql> insert into DISCIPLINAS values ('30','Quimica'); Query OK, 1 row affected (0.00 sec) mysql> insert into DISCIPLINAS values ('40','Biologia'); Query OK, 1 row affected (0.00 sec) OBS: O uso de aspas simples é obrigatório por se tratar de um valor não numérico. Lembre-se que '10' foi para o campo "coddisciplina" e que 'Matematica' foi para o campo "nomedisciplina", de acordo com a ordem dos campos da tabela. Vamos agora para a tabela CURSOS: mysql> insert into CURSOS values ('01', 'Ensino Medio', '30', '40'); Query OK, 1 row affected (0.00 sec) mysql> insert into CURSOS values ('02', 'Ensino Fundamental', '10', '20'); Query OK, 1 row affected (0.00 sec) OBS: Lembre-se que '01' foi para o campo "codcurso", 'Ensino Medio' para "nomecurso", '30' para "coddisc1" e '40' para "coddisc2". Vamos agora para a tabela ALUNOS: mysql> insert into ALUNOS values ('100', 'Jefferson Estanislau da Silva', 'Rua Alberto Braune - 150', 'Nova Friburgo', '01'); Query OK, 1 row affected (0.00 sec) 13/50

14 mysql> insert into ALUNOS values ('200', 'Leila Maria Muniz da Silva', 'Rua General Osorio - 90', 'Nova Friburgo', '01'); Query OK, 1 row affected (0.00 sec) mysql> insert into ALUNOS values ('300', 'Camila Silva Perez', 'Rua Barata Ribeiro - 570', 'Rio de Janeiro', '02'); Query OK, 1 row affected (0.00 sec) mysql> insert into ALUNOS values ('400', 'Victor Estanislau da Silva', 'Rua Galdino do Valle - 200', 'Nova Friburgo', '02'); Query OK, 1 row affected (0.00 sec) OBS: Lembre-se que '100' foi para o campo "matricula", 'Jefferson Estanislau da Silva' foi para "nome", 'Rua Alberto...' para "endereco", 'Nova...' para "cidade" e '01' para "codcurso". Muito bem! Acabamos de inserir dados em nossa base de dados. Mas e agora? Visualizando dados Não iria fazer sentido você armazenar dados se não pudesse visualizá-los quando fosse preciso, correto? Por isso, iremos aprender agora como visualizar estes dados. O comando a ser utilizado é o SELECT, veja a sintaxe dele abaixo: SELECT {campo(s)} FROM {tabela(s)} WHERE {condição} ORDER BY {campo(s)} GROUP BY {campo(s)} Esclarecendo as informações da sintaxe a cima: SELECT campo(s) FROM tabela(s) WHERE condição ORDER BY GROUP BY comando para se chamar a visualização de registros campos da tabela, para referência da visualização dos registros chamada para indicar a tabela tabela ou tabelas a serem utilizadas chamada para uma condição condição que deve ser verdadeira para que os registro sejam visualizados permite ordenar a visualização de registros em função de um campo especifico permite agrupar a visualização de registros em função de um campo especifico Obs: O "*" (asterisco), terá um papel importante neste comando. Exemplo1: Visualizar os nomes da tabela alunos quando a matricula for igual a '100'. 14/50

15 mysql> select nome from ALUNOS -> where matricula='100'; nome Jefferson Estanislau da Silva row in set (0.46 sec) Exemplo2: Visualizar os nomes da tabela alunos quando a codcurso for igual a '01'. mysql> select nome from ALUNOS -> where codcurso='01'; nome Jefferson Estanislau da Silva Leila Maria Muniz da Silva rows in set (0.00 sec) Exemplo3: Visualizar os nomes e endereço da tabela alunos quando a cidade for igual a 'Nova Friburgo'. mysql> select nome, endereco from ALUNOS -> where cidade='nova Friburgo'; nome endereco Jefferson Estanislau da Silva Rua Alberto Braune Leila Maria Muniz da Silva Rua General Osorio - 90 Victor Estanislau da Silva Rua Galdino do Valle rows in set (0.00 sec) Exemplo4: Visualizar todos os campos da tabela alunos. mysql> select * from ALUNOS;... Exemplo5: Visualizar todos os campos da tabela alunos, ordenando-os pelo campo nome. mysql> select * from ALUNOS -> order by nome; Visualizando dados de várias tabelas Para que isto ocorra, será fundamental o campo chave, que ajudará a fazer a ligação com um campo comum de outra tabela, mas que tem o mesmo tipo de dado. Veja a sintaxe a seguir: select TABELA1.campo, TABELA2.campo from TABELAS where TABELA1.campo_chave = TABELA2.campo_comum and TABELA.campo = valor; 15/50

16 Esclarecendo as informações da sintaxe a cima: tabela1.campo tabela2.campo tabelas tabela1.campo_chave campo a ser exibido campo a ser exibido nome das tabelas a serem usadas campo chave para junção tabela2.campo_comum campo comum para junção tabela.campo valor qualquer uma das tabelas indicadas valor para referência da condição Exemplo6: Visualizar o campo "nome" da tabela alunos e o campo "nomecurso" da tabela cursos, retirado das tabelas alunos e cursos, quando codcurso da tabela alunos for igual a codcurso da tabela cursos e a cidade da tabela alunos seja igual a 'Nova Friburgo'. mysql> select ALUNOS.nome, CURSOS.nomecurso from ALUNOS, CURSOS -> where ALUNOS.codcurso = CURSOS.codcurso -> and ALUNOS.cidade='Nova Friburgo'; nome nomecurso Jefferson Estanislau da Silva Ensino Medio Leila Maria Muniz da Silva Ensino Medio Victor Estanislau da Silva Ensino Fundamental rows in set (0.35 sec) Alterando dados Outra coisa importante é você poder alterar uma informação, quando visualizado que esta foi cadastrada erroneamente, para isso iremos utilizar o comando UPDATE, como mostra a sintaxe abaixo: UPDATE tabela SET campo = valor WHERE {condição}; Vamos a uma explicação prática desta sintaxe: mysql> update ALUNOS -> set cidade='salvador' -> where matricula='300'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 O exemplo acima significou que: usando a tabela alunos, altere a cidade para 'Salvador' quando a matricula for igual a '300'. 16/50

17 Para ver a alteração, use o comando: select * from ALUNOS; Neste próximo exemplo, usando a tabela alunos, iremos mudar o nome para 'Joao Vieira da Silva' quando a cidade for igual a 'Salvador'. mysql> update ALUNOS -> set nome='joao Vieira da Silva' -> where cidade='salvador'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 Para ver a alteração, use o comando: select * from ALUNOS; Apagando dados Como toda a informação pode se tornar inútil ou desnecessária, devemos aprender como apagar um dado de nossa tabela. Para isso, iremos utilizar o comando DELETE, veja a sintaxe a seguir: DELETE FROM tabela WHERE {condição}; Vamos a uma explicação prática desta sintaxe: mysql> delete from ALUNOS -> where matricula='300'; Query OK, 1 row affected (0.41 sec) Observe que usei para esta condição o número da matrícula, mas poderia ter usado o valor de qualquer campo Conclusão do autor Vimos aqui o que é um banco de dados e alguns de seus conceitos sobre a linguagem SQL e como exemplo utilizamos o MySQL para criar uma base de dados e praticar alguns comandos. Foi possível perceber que utilização do SQL é extremamente simples e o uso do MySQL é um fator economicamente louvável, pois para que pagar um valor absurdo se temos este eficiente BD perfeitamente adequado para transações via internet com o uso do PHP, desktop através do C++ ou Kylix, Gambas. Neste primeiro artigo, apresentei apenas os comandos básicos, função iniciais para que você possa ir se acostumando com seu uso. No próximo artigo, irei apresentar novos comandos e uma maneira de deixar seu BD seguro. Espero que tenham gostado e que este artigo seja útil para muitos! Por Jefferson Estanislau da Silva Analista de Sistemas 17/50

18 18/50

19 3. Gerenciamento de Banco de Dados com MySQL (Parte II) 3.1. Introdução Nesta segunda parte, você verá opções que lhe ajudam a manter a integridade em suas tabelas, assim como mais opções para o uso da cláusula "Select" e por fim como manter a segurança no acesso ao banco de dados Restrições de integridade São regras que servem para prevenir a entrada de informações inválidas pelos usuários. Para isso, o SGBD provê ferramentas para regras de integridade, afim de evitar a inconsistência dos dados que nele serão armazenados Valores nulos Para evitar que um campo possa conter valor nulo (ou não conter valor algum) deve-se utilizar a cláusula NOT NULL após a definição da coluna, como já demonstrado anteriormente: mysql> CREATE TABLE alunos ( -> nome VARCHAR(50) NOT NULL, // não aceita valor nulo -> endereco VARCHAR(50) NULL // aceita valor nulo ); Valores Duplicados Há situações onde o valor armazenado em um campo de um registro deve ser único em relação a todos os registros da tabela, para isso usamos a cláusula UNIQUE: mysql> CREATE TABLE alunos ( -> nome VARCHAR(50) NOT NULL, -> CPF INT(11) UNIQUE, // não deve haver dois registro com o mesmo CPF... ); Valores Inválidos Há situações onde o valor de um campo deve obedecer a uma regra. Para que ele fique restrito a um conjunto de valores, utiliza-se a cláusula CHECK: mysql> CREATE TABLE alunos ( -> nome VARCHAR(50) NOT NULL, -> sexo CHAR(1) CHECK(sexo IN ("M", "F")), // obriga usar M ou F... ); 19/50

20 Valores default Pode-se definir um valor padrão para um campo acrescentando à sua definição a cláusula DEFAULT: mysql> CREATE TABLE alunos ( -> nome VARCHAR(50) NOT NULL, -> cidade VARCHAR(30) DEFAULT "Nova Friburgo") Campo chave ou chave primária Como já comentado anteriormente, o campo chave é um campo muito importante para nossa tabela. Sua função é identificar univocamente uma linha do registro da tabela. Toda tabela deve possuir um campo chave. Quando este é definido, fica implícito as cláusulas UNIQUE e NOT NULL para este campo, não sendo necessário a especificação destas. mysql> CREATE TABLE alunos ( -> matricula VARCHAR(5) NOT NULL, -> nome VARCHAR(50) NOT NULL, -> PRIMARY KEY(matricula)); // define o campo matricula como chave 3.3. Visualizando dados de maneira mais organizada Como já vimos, o comando SELECT é o responsável por fazer a exibição dos dados registrados em nossas tabelas, veremos agora como utilizar uma melhor aplicação deste recurso Evitando a exibição de linhas duplicadas Para que isso não ocorra, é necessário a indicação da palavra DISTINCT imediatamente após o comando SELECT: mysql> SELECT DISTINCT cidade FROM alunos; Ordenando os dados Já vimos anteriormente que para isto é necessário usar a cláusula ORDER BY. Por default está cláusula ordena os dados em ASCENDING (crescente), mas se você necessitar visualizar os dados na ordem decrescente, utilize as siglas DESC após a cláusula: mysql> SELECT nome FROM alunos ORDER BY nome DESC; Utilizando alias (apelidos) Existem duas maneiras de se utilizar os Alias (apelidos) em uma cláusula do MySQL, são elas: 20/50

21 apelido para o nome exibido no título da coluna de uma tabela e apelido para simplificar um nome de tabela que será constantemente utilizado em uma cláusula SELECT. Exemplos 1: apelido para o título mysql> SELECT nome FROM ALUNOS; nome Jefferson Estanislau da Silva Leila Maria Muniz da Silva Victor Estanislau da Silva // observe que é apresentado o nome real da coluna. mysql> SELECT nome AS INSCRITOS FROM ALUNOS; INSCRITOS Jefferson Estanislau da Silva Leila Maria Muniz da Silva Victor Estanislau da Silva //observe que o nome real foi substituído pelo apelido Inscritos. Exemplo 2: apelido para uma tabela constante em uma cláusula: mysql> SELECT ALUNOS.nome, CURSOS.nomecurso FROM ALUNOS, CURSOS -> where ALUNOS.codcurso = CURSOS.codcurso -> and ALUNOS.cidade='Nova Friburgo'; // observe que o nome das tabelas ALUNOS e CURSO são repetidos constantemente dentro desta cláusula. mysql> SELECT A.nome, C.nomecurso FROM ALUNOS AS A, CURSOS AS C -> where A.codcurso = C.codcurso -> and A.cidade='Nova Friburgo'; // observe que foi utilizado o apelido A para AlUNOS e C para CURSOS, simplificando assim o código. // As duas formas apresentam este resultado: nome nomecurso /50

22 Jefferson Estanislau da Silva Ensino Medio Leila Maria Muniz da Silva Ensino Medio Victor Estanislau da Silva Ensino Fundamental Utilizando condições Já vimos que para que se faça o uso de condições deve se usar o comando WHERE. Veremos agora várias formas de se aplicar estas condições. NOTA: é possível utilizar operadores de comparação lógica, estes estão divididos em duas classes: Operadores de linha Única = igual a! diferente de > maior que >= maior ou igual a < menor que <= menor ou igual a mysql> SELECT nome FROM alunos WHERE matricula='300'; Operadores de várias linhas AND e OR ou NOT não mysql> SELECT nome FROM aluno WHERE cidade='salvador' AND matricula='300'; mysql> SELECT nome FROM aluno WHERE cidade='salvador' OR matricula='300'; Precedência de operadores 1. Uma cláusula WHERE pode combinar vários operadores AND e OR. 2. O operador AND tem maior precedência que o operador OR. 3. Os operadores de comparação tem maior precedência que os conectivos AND e OR. 4. Todos os operadores de comparação tem a mesma precedência. 5. Operadores de igual precedência são calculados da esquerda para a direita. 6. A precedência de operadores pode ser cancelada através de parênteses: mysql> SELECT nome FROM alunos WHERE matricula > '100' AND (cidade = 'Nova Friburgo' OR codcurso='01'); Operador LIKE Busca valores alfanuméricos incompletos a partir de um ou mais caracteres: % - corresponde a uma seqüência qualquer de 0 ou mais caracteres. "_" - corresponde a qualquer caracter. 22/50

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

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

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

Trabalhando com MySQL: Uma Introdução

Trabalhando com MySQL: Uma Introdução Trabalhando com MySQL: Uma Introdução 1. A linguagem PHP A linguagem PHP é uma linguagem de programação criada especialmente para o uso em páginas Web. Mas nem por isso ela não pode deixar de ser usada

Leia mais

Descrição Tinyint[(M)] Inteiro pequeno. Varia de 128 até +127

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

Leia mais

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. 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 progweb2@thiagomiranda.net 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

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 leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança

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

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

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

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

Leia mais

APOSTILA BÁSICA DE MYSQL

APOSTILA BÁSICA DE MYSQL APOSTILA BÁSICA DE MYSQL História O MySQL foi criado na Suécia por dois suecos e um finlandês: David Axmark, Allan Larsson e Michael "Monty" Widenius, que têm trabalhado juntos desde a década de 1980.

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

MySQL - Operações com SQL básico

MySQL - Operações com SQL básico MySQL - Operações com SQL básico Para testar se o MySQL esta instalado corretamente, execute a seguinte linha no prompt do DOS: c:\mysql\bin\mysql Se tudo estiver nos seus devidos lugares você vai receber

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

No Fedora, instalamos os pacotes "mysql" e "mysql-server", usando o yum:

No Fedora, instalamos os pacotes mysql e mysql-server, usando o yum: Instalando o MySQL O MySQL é um banco de dados extremamente versátil, usado para os mais diversos fins. Você pode acessar o banco de dados a partir de um script em PHP, através de um aplicativo desenvolvido

Leia mais

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)

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

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

ADMINISTRAÇÃO DE BANCO DE DADOS

ADMINISTRAÇÃO DE BANCO DE DADOS ADMINISTRAÇÃO DE BANCO DE DADOS ARTEFATO 02 AT02 Diversos I 1 Indice ESQUEMAS NO BANCO DE DADOS... 3 CRIANDO SCHEMA... 3 CRIANDO TABELA EM DETERMINADO ESQUEMA... 4 NOÇÕES BÁSICAS SOBRE CRIAÇÃO E MODIFICAÇÃO

Leia mais

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

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Trabalhando com conexão ao banco de dados MySQL no Lazarus Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 4 O Componente Trabalhando com conexão ao banco de dados MySQL no Lazarus Ano: 03/2011

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

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

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

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

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

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

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

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

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

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

Programação WEB. Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br docente.ifrn.edu.br/andrealmeida. Aula III Introdução PHP

Programação WEB. Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br docente.ifrn.edu.br/andrealmeida. Aula III Introdução PHP Programação WEB Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br docente.ifrn.edu.br/andrealmeida Aula III Introdução PHP Introdução PHP PHP=Hypertext Pre-Processor Linguagem de script open

Leia mais

Guia de instalação para ambiente de Desenvolvimento LINUX

Guia de instalação para ambiente de Desenvolvimento LINUX Guia de instalação para ambiente de Desenvolvimento LINUX Conteúdo deste manual Introdução O guia de instalação... 3 Capítulo 1 Instalando o servidor Web Apache... 4 Teste de instalação do Apache... 9

Leia mais

Fundamentos do Sistema Gerenciador de Banco de Dados

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

Leia mais

Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 5 SELECT * FROM Minha_memoria Revisando Sintaxes SQL e Criando programa de Pesquisa Ano:

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

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

DESENVOLVIMENTO DE SOFTWARE

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.

Leia mais

Curso PHP Aula 08. Bruno Falcão brunogfalcao@gmail.com

Curso PHP Aula 08. Bruno Falcão brunogfalcao@gmail.com + Curso PHP Aula 08 Bruno Falcão brunogfalcao@gmail.com + Roteiro Conectividade com BD SQL + SQL Structured Query Language. Padrão para interagir com banco de dados relacionais. + Banco de dados Um banco

Leia mais

Python Acessando o Banco de Dados MySQL

Python Acessando o Banco de Dados MySQL Python Acessando o Banco de Dados MySQL ANTONIO SÉRGIO NOGUEIRA PRESIDENTE PRUDENTE SP 2009 1 Sumário 1. Introdução...3 2. Interface MySQL...3 3.Instalando o MySQLdb...3 4.Verificando se o MySQL está instalado...4

Leia mais

Núcleo de Pós Graduação Pitágoras

Núcleo de Pós Graduação Pitágoras Núcleo de Pós Graduação Pitágoras Professor: Fernando Zaidan Disciplina: Modelagem e Projeto de Banco de Dados Especialização em Tecnologia da Informação - Ênfases Março- 2009 1 Modelo Físico Introdução

Leia mais

Curso de PHP. FATEC - Jundiaí. Conteúdo do Curso. 40% de aula teórica 60% de aula prática. O que veremos neste semestre?

Curso de PHP. FATEC - Jundiaí. Conteúdo do Curso. 40% de aula teórica 60% de aula prática. O que veremos neste semestre? Curso de PHP FATEC - Jundiaí Conteúdo do Curso 40% de aula teórica 60% de aula prática O que veremos neste semestre? Linguagem PHP Banco de Dados - PostgreSQL PHP - Introdução ao PHP - Estrutura de um

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

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

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

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

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

Gabarito - Banco de Dados SQL - 30/07/2013 AULA 01

Gabarito - Banco de Dados SQL - 30/07/2013 AULA 01 Gabarito - Banco de Dados SQL - 30/07/2013 AULA 01 1 1- Bancos de dados compreendem desde agendas telefônicas até sistemas computadorizados. (Sim) 2- Só podemos instalar o SQL Server Express se tivermos

Leia mais

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

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;

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

Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br

Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br 1. Abordagem geral Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br Em primeiro plano, deve-se escolher com qual banco de dados iremos trabalhar. Cada banco possui suas vantagens,

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

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

ETEC Dr. Emílio Hernandez Aguilar. Manual Simplificado: MySQL

ETEC Dr. Emílio Hernandez Aguilar. Manual Simplificado: MySQL ETEC Dr. Emílio Hernandez Aguilar Manual Simplificado: MySQL Franco da Rocha 2010 Informações Gerais O programa MySQL (R) é um servidor robusto de bancos de dados SQL (Structured Query Language 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

INTRODUÇÃO. No entanto, o que pode ser considerado um produto (resultado) da criação de BDs?

INTRODUÇÃO. No entanto, o que pode ser considerado um produto (resultado) da criação de BDs? BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Um Banco

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

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

13 Conectando PHP com MySQL 13.1 Introdução

13 Conectando PHP com MySQL 13.1 Introdução 13 Conectando PHP com MySQL 13.1 Introdução Agora que você já tem uma idéia básica de comandos MySQL, poderemos ver como a linguagem PHP pode interagir com este banco de dados através de inúmeras funções.

Leia mais

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA Módulo de Programação Prof. Bruno Maciel Competências a serem trabalhadas nessa aula Criação da Base de Dados (MySQL) Criação de Tabelas Tipo de Dados Chave Primária

Leia mais

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

Leia mais

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo:

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo: 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

Leia mais

O que são Bancos de Dados?

O que são Bancos de Dados? SQL Básico Liojes de Oliveira Carneiro professor.liojes@gmail.com 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

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

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

INTRODUÇÃO À LINGUAGEM SQL CRIAÇÃO DE BANCO DE DADOS E OTIMIZAÇÃO DE CONSULTAS

INTRODUÇÃO À LINGUAGEM SQL CRIAÇÃO DE BANCO DE DADOS E OTIMIZAÇÃO DE CONSULTAS Esclarecimento Licenciamento de Uso Este documento é propriedade intelectual 2012 da NRSYSTEM COMÉRCIO E SERVIÇOS DE INFORMÁTICA LTDA-ME, consiste de uma compilação de diversos materiais entre livros,

Leia mais

Bool setcookie (string nome [, string valor [, int validade [, string caminho [, string dominio [, int seguro]]]]] )

Bool setcookie (string nome [, string valor [, int validade [, string caminho [, string dominio [, int seguro]]]]] ) 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

Leia mais

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,

Leia mais

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

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA RESUMO DE AULA CRIAÇÃO E MANIPULAÇÃO DO BANCO DE DADOS

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

SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br

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

Leia mais

Interagindo com Banco de Dados

Interagindo com Banco de Dados Interagindo com Banco de Dados Até agora não falamos de banco de dados, pois gostaríamos prime iro de te preparar para o uso do banco de dados dentro do Framework MVC. Mas antes de falarmos do framework

Leia mais

CRIANDO, ALTERADO E EXCLUINDO TABELAS, INSERINDO, SELECIONANDO, ALTERANDO E EXCLUINDO DADOS

CRIANDO, ALTERADO E EXCLUINDO TABELAS, INSERINDO, SELECIONANDO, ALTERANDO E EXCLUINDO DADOS CRIANDO, ALTERADO E EXCLUINDO TABELAS, INSERINDO, SELECIONANDO, ALTERANDO E EXCLUINDO DADOS Prof. Me. Hélio Esperidião SQL - STRUCTURED QUERY LANGUAGE SQL é uma linguagem padronizada para a definição e

Leia mais

SQL e Modelo Relacional

SQL e Modelo Relacional TREINAMENTOS SQL e Modelo Relacional Modelo Relacional e SQL 30 de julho de 2012 Sumário i Sobre a K19 1 Seguro Treinamento 2 Termo de Uso 3 Cursos 4 1 Introdução 1 1.1 SGBD................................................

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

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

Passos Preliminares: Acessando a máquina virtual via ssh.

Passos Preliminares: Acessando a máquina virtual via ssh. CIn/UFPE Sistemas de Informação Redes de Computadores Professor: Kelvin Lopes Dias Monitor: Edson Adriano Maravalho Avelar {kld,eama@cin.ufpe.br Instalando o APACHE, PHP (PHPADMIN), MySQL. Este tutorial

Leia mais

O essencial do comando mysqladmin, através de 18 exemplos

O essencial do comando mysqladmin, através de 18 exemplos O essencial do comando mysqladmin, através de 18 exemplos Elias Praciano O mysqladmin é uma ferramenta de linha de comando que vem junto com a instalação do servidor MySQL e é usada por administradores

Leia mais

Gerenciamento de um Sistema de

Gerenciamento de um Sistema de SBD Gerenciamento de um Sistema de Banco de Dados Prof. Michel Nobre Muza ua michel.muza@ifsc.edu.br Prof. Marcos Antonio Viana Nascimento Por que é importante: Motivação Participar na organização e no

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 BÁSICO. Introdução. Prof. Suelane Garcia. Linguagem SQL (Structured Query Language)

SQL BÁSICO. Introdução. Prof. Suelane Garcia. Linguagem SQL (Structured Query Language) SQL BÁSICO Prof. Suelane Garcia Introdução 2 Linguagem SQL (Structured Query Language) Linguagem de Consulta Estruturada padrão para acesso a Banco de Dados. Usada em inúmeros Sistemas de Gerenciamento

Leia mais

SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL

SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL BANCO DE DADOS 2 SQL (CREATE TABLE, CONSTRAINTS, DELETE, UPDATE e INSERT) Prof. Edson Thizon SQL SQL ( structured query language ) é uma linguagem comercial de definição e manipulação de banco de dados

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

PHP INTEGRAÇÃO COM MYSQL PARTE 2

PHP INTEGRAÇÃO COM MYSQL PARTE 2 ABRIR CONEXÃO PHP INTEGRAÇÃO COM MYSQL PARTE 2 Professor: Leonardo Pereira Email: leongamerti@gmail.com Facebook: leongamerti Material de Estudo: http://www.leonti.vv.si Antes de podermos acessar informações

Leia mais

Banco de Dados. Structured Query Language SQL. Prof. Walteno Martins Parreira Jr 1. www.waltenomartins.com.br waltenomartins@yahoo.

Banco de Dados. Structured Query Language SQL. Prof. Walteno Martins Parreira Jr 1. www.waltenomartins.com.br waltenomartins@yahoo. Banco de Dados Structured Query Language SQL Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.com 2015 Comandos SQL Os comandos do SQL são classificados em três grupos,

Leia mais

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

Banco de Dados SQL (Structured Query Language) Ana Paula Toome Wauke Banco de Dados SQL (Structured Query Language) Ana Paula Toome Wauke Criar banco de dados: mysql> CREATE database 134a; Query OK, 1 row affected (0.00 sec) Deletar banco de dados: mysql> DROP database

Leia mais

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

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

Leia mais

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL

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

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

Implementação de Banco de Dados. Cassio Diego cassiodiego.com/bd

Implementação de Banco de Dados. Cassio Diego cassiodiego.com/bd Implementação de Banco de Dados Cassio Diego cassiodiego.com/bd 1 Conteúdo: Aula 3 UNIDADE 2: LINGUAGEM SQL 1. Linguagens de Definição de Dados (DDL) 1.1. Criação de tabela: CREATE 1.2. Alteração de Tabela:

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

Histórico de revisões

Histórico de revisões Apostila 3 Histórico de revisões Data Versão Descrição Autor 30/09/2011 1.0 Criação da primeira versão HEngholmJr CONTEÚDO Exclusão de registros Consultas por Dados de Resumo Group by / Having Funções

Leia mais

Laboratório de Banco de Dados II

Laboratório de Banco de Dados II Laboratório de Banco de Dados II Esquema de um banco de dados relacional Em aulas anteriores, vocês implantaram um projeto físico de banco de dados com todos os seus elementos, inclusive tratando do projeto

Leia mais

FEAP - Faculdade de Estudos Avançados do Pará PROFª LENA VEIGA PROJETOS DE BANCO DE DADOS UNIDADE V- SQL

FEAP - Faculdade de Estudos Avançados do Pará PROFª LENA VEIGA PROJETOS DE BANCO DE DADOS UNIDADE V- SQL Quando os Bancos de Dados Relacionais estavam sendo desenvolvidos, foram criadas linguagens destinadas à sua manipulação. O Departamento de Pesquisas da IBM desenvolveu a SQL como forma de interface para

Leia mais

UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET. Programação para Internet I

UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET. Programação para Internet I UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET Programação para Internet I Aula 10 PHP: Trabalhando com Banco de Dados leticia@cafw.ufsm.br Acessando

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

Algoritmos em Javascript

Algoritmos em Javascript Algoritmos em Javascript Sumário Algoritmos 1 O que é um programa? 1 Entrada e Saída de Dados 3 Programando 4 O que é necessário para programar 4 em JavaScript? Variáveis 5 Tipos de Variáveis 6 Arrays

Leia mais

BANCO DE DADOS CONCEITOS BÁSICOS

BANCO DE DADOS CONCEITOS BÁSICOS Universidade Federal da Paraíba UFPB Centro de Energias Alternativas e Renováveis - CEAR Departamento de Eng. Elétrica DEE BANCO DE DADOS CONCEITOS BÁSICOS Isaac Maia Pessoa Introdução O que é um BD? Operações

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 waltenomartins@yahoo.com 2015 A Origem Em 1970, Ted Codd (pesquisador da IBM) publicou o primeiro

Leia mais

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

Prof. Omero, pág. 63. Banco de Dados InterBase. Prof. Omero, pág. 63 O que é o InterBase? O InterBase é um SGBDR - Sistema Gerenciador de Banco de Dados Cliente/Servidor Relacional 1 que está baseado no padrão SQL ANSI-9, de alta performance, independente

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 10 - PROCEDIMENTOS ARMAZENADOS - STORED PROCEDURES 1. INTRODUÇÃO Em muitas situações será necessário armazenar procedimentos escritos com a finalidade de se utilizar recursos como loop, estruturas

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