4326: Transact SQL com Microsoft SQL Server TM 2005

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

Download "4326: Transact SQL com Microsoft SQL Server TM 2005"

Transcrição

1 Nome Número: Série 4326: Transact SQL com Microsoft SQL Server TM 2005 Elementos da sintaxe T-SQL Competências: Compreender a arquitetura cliente-servidor, aplicando-as em bancos de dados; Habilidades: Implementar as estruturas modeladas usando banco de dados; Bases Tecnológicas: Ambientes/ferramentas de gerenciamento de bancos de dados. Descrição: Analizar como a arquitetura cliente/servidor funciona, e examinar vários bancos de dados e regras de negócio que podem ser usadas com os componentes Microsoft SQL Server Também serão executadas consultas com bancos de dados SQL Server 2005 usando as ferramentas de consulta T-SQL, abordando o básico da linguagem T-SQL, sua sintaxe e como administrar scripts T- SQL. Este curso também prepara o aluno para obter a certificação no exame T-SQL é usado naturalmente para escrever consultas e não está limitada a DML, DDL e DCL. T-SQL consiste em vários elementos sintáticos como operadores, funções, variáveis, expressões e declarações condicionais. Esses elementos sintáticos ajudam a fazer transações e consultas no banco de dados. Tipos de operadores Os operadores especificam uma ação a ser executada em uma ou mais expressões. SQL Server 2005 suporta várias categorias de operadores como os aritméticos, os de comparação, os de String e concatenação, os lógicos e os binários. Esses operadores são executados em uma ordem de precedência, de um nível maior para um menor. Veja a seguir os operadores e suas funções: Operadores Aritméticos Operadores aritméticos executam operações matemáticas em duas expressões com dados que pertencem a cadegoria de dados numéricos. Observe: 1

2 Tipo de Operação Operador + Soma - Subtração * Multiplicação / Divisão % Módulo Tabela 1 - Operadores Aritméticos Obs: + e também podem ser usados para operações com valores datetime e smalldatetime. Operadores de comparação Os operadores de comparação são usados para comparar duas expressões. Estes operadores podem ser usados em todas as expressões, exceto text, ntext e image. Observe os operadores de comparação suportados pelo T-SQL: Tipo de Operador Operação = Igual > Maior que < Menor que >= Maior ou igual a <= Menor ou igual a <> Diferente Tabela 2 - Operadores de comparação. Obs: Os operadores de comparação!=,!< e!> devem ser evitados pois não obedecem ao padrão ANSI SQL-92. Operadores de string e concatenação O operador de string e concatenação é o + que permite concatenar texto. Operadores Lógicos Operadores lógicos testam se uma condição é verdadeira e retora um valor booleano, verdadeiro, falso ou desconhecido. Os operadores lógicos suportados pelo T-SQL são os listados a seguir: Tipo de Operador ALL Operação Retorna verdadeiro se todas as 2

3 AND ANY BETWEEN EXISTS IN LIKE NOT OR SOME expressões de uma condição forem verdadeiras; Retorna verdadeiro se ambas as expressões de uma condição forem verdadeiras; Retorna verdadeiro se uma das expressões de uma condição forem verdadeiras; Retorna verdadeiro se o valor estivar entre os limites definidos na expressão; Retorna verdadeiro se uma sub-consulta tiver ao menos uma linha; Retorna verdadeiro se o valor for igual a um dos valores da expressão contida em uma lista; Retorna verdadeiro se o valor tiver um par correspondente; Retorna o oposto do valor de uma expressão booleana; Retorna verdadeiro se uma das expressões booleanas são verdadeiras; Retorna verdadeiro se uma de uma lista de comparações for verdadeira; Tabela 3 - Operadores Lógicos. Operadores binários Os operadores binários efetuam manipulações de bit entre duas expressões de tipos de dados que pertencem a categiria integer ou string binary. Entretanto, o tipo de dado image de uma categoria string binary não é suportado. A seguir os operadores suportados pelo T-SQL: Tipo de Operador & ^ Operação (e binário): Usado para operações e binárias de dois valores inteiros; (ou binário): Usado para operações de ou binário de dois valores inteiros; (ou exclusivo binário) Usado para operações de ou exclusivo binário de dois valores inteiros. Tabela 4 - Operadores binários. Os operadores são organizados em uma ordem hierarquica de precedência. É possível escrever uma operação complexa que usa multiplos operadores. Será possível observar que a ordem de precedência irá determinar a seqüência em que as operações são executadas. A ordem de execução pode afetar significativamente o valor dos 3

4 resultados. Também é possível que sejam escritas expressões com operadores que estejam no mesmo nível de prescedência e neste caso eles serão avaliados da esquerda para a direita, na ordem em que aparecem na expressão. Observe a ordem de prescedência dos operadores na tabela a seguir: Nível Operadores 1 + (positivo), - (negativo) e ~ (não binário) 2 * (multiplicação), / (divisão) e % (módulo) + (soma e concatenação), - (subtração) e & (e 3 binário) =, <, >, <=, >=, <>,!=,!>,!< (operadores de 4 comparação) 5 ^ (ou exclusivo binário) e (ou binário) 6 NOT 7 AND 8 ALL, ANY, BETWEEN, IN, LIKE, OR e SOME 9 = (Atribuição) Tabela 5 Ordem de precedência de operadores Ordem de precedência de operadores Quando uma expressão complexa tem multiplos operadores a precedência de operadores determina a sequencia em que as operações serão executadas. É importante lembrar que a ordem de execução pode afetar os resultados de maneira significativa. Quando dois operadores em uma expressão tiverem a mesma ordem de precedência, eles serão avaliados da esquerda para a direita com base na posição em que aparecem na expressão. Por exemplo na expressão usada a seguir, o operador de subtração é avaliado antes do de adição. int /*Avalia (5-3) que é 2, depois avalia (4 + 2) que é 6 e avalia 2 * 6, que resulta em 12*/ = 2 * (4 + (5-3)) /*Avalia NOT > 12 = 0) o que resulta em verdadeiro e = 12 que é verdadeiro, portanto as duas expressõs são verdadeiras, logo a "Primeira expressão será verdadeira!" */ = 12 AND NOT > 12 = 0) BEGIN PRINT 'Primeira condição é Verdadeira!' END ELSE 4

5 BEGIN PRINT 'Primeira condição é Falsa!' END /* = 0 que é falso, depois avalia > 12 o que é verdadeiro finalmente avalia, da esquerda para a direita as expressões com AND o que resulta em falso*/ = 12 AND > 12 = 0 BEGIN PRINT 'Primeira condição é Verdadeira!' END ELSE BEGIN PRINT 'Primeira condição é Falsa!' END Obs: Se uma expressão tem parênteses aninhados, os parênteses mais internos são avaliados primeiro. Funções nativas SQL Server Funções são elementos cuja sintaxe exige zero, um ou mais valores de entreda e retornam um valor escalar ou uma lista de valores. Em SQL Server 2005, as funções deterministras sempre retornam o mesmo resultado para uma lista específica de valores de entrada. Funções não deterministas retornam valores diferentes quando são chamadas repetidas vezes com os mesmos valores de entrada. As funções SQL também podem ser categorizadas com base nos tipos de entradas que a função aceita. Funçõs de String Usadas para executar operações com caracteres e strings binárias. SUBSTRING: Retorna a parte de uma string. Exemplo USE AdventureWorks; -- Seleciona Christ de Christopher SELECT SUBSTRING(FirstName, 1, 6) AS [Primeiro Nome] FROM Person.Contact WHERE ContactID = 17870; versa. UPPER e LOWER: Converte um caractere minúsculo em maiúsculo e vice 5

6 Exemplo USE AdventureWorks; -- Seleciona HUNTER de Hunter SELECT UPPER(FirstName) AS 'Primeiro Nome' FROM Person.Contact WHERE ContactID = 5276; STUFF: Apaga um tamanho específico de caracteres e insere outros em um local específico. LTRIM: Elimina os primeiros espaços de uma string. RTRIM: Remove os espaços finais em uma string. REPLACE: Substitue todas as ocorrências de uma string específica em uma dada string por outra. Funções de Data/Hora Essas funções efetuam operações com entradas de data e hora e retornam uma string, um valor do tipo número ou um valor do tipo data e hora. sistema. GETDATE: Função não determinista que retorna a data e hora corrente no DATEDIFF: Função determinista que retorna um número que representa a diferença entre duas datas específicas. Exemplo: USE ADVENTUREWORKS; -- Diferença entre a data em que foi feito o pedido e a data atual. SELECT DATEDIFF(MONTH, OrderDate, GETDATE()) AS 'Tempo em Meses' FROM Sales.SalesOrderHeader WHERE SalesOrderID = 43660; DATEADD: Função determinista que retorna uma nova data/hora baseado na adição de uma intervalo a uma data especifica. Exemplo USE ADVENTUREWORKS; 6

7 -- Alocação de funcionário por três anos. SELECT DATEADD(YEAR, 3, HireDate) AS '3 Anos de Alocação' FROM HumanResources.Employee WHERE EmployeeID = 30; DATEPART: Função determinista exceto quando usada como DATEPART (dw, date). Onde dw, é o dia da semana, dependendo do valor de SET DATEFIRST, que define o primeiro dia da semana. Retorna um número inteiro que representa a data especificada. Exemplo USE ADVENTUREWORKS; -- Dia do aniversário do funcionário 20. SELECT DATEPART(DAY, BirthDate) AS 'Dia do Aniversário' FROM HumanResources.Employee WHERE EmployeeID = 20; DATENAME: Função não determinista que retorna um caractere ou string que representa a data especificada. DAY, MONTH, e YEAR: Função determinista que retorna um inteiro que representa o dia, mês ou ano, respectivamente. GETUTCDATE: Função não determinista que retorna o valor de data e hora que representa a hora atual universal do merediano de Greenwich UTC (Coordinated Universal Time ou Greenwich Mean Time). Funções Matemáticas Funções matemáticas executam operações matemáticas com expressões numéricas e retornam o resultado da operação. Elas também incluem funções trigonométricas. ABS: Retorna o valor absoluto, valor positivo de um número. Exemplo -- Usando ABS. SELECT ABS(-1.0), ABS(0.0), ABS(1.0); COS e SIN: Retorna o cosseno e o seno de um dado ângulo, respectivamente. 7

8 POWER: Retorna o valor de uma potência específica de uma dada expressão. Exemplo -- Usando POWER para executar 3 elevado a 4 e 5 elevado a 2. SELECT POWER(3,4), POWER(5,2); específico. ROUND: Retorna uma expressão numérica, arredondada para um tamanho SQRT e SQUARE: Retorna a raiz quadrada e um número elevado ao quadrado respectivamente. Funções de conversão de dado. São funções que convertem um tipo de dado de uma expressão em outro tipo As funções de conversão são CAST e CONVERT. Elas convertem explicitamente uma expressão de um tipo de dado em outro tipo de dado. A diferença entre elas é que CAST é padrão ANSI e CONVERT não. Além disso, CONVERT tem parâmetros de estilo opcionais. Exemplos --Converte uma string em SMALLDATETIME com CAST SELECT CAST(' ' AS SMALLDATETIME); --Converte uma string em SMALLDATETIME com CONVERT SELECT CONVERT(SMALLDATETIME, ' '); --Converte a data atual em string e formata dd/mm/aa SELECT CONVERT(VARCHAR(MAX), GETDATE(), 3); --Converte a data atual em string e formata mm/dd/yyyy SELECT CONVERT(VARCHAR(MAX), GETDATE(), 103); Funções de sistema Executa operações que retornam informações sobre valores, objetos e configurações. HOST_NAME Função não determinista que retorna o nome da estação de trabalho, muito útil para fins de auditoria de sistemas. 8

9 XACT_STATE Função não determinista que retorna o estado da transação de uma seção, indicando quando a seção tem uma transação ativa e indicando quando a transação pode ser efetivada. SYSTEM_USER Função não determinista que permite informar o login atual a ser inserido em uma tabela quando não existe um valor padrão especificado. CURRENT_TIMESTAMP Função não determinista que retorna a data e hora atual do sistema. CURRENT_USER Função não determinista que retorna o nome do usuário atual como um nome de sistema. Exemplo --Resultado: O usuário atual é: dbo SELECT 'O usuário atual é: ' + CONVERT(VARCHAR(MAX), CURRENT_USER); DATALENGTH Função determinista que retorna o número de bytes usados para representar qualquer expressão. SUSER_SNAME Função não determinista que retorna o nome de identificação do login de um número de identificação de segurança do usuário. Funções de metadados Retornam informações sobre o banco de dados e os seus objetos. DB_NAME Retorna o nome do banco de dados; OBJECT_ID Retorna o número identificador do objeto do banco de dados atual; OBJECT_NAME Retorna o nome do objeto do banco de dados Exemplo --Dados de objeto USE AdventureWorks; INT = (SELECT OBJECT_ID('Sales.Customer', 'U')); SELECT NAME, OBJECT_ID, Type_desc FROM sys.objects WHERE NAME = 9

10 Funções para Nulos (NULL) Executa operações sobre valores nulos nas tabelas. ISNULL: Substitui nulo com outro valor definido. NULLIF: Retorna nulo se as duas expressões dadas forem equivalentes; COALESCE: Retorna a primeira expressão não nula entre os seus argumentos. Exemplo /*Retorna a média dos pesos dos produtos, substituindo os valores nulos por cinqüênta */ USE AdventureWorks; SELECT AVG(ISNULL(Weight, 50)) AS 'Peso Médio' FROM Production.Product; Variáveis Uma variável é um lugar de um determinado nome usado para armazenar dados. É possível declarar variáveis no corpo de um procedimento de lote usando o comando DECLARE. É possível atribuir valores às variáveis usando um comando SET ou SELECT. Após as declarações, todas as variáveis são inicializadas com NULL. Variáveis Locais Uma variável local é um objeto que pode reter um único valor de dados de um determinado tipo. Ao contrário, uma tabela variável é usada para armazenar uma quantidade de registros. Sintaxe para declarar uma variável local: AS <tipo_de_dado> É possível usar declarações SET e SELECT para atribuir valores às variáveis. A diferença fundamental entre as declarações SET e SELECT são que o SELECT permite que seja atribuido um valor a mais de uma variável de uma vez. A outra diferença é que o SET é padrão ANSI para atribuir valores às variáveis e o comando SELECT não. Obs: Se for usado o comando SELECT para atribuir valor a uma variável, é preciso se certificar que ele retorne apenas um valor. De qualquer forma, quando a 10

11 expressão for o nome de uma coluna, ela poderá retornar mais de um valor. Se retornar mais de um valor, a variável é atribuída com o ultimo valor retornado. Exemplo --Declaração de variáveis AS AS INT --Inicializando variáveis com SELECT = = 2 PRINT 'V1: ' + PRINT 'V2: ' + --Atribuindo valores às variáveis com SET = 3 = 4 PRINT 'V1: ' + PRINT 'V2: ' + Tabelas Variáveis As Tabelas Variáveis surgiram como alternativa para Tabelas Temporárias no sentido de armazenar uma lista de registros. Tabelas variáveis proporcionam muitas vantagens quando comparadas com as tabelas temporárias. As Tabelas Variáveis podem ser usadas para armazenar um resultado listado em SQL Server, ao invés de Tabelas Temporárias que requerem a declaração e limpeza do código. Tabelas Variáveis usam menos recursos que uma tabela temporária, por causa do seu escopo bem definido. Tabelas Variáveis podem ser usada para transações porque elas são atualizadas de maneira mais dinâmica que as tabelas temporárias. Assim existe menos travamento e falhas de login quando comparadas com Tabelas Temporárias. Tabelas Variáveis requerem menos recompilações quando comparadas com Tabelas Temporárias. Quando são armazenadas Tabelas Temporárias em uma stored procedure pode-se precisar executar recompilações adicionais da stored procedure. Exemplo USE AdventureWorks; --Declaração de tabela variável 11

12 TABLE ( CodProduto INT, Receita MONEY ) --Preenchimento da tabela INSERT Receita) SELECT ProductID, SUM(UnitPrice * OrderQty) FROM Sales.SalesOrderDetail GROUP BY ProductID; Expressões Expressão é uma combinação de identificadores, valores e operadores que o SQL Server pode avaliar para obter um resultado. Expressões podem ser parte de um dado a ser consultado a partir de uma Query. É possível usar expressões em uma busca condicional a fim de encontrar um dado específico. Uma expressão pode ser uma: Constante; Função; Nome de coluna; Variável; Sub consulta; Declarações NULLIF, COALESCE e CASE. Exemplos de uso de expressões: É possível construir expressões combinando esses elementos com operadores. Por exemplo, na clausula SELECT a seguir o caractere literal B% é usado junto com a clausula LIKE e deve estar entre aspas simples. USE AdventureWorks; SELECT LastName, FirstName FROM Person.Contact WHERE LastName LIKE 'B%'; exemplo: Coloque caracteres do tipo Data envolvidos em aspas simples, conforme o USE AdventureWorks; 12

13 SELECT * FROM HumanResources.Employee WHERE BirthDate = '1972 May 15'; No exemplo a seguir, mais de uma expressão é usada: USE AdventureWorks; SELECT ProductID, (UnitPrice * OrderQty) AS Total, (ReceivedQty + 10) AS Recebido FROM Purchasing.PurchaseOrderDetail; Conversões implícitas e explicitas Os tipos de dados definem os dados a serem acondicionados nos objetos de dados como colunas, variáveis e parâmetros. Os dois tipos de conversão de tipos de dados são o tipo implícito e o explícito. Quando é declarado um tipo de dado para um objeto o compilador obtem informações necessárias para que seja feita a maioria das conversões. Essas conversões podem ser úteis para o trabalho com os valores armazenados em outros objetos do banco de dados. Quando o compilador faz a conversão desses dados automáticamente é usada uma conversão implícita. Quando o administrador do banco de dados faz esse converção ela é uma converção explícita. Evite conversões implícitas sempre que possível. Tipos de declarações condicionais Uma declaração condicional é uma expressão que precisa ser formulada para avaliar uma condição específica, que pode resultar em verdadeiro, falso ou desconhecido. Então, dependendo do resultado, é possível decidir a ação a ser executada. O T-SQL suporta declarações condicionais, e permite extensões procedurais para SQL que oferece várias estruturas de controle de fluxo. BEGIN... END Encapsula uma série de declarações T-SQL que pode ser executada como um bloco. O BEGIN e o END são palavras chave para linguagens de controle de fluxo. 13

14 Sintaxe: BEGIN { Declaracao_TSQL BlocoTSQL } END Exemplo: USE AdventureWorks; BEGIN TRANSACTION; IF = 0 BEGIN SELECT * FROM Person.Contact WHERE LastName = 'Adams'; ROLLBACK TRANSACTION PRINT 'Desfazer uma transação duas vezes pode causar erro!' END ROLLBACK TRANSACTION PRINT 'Desfazendo a transação!'; IF... ELSE Impõe condições durante a execução de uma declaração T-SQL. A declaração T- SQL ou bloco após a palavra reservada IF é executado somente se a condição for satisfeita e a expressão booleana retornar Verdadeiro. Sintaxe: IF Expressoa_Booleana BEGIN { Declaracao_TSQL Bloco_TSQL } END [ELSE BEGIN { Declaracao_TSQL Bloco_TSQL } END] Exemplo: IF (SUSER_SNAME() = 'sa') BEGIN PRINT 'Parabéns, você é SA neste sistema!' END ELSE BEGIN 14

15 PRINT 'Você não é SA neste sistema!' END; De outra forma, a declaração ou bloco seguinte a palavra reservada ELSE será executado. Mas é sempre melhor incluir declarações BEGIN...END ao usar IF...ELSE. WILE... Estabelece uma condição para a repetição de uma declaração ou bloco T-SQL, enquanto a condição específicada for avaliada como verdadeira. As declarações BREAK e CONTINUE em um laço WHILE ajudam a parar ou reinicializar a execução do laço. Sintaxe: WHILE Expressao_Booleana BEGIN [BREAK] { Declaracao_TSQL Bloco_TSQL } [CONTINUE] END Exemplo: VARCHAR(250) = 1 WHILE <= 12) BEGIN --Cria a data inteira = '1/' + + '/09' --Incrementa uma variável para o mês Gera a linha de saída = 'Processado em: ' --Imprime a saída END; CASE... Avalia uma lista de condições e executa uma das expressões possíveis. Sintaxe: CASE Expressao_Entrada WHEN Expressao_When1 THEN Expressao_Resultante1 WHEN Expressao_When2 THEN Expressao_Resultante2 [...] 15

16 WHEN Expressao_WhenN THEN Expressao_ResultanteN [ELSE Expressao_Resultante_ELSE] END Exemplo: USE AdventureWorks; SELECT EmployeeID, DepartmentID, Periodo = CASE ShiftID WHEN 1 THEN 'Matutino' WHEN 2 THEN 'Vespertino' WHEN 3 THEN 'Noturno' END FROM HumanResources.EmployeeDepartmentHistory ORDER BY EmployeeID; 16

17 Usando Scripts T-SQL Trabalhando com scripts T-SQL Scripts T-SQL são uma série de declarações T-SQL que podem ser armazenadas em um arquivo, que pode ser usado como entrada para o SQL Query Analyzer ou SQL Management Studio. Estes utilitários podem executar os scripts SQL para gerar uma saída desejada. Um script T-SQL tem um ou mais lotes que controlam como o SQL Server irá executar os scripts. Eles são tipicamente armazenados como copias permanentes de segurança para criar e popular bancos de dados em um servidor ou como um mecanismo de backup. Diretivas de lote Uma diretiva de lote contem uma ou mais declarações SQL, separados por um ponto e virgula, construído em uma string simples. Lotes podem ser mais eficientes do que submeter declarações separadamente, pois o tráfego na rede é reduzido. O código T-SQL é executado em lotes. Por isso, devem ser usadas diretivas de lote em instruções que o SQL Server seja capaz de agrupar e executar, todas em um único lote. Esta diretiva sinaliza o final de um lote de declarações T-SQL para utilitários SQL Server. Esses utilitários interpretam o como um sinal para enviar o lote de declarações para o SQL Server executar. não é um comando T-SQL mas é um 17

18 comando reconhecido pelo SQL Management Studio e pelos utilitários SQLCMD. Os utilitário SQLCMD permitem a entrada de declarações T-SQL, procedimentos de sistema, e arquivos de script no prompt de comando. Exemplo do uso da diretiva de lote : USE AdventureWorks; AS VARCHAR(50) = CAST((SELECT Title FROM HumanResources.Employee WHERE EmployeeID = 7) AS VARCHAR(50)); --A não é válida após o lote terminado por na linha acima --Portanto haverá um erro na continuação da execução do código nas próximas linhas EXEC Esta diretiva executa uma função, um procedimento de sistema, uma stored procedore, ou uma extended stored procedure, em lote T-SQL. Ela também suporta a execução de declarações T-SQL dinâmicas criadas pela concatenação de strings literais e strings variáveis. Suporta também a execução de um caractere string em lote. Exemplo do uso da diretiva EXEC USE AdventureWorks; --Criação da Procedure com auxilio da diretiva EXEC CREATE PROC sysname AS EXEC ('SELECT * FROM ' --Execução da Procedure criada com EXEC EXEC SelecionaTabela 'Production.Product'; ; (Ponto e Vírgula) É um terminador opcional em declarações T-SQL. Uma declaração é considerada completa apenas quando o ponto e virgula é colocado no final. Quando uma declaração SQL ocupa muitas linhas em um script ou quando ela é digitada como uma linha de conamdo, é preciso usar o ponto e virgula para indicar que a declaração está completa. 18

19 Observe o exemplo: SELECT * FROM HumanResources.Employee WHERE EmployeeID = 3; SET Esta diretiva altera a forma como uma determinada informação de uma sessão especificada é obtida. A declaração SET é agrupada nas categorias a seguir Data e Hora Proteção Execução de consulta Configuração SQL-92 Estatísticas Transações Miscelânea Exemplo: SET ROWCOUNT SET DATEFORMAT SET TRANSACTION ISOLATION LEVEL Adicionando comentários a um código T-SQL É fundamental documentar o código adicionando comentários apropriados porque isso ajuda àqueles que farão a manutenção do código a entender o seu propósito. Além do mais, quando um número de linhas de código em uma aplicação aumenta, o próprio desenvolvedor pode sentir dificuldade em se lembrar do propósito de cada linha. De qualquer forma, o código comentado ajuda a identificar facilmente blocos com comandos críticos. Também é importante manter o histórico das manutenções de código para ajudar com problemas recorrentes. Em SQL Server existem duas formas de adicionar comentários em declarações T-SQL. Comentário de linha (--): Comentários de linha são comentários que abrangem apenas uma linha, e podem ser inseridos em um linha separada, aninhados no final de uma linha de 19

20 comando T-SQL, ou contido em uma declaração T-SQL. Dois hifens (--) são o padrão SQL 92 indicado para comentários. Veja a seguir um exemplo de comentário de linha: -- Seleciona todas as colunas e todas as linhas SELECT * FROM HumanResources.Employee; Comentários de Bloco (/*... */) Comentários de bloco são usados quando é necessário inserir blocos de declarações como comandos. Deve ser inserido o comentário entre /* e */. O código a seguir contem um exemplo de comentário de bloco. /* Seleciona todas as colunas e todas as linhas a partir da tabela HumanResource.Employee */ SELECT * FROM HumanResources.Employee; Obs: Código comentado não é executado pelo servidor Melhores práticas para escrever código T-SQL Para facilitar a leitura do código escrito é preciso seguir algumas das melhores práticas recomendadas. Estas práticas facilitam uma performance melhorada para as aplicações. Formatação Formate o código T-SQL com as palavras reservadas todas maiúsculas e identificando as declarações de código. Essa prática certifica a definição correta de blocos e a seqüência de código. Exemplo de formatação: INT BEGIN = 1 END; Nomeando objetos Uma das melhores e mais simples práticas a serem seguidas quando os objetos são nomeados é; Alocar objetos em colchetes. Exemplo: [Clientes]; 20

21 Manter as primeiras letras maiúsculas nos nomes das tabelas, assim como os nomes dos bancos de dados DetalhePedido; Incluir nomes de schemas nos nomes dos objetos. Exemplo: Vendas.Clientes; Observe os exemplos a seguir: USE AdventureWorks; SELECT SalesOrderID FROM Sales.SalesOrderDetail; Usando ponto e virgula (;) Use ponto e virgula para indicar o final de uma declaração extensa. O uso do ponto e virgula é muito útil ao executar comandos em utilitários de linha de comando. Diversos outros bancos de dados exigem o uso de ponto e virgula. Além do mais, usar ponto e virgula com SQL facilita qualquer necessidade futura de migração do banco de dados. Observe o exemplo a seguir: USE AdventureWorks; SELECT SalesOrderID, ProductID, OrderQty FROM AdventureWorks.Sales.SalesOrderDetail WHERE SalesOrderID>50000; Usando o padrão ANSI SQL A maioria dos desenvolvedores usam o padrão ANSI-SQL quando não há diferença de execução e funcionalidade por que é mais confiável para todos os tipos de banco de dados. Por exemplo, é preciso usar SET ao invés de SELECT sempre que possível. USE AdventureWorks; INT; = CAST((SELECT TaxRate FROM [Sales].[SalesTaxRate] WHERE SalesTaxRateID = 23)AS INT) 21

22 Comentando código revisado. Adicione comentários apropriados ao código e ele se tornará mais fácil de ser Exemplo de comentário de código /*Seleciona todos os registros cujo campo SalesOrderID são maiores que */ SELECT SalesOrderID, ProductID, OrderQty FROM AdventureWorks.Sales.SalesOrderDetail WHERE SalesOrderID > 50000; Em síntese, considere também as práticas a seguir como um complemento das melhores práticas para escrever código T-SQL: Não use a declaração SELECT * em pesquisas. Sempre especifique o nome das colunas a serem consultadas. Use SQL avançado, views, ou tabelas SQL Server 2000 quando processar dados. De outra forma uma tabela temporária é criada durante o processamento de dados e isso envolve muitas operações de entrada e saída de dados em disco. Use a declaração SET NOCOUNT ON no inicio dos lotes SQL, stored procedures e triggers em ambiente de produção. Isso certifica que as menssagens padrão não aparecerão após a execução. Evite usar declarações SQL dinâmicas sempre que possível, pois sempre durante a execução, o SQL Server deve criar um plano de execução. Portanto, a execução torna-se mais lenta que as declarações SQL estáticas. Use convenções próprias de notação para obter uniformidade e melhorar a capacidade de leitura do código. Por exemplo, quando nomear stored procedures, use sp como um prefixo. Da mesma forma, quando definir variáveis integer e char, prefixe as variáveis com i e c respectivamente. 22

23 Ferramentas de pesquisa T-SQL Em SQL Server 2005, é possível pesquisar bancos de dados usando várias ferramentas como o SQL Server Management Studio, o Business Intelligence Development Studio, o SQLCMD, e o Visual Studio.NET Designers. Ao usar o SQL Server Management Studio, é possível criar uma solução de banco de dados e executar uma query. Também é possível executa uma query SQL Server em outras aplicações clientes como o Microsoft Office Access e o Microsoft Office Excel. Além disso, ao conectar o SQL Server é possível executar queries a partir de outras aplicações clientes que usam o Open Database Connectivity (ODBC), o Object Linking and Embedding Database (OLEDB) e o SQL Native Access Client (SNCLI). Ferramentas de pesquisa em bancos de dados SQL Server 2005 Observe a seguir as ferramentas de desenvolvimento em SQL Server 2005 com o foco no SQL Server Management Studio. Existem várias ferramentas para desenvolvimento no Ambiente de Desenvolvimento SQL Server. SQL Server Management Studio É o ambiente de desenvolvimento principal para o SQL Server Ele pode ser usado para criar, executar, e salvar scripts associados a um banco de dados específico. Pode ser usado também para criar soluções de banco de dados contendo todos os scripts e aplicações de bancos de dados graficamente. Além disso, o SQL Server Managemnet Studio oferece o Query Builder, que pode ser usado para criar e rodar queries. 23

24 Business Intelligence Development Studio É um ambiente de desenvolvimento para SQL Server Pode ser usado para criar e manter soluções de BI ponto-a-ponto. O Business Intelligence Development Studio também é usado para desenvolver aplicações SSAS. SQLCMD É uma nova ferramenta de pesquisa em linha de comando do SQL Server 2005 que substitui os utilitários isql e o osql. O SQLCMD funciona como uma alternativa para a interface gráfica do SQL Server Management Studio. Podem ser executadas pesquisas interativas em SQLCMD, assim como poderiam ser executadas com o isql e o osql. Além disso, o SQLCMD pode ser usado para automatizar scripts T-SQL que são evocados pelos arquivos de lote ou outras aplicações que não precisam ser programadas na API do SQL Server. Visual Studio.NET Designers SQL Server 2005 proporciona muitas extensões para o Microsoft Visual Studio.NET environment. Isso torna fácil a construção de recursos SQL Server 2005 como relatórios e objetos de banco de dados. Obs: Também podem ser usados os produtos do pacote Office como Microsoft Office Access e Microsoft Office Excel para acessar bancos de dados SQL Server e apresentar os resultados em seus respectivos ambientes. Usuários também executam pesquisas usando consultas T-SQL em ambiente SQL Server Management Studio. Após exeutar suas consultas eles copiam e colam o código em suas respectivas aplicações. 24

25 Executando uma query em MS Excel Figura 1 - Menu Dados, Importar dados externos, Criar nova consulta a banco de dados. É possível pesquisar o banco de dados AdventureWorks, importar e exportar dados necessários, de um banco de dados para o MS Excel. Para importar dados externos de uma fonte de dados específica no MS Excel, a partir do menu Dados, aponte para Importar Dados Externos, e clicar em Criar nova consulta a banco de dados... A caixa de diálogo Escolher a fonte de dados será exibida. Verifique se a opção Usar o assistente de consulta para criar/editar consultas está marcada. Especifique o nome da fonte de dados, o driver para conexão específica. Para isso na guia banco de dados, na caixa de diálogo Escolha a fonte de dados, verifique se a opção Nova fonte de dados está selecionada e clique em OK. A caixa de diálogo Criar nova fonte de dados é exibida. 25

26 Figura 2 - Caixa de diálogo Escolher a fonte de dados. Especifique o nome da fonte de dados, na caixa de texto, informe qual é o nome da fonte de dados. Após nomear a fonte de dados, especifique o nome do driver baseado no tipo de banco de dados. O banco de dados AdventureWorks é um banco de dados SQL Server, assim, na caixa de listagem Selecionar um driver para o banco de dados, selecione SQL Server. Para conectar ao banco de dados AdventureWorks, clique em conectar. A caixa de diálogo de Login SQL Server será exibida. Na lista de servidores, especifique o servidor a ser usado. Figura 3 - Caixa de diálogo: Criar nova fonte de dados Verifique se a caixa de checagem Usar conexão confiável está selecionada. Na região opções, especifique os detalhes da conexão. Em bancos de dados, clique 26

27 em AdventureWorks; Idioma, clique em English; Em Nome do Aplicativo, confirme se é a versão do Microsoft Office da sua máquina; Em Identificação da estação de trabalho, verifique se o servidor específico está selecionado e clique em OK. A caixa de diálogo Criar uma nova fonte de dados é exibida. Figura 4 - Caixa de diálogo Logon do SQL Server. Para selecionar uma tabela padrão para a fonte de dados, clique em Address e clique em OK. Na caixa de diálogo Escolha a Fonte de Dados que será exibida, verifique se TesteDSN está selecionado e clique em OK. O Assistente de consulta escolher colunas será exibido. Na tabela Address, selecione a coluna City. Clique em (>) adicionar para adicionar a coluna City na lista de Colunas em sua consulta. Agora, clique em Avançar. A página filtrar dados do Assistente de consulta será exibida. Para executar a query e exibir os nomes das cidades diferentes de Newark, clique na condição diferente de e clique em Newark. 27

28 Figura 5 - Caixa de diálogo Criar nova fonte de dados completa. Figura 6 - Caixa de diálogo: Assistente de consulta - escolher colunas 28

29 Figura 7 - Assistente de consulta - filtrar dados Na página filtrar dados, clique em próximo. Uma página de ordem de classificação surge. Na opção ordenar por clique em City e clique em próximo. Surge a página final do assistente de consulta. Para retornar o resultado da query em MS Excel, selecione a opção Retornar dados ao Microsoft Excel, e clique em Finish. Figura 8 - Assistente de consulta: ordem de classificação. 29

30 Figura 9 - Caixa de diálogo: Assistente de consulta: concluir. Selecione a coluna onde os dados devem ser exibidos, a linha e coluna onde o cursor está colocado será a referência padrão para a caixa de diálogo Importar Dados. Para aceitar o padrão clique em OK. Agora o Microsoft Office Excel está populado com os nomes de várias cidades, exceto Newark. Figura 10 - Caixa de diálogo: Importar dados 30

31 Demonstração Figura 11 - Planilha do Excel populada com dados do SQL Server Abra o Microsoft Office Excel 2. No menu Dados, aponte para Importar e Exportar Dados, e clique em Criar nova consulta a banco de dados... A caixa de diálogo Escolha a fonte de dados será exibida. 3. Na guia Banco de dados, verifique se Nova Fonte de Dados está selecionada, e clique em Ok. Surgirá a caixa de diálogo Criar nova fonte de dados. 4. Na caixa de texto Qual nome deseja dar à sua fonte de dados?, escreva TesteDSN. 5. Na caixa de lista Selecione um driver para o tipo de banco de dados que você deseja acessar:, clique em SQL Server. 6. Na caixa de diálogo Criar um nova fonte de dados, clique em Conectar. A caixa de diálogo Logon do SQL Server surge. 7. Na lista Servidor, escreva o nome do servidor que está sendo usado (Exemplo: GILBERTE ). Verifique se a opção Usar conexão confiável está selecionada. 8. Clique em Opções. As opções são exibidas. 9. Na lista de Banco de dados, clique em AdventureWorks. 10. Na lista de Idioma, clique em Inglês. 11. Na caixa de texto Nome do aplicativo, verifique se alguma versão do Microsoft Office está selecionada. 31

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

Banco de Dados e T-SQL

Banco de Dados e T-SQL Banco de Dados e T-SQL Autor: Tais Cristina Rodrigues O que é uma arquitetura cliente/servidor? Começando com Banco de Dados e T-SQL Resumo do SQL Server 2005 A arquitetura cliente / servidor consiste

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

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

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

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.

Leia mais

Hugo Pedro Proença, 2007

Hugo Pedro Proença, 2007 Stored Procedures À medida que a complexidade dos sistemas aumenta, torna-se cada vez mais difícil a tarefa de integrar o SQL com as aplicações cliente. Além disto, é necessário que todas as aplicações

Leia mais

LABORATÓRIO DE BANCO DE DADOS

LABORATÓRIO DE BANCO DE DADOS UNIVERSIDADE DE CUIABÁ - FATEC-Faculdade de Ciência e Tecnologia Banco de Dados II Sistema de Informação Analise de Sistemas Prof. Msc. Mauricio Prado Catharino. Aluno: LABORATÓRIO DE BANCO DE DADOS Nesta

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

PROCEDIMENTOS ARMAZENADOS (Stored Procedures)

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

Leia mais

Java Como Programar, 8/E

Java Como Programar, 8/E Capítulo 2 Introdução aos aplicativos Java Java Como Programar, 8/E (C) 2010 Pearson Education, Inc. Todos os 2.1 Introdução Programação de aplicativo Java. Utilize as ferramentas do JDK para compilar

Leia mais

Introdução aos cálculos de datas

Introdução aos cálculos de datas Page 1 of 7 Windows SharePoint Services Introdução aos cálculos de datas Aplica-se a: Microsoft Office SharePoint Server 2007 Ocultar tudo Você pode usar fórmulas e funções em listas ou bibliotecas para

Leia mais

Tarefa Orientada 18 Procedimentos armazenados

Tarefa Orientada 18 Procedimentos armazenados Tarefa Orientada 18 Procedimentos armazenados Objectivos: Criar Procedimentos armazenados Chamar procedimentos armazenados Utilizar parâmetros de entrada e de saída Um procedimento armazenado representa

Leia mais

Aula Extra Conexão ODBC para aplicações Delphi 7 que usam SQL Server 2005

Aula Extra Conexão ODBC para aplicações Delphi 7 que usam SQL Server 2005 Nome Número: Série Aula Extra Conexão ODBC para aplicações Delphi 7 que usam SQL Server 2005 Proposta do projeto: Competências: Compreender a orientação a objetos e arquitetura cliente-servidor, aplicando-as

Leia mais

Procedimentos armazenados

Procedimentos armazenados Procedimentos armazenados Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com Material da Profª Maria Lígia B. Perkusich Procedimentos armazenados (i) Definição Um procedimento armazenado (stored procedure)

Leia mais

Algoritmos em Javascript

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

Leia mais

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

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

António Rocha Nuno Melo e Castro

António Rocha Nuno Melo e Castro António Rocha Nuno Melo e Castro ! Transact-SQL (T-SQL) Extensão ao SQL Permite controlo do fluxo de execução Permite comandos DDL (contrariamente ao PLSQL) T-SQL combina: poder de manipulação de dados

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

Microsoft Excel 2003

Microsoft Excel 2003 Associação Educacional Dom Bosco Faculdades de Engenharia de Resende Microsoft Excel 2003 Professores: Eduardo Arbex Mônica Mara Tathiana da Silva Resende 2010 INICIANDO O EXCEL Para abrir o programa Excel,

Leia mais

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

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

Leia mais

Centro Federal de Educação Tecnológica da Bahia Curso Excel Avançado Índice

Centro Federal de Educação Tecnológica da Bahia Curso Excel Avançado Índice Índice Apresentação...2 Barra de Título...2 Barra de Menus...2 Barra de Ferramentas Padrão...2 Barra de Ferramentas de Formatação...3 Barra de Fórmulas e Caixa de Nomes...3 Criando um atalho de teclado

Leia mais

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

Descrição Tinyint[(M)] Inteiro pequeno. Varia de 128 até +127 Disciplina: Tópicos Especiais em TI PHP Este material foi produzido com base nos livros e documentos citados abaixo, que possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade

Leia mais

4 Criação de macros e introdução à linguagem VBA

4 Criação de macros e introdução à linguagem VBA 4 Criação de macros e introdução à linguagem VBA Vinicius A. de Souza va.vinicius@gmail.com São José dos Campos, 2011. 1 Sumário Tópicos em Microsoft Excel 2007 Introdução à criação de macros...3 Gravação

Leia mais

Projeto de Banco de Dados: Empresa X

Projeto de Banco de Dados: Empresa X Projeto de Banco de Dados: Empresa X Modelo de negócio: Empresa X Competências: Analisar e aplicar o resultado da modelagem de dados; Habilidades: Implementar as estruturas modeladas usando banco de dados;

Leia mais

Desenvolvido por: Juarez A. Muylaert Filho - jamf@estacio.br Andréa T. Medeiros - andrea@iprj.uerj.br Adriana S. Spallanzani - spallanzani@uol.com.

Desenvolvido por: Juarez A. Muylaert Filho - jamf@estacio.br Andréa T. Medeiros - andrea@iprj.uerj.br Adriana S. Spallanzani - spallanzani@uol.com. UAL é uma linguagem interpretada para descrição de algoritmos em Português. Tem por objetivo auxiliar o aprendizado do aluno iniciante em programação através da execução e visualização das etapas de um

Leia mais

APOSTILA PHP PARTE 1

APOSTILA PHP PARTE 1 APOSTILA PHP PARTE 1 1. Introdução O que é PHP? PHP significa: PHP Hypertext Preprocessor. Realmente, o produto foi originalmente chamado de Personal Home Page Tools ; mas como se expandiu em escopo, um

Leia mais

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.

Leia mais

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

Centro de Computação - Unicamp Gerência de Atendimento ao Cliente (e-mail:apoio@turing.unicamp.br) Sumário

Centro de Computação - Unicamp Gerência de Atendimento ao Cliente (e-mail:apoio@turing.unicamp.br) Sumário Sumário Conceitos Microsoft Access 97... 01 Inicialização do Access... 02 Convertendo um Banco de Dados... 03 Criando uma Tabela... 06 Estrutura da Tabela... 07 Propriedades do Campo... 08 Chave Primária...

Leia mais

Sintaxe Básica de Java Parte 1

Sintaxe Básica de Java Parte 1 Sintaxe Básica de Java Parte 1 Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marcioubeno.com Fonte: Material da Profª Karina Oliveira Estrutura de Programa Um programa

Leia mais

Programação Básica em Arduino Aula 2

Programação Básica em Arduino Aula 2 Programação Básica em Arduino Aula 2 Execução: Laboratório de Automação e Robótica Móvel Variáveis são lugares (posições) na memória principal que servem para armazenar dados. As variáveis são acessadas

Leia mais

Microsoft Visual Studio Express 2012 for Windows Desktop

Microsoft Visual Studio Express 2012 for Windows Desktop Microsoft Visual Studio Express 2012 for Windows Desktop Apresentação da ferramenta Professor: Danilo Giacobo Página pessoal: www.danilogiacobo.eti.br E-mail: danilogiacobo@gmail.com 1 Introdução Visual

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

Manual do Usuário. Sistema Financeiro e Caixa

Manual do Usuário. Sistema Financeiro e Caixa Manual do Usuário Sistema Financeiro e Caixa - Lançamento de receitas, despesas, gastos, depósitos. - Contas a pagar e receber. - Emissão de cheque e Autorização de pagamentos/recibos. - Controla um ou

Leia mais

Programação Elementar de Computadores Jurandy Soares

Programação Elementar de Computadores Jurandy Soares Programação Elementar de Computadores Jurandy Soares Básico de Computadores Computador: dispositivos físicos + programas Dispositivos físicos: hardware Programas: as instruções que dizem aos dispositivos

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

ADMINISTRAÇÃO DE BANCO DE DADOS

ADMINISTRAÇÃO DE BANCO DE DADOS ADMINISTRAÇÃO DE BANCO DE DADOS ARTEFATO 03 AT03 Diversos II Page 1 of 25 Indice EXEMPLOS COM GROUP BY E COM A CLÁUSULA HAVING - TOTALIZANDO DADOS... 3 GROUP BY... 3 Cláusula HAVING com GROUP BY... 5 ENTENDENDO

Leia mais

Curso de Iniciação ao Access Basic (I) CONTEÚDOS

Curso de Iniciação ao Access Basic (I) CONTEÚDOS Curso de Iniciação ao Access Basic (I) CONTEÚDOS 1. A Linguagem Access Basic. 2. Módulos e Procedimentos. 3. Usar o Access: 3.1. Criar uma Base de Dados: 3.1.1. Criar uma nova Base de Dados. 3.1.2. Criar

Leia mais

Criação de uma base de dados em MS SQL Server e acesso com VB 6. Professor Sérgio Furgeri

Criação de uma base de dados em MS SQL Server e acesso com VB 6. Professor Sérgio Furgeri OBJETIVOS DA AULA: Criação de uma base de dados em MS SQL Server e acesso com VB 6. Fazer uma breve introdução a respeito do MS SQL Server 7.0; Criar uma pequena base de dados no MS SQL Server 7.0; Elaborar

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

Manual de Instalação e Configuração

Manual de Instalação e Configuração e Configuração MyABCM 4.0 Versão 4.00-1.00 2 Copyright MyABCM. Todos os direitos reservados Reprodução Proibida Índice Introdução... 5 Arquitetura, requisitos e cenários de uso do MyABCM... 7 Instalação

Leia mais

Resumo da Matéria de Linguagem de Programação. Linguagem C

Resumo da Matéria de Linguagem de Programação. Linguagem C Resumo da Matéria de Linguagem de Programação Linguagem C Vitor H. Migoto de Gouvêa 2011 Sumário Como instalar um programa para executar o C...3 Sintaxe inicial da Linguagem de Programação C...4 Variáveis

Leia mais

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

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

Leia mais

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

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

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

Leia mais

e à Linguagem de Programação Python

e à Linguagem de Programação Python Introdução a Algoritmos, Computação Algébrica e à Linguagem de Programação Python Curso de Números Inteiros e Criptografia Prof. Luis Menasché Schechter Departamento de Ciência da Computação UFRJ Agosto

Leia mais

Linguagens de programação

Linguagens de programação Prof. André Backes Linguagens de programação Linguagem de Máquina Computador entende apenas pulsos elétricos Presença ou não de pulso 1 ou 0 Tudo no computador deve ser descrito em termos de 1 s ou 0 s

Leia mais

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

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

Leia mais

Laboratório de Programação I

Laboratório de Programação I Laboratório de Programação I Introdução à Programação em Visual Basic Fabricio Breve Objetivos Ser capaz de escrever programas simples em Visual Basic Ser capaz de usar os comandos de entrada e saída Familiarizar-se

Leia mais

Tarefa Orientada 19 Triggers

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

Leia mais

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem. 1 - O que é JAVASCRIPT? É uma linguagem de script orientada a objetos, usada para aumentar a interatividade de páginas Web. O JavaScript foi introduzido pela Netscape em seu navegador 2.0 e posteriormente

Leia mais

Consultoria e Treinamento em Bancos de Dados Relacionais

Consultoria e Treinamento em Bancos de Dados Relacionais Tabela de conteúdos CREATE TABLE AS...1 CREATE DOMAIN...1 Funções de dados...2 Funções de data e hora...2 Funções de agregação...3 Expressões condicionais...4 CASE...4 COALESCE...4 NULLIF...4 Controle

Leia mais

TRIBUNAL DE JUSTIÇA - SC. MICROSOFT OFFICE - EXCEL 2007 Pág.: 1

TRIBUNAL DE JUSTIÇA - SC. MICROSOFT OFFICE - EXCEL 2007 Pág.: 1 EXCEL 2007 O Excel 2007 faz parte do pacote de produtividade Microsoft Office System de 2007, que sucede ao Office 2003. Relativamente à versão anterior (Excel 2003), o novo programa introduz inúmeras

Leia mais

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

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

Leia mais

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

Notas sobre o MySQL: Resumo dos comandos no MySQL linha de comandos: EDUCAÇÃO E FORMAÇÃO DE ADULTOS Curso EFA SEC Turma C - 2012 / 2013 Notas sobre o MySQL: 1) A indicação mysql> é o prompt do sistema. 2) Uma instrução, no prompt do MySQL, deve terminar sempre com ponto

Leia mais

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

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo: Disciplina: Tópicos Especiais em TI PHP Este material foi produzido com base nos livros e documentos citados abaixo, que possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade

Leia mais

Linguagem SQL (Parte I)

Linguagem SQL (Parte I) Universidade Federal de Sergipe Departamento de Sistemas de Informação Itatech Group Jr Softwares Itabaiana Site: www.itatechjr.com.br E-mail: contato@itatechjr.com.br Linguagem SQL (Parte I) Introdução

Leia mais

Algoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira

Algoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira Algoritmos e Estrutura de Dados Aula 1 Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira Linguagem a ser Utilizada? Nossa disciplina é de Algoritmos e Estrutura de Dados, e não de linguagem

Leia mais

Banco de Dados. Prof. Antonio

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

Leia mais

Histórico de revisões

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

Leia mais

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

Prof. Carlos Majer Aplicações Corporativas UNICID

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

Leia mais

1. FUNÇÕES NO EXCEL 2007

1. FUNÇÕES NO EXCEL 2007 1. FUNÇÕES NO EXCEL 2007 Funções são fórmulas predefinidas que efetuam cálculos usando valores específicos, denominados argumentos, em uma determinada ordem ou estrutura. As funções podem ser usadas para

Leia mais

Resumo da Introdução de Prática de Programação com C. A Linguagem C

Resumo da Introdução de Prática de Programação com C. A Linguagem C Resumo da Introdução de Prática de Programação com C A Linguagem C O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional

Leia mais

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP AGRUPAMENTO DE ESCOLAS DE SANTA COMBA DÃO CURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS 2012-2015 PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO MÓDULO 2 Mecanismos de Controlo de

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

Formação em Banco de Dados

Formação em Banco de Dados Formação em Banco de Dados Sobre a KTEC A KTEC Escola de Tecnologia oferece uma série de cursos, para os que procuram uma base sólida no aprendizado, com foco nas boas práticas que fazem a diferença no

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

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

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

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

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

Leia mais

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

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

Leia mais

Iniciando o MySQL Query Brower

Iniciando o MySQL Query Brower MySQL Query Brower O MySQL Query Browser é uma ferramenta gráfica fornecida pela MySQL AB para criar, executar e otimizar solicitações SQL em um ambiente gráfico. Assim como o MySQL Administrator foi criado

Leia mais

FileMaker 13. Guia de ODBC e JDBC

FileMaker 13. Guia de ODBC e JDBC FileMaker 13 Guia de ODBC e JDBC 2004 2013 FileMaker Inc. Todos os direitos reservados. FileMaker Inc. 5201 Patrick Henry Drive Santa Clara, Califórnia 95054 FileMaker e Bento são marcas comerciais da

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

CIÊNCIA E TECNOLOGIA DO RIO

CIÊNCIA E TECNOLOGIA DO RIO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE BANCO DE DADOS II Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br Curso de Tecnologia

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

PostgreSQL o SGBD das 1001 linguagens Diogo Biazus diogob@gmail.com

PostgreSQL o SGBD das 1001 linguagens Diogo Biazus diogob@gmail.com PostgreSQL o SGBD das 1001 linguagens Diogo Biazus diogob@gmail.com Um dos grandes diferenciais do PostgreSQL em relação à maioria dos outros sistemas de bancos de dados é a presença de diversas linguagens

Leia mais

Introdução à Linguagem

Introdução à Linguagem Introdução à Linguagem Curso de Nivelamento do PPGMNE Janeiro / 2011 Juliano J. Scremin jjscremin@jjscremin.t5.com.br Um pouco de história Um pouco de história: Nascimento do Python Um pouco de história:

Leia mais

PRONATEC IFPA. Cursos Mulheres Mil: Operador de Computador. Disciplina: Informática Avançada Parte III. Professore: Adil Daou

PRONATEC IFPA. Cursos Mulheres Mil: Operador de Computador. Disciplina: Informática Avançada Parte III. Professore: Adil Daou PRONATEC IFPA Cursos Mulheres Mil: Operador de Computador Disciplina: Informática Avançada Parte III Professore: Adil Daou Belém 2014 01 Algumas outras funções Vamos inicialmente montar a seguinte planilha

Leia mais

Banco de Dados. Conversão para o Banco de Dados SisMoura

Banco de Dados. Conversão para o Banco de Dados SisMoura Banco de Dados Conversão para o Banco de Dados SisMoura Objetivo : Converter as informações contidas em um determinado banco de dados para o banco de dados do Sismoura. Restaurar Banco de Dados em branco

Leia mais

TEORIA BÁSICA SOBRE LINGUAGEM PHP

TEORIA BÁSICA SOBRE LINGUAGEM PHP PHP - Introdução Vantagens do Uso do PHP O php é uma linguagem de programação para ambiente web ou seja com ela, você pode desenvolver aplicações que possam ser acessadas via browser (netscape,internet

Leia mais

Material desenvolvido por Melissa Lima da Fonseca. melissa.mlf@gmail.com.br - (031) 9401-4041. www.melissalima.com.br Página 1

Material desenvolvido por Melissa Lima da Fonseca. melissa.mlf@gmail.com.br - (031) 9401-4041. www.melissalima.com.br Página 1 EXCEL BÁSICO Material desenvolvido por Melissa Lima da Fonseca melissa.mlf@gmail.com.br - (031) 9401-4041 www.melissalima.com.br Página 1 Índice Introdução ao Excel... 3 Conceitos Básicos do Excel... 6

Leia mais

Introdução à estrutura de dados com Python

Introdução à estrutura de dados com Python Introdução à estrutura de dados com Python CLEIBSON APARECIDO DE ALMEIDA UFPR Universidade Federal do Paraná PPGMNE Programa de Pós Graduação em Métodos Numéricos em Engenharia Centro Politécnico CEP 81.531-980

Leia mais

Tarefa Orientada 10 Obter informação a partir de uma tabela

Tarefa Orientada 10 Obter informação a partir de uma tabela Tarefa Orientada 10 Obter informação a partir de uma tabela Objectivos: Consultar dados de uma tabela Utilizar operadores aritméticos, relacionais, lógicos, de concatenação de cadeias de caracteres, LIKE

Leia mais

Nome Número: Série. A arquitetura cliente/servidor consiste em cliente, servidor e elementos de rede.

Nome Número: Série. A arquitetura cliente/servidor consiste em cliente, servidor e elementos de rede. Nome Número: Série 4326: Introdução a Banco de Dados com Microsoft SQL Server TM 2005 Competências: Compreender a orientação a objetos e arquitetura cliente-servidor, aplicando-as em bancos de dados; Habilidades:

Leia mais

Curso: SQL Básico. Padrão de linguagem de consulta relacional aceito pelos comitês ANSI e ISO.

Curso: SQL Básico. Padrão de linguagem de consulta relacional aceito pelos comitês ANSI e ISO. Curso: SQL Básico Glauco Luiz Rezende de Carvalho glauco.rezende@banese.com.br Este material foi baseado e adaptado pelo material do Prof. MSc. Fábio Soares Silva da Universidade Tiradentes - UNIT SQL

Leia mais

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

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

Leia mais

PHP() é uma linguagem de integração de servidor que permite a criação de paginas dinâmicas. Como todas

PHP() é uma linguagem de integração de servidor que permite a criação de paginas dinâmicas. Como todas O que é PHP? Acrônimo de PHP: Hipertext Language PostProcessor Inicialmente escrita para o desenvolvimento de aplicações Web Facilidade para iniciantes e recursos poderosos para programadores profissionais

Leia mais

Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl

Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl AVALIAÇÃO DA QUALIDADE DO CÓDIGO FONTE ESCRITO EM PL/SQL Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento

Leia mais

LINGUAGEM SQL PARA CONSULTAS EM MICROSOFT ACCESS

LINGUAGEM SQL PARA CONSULTAS EM MICROSOFT ACCESS LINGUAGEM SQL PARA CSULTAS EM MICROSOFT ACCESS Objetivos: Neste tutorial serão apresentados os principais elementos da linguagem SQL (Structured Query Language). Serão apresentados diversos exemplos práticos

Leia mais

MS-Excel 2010 Essencial (I)

MS-Excel 2010 Essencial (I) MS-Excel 2010 Essencial (I) Carga Horária: 20 horas Objetivos: Este curso destina-se a todos os profissionais que atuam nas áreas financeiras e administrativas, e que necessitem agilizar os seus cálculos,

Leia mais

Projeto de Banco de Dados

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

Leia mais

ÍNDICE. Microsoft Excel. Informações Gerais. Pasta de Trabalho. Formatando Página. Formatar Células. Gráficos. Criando Operações Básicas

ÍNDICE. Microsoft Excel. Informações Gerais. Pasta de Trabalho. Formatando Página. Formatar Células. Gráficos. Criando Operações Básicas ÍNDICE Microsoft Excel Informações Gerais Pasta de Trabalho Formatando Página Formatar Células Gráficos Criando Operações Básicas Sobre as Funções de Planilha Operadores em Fórmulas do Excel Operadores

Leia mais

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

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

Leia mais

Manipulando Strings no VBA (Replace, Mid e InStr)

Manipulando Strings no VBA (Replace, Mid e InStr) Manipulando Strings no VBA (Replace, Mid e InStr) por Eduardo Vieira Machado (Good Guy) Hoje gostaria de tratar de um assunto bastante atraente no Access e que é muito trabalhado nas empresas - a manipulação

Leia mais

Excel 2010 Modulo II

Excel 2010 Modulo II Excel 2010 Modulo II Sumário Nomeando intervalos de células... 1 Classificação e filtro de dados... 3 Subtotais... 6 Validação e auditoria de dados... 8 Validação e auditoria de dados... 9 Cenários...

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