Roteiro. SQL(Structured Query Language) BCC321 - Banco de Dados I. Introdução. Ementa. Posicionamento. Introdução
|
|
|
- Alícia Luzia Salgado Vidal
- 9 Há anos
- Visualizações:
Transcrição
1 Roteiro SQL(Structured Query Language) Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto Posicionamento Introdução Definição de Dados e Tipos de Dados SQL Especificando as Restrições Básicas em SQL Comandos para Alterações de Esquemas em SQL Consultas SQL Comandos para Modificar o Estado do Banco de Dados Asserções e Visões em SQL BCC321 - Banco de Dados I Ementa 1. Conceitos básicos em sistemas de banco de dados. 2. Conceitos e arquitetura de sistemas de banco de dados. 3. Modelagem conceitual de dados. 4. Modelo Relacional: conceitos básicos e restrições de integridade. 5. Linguagens: álgebra e cálculo relacional. 6. A linguagem SQL e o uso de APIs. 7. Projeto de banco de dados. 8. Normalização de banco de dados. 9. Noções de processamento de transações, concorrência e recuperação de falhas. 10. Aspectos de implementação de banco de dados. Introdução Inicialmente chamada SEQUEL (Structured English QUEry Language), foi originalmente projetada na IBM Research para um banco de dados relacional chamado Sistema R. Esforço conjunto de padronização da ANSI e ISO: SQL-86 ou SQL1. SQL-92 ou SQL2. SQL-99 ou SQL3. SQL:2003 e SQL:2006 (acrescentaram recursos XML). 2008: mais recursos de BD de objeto são incorporados na SQL.
2 SQL Definição de Dados em SQL Esquema SQL É considerada a principal razão para o sucesso de bancos de dados relacionais comerciais. Tornou-se a linguagem padrão para os SGBDs relacionais comerciais. Linguagem de banco de dados abrangente (DDL e DML). Facilidades para definir visões, especificar segurança e autorização e controles de transação. Possui regras para embutir instruções SQL em linguagens de propósito geral (JAVA, C / C++, Cobol...). Usado para agrupar as tabelas e outros elementos (restrições, views, domínios etc.) que pertencem à mesma aplicação de um banco de dados. Comando CREATE SCHEMA CREATE SCHEMA nomeesquema AUTHORIZATION nomeusuario; Esquema tem nome e um usuário administrador. CREATE SCHEMA EMPRESA AUTHORIZATION JSILVA; Em geral, nem todos os usuários estão autorizados a criar esquemas, tabelas e demais partes do banco de dados. Definição de Dados em SQL Definição de Dados em SQL Comando CREATE TABLE Comando CREATE TABLE Usado para especificar uma nova relação, dando-lhe um nome e especificando seus atributos e restrições iniciais. CREATE TABLE nometabela (<definições de colunas> <definições de chave primária> <definições de chaves alternativas> <definições de chaves estrangeiras>); CREATE TABLE FUNCIONARIO ( Pnome VARCHAR(15) NOT NULL, Minicial CHAR, Unome VARCHAR(15) NOT NULL, Cpf CHAR(11) NOT NULL, Datanasc DATE Endereco VARCHAR(30), Sexo CHAR, Salario DECIMAL(10,2), Cpf_supervisor CHAR(11) NOT NULL, Dnr INT, PRIMARY KEY(Cpf), FOREIGN KEY(Cpf_supervisor) REFERENCES FUNCIONARIO(Cpf), FOREIGN KEY(Dnr) REFERENCES DEPARTAMENTO(Dnumero));
3 Tipos de Dados de Atributos Tipos de Dados de Atributos Numérico (principais): INTEGER/INT, SMALLINT, FLOAT/REAL, DOUBLE PRECISION. Cadeia de caracteres: Tamanho fixo: CHAR(n) ou CHARACTER(n), onde n é o n o de caracteres. Tamanho variável: VARCHAR(n) ou CHAR VARYING(n) ou CHARACTER VARYING(n), onde n é o n o máximo de caracteres. O valor de uma cadeia de caracteres deve ser colocado entre aspas simples (apóstrofos) e é case sensitive. Para cadeias de caracteres grandes (documentos): CHARACTER LARGE OBJECT (CLOB). O tamanho máximo pode ser especificado em kilobytes (K), megabytes (M) ou gigabytes (G). Ex.: CLOB(50M); Cadeia de bits: Tamanho fixo: BIT(n). Tamanho variável: BIT VARYING(n). Os valores são colocados entre aspas simples, mas precedidos por B para distingui-los das cadeias de caracteres (p.ex., B ). Para cadeias de bits grandes (imagens): BINARY LARGE OBJECT (BLOB). O tamanho máximo pode ser especificado em kilobytes (K), megabytes (M) ou gigabytes (G). Ex.: BLOB(40G); Tipos de Dados de Atributos Restrições de Atributos e Domínios Booleano: BOOLEAN (TRUE / FALSE / UNKNOWN). Data: DATE, que contém 10 posições e seus componentes são DAY, MONTH e YEAR no formato DD-MM-YYYY. Exemplo: Tempo: TIME, que contém oito posições e seus componentes são HOUR, MINUTE e SECOND no formato HH:MM:SS. Exemplo: 01:58:30. TIMESTAMP: engloba os campos DATE e TIME, mais um mínimo de 6 posições para as frações de segundos. Exemplo: :58: Um domínio também pode ser declarado e o seu nome usado com a especificação do atributo. CREATE DOMAIN TIPO_CPF AS CHAR(11); NOT NULL Implícita para atributos que são designados como chaves primárias. DEFAULT <valor> CHECK <condição> Dnumero INT NOT NULL CHECK(Dnumero > 0 AND Dnumero < 21); CREATE DOMAIN D_NUM AS INTEGER CHECK(D_NUM > 0 AND D_NUM < 21);
4 Restrições de Chave e Integridade Referencial Comandos de Definição de Dados do Esquema EMPRESA PRIMARY KEY(<lista de atributos>); Alternativamente, se a chave primária tiver um único atributo, a cláusula PRIMARY KEY pode seguir o atributo diretamente. Exemplo: Dnumero INT PRIMARY KEY; UNIQUE(<lista de atributos>): define as chaves alternativas (secundárias). Restrições de Chave e Integridade Referencial Exemplos de Ações Referenciais Engatilhadas FOREIGN KEY(chave estrangeira); Uma restrição de integridade referencial poderia ser violada em situações de inserção, remoção ou atualização de tuplas. Ação padrão da SQL para uma violação de integridade: rejeitar a operação que iria causar a violação (opção RESTRICT). O projetista pode especificar uma ação alternativa caso uma restrição de integridade esteja para ser violada, anexando uma cláusula ação de disparo referencial em uma restrição de chave estrangeira. Opções: SET NULL, CASCADE e SET DEFAULT. As opções acima devem ser escolhidas com ON DELETE (remoção) ou ON UPDATE (atualização).
5 A Palavra CONSTRAINT Especificando Restrições sobre Tuplas Usando CHECK Uma restrição pode ser nomeada após a palavra CONSTRAINT. O nome de cada uma das restrições em um esquema deve ser exclusivo. O nome da restrição é usado para identificá-la caso ela tenha que ser eliminada ou redefinida. Cláusula adicional CHECK no final da declaração CREATE TABLE. Suponha que a tabela DEPARTAMENTO tenha um atributo adicional Dep_data_criacao (armazena a data de criação do departamento). Então podemos adicionar a seguinte cláusula CHECK no final da declaração CREATE TABLE: CHECK (Dep_data_criacao <= Data_inicio_gerente); Essa restrição se aplica a cada tupla individualmente e será verificada sempre que uma tupla for inserida ou modificada. Comandos para Alterações de Esquemas Exemplos de Comandos DROP O Comando DROP Usado para eliminar elementos nomeados de esquemas (tabelas, domínios ou restrições). Também pode ser usado para eliminar o esquema propriamente dito. Comportamento para o comando DROP: CASCADE. RESTRICT. DROP SCHEMA EMPRESA CASCADE; Opção CASCADE: remove o esquema empresa com todos seus elementos (tabelas, domínios etc.) Se ao invés de CASCADE usarmos RESTRICT, o esquema é eliminado somente se não contiver nenhum elemento. DROP TABLE DEPENDENTE CASCADE; Opção CASCADE: remove a tabela e todas as restrições (p. ex., definições de chaves estrangeiras) e as visões que fizerem referência à mesma. Se ao invés de CASCADE usarmos RESTRICT, a tabela será eliminada somente se não for referenciada em nenhuma restrição ou visão.
6 Comandos para Alterações de Esquemas Exemplos de Comandos ALTER O Comando ALTER Usado para alterar elementos de esquemas nomeados. Para as tabelas são possíveis as seguintes alterações: Adicionar ou eliminar uma coluna. Alterar a definição de uma coluna. Adicionar ou eliminar restrições de tabela. Adicionar coluna: ALTER TABLE FUNCIONARIO ADD COLUMN Tarefa VARCHAR(12); Devemos entrar com um valor para o novo atributo Tarefa de cada tupla de FUNCIONARIO. Usar o comando UPDATE ou especificar cláusula DEFAULT. Se não for especificada uma cláusula DEFAULT, o novo atributo conterá NULLs em todas as tuplas após a execução do comando ALTER. A restrição NOT NULL não é permitida nesse caso. Exemplos de Comandos ALTER Exemplos de Comandos ALTER Eliminar coluna: ALTER TABLE FUNCIONARIO DROP COLUMN Endereco CASCADE; Devemos optar por CASCADE ou RESTRICT. CASCADE: além da coluna, todas as restrições ou visões que fizerem referência a essa coluna serão automaticamente eliminadas. RESTRICT: o comando será executado com sucesso somente se nenhuma restrição ou outros elementos fizerem referência à coluna. Alterar uma definição de coluna eliminando ou definindo uma nova cláusula DEFAULT. ALTER TABLE FUNCIONARIO ALTER COLUMN Cpf_gerente DROP DEFAULT; ALTER TABLE FUNCIONARIO ALTER COLUMN Cpf_gerente SET DEFAULT ; Modificar as restrições especificadas em uma tabela: ALTER TABLE FUNCIONARIO DROP CONSTRAINT CHESUPERFUNC CASCADE; Podemos adicionar uma restrição à relação utilizando a palavra-chave ADD no comando ALTER TABLE.
7 Consultas SQL Banco de Dados Comando básico para recuperação de informações: SELECT. O comando SELECT não tem o mesmo significado da operação select (σ) da álgebra relacional. A SQL permite que uma tabela tenha duas ou mais tuplas idênticas em todos os valores de seus atributos. Mas algumas relações SQL são restritas a conjuntos (caso uma restrição de chave tenha sido declarada ou uma opção DISTINCT tenha sido usada no comando SELECT). A Estrutura SELECT-FROM-WHERE Forma Geral: SELECT <lista de atributos> FROM <lista de tabelas> WHERE <condição>; lista de atributos: nomes dos atributos cujos valores serão recuperados na consulta. lista de tabelas: nomes das tabelas necessárias para o processamento da consulta. condição: expressão booleana que identifica as tuplas que serão recuperadas. Exemplos de Consultas Recupere a data de nascimento e o endereço do(s) funcionário cujo nome seja João B. Silva. SELECT Datanasc, Endereco WHERE Pnome= João AND Minicial= B AND Unome= Silva ; Recupere o nome e o endereço de todos os funcionários que trabalham no departamento Pesquisa. SELECT Pnome, Unome, Endereco, DEPARTAMENTO WHERE Dnome= Pesquisa AND Dnumero=Dnr; Condição de seleção da álgebra Essa é uma consulta select-project-join. Condição de junção da álgebra
8 Exemplos de Consultas Nomes de Atributos Ambíguos e Apelido Para cada projeto localizado em Mauá recupere o número do projeto, o número do departamento responsável e o último nome do gerente do departamento, seu endereço e sua data de nascimento. SELECT Projnumero, Dnum, Unome, Endereco, Datanasc FROM PROJETO, DEPARTAMENTO, FUNCIONARIO WHERE Projlocal= Mauá AND Dnum=Dnumero AND Cpf_gerente=Cpf; Quando a consulta se refere a dois ou mais atributos com o mesmo nome: qualificar o nome do atributo com o nome da relação. Suponha que as relações FUNCIONARIO e DEPARTAMENTO tenham atributos com o mesmo nome, ou seja, em FUNCIONARIO o atributo Unome foi renomeado para Nome e em DEPARTAMENTO o atributo Dnome foi renomeado para Nome. SELECT Pnome, FUNCIONARIO.Nome, Endereco, DEPARTAMENTO WHERE DEPARTAMENTO.Nome= Pesquisa AND DEPARTAMENTO.Dnumero=FUNCIONARIO.Dnumero; Nomes de Atributos Ambíguos e Apelido Cláusula WHERE Ausente e Uso do Asterisco Ambiguidade no caso de consultas que se referem duas vezes à mesma relação. Nesse caso, declaramos nomes alternativos, chamados apelidos. SELECT F.Pnome, F.Unome, S.Pnome, S.Unome AS F, FUNCIONARIO AS S WHERE F.Cpf_supervisor=S.Cpf Também é possível usar apelidos para os atributos da relação dentro de uma consulta (na cláusula FROM). FUNCIONARIO AS F(Pn, Mi, Un, Cpf, Dn, End, Sexo, Sal, Scpf, Dnr) Ausência da cláusula WHERE: todas as tuplas da relação especificada na cláusula FROM serão selecionadas. SELECT Cpf ; Ausência de cláusula WHERE e mais de uma relação na cláusula FROM produto cartesiano. SELECT Cpf, Dnome, DEPARTAMENTO;
9 Cláusula WHERE Ausente e Uso do Asterisco Tabelas como Conjuntos em SQL Usar apenas um asterisco (*) na cláusula SELECT significa selecionar todos os atributos. Exemplos: SELECT * WHERE Dnr=5; SELECT *, DEPARTAMENTO WHERE Dnome= Pesquisa AND Dnr=Dnumero; SELECT *, DEPARTAMENTO; SQL não trata tabelas como conjuntos. Uma tabela SQL com uma chave restringe-se a um conjunto. Eliminar as repetições no resultado de uma consulta SQL: usar DISTINCT na cláusula SELECT. SELECT ALL ou SELECT SELECT DISTINCT Exemplos: SELECT ALL Salario ; SELECT DISTINCT Salario ; Operações de Conjuntos em SQL Operações de conjuntos: união (UNION), interseção (INTERSECT) e diferença (EXCEPT). As relações resultantes dessas operações são conjuntos de tuplas. Operações aplicáveis apenas em relações união compatíveis. Operações de Conjuntos em SQL Se desejarmos obter todas as repetições de tuplas, devemos usar UNION ALL, INTERSECT ALL e EXCEPT ALL. (SELECT DISTINCT Projnumero FROM PROJETO, DEPARTAMENTO, FUNCIONARIO WHERE Dnum=Dnumero AND Cpf_gerente=Cpf AND Unome= Silva ) UNION (SELECT DISTINCT Projnumero FROM PROJETO, TRABALHA_EM, FUNCIONARIO WHERE Projnumero=Pnr AND Fcpf=Cpf AND Unome= Silva );
10 Comparações entre Substrings Operador de comparação LIKE: usado para comparações de partes de uma cadeia de caracteres. Caracteres reservados: % substitui um número arbitrário de caracteres. _ substitui um único caractere. Exemplos: Recuperar todos os funcionários cujos endereços sejam Sao Paulo, SP. SELECT Pnome, Unome WHERE Endereco LIKE %Sao Paulo, SP% ; Recuperar todos os funcionários que nasceram durante a década de 50. SELECT Pnome,Unome WHERE Datanasc LIKE 5_ ; Comparações Operador de comparação BETWEEN. Recuperar todos os funcionários no departamento 5 cujo salário esteja entre R$30 mil e R$ 40 mil. SELECT * WHERE (Salario BETWEEN AND ) AND Dnr = 5; Funções Aritméticas em Consultas Ordenando o Resultado das Consultas Os operadores aritméticos +, -, * e / podem ser aplicados com valores numéricos ou atributos com domínios numéricos. Exemplos: SELECT Pnome, Unome, 1.1*Salario AS Aumento_Salario AS F, TRABALHA_EM AS T, PROJETO AS P WHERE F.Cpf=T.Fcpf AND T.Pnr=P.Projnumero AND P.Projnome= ProdutoX ; Cláusula ORDER BY: ordenar as tuplas do resultado de uma consulta. Recupere a lista dos funcionários e os respectivos projetos nos quais eles trabalham, ordenada por departamento e, dentro de cada departamento, por ordem alfabética do último nome e, depois, pelo primeiro nome do funcionário. SELECT Dnome, Unome, Pnome, Projnome FROM DEPARTAMENTO, FUNCIONARIO, TRABALHA_EM, PROJETO WHERE Dnumero=Dnr AND Cpf=Fcpf AND Pnr=Projnumero ORDER BY Dnome, Unome, Pnome;
11 Ordenando o Resultado das Consultas Comandos para Modificar o Estado do BD A ordenação default é ascendente (ASC), mas podemos usar a palavra-chave DESC se quisermos ordenação descendente. ORDER BY Dnome DESC, Unome ASC, Pnome ASC INSERT DELETE UPDATE Comando INSERT Comando INSERT Usado para adicionar tuplas em uma relação. Os valores devem ser relacionados na mesma ordem em que foram definidos no comando CREATE TABLE. INSERT INTO FUNCIONARIO VALUES ( Ricardo, K, Marini, , , Rua Itabirito, 44, Taubate, SP, M,37000, ,4); Especificando os atributos que receberão os valores fornecidos pelo comando INSERT. Podem ser deixados de fora apenas os atributos com NULL permitido ou com especificação DEFAULT. Os valores devem ser relacionados na mesma ordem em que foram definidos no comando INSERT. INSERT INTO FUNCIONARIO(Pnome,Unome,Dnr,Cpf) VALUES ( Ricardo, Marini,4, );
12 Comando DELETE Comando UPDATE Remove tupas de uma relação. As remoções poderão propagar-se nas tuplas de outras relações se forem definidas ações de disparo referencial nas restrições de integridade. Dependendo da condição da cláusula WHERE poderão ser excluídas nenhuma, uma ou várias tuplas em um único comando DELETE. Exemplos: DELETE WHERE Unome= Braga ; DELETE ; Usado para modificar os valores dos atributos de uma ou mais tuplas. Uma atualização no valor da chave primária pode propagar-se para os valores das chaves estrangeiras nas tuplas de outras relações (se ações de disparo referencial estiverem especificadas). UPDATE PROJETO SET Projlocal= Santo Andre, Dnum=5 WHERE Projnumero=10; Comparações Envolvendo NULL Em geral, cada NULL é considerado diferente de outro NULL. Quando NULL é comparado em uma operação, o resultado é considerado UNKNOWN. Em consultas select-project-join, somente as combinações de tuplas que evoluírem para uma expressão lógica TRUE da consulta serão selecionadas. Exceção para a regra anterior em junções externas. Para comparar o valor de um atributo com NULL, ao invés de usar = ou <>, a SQL usa IS ou IS NOT. SELECT Pnome,Unome WHERE Cpf_supervisor IS NULL; Os Valores Lógicos AND TRUE FALSE UNKNOWN TRUE TRUE FALSE UNKNOWN FALSE FALSE FALSE FALSE UNKNOWN UNKNOWN FALSE UNKNOWN OR TRUE FALSE UNKNOWN TRUE TRUE TRUE TRUE FALSE TRUE FALSE UNKNOWN UNKNOWN TRUE UNKNOWN UNKNOWN NOT TRUE FALSE FALSE TRUE UNKNOWN UNKNOWN
13 Consultas Aninhadas Formam um bloco completo de select-from-where dentro da cláusula WHERE de outra consulta. Exemplos: SELECT DISTINCT Fcpf FROM TRABALHA_EM WHERE (Pnr,Horas) IN (SELECT Pnr,Horas FROM TRABALHA_EM WHERE Fcpf= ); Operador IN: compara um valor v com um conjunto (ou multiconjunto) de valores V e evolui para TRUE se v for um dos elementos de V. Operadores (= ANY) ou (= SOME) são equivalentes ao operador IN. Outros operadores podem ser combinados com ANY (ou SOME), incluindo >, >=, <, <= e <>. Consultas Aninhadas A palavra-chave ALL também pode ser combinada com os operadores >, >=, <, <= e <>. SELECT Unome, Pnome WHERE Salario > ALL (SELECT Salario WHERE Dnr=5); Consultas Aninhadas Consultas Aninhadas Correlacionadas Possíveis ambiguidades entre os nomes de atributos. Regra: A referência a um atributo não qualificado é atribuída à relação declarada na consulta mais interna do ninho de consultas. Para fazer referência a um atributo da relação estabelecida na consulta externa, precisamos especificar um apelido para aquela relação. SELECT F.Pnome,F.Unome AS F WHERE F.Cpf IN (SELECT Fcpf FROM DEPENDENTE WHERE F.Pnome=Nome_dependente AND F.Sexo=Sexo); Consultas correlacionadas: sempre que uma condição na cláusula WHERE de uma consulta aninhada se referir a algum atributo da relação declarada na consulta externa. Nesses casos, a consulta aninhada é avaliada uma vez para cada tupla da consulta externa. SELECT F.Pnome,F.Unome AS F WHERE F.Cpf IN (SELECT Fcpf FROM DEPENDENTE WHERE F.Pnome=Nome_dependente AND F.Sexo=Sexo);
14 As Funções EXISTS e UNIQUE EXISTS: é usada para verificar se o resultado de uma consulta aninhada correlacionada é vazio ou não. SELECT F.Pnome,F.Unome AS F WHERE EXISTS (SELECT * FROM DEPENDENTE WHERE F.Cpf=Fcpf AND F.Sexo=Sexo AND F.Pnome=Nome_dependente); EXISTS(Q) devolverá TRUE se existir ao menos uma tupla no resultado da consulta aninhada Q. As Funções EXISTS e UNIQUE NOT EXISTS(Q): devolverá TRUE se não existir nenhuma tupla no resultado da consulta aninhada Q. Recupere os nomes dos funcionários que não possuem nenhum dependente. SELECT Pnome,Unome WHERE NOT EXISTS (SELECT * FROM DEPENDENTE WHERE Cpf=Fcpf); SELECT Pnome,Unome WHERE EXISTS (SELECT * FROM DEPENDENTE WHERE Cpf=Fcpf) AND EXISTS (SELECT * FROM DEPARTAMENTO WHERE Cpf=Cpf_gerente); As Funções EXISTS e UNIQUE Recupere o nome de cada um dos funcionários que trabalha em todos os projetos controlados pelo departamento 5. SELECT Pnome,Unome WHERE NOT EXISTS ((SELECT Projnumero FROM PROJETO WHERE Dnumero=5) EXCEPT (SELECT Pnr FROM TRABALHA_EM WHERE Cpf=Fcpf)); Conjuntos Explícitos Também podemos usar um conjunto de valores explícitos na cláusula WHERE em vez de consultas aninhadas. Recupere o Cpf de todos os funcionários que trabalham nos projetos 1, 2 ou 3. SELECT DISTINCT Fcpf FROM TRABALHA_EM WHERE Pnr IN (1,2,3); Função UNIQUE(Q): devolve TRUE se não existir nenhuma tupla repetida no resultado da consulta (Q), caso contrário, devolve FALSE. Temos ainda a função NOT UNIQUE(Q).
15 Junção de Tabelas Junção de Tabelas Exemplo de junção. SELECT Pnome,Unome,Endereco FROM (FUNCIONARIO JOIN DEPARTAMENTO ON Dnr=Dnumero) WHERE Dnome= Pesquisa ; Junção natural de duas relações R e S. Uma condição (equijunção) implícita é criada para cada par R e S de atributos com o mesmo nome. Cada um desses pares de atributos é incluído somente uma vez na relação resultante. SELECT Pnome,Unome,Endereco FROM (FUNCIONARIO NATURAL JOIN (DEPARTAMENTO AS DEPT(Dnome,Dnr,Cpf_gerente,Data_inicio_gerente))) WHERE Dnome= Pesquisa ; Tipo default de junção: INNER JOIN (mesmo que JOIN). No exemplo a seguir, somente os funcionários que possuírem um supervisor serão incluídos no resultado. SELECT F.Unome AS NOME_FUNCIONARIO,S.Unome AS NOME_SUPERVISOR FROM (FUNCIONARIO AS F JOIN FUNCIONARIO AS S ON F.Cpf_supervisor=S.Cpf); Uma tupla FUNCIONARIO com valor de Cpf_supervisor igual a NULL não será incluída no resultado. Junção de Tabelas Funções Agregadas Para que todos os funcionários sejam incluídos: OUTER JOIN (LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN). SELECT F.Unome AS NOME_FUNCIONARIO, S.Unome AS NOME_SUPERVISOR FROM (FUNCIONARIO AS F LEFT OUTER JOIN FUNCIONARIO AS S ON F.Cpf_supervisor=S.Cpf); São elas: COUNT, SUM, MAX, MIN e AVG. Essas funções podem ser usadas na cláusula SELECT ou HAVING. As funções MAX e MIN podem ser usadas com atributos não numéricos, se os valores do domínio tiverem uma ordenação total. Exemplos: Recupere a soma dos salários, o maior salário, o menor salário e a média salarial de todos os funcionários. SELECT SUM(Salario),MAX(Salario), MIN(Salario),AVG(Salario) ;
16 Funções Agregadas Funções Agregadas Encontre a soma dos salários de todos os funcionários do departamento Pesquisa. SELECT SUM(Salario) FROM (FUNCIONARIO JOIN DEPARTAMENTO ON Dnr=Dnumero) WHERE Dnome= Pesquisa ; Recupere o número total de funcionários do departamento Pesquisa. SELECT COUNT(*), DEPARTAMENTO WHERE Dnr=Dnumero AND Dnome= Pesquisa ; Nesse caso, o (*) refere-se às linhas (tuplas). Funções Agregadas Funções Agregadas Também podemos usar o COUNT para contar o número de valores em uma coluna. Conte o número de diferentes valores de salários contidos no banco de dados. SELECT COUNT (DISTINCT Salario) ; Os valores NULL são descartados quando se aplicam as funções agregadas em um atributo em particular. Exemplo de consulta aninhada correlacionada com função agregada. SELECT Unome,Pnome WHERE (SELECT COUNT(*) FROM DEPENDENTE WHERE Cpf=Fcpf) >= 2;
17 Agrupamento: Cláusulas GROUP BY e HAVING Para os casos em quem precisamos aplicar as funções agregadas para subgrupos de tuplas em uma relação. Para cada departamento, recupere seu número, o número de funcionários dele e a média de seus salários. SELECT Dnr,COUNT(*),AVG(Salario) GROUP BY Dnr; Se existir NULL no atributo de agrupamento: um grupo separado será criado para todas as tuplas com valores NULL. Para cada projeto, recupere seu número, seu nome e o número de funcionários que trabalham nele. SELECT Projnumero,Projnome,COUNT(*) FROM PROJETO,TRABALHA_EM WHERE Projnumero=Pnr GROUP BY Projnumero,Projnome; Agrupamento: Cláusulas GROUP BY e HAVING Algumas vezes queremos recuperar valores de funções agregadas somente para os grupos que safisfazem determinadas condições. Para cada projeto em que trabalhem mais de dois funcionários, recupere o número do projeto, seu nome e o número de funcionários. SELECT Projnumero,Projnome,COUNT(*) FROM PROJETO,TRABALHA_EM WHERE Projnumero=Pnr GROUP BY Projnumero,Projnome HAVING COUNT(*)>2; Agrupamento: Cláusulas GROUP BY e HAVING Agrupamento: Cláusulas GROUP BY e HAVING Exemplo: Desejamos contar, para cada departamento, o número total de funcionários cujos salários excedam os 40 mil dólares, mas somente para os departamentos onde houver mais de cinco funcionários. A solução a seguir está correta? SELECT Dnumero, COUNT(*) FROM DEPARTAMENTO, FUNCIONARIO WHERE Dnumero=Dnr AND Salario>40000 GROUP BY Dnumero HAVING COUNT(*)>5; Solução correta: SELECT Dnumero, COUNT(*) FROM DEPARTAMENTO, FUNCIONARIO WHERE Dnumero=Dnr AND Salario>40000 AND Dnr IN GROUP BY Dnumero; (SELECT Dnr GROUP BY Dnr HAVING COUNT(*)>5)
18 Asserções, Triggers e Visões em SQL Asserções: permitem a determinação de restrições genéricas sobre o banco de dados. Triggers (gatilhos): usados para especificar ações a serem tomadas quando ocorrem determinados eventos ou certas condições são satisfeitas. Visões: são tabelas virtuais (ou derivadas), cujas informações são derivadas de tabelas previamente definidas. Especificando as Restrições Genéricas por Asserções Especificar restrições genéricas usando a declaração CREATE ASSERTION. Especificar a restrição O salário de um funcionário não pode ser maior do que o salário do gerente do departamento em que ele trabalha. CREATE ASSERTION RESTRICAO_SALARIAL CHECK(NOT EXISTS (SELECT * F, FUNCIONARIO G, DEPARTAMENTO D WHERE F.Salario > G.Salario AND F.Dnr=D.Dnumero AND D.Cpf_gerente=G.Cpf)); Usar CREATE ASSERTION somente nos casos em que não for possível usar CHECK nos atributos, nos domínios ou nas tuplas. Especificando um Trigger Visões em SQL Um trigger típico possui três componentes: evento(s), condição e ação. Queremos verificar se o salário de um funcionário é maior do que o do seu supervisor e, se isso ocorrer, chamar o procedimento armazenado INFORMAR_SUPERVISOR. CREATE TRIGGER VIOLACAO_SALARIAL BEFORE INSERT OR UPDATE OF Salario, Cpf_supervisor ON FUNCIONARIO FOR EACH ROW WHEN (NEW.Salario > (SELECT Salario WHERE Cpf = NEW.Cpf_supervisor)) INFORMAR_SUPERVISOR(NEW.Cpf_supervisor,NEW.Cpf); É uma tabela única derivada de outra(s) tabela(s). Embora não exista fisicamente, uma visão é um meio para especificar uma tabela que precise ser consultada frequentemente. Geralmente a visão é mantida o tempo necessário para que seja consultada. Técnicas de atualização foram desenvolvidas para garantir que a visão esteja sempre atualizada.
19 Visões em SQL Exemplos: CREATE VIEW TRABALHA_EM1 AS SELECT Pnome,Unome,Projnome,Horas,PROJETO,TRABALHA_EM WHERE Cpf=Fcpf AND Pnr=Projnumero; Perguntas CREATE VIEW DEP_INFO(Dep_nome,Qtd_func,Total_sal) AS SELECT Dnome,COUNT(*),SUM(Salario) FROM DEPARTAMENTO,FUNCIONARIO WHERE Dnumero=Dnr GROUP BY Dnome; Especificando uma consulta SQL em uma visão. SELECT Pnome,Unome FROM TRABALHA_EM1 WHERE Projnome= ProjetoX ; FIM
Banco de Dados I. Aula 14 - Prof. Bruno Moreno 11/10/2011
Banco de Dados I Aula 14 - Prof. Bruno Moreno 11/10/2011 Plano de Aula INSERT UPDATE SELECT-FROM-WHERE Uso de ALIASES SELECT com * DISTINCT Operações de Conjuntos Comparação entre substrings Operadores
Banco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011
Banco de Dados I Aula 16 - Prof. Bruno Moreno 04/11/2011 Plano de Aula O comando DELETE Cláusula CHECK Comparações utilizando NULL Funções agregadas Junções de tabelas em SQL Visões Comando DELETE DELETE
SQL-99: Esquema de BD EMPRESA
SQL-99: Esquema de BD EMPRESA SQL-99: Instâncias do esquema EMPRESA 1 Consultas externa, aninhada e correlacionada para cada tupla da consulta externa, a consulta aninhada devolve o atributo solicitado
SQL Básica. Andre Noel
SQL Básica Andre Noel Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais Se tornou
SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:
SQL Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL Docente: Éberton da Silva Marinho e-mail: [email protected] 02/06/2016 SUMÁRIO SQL DDL DML SQL (STRUCTURED
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
Sumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010
Sumário SQL - Criação de Tabelas André Restivo Faculdade de Engenharia da Universidade do Porto October 18, 2010 1 Introdução 2 Tabelas 3 Colunas 4 5 Modificação de Tabelas 6 Domínios André Restivo (FEUP)
UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO
UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO Disciplina: Banco de Dados I Professor: Prof. Me. Everton
SQL-99: Definição de esquema, restrições básicas e consultas
SQL-99: Definição de esquema, restrições básicas e consultas A linguagem SQL é uma das maiores razões para o sucesso dos BD relacionais no mundo comercial Este capítulo apresenta as principais funcionalidades
SQL (Tópicos) Structured Query Language
SQL (Tópicos) Structured Query Language ISI Introdução aos Sistemas de Informação SQL (Tópicos) 1 SQL: componentes SQL / DDL (Data Definition Language) Permite definir os Esquemas de Relação Permite definir
A Linguagem SQL. Introdução a Banco de Dados DCC 011
A Linguagem SQL Introdução Originalmente proposta para o System R desenvolvido nos laboratórios da IBM na década de 70 SEQUEL (Structured English QUEry Language) Objeto de um esforço de padronização coordenado
BCD29008 Banco de dados
BCD29008 Banco de dados Linguagem SQL Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José [email protected] http://docente.ifsc.edu.br/mello/bcd 21 de agosto de 2017
SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação
SQL Básica DDL Prof. Marcos A. Schreiner Curso de Licenciatura em Computação 21 de outubro de 2015 Prof. Marcos A. Schreiner (UFPR) 21 de outubro de 2015 1 / 28 1 Introdução 2 SQL DDL CREATE Criar Banco
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
Bancos (Bases) de Dados
Bancos (Bases) de Dados Aula #8 SQL Prof. Eduardo R. Hruschka * Slides baseados no material elaborado pelas professoras: Cristina D. A. Ciferri Elaine P. M. de Souza SQL (Structured Query Language) Linguagem
Introdução ao PostgreSQL
Introdução ao PostgreSQL Fontes Karine Reis Ferreira [email protected] Gilberto Câmara [email protected] Gilberto Ribeiro de Queiroz [email protected] Marcos André Gonçalves - UFMG Parte 3 Aula
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
ANÁLISE E PROJETO DE BANCO DE DADOS
ANÁLISE E PROJETO DE BANCO DE DADOS SQL FELIPE G. TORRES SQL A linguagem SQL (Struct Query Language) é utilizada como padrão em bancos de dados relacionais. Seu desenvolvimento foi originalmente no início
Banco de Dados I Introdução SQL
Banco de Dados I Introdução SQL Frederico Queiroga [email protected] https://sites.google.com/site/fredericoqueiroga/ Linguagem SQL Aspectos Gerais: Independência do fabricante: Está incorporada
SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida
SQL PostgreSQL I Criação de Tabelas Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida Composição da SQL Linguagem de Definição de Dados (DDL): Comandos para
Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José;
MySQL SQL (Structured Query Languagem ) Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José; Inicialmente - Sequel
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;
BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados>
BANCO DE DADOS 1. Scripts de criação de banco de dados Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE Onde:
Rápida revisão do Modelo Relacional
Rápida revisão do Modelo Relacional Conceito de relação Tuplas e atributos Rápida revisão do Modelo Relacional Regras de integridade Entidade: Deve existir uma chave primária com valor único e não-nulo.
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
SQL. Profa. Msc. Fernanda Lígia Rodrigues Lopes. Disciplina: Fundamentos de Banco de Dados
SQL Profa. Msc. Fernanda Lígia Rodrigues Lopes Disciplina: Fundamentos de Banco de Dados Roteiro O que é SQL? Breve Histórico da SQL Usos da SQL Comandos SQL DDL Comandos SQL DML Comandos para consultas
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
Definição do esquema da base de dados. o esquema da BD é composto pelas definições de todas as tabelas da BD.
Definição do esquema da base de dados o esquema da BD é composto pelas definições de todas as tabelas da BD. existem outros elementos (views, índices, triggers) que também fazem parte do esquema e que
SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão
SISTEMAS DE BANCO DE DADOS Prof. Adriano Pereira Maranhão 1 SQL Structured Query Language SQL Desenvolvida pela IBM Structured English Query Language Sequel Linguagem de consulta para o sistema R Primeiro
Marcelo Henrique dos Santos
Mestrado em Educação (em andamento) MBA em Marketing e Vendas (em andamento) Especialista em games Bacharel em Sistema de Informação Email: [email protected] AULA 03 SQL (Structure Query Language)
Banco de Dados. Professora: Luciana Faria
Banco de Dados Professora: Luciana Faria Introdução ao linguagem é a SQL (Structured Query Language) Linguagem de Consulta Estruturada Para se utilizar, administrar, e trabalhar com um banco de dados é
Bancos de Dados. 8. Structured Query Language (SQL)
Bancos de Dados 8. Structured Query Language (SQL) Introdução A padronização ao redor de SQL é uma das principais razões para o sucesso dos bancos de dados relacionais A migração entre SGBDs é facilitada,
PCS3413. Engenharia de So-ware e Banco de Dados. Aula 16. Escola Politécnica da Universidade de São Paulo
PCS3413 Engenharia de So-ware e Banco de Dados Aula 16 Escola Politécnica da Universidade de São Paulo 1 SQL - STRUCTURED QUERY LANGUAGE SQL - Structured Query Language Linguagem de acesso a Banco de Dados
SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida
SQL PostgreSQL I Criação de Tabelas Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida Composição da SQL Linguagem de Definição de Dados (DDL): Comandos para
SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.
LINGUAGEM SQL SQL CREATE DATABASE MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL. SQL CREATE TABLE SQL NOT NULL O valor NOT NULL obriga que o campo contenha sempre
SQL Linguagem de Manipulação de Dados SQL DML SQL DML. Exemplo Modelo Relacional. Exemplo ME-R SQL DML CONTINUAÇÃO...
Ciência da Computação GBC043 Sistemas de Banco de Dados SQL Linguagem de Manipulação de Dados Profa. Maria Camila Nardini Barioni [email protected] Bloco B - sala 1B137 SQL DML CONTINUAÇÃ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
MySql. Introdução a MySQL. Andréa Garcia Trindade
MySql Introdução a MySQL Andréa Garcia Trindade Introdução O que é Banco de Dados SGBD MYSQL Tipos de Tabelas Tipos de Dados Linguagem SQL Comandos SQL O que é um Banco de Dados? Conjuntos de dados Grupo
A linguagem SQL
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 recebeu o nome de
PROGRAMA. 3.SQL Básico. 3.1 Criação de tabelas 3.2 Queries simples 3.3 Subqueries 3.4 Agregação. Prof. Dr. Marcos Tsuzuki
PROGRAMA 3.SQL Básico 3.1 Criação de tabelas 3.2 Queries simples 3.3 Subqueries 3.4 Agregação 1 3.SQL Básico A linguagem SQL foi desenvolvida para o ambiente relacional, podendo ser adaptada a ambientes
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
Introdução ao Banco de Dados. Banco de Dados
Introdução ao Banco de Dados Prof. Tiago Garcia de Senna Carneiro UFOP Prof. Técnicas de Programação II 2006 PARTE 1: Conceitos Básicos Banco de Dados SGDB: Sistema Gerenciador de Banco de Dados Definição:
UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO
UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO Disciplina: Banco de Dados I Professor: Prof. Me. Everton
Banco de Dados. Linguagem SQL
Banco de Dados Linguagem SQL 1 A linguagem SQL: história Em junho de 1970, o matemático Edgar Frank Codd, publicou o artigo "A Relational Model of Data for Large Shared Data Banks" na revista "Communications
SQL. Prof. Roger Cristhian Gomes
SQL Prof. Roger Cristhian Gomes SQL SQL - Structured Query Language Linguagem de acesso e manipulação de sistemas de base de dados computacionais que segue o padrão ANSI Existem diferenças entre as versões
Revisão de Bancos de Dados
Revisão de Bancos de Dados Conceitos Básicos 1. Defina o que é um banco de dados e o que é um sistema gerenciador de bancos de dados (SGBD). 2. Defina as arquiteturas de software em duas camadas (cliente/servidor)
Linguagem de Definição de Dados (DDL)
Modelagem de Banco de Dados Linguagem de Definição de Dados (DDL) Professor: Anderson D. Moura Março, 2009 Linguagem de Definição de Dados Linguagem para especificar a informação acerca de cada tabela,
SQL. 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. SQL Banco de Dados I Prof. Guilherme Tavares de Assis Universidade
SQL Linguagem de Definição de Dados
SQL Linguagem de Definição de Dados Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais
SQL - Criação de Tabelas
SQL - Criação de Tabelas André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) SQL - Criação de Tabelas February 24, 2012 1 / 25 Sumário 1 Introdução 2 Tabelas
Manipulação de Dados com SQL
Manipulação de Dados com SQL Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia www.facom.ufu.br/~wendelmelo Banco de Dados I manipulação de dados com SQL 2 Structured Query Language
Utilizando o Postgres - comandos SQL para a manipulação de dados
Utilizando o Postgres - comandos SQL para a manipulação de dados SELECT A declaração SELECT é utilizada para selecionar os dados de um banco de dados. SELECT nome FROM clientes WHERE A cláusula WHERE é
Banco de Dados Notas de Aula Consultas em SQL Prof. Dr. Daniel A. Furtado
Banco de Dados Notas de Aula Consultas em SQL Prof. Dr. Daniel A. Furtado Forma geral: SELECT FROM [WHERE ] [GROUP BY ]
Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas
Banco de dados Conteúdo: DDL Prof. Patrícia Lucas O mysql MySQL Workbench é uma ferramenta de design de banco de dados visual que integra o desenvolvimento SQL, administração, design de banco de dados,
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
O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de
Introdução O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de padrão SQL (Structured Query Language). O padrão SQL define precisamente uma interface SQL para a
Aula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU
Aula 6 BD1 Modelo Relacional Profa. Elaine Faria UFU - 2017 Introdução Modelo Relacional Proposto por Codd em 1970 Revolucionou a área de banco de dados É o modelo dominante base para os SGBDs líderes
Page 1. Prof. Constantino Jacob
Tópicos Introdução à SQL Definição Tipos de Operações Instrução SELECT Sintaxe básica Operações relacionais de restrição, projeção e junção Instruções DML Delete, Update e Insert Instruções DDL Create
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
BANCO DE DADOS GERENCIAL 1 A U L A 2
BANCO DE DADOS GERENCIAL 1 A U L A 2 N Í V E I S D E V I S Ã O, S U B G R U P O D D L : C R I A N D O B A N C O D E D A D O S, C R I A N D O T A B E L A S, E S T R U T U R A D A T A B E L A CONCEITOS :
BANCO DE DADOS PARA NINJAS
BANCO DE DADOS PARA NINJAS PARANGABA RONNISON REGES VIDAL Ceará, 25 de Outubro de 2016 ROTEIRO l Conhecimento Pra que usar? Ferramentas SGBD's Consultas (Jutsu) Linguagem de Consulta PRA QUE USAR? PRA
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
Agenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais
Linguagem de Consulta SQL Profa. Carla A. Lima Reis SQL Agenda Introdução Histórico BD relacionais Linguagem SQL Definição de BD Manipulação de BD com SQL Consultas SQL Consultas com várias tabelas Subconsultas
Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho
Laboratório de Banco de Dados II Aula 04 Prof. Érick de Souza Carvalho 1 SQL (Structured Query Language ) Prof. Érick de Souza Carvalho 2 SQL Structured Query Language - Introdução É uma Linguagem para
Bases de Dados. DDL Data Definition Language
Bases de Dados DDL Data Definition Language SQL SQL = Structured Query Language Foi originalmente criada pela IBM nos anos 70 como parte de um protótipo de sistema relacional Posteriormente foi implementada
AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)
AULA 8 8.1. OBJETIVO DA AULA Relembrar conceitos e recursos básicos apresentados nas aulas anteriores, dar continuidade nas codificações iniciadas e ainda não finalizadas, explorar acesso a banco de dados
- Um "query block" permite a implementação das operações de selecção, projecção e junção da álgebra relacional.
2.3 Linguagens relacionais (continuação) SQL Structured Query Language 1) "Query block" Select From Where - Um "query block" permite a implementação
Linguagem de Consulta Estruturada (SQL)
Linguagem de Consulta Estruturada (SQL) SQL SQL (Structured Query Language), ou Linguagem de Consulta Estruturada. Usada em Bancos de Dados Relacionais. É padronizada (SQL ANSI). ANSI (American National
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
E-BOOK GUIA RÁPIDO DE SQL W W W. T R E I N A W E B.C O M. B R
101010101 001010101 101010100 E-BOOK GUIA RÁPIDO DE SQL INTRODUÇÃO Este é um guia rápido de SQL criado pela equipe do TreinaWeb e serve principalmente para iniciantes na linguagem. SQL é a sigla em inglês
Sintaxe do comando SELECT
Universidade Estadual de Mato Grosso do Sul Ciência da Computação Banco de Dados Prof. Nilton [email protected] Sintaxe do comando SELECT SELECT FROM [WHERE ]
IMPLEMENTAÇÃO DE BANCO DE DADOS
IMPLEMENTAÇÃO DE BANCO DE DADOS MODULO 2 LINGUAGEM SQL CONTEÚDO 2. LINGUAGEM SQL 2.1 Linguagens de Definição de Dados (DDL) 2.1.1 Criação de tabela: CREATE 2.1.2 Alteração de Tabela: ALTER 2.1.3 Exclusão
'%'! $!0" $ 8 ' %%! % '! $ $$% + ' %!%$/)!'4!+,"/)!)+,/)% *! +,"0''% * %$!*!$$ #!"%&%'%'%$! "94(# ' %'$%$$$%0%$%' *!% %%%'!**% > %% %%!31?
MODELAGEM FÍSICA Capítulo 3! " # $ $!%%%& '$! $% $$%"%' ) ' *'!%'!$ $ $ $% +, %#!!" '$*'#%! $ $$%" % '$%!!% $% * % $ *-! %$% $!* '% $!$$.!'% & $%!% $ $ ' %/!$ 0 $*' $% *0 )#%!$0% 1&$$$%+#!*22,"$% )'%$$%%&
ÁLGEBRA E CÁLCULO RELACIONAL
UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO ÁLGEBRA E CÁLCULO RELACIONAL MARINGÁ 2014 SUMÁRIO SUMÁRIO...1 1 INTRODUÇÃO...2 1.1
Programação com acesso a BD. Prof.: Clayton Maciel Costa [email protected]
Programação com acesso a BD Prof.: Clayton Maciel Costa [email protected] 1 Agenda Linguagem SQL: Introdução; Construção/Definição de tabelas. 2 Linguagem SQL SQL - Structured Query Language;
Banco de Dados. Diego Silveira Costa Nascimento. 20 de março de Instituto Federal do Rio Grande do Norte
Banco de Dados Diego Silveira Costa Nascimento Instituto Federal do Rio Grande do Norte [email protected] 20 de março de 2015 Ementa do Curso 1 Introdução 2 Abordagem Entidade-relacionamento
SQL S Q L. Introdução. Enfoques de SQL. SQL - Origem/Histórico. Usos de SQL. SQL - Vantagens. Gerenciamento de Dados e Informação
Introdução Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Robson Fidalgo - Structured Query Language Linguagem de Consulta Estruturada Apesar do QUERY no nome, não é apenas de consulta,
Banco de Dados SQL. João Eduardo Ferreira Osvaldo Kotaro Takai
Banco de Dados SQL João Eduardo Ferreira Osvaldo Kotaro Takai Introdução SQL - Structured Query Language Linguagem declarativa não-procedimental Desenvolvida e implementada pelo laboratório de pesquisa
ALGEBRA RELACIONAL. Álgebra Relacional Conjunto básico de operações para o Modelo Relacional O resultado é uma relação
1/5 Universidade Federal da Bahia Disciplina: Banco de Dados Prof a. Daniela Barreiro Claro ALGEBRA RELACIONAL Duas linguagens formais do Modelo Relacional o Álgebra Relacional e Cálculo Relacional Álgebra
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
