Nº de créditos: 04 Carga Horária: 68 horas/aula BANCO DE DADOS II

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

Download "Nº de créditos: 04 Carga Horária: 68 horas/aula BANCO DE DADOS II"

Transcrição

1 1 Curso: Sistema de Informação Disciplina: Banco de dados II Fase: 3 Professor: Edson Thizon Nº de créditos: 04 Carga Horária: 68 horas/aula BANCO DE DADOS II 1- NOÇÕES FUNDAMENTAIS 1.1. Transações Transação é uma unidade atômica de trabalho que atua sobre um banco de dados. Uma transação pode ser constituída por uma ou mais operações de acesso à base de dados. Todas as operações devem ser bemsucedidas, caso contrário os efeitos da transação devem ser revertidos. Uma transação bem-sucedida termina quando um comando COMMIT é executado. O comando COMMIT finaliza e efetiva todas as alterações feitas na base de dados durante a transação ROLLBACK Se uma transação aborta antes de o comando COMMIT ser executado, a transação deve ser desfeita, isto é, todas as mudanças feitas durante a transação devem ser desconsideradas. O processo de recuperação automática que permite desfazer as alterações feitas contra a base é chamado ROLLBACK. O ROLLBACK retorna a situação dos objetos da base alterados na transação à mesma situação em que se encontravam no início da transação. O ROLLBACK reverte os efeitos de uma transação como se ela nunca tivesse existido Locks Quando um dado é acessado por uma transação, o perigo de interferência de outras transações acessarem o mesmo dado é constante. O gerenciamento de LOCKS ajuda a prevenir isto. Locks são recursos de compartilhamento de dados, que permitem que o dado seja atualizado e pesquisados dentro de um ambiente multi-usuário de maneira segura e que lhes garante confiabilidade e integridade. Através dos locks é possível garantir que somente um usuário esteja atualizando o dado em um determinado momento, que vários usuários possam pesquisar o mesmo dado ao mesmo tempo, etc. Há, normalmente, independente da nomenclatura dada por fornecedores de SGBDs, dois níveis de locks importantes: - locks exclusivos: ou XLOCKS, usados para garantir o uso de um determinado dado por um único usuário. É especialmente utilizado em casos de atualizações. - locks compartilhados: ou SLOCKS, usados para permitir que mais de um usuário acesse o mesmo dado ao mesmo tempo. É especialmente utilizado em casos de pesquisa em tela, por exemplo. Os 1

2 2 SLOCKS garantem que um usuário possa consultar (e somente consultar) um dado se houver outros usuários acessando o mesmo dado para consulta. Quando um usuário adquire um nível de lock sobre um dado, ele pode requisitar outro nível ao SGBD. A este conceito damos o nome de promoção de níveis de LOCK. Imagine um usuário em nível SLOCK sobre um registro presente na tela. Para alterar o registro, será necessário que adquira XLOCK, para depois poder alterá-lo. Isto só será possível se mais nenhum usuário estiver atuando sobre o mesmo registro, seja em SLOCK ou XLOCK. Isto se explica de maneira muito simples: - se fosse possível a qualquer usuário alterar valores de registros em uso por parte de outros usuários, a informação consultada nunca seria garantidamente segura, uma vez que a qualquer momento poderia ser alterada, inclusive no exato momento de um processamento, quando iniciaria com um valor e terminaria com outro valor, alterado por outro usuário. A tabela abaixo mostra as transições de níveis de LOCK possíveis: Corrente Requisitado Slock Xlock Slock OK X Xlock OK X A Tabela a seguir mostra a compatibilidade de Locks entre transações : TX1 TX2 SLOCK XLOCK - OK OK SLOCK OK X XLOCK X X 1.4 Promoção de Locks por Objeto A tabela abaixo mostra as transições de níveis de locks por objeto(tabela ou registro da base de dados) possíveis: Corrente Slock Registro Slock Tabela Xlock registro Xlock Tabela Requisitado Slock Registro Slock Tabela Xlock Registro Xlock Tabela OK X X X OK OK X X Ok X OK X OK OK OK OK 2

3 3 1.5 Gerenciadores de Banco de dados OLTP(On-line Transaction Processing) Os Gerenciadores de banco de dados OLTP ou transacionais permitem que os dados armazenados em um banco de dados permaneçam disponíveis 24 horas por dia. Estes Gerenciadores possuem arquitetura complexa e bastante sofisticada que garante a integridade transacional das operações efetuadas contra a base de dados. Adotam a filosofia all-or-nothing pela qual uma transação só é efetivada contra a base ao se alcançar a instrução COMMIT. Este procedimento garante que processos longos de modificação do estado da base jamais sejam efetivados parcialmente. Da mesma forma, este gerenciadores permitem que seja feito bachup do seu conteúdo de maneira transparente para que está usando os dados armazenados, não sendo necessário desativar o servidor de dados. 1.6 Log de Transações O Log de transações, embora possa ser encontrado também em SGBDs OLTP. Normalmente trata-se de um arquivo que registra todo o desenvolvimento de cada transação ocorrida ou em curso. Sua importância está na capacitação de efetuação de rollcks e rollforwords, que possibilitam desfazer e refazer transações. 1.7 Falhas Os bancos de dados estão sujeitos a diversas causas de falhas: - queda do fornecimento de energia; - falhas de hardware; - falhas ou sabotagem de operação; - etc. Os backups e sua administração são os mecanismo determinante da reversibilidade dos efeitos e danos provocados por falhas. Da mesma forma, a capacitação para desfazer transações incompletas, e refazer transações completas é de fundamental importância neste sentido. Após ocorrida uma falha, já na reinicialização do banco de dados, o SGBD deve possuir ferramentas que possibilitem verificar que um encerramento anormal ocorreu e determinar as providências a se tomar: - se o backup deve ser restaurado ou não; - se será necessário rolar log de transações; - Quantas e quais transações serão desfeitas 1.8 ROLLFORWORD Quando da reinicialização de um banco de dados após uma falha, algumas transações podem ter sido perdidas na memória, embora um comando Commit já tenha sido emitido. Isto quer dizer que no log de transações a transação é considerada completa. No entanto, os efeitos não foram registrados em definitivo na base de dados. Isto quer dizer que esta transação deve ser completada novamente. Usando o log de transações o SGDB "sabe" que partes da transação ainda não foram gravados em definitivo. As etapas que ainda faltam ser gravadas são então executadas até ser encontrado o comando COMMIT gravado no log de transações. A este processo chamamos refazer a transação ou rollfoward. 3

4 4 Diferente do rollback, que pode ser executado por uma aplicação ou no processo de reinicialização do banco de dados, o rollfoward pode ser apenas executado quando do processo de reinicialização do banco de dados. 1.9 SYNCPOINT Embora algumas SGDBs permitam que cada transação completada seja imediatamente gravada na base, este não é sem dúvida o melhor meio de se efetivar transações, devido à sobrecarga de gravação contra o banco, o que ocasiona uma queda de performance considerável. Cada operação que constitui uma transação pode ser mantida em memória (gerenciada por paginadores, cache managers, etc) e registrada contra o log de transações, sendo gravada contra a base em intervalos de tempo pré-determinados. Quando terminado o intervalo, todos os efeitos da alterações mantidos em memória são gravados efetivamente contra a base, sem prejuízo do gerenciamento de lock em curso. A este "alarme" que permite disparar a efetivações contra a base chamamos syncpoint. Os syncpoints sincronizam log de transações, base de dados e memória. 2. ARQUITETURAS DE DISTRIBUIÇÃO DE DADOS Há, na teoria, 2 arquiteturas básica de Bancos de Dados no que se refere à distribuição dos dados: -Centralizados: os dados encontram-se sob um único gerenciamento, possivelmente no mesmo equipamento, podendo ser acessados por equipamentos localizados à distância; -Distribuídos: Os dados encontram-se sob gerenciamento distribuído, possivelmente em equipamentos separados por qualquer distância, ligados por meios de comunicação de dados. Cada unidade è autônoma no que se refere a seus próprios dados, podendo acessá-los independentemente de haver conexão ativa com as demais. Isto é, por exemplo, o caso de uma agência bancária que armazena os dados de seus clientes: para acessá-los localmente ela não depende ( de fato, não pode depender) das demais agências, ou se a comunicação com a matriz está no ar ou não. A distribuição dos dados deve ser efetiva: acessar os dados dos clientes locais não pode de forma alguma depender do acesso a outros equipamentos que não sejam o servidor de dados local. No entanto, dados de outras agências também devem estar disponíveis, sendo transparente para o usuário final onde efetivamente se encontra o dado requisitado. Esta questão abre uma discussão sobre alguns aspectos: -Se uma agência precisa consultar, por exemplo, um dicionário master de toda a rede, para descobrir que finalmente os dados que precisa são locais, este BD pode ser considerado distribuído, especialmente se este master se encontra em outro equipamento à distância? -Se o master vier a ter algum problema, todas as agências deixam de ter inclusive acesso a seus próprios dados. Isto pode acontecer em um BD distribuído? Estes são pontos cruciais sobre os quais se focalizam as querelas entre fornecedores de BD centralizados e distribuídos. O fato é que, enquanto não há uma palavra final dos organismos internacionais de padronização sobre o que é totalmente distribuído e o que não é, fornecedores diversos têm adotado uma filosofia alternativa que se não atende a todas as necessidades da distribuição completa dos dados, auxilia na obtenção de algumas vantagens que antes só eram alcançadas através desta distribuição: o processamento distribuído sobre dados centralizados, mais presente hoje na forma clientserver ou cliente servidor. Na forma tradicional de processamento à distância sobre dados distribuídos, todos os equipamentos eram considerados terminais da máquina principal ou host. Isto, na maioria das vezes queria dizer que remotamente, através de modem, linha privada ou discada, redes de pacotes, etc., 4

5 5 obtinha-se um terminal a mais, ainda que funcionando a uma velocidade de comunicação inferior aos terminais locais. Tecnologicamente, as formas de comunicação de dados sofreram um avanço considerável pelo uso de protocolos mais rápidos e confiáveis, bem como pela melhoria de equipamentos de comunicação e meios de transmissão, especialmente a fibra óptica. Isto resolveu o problema da velocidade de comunicação host-terminal. Subsistia o problema da sobrecarga de processamento, cada terminal a mais conectado ao host tendia a degradar a performance global do equipamento. A filosofia cliente-servidor foi a alternativa encontrada para este problema. Passou-se a adotar uma forma de processamento realmente distribuído, no qual ao invés de se ligar terminais diretamente sobre o host, ligam-se a servidores de processamento, que conectados ao host, agora chamado servidor de dados, tornam-se clientes de dados armazenados no servidor. Assim, cada servidor de processamento dá aos usuários dos terminais ligados a ele a impressão de que os dados estão efetivamente armazenados nele. De fato, esta é a impressão que a máquina servidora de processamento tem de si própria, embora ela seja um cliente dos dados do servidor de dados. Como resultado, todo o processamento dos terminais é feito pelo cliente, que requisita ao servidor somente os dados necessários ao processamento. Reduz-se assim, a quantidade de canais de comunicação necessários entre o antigo host e os terminais, passando a existir canais entre o host, agora chamado servidor, e as máquinas clientes. Numa palavra final, permanecem centralizados os dados, mas distribui-se o processamento. 2.1 TWO-PHASE COMMIT Uma das principais características, e também das que apresentam maior dificuldade de implementação plena, para BD distribuídos é o COMMIT de duas fases ou two-phase commit (TPC). Imagine uma transação sobre um banco de dados distribuído que atualize tabelas de 3 ou 4 máquinas. O que aconteceria à transação se uma das máquinas que teve alguma tabela já atualizada saísse do ar enquanto a transação prosseguia até certo ponto quando então um rollfoward fosse solicitado por qualquer razão? Ao tentar desfazer a parte da transação ocorrida sobre o equipamento em falha poderia acontecer de não serem revertidos os efeitos da transação sobre os dados daquele equipamento, mas dos demais sim. Isto colocaria o banco numa situação de exceção, ou erro transacional, ou ainda de falha da integridade transacional. Para evitar este problema, e da mesma forma garantir que quando uma transação emita um COMMIT, todos os gerenciadores envolvidos efetuem as partes da transação com que estão envolvidos, faz-se necessário emitir um COMMIT para cada gerenciador. A transação só será efetivamente "commitada" no caso de todos os gerenciadores envolvidos responderem OK à solicitação. 3. SISTEMA GERENCIADOR DE BANCO DE DADOS (recapitulação BD) 3.1 CONCEITO (Sistema Gerenciador de Banco de Dados) - É um programa que gerencia e mantém listas de informações. Os dados armazenados em um banco de dados podem ser imaginados como uma população de informação. Nesse caso, a população não representa apenas um grupo de pessoas que vive na mesma área geográfica, mas qualquer grupo ou classe de itens ou objetos que podemos definir. Ao criarmos um banco, a população na qual estamos interessados é aquela que precisamos rastear, e que se torna a base dos dados. 5

6 6 Para armazenar os dados em disco, o DBMS tem de fornecer algum tipo de serviço de definição de dados, a fim de definir os registros e os campos. Precisa, ainda, de um mecanismo interno para manter os dados no disco e para saber onde está cada elemento em particular. 3.2 Aplicativo de Banco de Dados São programas que permite restaurar, visualizar e atualizar as informações armazenadas pelo DBMS. Domínio É a categoria e o tipo dos elementos permitidos em um campo particular. Ex: nome : A..Z, a..z Modelos de DBMS - Sistema de Gerenciamento de arquivos; - Sistema de Banco e Dados Hierárquico - Sistema de Banco de Dados de Rede; - Banco de Dados Relacional; 4. SQL 4.1 Histórico Entre 1974 e 1979, o San José Research Laboratory da IBM desenvolveu um SGDB relacional que ficou conhecido como Sistema R. Para a criação e acesso aos dados foi adotada uma linguagem chamada SEQUEL, mais tarde rebatizada SQL (Structured Query Language). Embora a query em sua definição, a SQL foi projetada de forma a permitir que além de consultas (queries), inserções, alterações e deleções fossem feitas, além da própria criação das tabelas e campos. Dividiu-se a SQL então em duas partes: DDL -DDL: Data Description Language (Linguagem de Descrição de Dados); -DML: Data Manipulation Language (Linguagem de Manipulação de Dados). A DDL, uma parte muito pequena da SQL, permite a criação e manutenção do dicionário de dados. O dicionário de dados contém a definição de cada tabela, de cada campo, enfim, contém a definição da base de dados propriamente dita. Em outras palavras, o dicionário de dados guarda dados sobre os dados. Embora existam algumas outras construções, a mais importante das construções da DDL é a destinada a criação de tabelas. Por exemplo, a sentença para a criação das tabelas funcionário, cidade, e setor, poderia ser como segue: Adotada como padrão mundial pela ISSO em 1987, é uma linguagem exclusiva de banco de dados Cliente/Servidor; 6

7 7 Não dispõe dos seguinte recursos: - Repetição e desvio; - Comandos para manipulação de telas e impressão de relatórios; Os Fabricantes de SGBD podem expandir a linguagem SQL padrão ANSI, desde que os comandos básicos sejam aceitos. CREATE TABLE funcionário (matrfunc NUMBER(5) NOT NULL, nomefunc CHAR(40), cdsetfunc NUMBER(3), ruanofunc CHAR (40), bairrofunc CHAR(15), cdcidfunc NUMBER(5), salrfunc NUMBER (11,2); DML É a parte mais ampla da SQL. Permite pesquisar, alterar, incluir e deletar dados da base de dados. São quatro as sentenças mais importantes da DML: -SELECT: permite a pesquisa de dados; -UPDATE: permite a atualização de dados; - DELETE: permite a deleção de dados; - INSERT: permite a inclusão de dados. 4.2 Comandos Básicos SELECT - Lista os atributos desejados como resultados de uma consulta; - Corresponde a operação de projeção da álgebra relacional; - Lista de atributos pode ser substituído por * ; From - Lista de relação a serem usados na execução da expressão; Where - São definidos critérios de pesquisa envolvendo atributos das relações definidas na cláusula from ; comando opcional; Order By - Especifica a seqüência de ordenação da tabela criada pela consulta; - Comando opcional; - Qualificador opcional : asc / desc. Select A1, A2,...,An From r1,r2,...rm Where P 7

8 8 Onde A são os campos a serem selecionados, R são as tabelas, e P é uma condição. Exemplos: 1- Selecionar todos os atributos de cada funcionário: SELECT * FROM funcionário; 2- Selecionar todos os atributos dos funcionários da cidade de Tubarão: SELECT * FROM funcionário WHERE cidafunc = Tubarão ; 3- Selecionar os nomes de todos os funcionários da cidade de Tubarão e salários maior que R$ 500,00 SELECT nomefunc FROM funcionário Where cidafunc = Tubarão and salafunc > 500; 4- Selecionar o nome e rua onde moram os funcionários com matrícula maior que 100 e cidade igual a 25: SELECT nomefunc, ruanofunc FROM funcionário WHERE cdcidfunc=25 AND matrfunc>100; 5- Selecionar o nome rua onde moram os funcionários com matrícula maior do que 100 e cidade igual a 25, ordenados por nome em ordem decrescente: SELECT nomefunc,ruanofunc FROM funcionário WHERE cdcidfunc=25 AND matrfunc>100 ORDER BY nomefunc DESC; 6- Selecionar para cada funcionário o seu nome e o de sua cidade: SELECT nomefunc, nomecid FROM funcionário, cidade WHERE cdcidfunc=cdcidade; Comandos de Comparação de Valores Between Faz uma pesquisa entre uma faixa de valores para um campo da tabela. 8

9 9 Not Between Faz uma pesquisa descartando uma faixa de valores. Exemplo Select * from funcionario where idadefunc between 18 and 30; Select * from funcionario where idadefunc not between 18 and 30; IN Consulta a presença de um campo em um conjunto de valores NOT IN Consulta a não presença de um campo em um conjunto de valores Exemplo: Select * from funcionario where cdcidfunc in ( 10, 20, 30,35); Like Compara a existência de uma caracter em uma determinada posição em uma string. _ Testa a existência de um caracter não nulo na posição; % representa qualquer seqüência de n caracteres. Not Like Compara a não existência de um caracter em uma determinada posição em uma string. Exemplo Select * From funcionario where nomefunc like Rudiney% Esta consulta traz todos os funcionários com primeiro nome Rudiney não importa o resto do nome. Select * From funcionario where nomefunc like %da Silva 9

10 10 Neste caso localiza todos os funcionários com sobrenome da Silva. Null Not Null Verifica se o valor do campo comparado é zero ou vazio; Verifica se o valor do campo comparado não é zero ou vazio; Exemplo: Select * From funcionario Where endereco is null; Exist Verifica se o resultado do cálculo da subconsulta representada por select * from Não é vazia. Select x from A Where exists (select * from B where y=x) O campo X da relação A será selecionado, se existir um elemento y=x na relação B. Exemplo Select * from alunos where exists (select * from alunos where curso_alu= CCP ); Not Exists Verifica se o resultado do calculo da subconsulta representada por Select * from é vazia. FUNÇÕES Count - Número de valores da coluna Sum - Soma dos valores da Coluna AVG - Média dos valores da Coluna Max - Maior valor da coluna Min - Menor valor da coluna Exemplo 10

11 11 Select max(idade), nim(idade) from alunos; Select avg(salario) From funcionario; Select nome From funcionario Where idade > (select avg(idade) From funcionario) Neste exemplo o comando SQL vai selecionar o nome dos funcionários com idade acima da média. GRUPO BY Forma grupos com as tuplas da tabela especificada na cláusula from, que possuem o mesmo valor no atributo especificado na cláusula grupo by; Para ter resultado em ordem, deve ser especificado também a clausula order by(após a clausula grupo by). Exemplo Select curso_alu, count(curso_alu) from alunos group by curso_alu; HAVING Having é para os grupos o que where é para as linhas. Em outras palavras, é utilizado para eliminar grupos, onde where é utilizado para eliminar linhas. Exemplo: Select curso_alu, avg(idade) from alunos group by curso_alu having avg(idade) > 18; 11

12 BANCO DE DADOS ORACLE - Conceitos Básicos LIMITES DO ORACLE RDBMS ITEM LIMITE Tabela na Base de dados Não há limites. Linhas por Tabelas Não há limites Colunas por tabelas 254 Indices por tabelas Não há limites Tabelas ou views joined em uma query Não há limites Niveis de ninho de subqueries 30 Caracteres em um nome 255 Colunas por índices 16 CRIANDO TABELAS Tipos de Dados(Datatypes) Char(n) Varchar2(n) Long Number(p,s) Raw Long Raw Date Tamanho Fixo, pode conter uma seqüência de 1 a 255 bytes alfanuméricos; Tamanho Variável, pode conter uma seqüência de 1 a 2000 bytes - alfanuméricos. Tamanho Variável até 2 Gigabytes alfanuméricos nota : só pode existir uma coluna long em cada tabela Numérico com sinal e ponto decimal, sendo precisão de 1 a 38 dígitos Binário - Variável até 255 bytes Binário - Variável até 2 gigabytes - imagem Data c/ hora, minuto e segundo COMANDO CREATE TABLE CREATE TABLE DEPT (DEPTNO NUMBER(2) NOT NULL, DNAME VARCHAR2(14), LOC VARCHAR2(13)); CREATE TABLE EMP (EMPNO NUMBER(4) NOT NULL, ENAME VARCHAR2(10), 12

13 13 JOB CHAR(9), MGR NUMBER(4), HIREDATE DATE, SAL NUMBER(7,2), COMM NUMBER(7,2), DEPTNO NUMBER(2) NOT NULL); INSERINDO DADOS EM TABELAS DESC DEPT; - lista os campos da tabela dept INSERT INTO DEPT VALUES (50, TESOURARIA', 'TUBARAO',1000); INSERT INTO DEPT(DNAME,DEPTNO) VALUES( CAIXA',60); 13

14 14 FUNÇÕES ARITMÉTICAS Funções Round ROUND(SAL,2) sal é arredondado para 2 casas apos o ponto decimal Trunc TRUNC(SAL,2) Sal é truncado para 2 dígitos após o ponto decimal. Mod Mod(sal,comm) Retorna o resto da divisão de sal/comm Power Power(sal,2) Retorna o sal elevado ao quadrado. Sign Sign(sal) Se SAL maior que O retorna +1 Se SAL menor que 0 retorna - 1 Se SaL igual a 0 retorna 0. SQRT SQRT(25) retorna a raiz quadrada de 25 OPERADORES ARITMÉTICOS +, -, *, / Select ename, sal, comm, sal+comm from emp where job = 'salesman'; Select ename, sal, comm from emp Where comm > 0.25 * sal Select ename, comm/sal, comm,sal from emp where job = 'Salesman' order by comm/sal asc; Select ename, sal, comm,12*(sal+comm) from emp where job = 'Salesman'; Select ename, sal, sal/22, round(sal/22,0), round(sal/22,2) from emp where emp where deptno = 30; 14

15 15 select ename, sal, sal/22, trunc(sal/22,0=, trunc(sal/22,2) from emp where deptno = 30; INCLUINDO NOVA COLUNA NA TABELA ALTER TABLE DEPT ADD (CCUSTO NUMBER(6)); ALTERANDO O TAMANHO DE UMA COLUNA ALTER TABLE DEPT MODIFY DNAME CHAR(20); CRIANDO VIEWS CREATE VIEWS MANEGERS AS SELECT ENAME, JOB, SAL FROM EMP WHERE JOB = 'MANAGER'; DELETANDO VIEWS DROP VIEWS MANAGERS; 15

16 16 ATUALIZANDO REGISTROS UPDATE EMP SET JOB='MANAGER' WHERE ENAME='MARTIN'; ATUALIZANDO VÁRIOS REGISTROS UPDATE EMP SET JOB='VENDEDOR' WHERE JOB='SALESMAN'; UPDATE EMP SET DEPTNO=40, JOB='SALESMAN' WHERE JOB='VENDEDOR'; DELETANDO LINHAS DAS TABELAS DELETE FROM EMP WHERE ENAME='MARTINS'; DELETE FROM DEPT WHERE DEPTNO=60; FUNÇÕES DE GRUPO AVG, COUNT, WHERE, MAX, MIN, SUM, STDDEV,VARIANCE Funções Exemplo Resultado AVG AVG(SAL) MADIA DO VALOR DE SAL COUNT COUNT(COMM) COUNT(*) CONTA NUMERO DE LINHAS COM COMM CONTA O NUMERO DE LINHAS CFE. WHERE COUNT(*) MAX MAX(SAL) MAIOR VALOR DE SAL. MIN MIN(SAL) MÍNIMO VALOR DE SAL. SUN SUM(SAL) SOMOTÓRIA DOS VALORES DE COMM STDDEV STDDEV(SAL) CÁLCULO DESVIO PADRÃO DA SAL. VARIANCE VARIANCE(SAL) CALCULA DA VARIANÇA DE SAL. UTILIZANDO FUNÇÕES DE GRUPO 1) SELECT DEPTNO, MAX(SAL) FROM EMP GROUP BY DEPTNO; 16

17 17 2) SELECT DEPTNO, SUM(SAL) FROM EMP GROUP BY DEPTNO; 17

18 18 FUNÇÕES DE DATA FUNÇÕES EXEMPLO RESULTADO ADD_MONTHS ADD_MONTHS(HIREDATE,5) ADICIONA 5 MESES NA DATA HIREDATE MONTHS_BETWEEN MONTHS_BETWEEN(HIRE DATE,SYSDATE) CALCULA O NÚMERO DE MESES BETWEEN ENTRE AS DATAS NEXT_DAY NEXT_DAY(HIREDATE,'FR IDAY') PROCURA UMA SEXTA- FEIRA APÓS HIREDATE LAST_DAY LAST_DAY(SYSDATE) RETORNA A DATA TOMANDO COMO PARAMETRO O 'FMT' TRUNC TRUNC(SYSDATE,FMT) TRUNCA A DATA PARA A PRIMEIRA DATA DO 'FMT' Funções de conversão Funções Exemplo Resultado TO_CHAR TO_CHAR(SYSDADE, YY ) CONVERTE COLUNAS DO TIPO NUMBER E DATA PARA CHAR. TO_DATE TO_DATE( 15/05/90, DD/MM/YY ) CONVERTE COLUNAS DO TIPO CHAR PARA O FORMATO DE DATA. TO_NUMBER TO_NUMBER(SUBSTR( $150,2,3)) CONVERTE AS 3 ULTIMAS (EM FORMATO CHAR) PARA MUMBER. Usando && para substituir variavel Usando o duplo &, você pode reusar uma variável sem colocar no prompt a cada vez. EX: Select empno, ename, job, &&_nome_da_coluna From emp Order by &column_name Resultado: Enter value for nome_da_coluna: deptno EMPNO ENAME JOB DEPTONO

19 King President Clark Manager INTEGRIDADE REFERENCIAL PRIMARY KEY CREATE TABLE FILIAL ( CD_EMPRESA NUMBER(6,0), CD_FILIAL NUMBER(4,0), CD_TIPO VARCHAR2(20), DT_CADASTRO DATE, CONSTRAINT PK_FILIAL PRIMARY KEY(CD_EMPRESA,CD_FILIAL)); INTREGRIDADE REFERENCIAL INTEGRIDADE No ORACLE 7 todas as regras de integridade de dados e entidade são definidos por objetos chamados CONSTRAINT. Que podem ser definidos quando da criação da tabela ou posteriori via camando ALTER TABLE. Os constraints suportados são : * NOT NULL * UNIQUE KEY * PRIMARY KEY * FOREIGN KEY * CHECK CONSTRAINTS IN-LINE Exemplo: CREATE TABLE EMPREGADO ( CD_EMPREGADO NUMBER (6,0) PRIMARY KEY, ); CONSTRAINTS OUT-OF-LINE Exemplo: 19

20 20 CREATE TABBLE EMPREGADO ( CD_EMPREGADO NUMBER (6,0) NOT NULL, CONSTRAINT PK_EMPREGADO PRIMARY KEY (CD_EMPREGADO) ); Nota : Quando o constraint for definido sem nome, o oracle define um nome para o mesmo - sys_c00n - onde n é um número seqüencial crescente. PRIMARY KEY CONSTRAINT Valor único que identifica cada linha da tabela. Exemplo: CREATE TABLE EMPRESA (... CONSTRAINT PK_EMPRESA PRIMARY KEY (CD_EMPRESA); CHECK CONSTRAINT As validações de colunas são feitas utilizando o CHECK CONSTRAINT. Exemplo: CREATE TABLE FILIAL ( CD_EMPRESA NUMBER (6,0) CONSTRAINT FK1_FILIAL REFERENCE EMPRESA (CD_EMPRESA), CD_FILIAL NUMBER (4,0) CONSTRAINT CK_FILIAL CHECK (CD_FILIAL BETWEEN 1 AND 9999) DISABLE, CD_TIPO VARCHAR2 (20) CONSTRAINT CK_TIPO_FILIAL CHECK (CD_TIPO IN ('MATRIZ', 'FILIAL', 'FABRICA')), DT_CADASTRO DATE, CONSTRAINT PK_FILIAL PRIMARY KEY (CD_EMPRESA, CD_FILIAL)); 20

21 21 FOREIGN KEY CONSTRAINT * Deve estar associada a uma primary key ou unique key definida anteriormente. * Pode assumir valor nulo ou igual ao da chave referenciada. * Não existe limite para um número de foreign keys. * Garante a consistência com a primary key referenciada. * Pode fazer referência a própria tabela. * Não pode ser criada para views, synonyns e remote table Exemplo: CONSTRAINT FK1_FILIAL FOREIGN KEY (CD_EMPRESA) REFERENCES EMPRESA (CD_EMPRESA) OU CONSTRAINT FK1_FILIAL FOREIGN KEY (CD_EMPRESA) REFERENCES EMPRESA CHECK CONSTRAINT As validações de colunas são feitas utilizando o CHECK CONSTAINT. Exemplo: Create table filial ( cd_empresa number(6,0) constraint fk1_filial references empresa (cd_empresa), cd_filial number(4,0) constraint ck_filial check (cd_filial between 1 and 9999) disable, cd_tipo varchar2(20) constraint ck_tipo_filial check (cd_tipo in ( matriz, filial, fabrica, )), dt_cadastro date, 21

22 22 constraint pk_filial primary key (cd_empresa, cd_filial)); DEFAULT SPECIFICATION Podemos atribuir valores default para colunas, visando facilitar a inserção de dados Create table filial ( cd_empresa number(6,0) constraint fk1_filial references empresa (cd_empresa), cd_filial number(4,0) constraint ck_filial check (cd_filial between 1 and 9999) disable, cd_tipo varchar2(20) constraint ck_tipo_filial check (cd_tipo in ( matriz, filial, fabrica, )), dt_cadastro date default sysdate, constraint pk_filial primary key (cd_empresa, cd_filial)); OBS: para ativar a constraint : alter table filial enable constraint fk_filial; DELETE CASCADE ACTION Opção a ser utilizada quando da definição do constraint foreing key, para que quando deletamos registros da tabela pai os registros da tabela filho sejam automaticamente deletados. Exemplo create table empregado (... cd_depto number(2) constraint fk1_emp_dept references departamento on delete cascade...); DELETANDO CONSTRAINT alter table filial drop constraint fk_filial; 22

23 23 6 PL/SQL 6.1. PORTABILIDADE Aplicações escritas em PL/SQL são portáveis para qualquer Máquina que rode ORACLE RDBMS com PL/SQL INTEGRAÇÃO COM RDBMS - Variáveis PL/SQL podem ser definidas a partir de definições das colunas das tabelas. - Redução de manutenção das aplicações, pois estas adaptam-se as mudanças da Base de Dados CAPACIDADE PROCEDURAL - Comandos de controle de fluxo, comandos de repetições e tratamentos de erros; 6.4. PRODUTIVIDADE - Desenvolvimento de Procedures e Triggers no Oracle Forms e Oracle Reports. - Desenvolvimento de Database Triggers, Procedures e Functions a nível do Banco de Dados 6.5 PRINCIPAIS CARACTERÍSTICAS- PL/SQL ESTRUTURA DE BLOCO DECLARE - Opcional Variaveis, cursores, exceptions definidas pelo usuário BEGIN - Obrigatório - SQL - PL/SQL EXCEPTION Opcional Ações que são executadas quando ocorem os erros END obrigatório BLOCO PL/SQL COM SUB-BLOCO DECLARE DEFINIÇÃO DE VARIÁVEIS BEGIN COMANDOS DECLARE DEFINIÇÃO DE VARIÁVEIS BEGIN 23

24 24 COMANDOS EXCEPTION TRATAMENTO DE ERROS END; Exemplo: Declare V_variavel varchar2(5); Begin Select nome_coluna Into v_variável From table_name; Exeption When exception_name Then... End; Obs: Sempre coloque um (;) no fim de SQL ou um PL/SQL. Tipos de Blocos Anonymous Procedure Function Declare Begin... Execption Procedure name is Begin... Execption End; Function name return datatype is Begin... Return value; Execption End; UTILIZA COMANDOS SQL SELECT, INSERT, UPDADE, DELETE, ROLLBACK, COMMIT, SAVAPOINT DECLARAÇÃO DE VARIÁVEIS E CONSTANTES DATATYPES MAIS UTILIZADOS CHAR VARCHAR2 INTERGER 24

DML. SQL (Select) Verificando estrutura da tabela

DML. SQL (Select) Verificando estrutura da tabela SISTEMAS DE INFORMAÇÃO BANCO DE DADOS 2 SQL (Select) PROF: EDSON THIZON DML É a parte mais ampla da SQL. Permite pesquisar, alterar, incluir e deletar dados da base de dados. São quatro as sentenças mais

Leia mais

PROCEDURES, FUNÇÕES, PL/SQL, CURSORES, VIEW, ÍNDICE e SEQUÊNCIA. Stored procedure PL/SQL. Procedimentos e Funções. Procedimento (procedure) Procedure

PROCEDURES, FUNÇÕES, PL/SQL, CURSORES, VIEW, ÍNDICE e SEQUÊNCIA. Stored procedure PL/SQL. Procedimentos e Funções. Procedimento (procedure) Procedure PROCEDURES, FUNÇÕES, PL/SQL, CURSORES, VIEW, ÍNDICE e SEQUÊNCIA Stored procedure Uma Stored procedure é um grupo de comandos SQL e PL/SQL que executam determinada tarefa e podem ser invocados por um nome.

Leia mais

SQL. Histórico BANCO DE DADOS. Conceito. Padrões de SQL (1) Componentes do SQL (1) Padrões de SQL (2) (DDL: CREATE TABLE, CONSTRAINTS)

SQL. Histórico BANCO DE DADOS. Conceito. Padrões de SQL (1) Componentes do SQL (1) Padrões de SQL (2) (DDL: CREATE TABLE, CONSTRAINTS) BANCO DE DADOS SQL (DDL: CREATE TABLE, CONSTRAINTS) Prof. Edson Thizon Histórico Entre 1974 e 1979, o San José Research Laboratory da IBM desenvolveu um SGDB relacional que ficou conhecido como Sistema

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

Oracle 10g: SQL e PL/SQL

Oracle 10g: SQL e PL/SQL Oracle 10g: SQL e PL/SQL PL/SQL: Visão Geral Enzo Seraphim Visão Geral Vantagens de PL/SQL Suporte total à linguagem SQL Total integração com o Oracle Performance Redução da comunicação entre a aplicação

Leia mais

Oracle PL/SQL Overview

Oracle PL/SQL Overview Faculdades Network Oracle PL/SQL Overview Prof. Edinelson PL/SQL Linguagem de Programação Procedural Language / Structured Query Language Une o estilo modular de linguagens de programação à versatilidade

Leia mais

Linguagem PL/SQL e Triggers

Linguagem PL/SQL e Triggers TECNOLOGIA DE BASES DE DADOS Linguagem PL/SQL e Triggers António Manuel Silva Ferreira UNIVERSIDADE DE LISBOA FACULDADE DE CIÊNCIAS DEPARTAMENTO DE INFORMÁTICA asfe@di.fc.ul.pt Sumário Linguagem PL/SQL

Leia mais

Tratamento de Exceções

Tratamento de Exceções Tratamento de Exceções Laboratório de Bases de Dados Tratamento de Exceções Exceções erros e imprevistos que podem ocorrer durante a execução de um bloco PL/SQL SGBD ao encontrar um erro ou um imprevisto,

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

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

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

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

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

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

Leia mais

SQL é 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

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

INTRODUÇÃO AO PL/SQL

INTRODUÇÃO AO PL/SQL INTRODUÇÃO AO PL/SQL ALEX JOSE SILVA RECIFE/2015 Índice Introdução Ao Pl/Sql...3 Entendendo a linguagem...4 Principais características da linguagem PL/SQL...5 Blocos de código...5 Declaração de variáveis...5

Leia mais

Laboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL

Laboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL Laboratório de Banco de Dados Prof. Luiz Vivacqua PL/pgSQL A Linguagem de programação do PostgreSQL 1) Visão Geral A PL/pgSQL é uma linguagem de programação procedural para o Sistema Gerenciador de Banco

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

Create Sequence Cria uma sequence. Uma sequence é um objeto que permite vários usuários gerarem valores inteiros sem repetição.

Create Sequence Cria uma sequence. Uma sequence é um objeto que permite vários usuários gerarem valores inteiros sem repetição. Conceitos PL/Sql Create Sequence Cria uma sequence. Uma sequence é um objeto que permite vários usuários gerarem valores inteiros sem repetição. Sintaxe CREATE SEQUENCE [schema.]sequence [INCREMENT BY

Leia mais

PL/pgSQL por Diversão e Lucro

PL/pgSQL por Diversão e Lucro PL/pgSQL por Diversão e Lucro Roberto Mello 3a. Conferência Brasileira de PostgreSQL - PGCon-BR Campinas - 2009 1 Objetivos Apresentar as partes principais do PL/pgSQL Apresentar casos de uso comum do

Leia mais

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

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

Leia mais

SQL Gatilhos (Triggers)

SQL Gatilhos (Triggers) SQL Gatilhos (Triggers) Laboratório de Bases de Dados Gatilho (trigger) Bloco PL/SQL que é disparado de forma automática e implícita sempre que ocorrer um evento associado a uma tabela INSERT UPDATE DELETE

Leia mais

Logado no OracleXE vamos acessar a opção:

Logado no OracleXE vamos acessar a opção: Tutorial PL/SQL O PL/SQL é uma linguagem procedural que roda diretamente no núcleo do SGBD Oracle. O objetivo deste tutorial é mostrar a criação de funções e procedimentos em PL/SQL, interagindo com comandos

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

PL/pgSQL. Introdução. Introdução. Introdução

PL/pgSQL. Introdução. Introdução. Introdução Introdução PL/pgSQL Banco de Dados II Prof. Guilherme Tavares de Assis PL/pgSQL (Procedural Language for the PostgreSQL) é uma linguagem procedural carregável desenvolvida para o SGBD PostgreSQL, que possui

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

PL/SQL. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Laboratório de Bases de Dados PL/SQL

PL/SQL. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Laboratório de Bases de Dados PL/SQL PL/SQL Laboratório de Bases de Dados PL/SQL Program Language SQL linguagem de programação da Oracle que permite processar dados armazenados no banco de dados Exemplos de operações permitidas alterar, remover,

Leia mais

Banco de Dados II. Introdução Revisão - normalização -modelagem - sql básico

Banco de Dados II. Introdução Revisão - normalização -modelagem - sql básico Banco de Dados II Introdução Revisão - normalização -modelagem - sql básico Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com

Leia mais

Integridade dos Dados

Integridade dos Dados 1 Integridade dos Dados Integridade dos Dados Melissa Lemos melissa@inf.puc-rio.br A integridade dos dados é feita através de restrições, que são condições obrigatórias impostas pelo modelo. Restrições

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

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

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

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

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

Leia mais

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br BANCO DE DADOS info 3º ano Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br Na última aula estudamos Unidade 4 - Projeto Lógico Normalização; Dicionário de Dados. Arquitetura

Leia mais

FAPLAN - Faculdade Anhanguera Passo Fundo Gestão da Tecnologia da Informação Banco de Dados II Prof. Eder Pazinatto Stored Procedures Procedimento armazenados dentro do banco de dados Um Stored Procedure

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

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

PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger

PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger A tecnologia de banco de dados permite persistir dados de forma a compartilha-los com varias aplicações. Aplicação 1 aplicação 2 aplicação 3 SGDB Banco

Leia mais

António Rocha Nuno Melo e Castro

António Rocha Nuno Melo e Castro António Rocha Nuno Melo e Castro !"#$ Excepção: condição de erro; quando ocorre o erro é levantada uma excepção que interrompe o fluxo normal de execução do programa e o direcciona para uma rotina de tratamento

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

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

Unidade III - BD Relacional

Unidade III - BD Relacional Structured Query Language (SQL) Conceitos Iniciais Álgebra Relacional - muito formal Cálculo Relacional de Tupla SEQUEL (Structured English QUEry Language) IBM - Sistema R SQL-86 SQL-92 SQL-3 102 Structured

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

Banco de Dados - Senado

Banco de Dados - Senado Banco de Dados - Senado Structured Query Language (SQL) Material preparado :Prof. Marcio Vitorino Ambiente Simplificado de um SGBD 2 Características dos SGBDs Natureza auto-contida de um sistema de 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

Sistemas de Informação

Sistemas de Informação Sistemas de Informação Rules and Triggers André Restivo Sistemas de Informação 2006/07 Rules e Triggers Nem todas as restrições podem ser definidas usando os mecanismos que estudamos anteriormente: - CHECK

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

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

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

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

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

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

Leia mais

TRANSAÇÃO. Reconstrução ( recovery ) BANCO DE DADOS 2. Tipos de falhas (1) Tipos de falhas (2) Princípios

TRANSAÇÃO. Reconstrução ( recovery ) BANCO DE DADOS 2. Tipos de falhas (1) Tipos de falhas (2) Princípios BANCO DE DADOS TRANSAÇÃO Reconstrução ( recovery ) Idéia básica Em algum momento no tempo, todo sistema computacional apresentará uma falha. Prof. Edson Thizon O SGBD deve incorporar mecanismos de proteção

Leia mais

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

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso): TRANSAÇÕES 1. Visão Geral Uma transação é uma unidade lógica de trabalho (processamento) formada por um conjunto de comandos SQL cujo objetivo é preservar a integridade e a consistência dos dados. Ao final

Leia mais

UNISA Universidade de Santo Amaro. http://www.unisa.br. Material de Estudo. Módulo I: Básico Banco de dados SQL Server. http://www.unisa-sis.

UNISA Universidade de Santo Amaro. http://www.unisa.br. Material de Estudo. Módulo I: Básico Banco de dados SQL Server. http://www.unisa-sis. UNISA Universidade de Santo Amaro http://www.unisa.br Material de Estudo Módulo I: Básico Banco de dados SQL Server http://www.unisa-sis.info Junho/2010 Objetivo do Workshop Compartilhar e apresentar

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

BANCO DE DADOS Parte 4

BANCO DE DADOS Parte 4 BANCO DE DADOS Parte 4 A Linguagem SQL Introdução Desenvolvida pelo depto de pesquisa da IBM na década de 1970 (System R) Linguagem padrão de BD Relacionais; Apresenta várias padrões evolutivos: SQL86,

Leia mais

S Q L 31/03/2010. SQL - Structured Query Language Linguagem de Consulta Estruturada

S Q L 31/03/2010. SQL - Structured Query Language Linguagem de Consulta Estruturada Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Robson Fidalgo SQL SQL - Structured Query Language Linguagem de Consulta Estruturada Apesar do QUERY no nome, não é apenas de consulta,

Leia mais

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

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

Leia mais

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

Structured Query Language (SQL)

Structured Query Language (SQL) Structured Query Language (SQL) SQL-Breve Histórico : # CREATE, ALTER e DROP; # BEGIN TRANSACTION, ROLLBACK e COMMIT; # GRANT, REVOKE e DENY; 1 Structured Query Language (SQL) Desenvolvida pelo departamento

Leia mais

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

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

Leia mais

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

Structured Query Language (SQL)

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

Leia mais

SQL DDL Criando Tabelas e Restrições

SQL DDL Criando Tabelas e Restrições SQL DDL Criando Tabelas e Restrições Fernanda Baião UNIRIO Material parcialmente extraído a partir das notas de aula de Maria Luiza M. Campos, Arnaldo Rocha e Maria Cláudia Cavalcanti Comandos de Definição

Leia mais

SQL Procedural. Josino Rodrigues Neto josinon@gmail.com

SQL Procedural. Josino Rodrigues Neto josinon@gmail.com SQL Procedural Josino Rodrigues Neto josinon@gmail.com SQL Procedural Agregada em SQL-92 As ferramentas têm nomes para suas linguagens SQL procedurais/embutidas Oracle : PL/SQL Postgres PL/Pgsql SQL Server

Leia mais

Para criar uma procedure. Uma procedure é um grupo de comandos PL/SQL que realizam uma tarefa. OR REPLACE Recria a procedure se esta já existir.

Para criar uma procedure. Uma procedure é um grupo de comandos PL/SQL que realizam uma tarefa. OR REPLACE Recria a procedure se esta já existir. GERENCIANDO DADOS E CONCORRÊNCIA Pl/SQL PL/SQL significa "Procedural Language extensions to SQL". O PL/SQL pode ser usado em bancos de dados Oracle, no Oracle Server, em ferramentas clientes, isto é, Oracle

Leia mais

Oracle 10g Dicas de PL/SQL. Conteúdo

Oracle 10g Dicas de PL/SQL. Conteúdo Oracle 10g Dicas de PL/SQL Conteúdo Objetivos... 2 Comentários... 2 Declarações... 2 Conversões de variáveis... 2 DDL Criar, alterar ou apagar tabelas Create, Alter or Drop table... 3 Restrições na criaçã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

Linguagem SQL. Bancos de Dados II Linguagem SQL

Linguagem SQL. Bancos de Dados II Linguagem SQL Linguagem SQL Bancos de Dados II Linguagem SQL SQL - Principais conceitos Machado cap.14 Introdução Importância da linguagem SQL; 1970 - Fundamentada no modelo relacional de CODD; 1974 1ª versão - SEQUEL

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

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

MER e Conceitos gerais

MER e Conceitos gerais MER e Conceitos gerais IBGE 1)O Modelo de Entidades Relacionamentos, segundo Paulo Cougo, descreve o mundo como:... cheio de coisas que possuem características próprias e que se relacionam entre si. Essas

Leia mais

S Q L 15/01/2013. Enfoques de SQL. Enfoques de SQL SQL. Usos de SQL. SQL - Origem/Histórico. Gerenciamento de Dados e Informação

S Q L 15/01/2013. Enfoques de SQL. Enfoques de SQL SQL. Usos de SQL. SQL - Origem/Histórico. Gerenciamento de Dados e Informação Enfoques de SQL Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Valeria Times Bernadette Loscio Linguagem interativa de consulta (ad-hoc): usuários podem definir consultas independente

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

SQL92 DDL( RIS, ACTUALIZAÇÕES E VISTAS) DML (QUERIES, SUBQUERIES,JUNÇÕES, E OPERAÇÕES SOBRE CONJUNTOS)

SQL92 DDL( RIS, ACTUALIZAÇÕES E VISTAS) DML (QUERIES, SUBQUERIES,JUNÇÕES, E OPERAÇÕES SOBRE CONJUNTOS) SQL92 DDL( RIS, ACTUALIZAÇÕES E VISTAS) DML (QUERIES, SUBQUERIES,JUNÇÕES, E OPERAÇÕES SOBRE CONJUNTOS) SQL SQL, é uma linguagem de programação que foi desenvolvida para questionar bases de dados relacionais

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

SQL (Structured Query Language)

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

Leia mais

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

Pedro F. Carvalho OCP Oracle 2008.2 10g LINGUAGEM SQL. www.pedrofcarvalho.com.br contato@pedrofcarvalho.com.br São José do Rio Preto

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

Leia mais

4.6. SQL - Structured Query Language

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

Leia mais

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

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

Monitoria GDI Aula Prática. DML + PL/SQL parte 1

Monitoria GDI Aula Prática. DML + PL/SQL parte 1 Monitoria GDI Aula Prática DML + PL/SQL parte 1 DML linguagem de manipulação de dados SQL Estrutura básica de uma consulta SQL SELECT Coluna1[,Coluna2[,Coluna3[,...]]] FROM Tabela1[,Tabela2[,...]] WHERE

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

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

PROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger

PROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger PROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger a tecnologia de banco de dados permite persistir dados de forma a compartilha-los com varias aplicações. Aplicação 1 aplicação 2 aplicação 3 SGDB Banco

Leia mais

SQL (Linguagem de Consulta Estruturada)

SQL (Linguagem de Consulta Estruturada) SQL (Linguagem de Consulta Estruturada) M.Sc. Cristiano Mariotti mscmariotti@globo.com Introdução à SQL 1 Visão Geral Introdução Comandos de Definição de Dados Comandos de Manipulação de Dados Introdução

Leia mais

SQL Structured Query Language. SQL Linguagem de Definição de Dados. SQL Structured Query Language. SQL Structured Query Language

SQL Structured Query Language. SQL Linguagem de Definição de Dados. SQL Structured Query Language. SQL Structured Query Language Pós-graduação em Ciência da Computação CCM-202 Sistemas de Banco de Dados SQL Linguagem de Definição de Dados Profa. Maria Camila Nardini Barioni camila.barioni@ufabc.edu.br Bloco B - sala 937 2 quadrimestre

Leia mais

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

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela Certamente você já ouviu falar muito sobre triggers. Mas o quê são triggers? Quando e como utilizá-las?

Leia mais

SQL e PL/SQL Oracle Dicas de preparação para certificação

SQL e PL/SQL Oracle Dicas de preparação para certificação - 1 - SQL e PL/SQL Oracle Dicas de preparação para certificação Selection: para escolher linhas em uma tabela Projection: para escolher colunas em uma tabela Join: pode trazer simultaneamente dados que

Leia mais

Apostila do Minicurso de PL/SQL. François Oliveira

Apostila do Minicurso de PL/SQL. François Oliveira Apostila do Minicurso de PL/SQL François Oliveira PL/SQL é uma extensão para SQL ela adiciona a linguagem procedural ao SQL do Oracle. Ela oferece modernas características como sobrecarga, coleções, tratamento

Leia mais

Introdução ao SQL Avançado

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

Leia mais

Formação em Banco de Dados. Subtítulo

Formação em Banco de Dados. Subtítulo Formação em Banco de Dados Subtítulo Sobre a APTECH A Aptech é uma instituição global, modelo em capacitação profissional, que dispõe de diversos cursos com objetivo de preparar seus alunos para carreiras

Leia mais

Bases de Dados 2012/2013 Restrições de Integridade em SQL. Helena Galhardas 2012 IST. Bibliografia

Bases de Dados 2012/2013 Restrições de Integridade em SQL. Helena Galhardas 2012 IST. Bibliografia Bases de Dados 2012/2013 Restrições de Integridade em SQL Helena Galhardas Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 3 e 5 1 1 Sumário Restrições de Integridade (RIs) em SQL Chave

Leia mais

Banco de Dados I. Linguagem de Consulta (parte I) DDL DML

Banco de Dados I. Linguagem de Consulta (parte I) DDL DML Banco de Dados I Linguagem de Consulta (parte I) DDL DML Linguagem de Consulta:SQL contéudo Structured Query Language Originalmente SEQUEL Structured English Query Language Projeta e Implementada pela

Leia mais

SQL - Structured Query Language

SQL - Structured Query Language SQL - Structured Query Language Pág.: 2/48 SUMÁRIO ARQUITETURA CLIENTE/SERVIDOR... 4 BANCOS DE DADOS BASEADOS NA ARQUITETURA CLIENTE/SERVIDOR... 4 VANTAGENS DA TECNOLOGIA CLIENTE/SERVIDOR... 5 SEPARAÇÃO

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

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