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



Documentos relacionados
SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

Banco de Dados. Prof. Antonio

O que são Bancos de Dados?

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. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Structured Query Language (SQL)

A linguagem SQL

SQL. Autor: Renata Viegas

Programação SQL. Introdução

PHP INTEGRAÇÃO COM MYSQL PARTE 1

A & F Consultoria em Sistemas e Treinamentos 2014 af.tecnoserv@gmail.com. A linguagem SQL. Autor: Hélio de Almeida Fonte: Wikipédia

Linguagem de Consulta - SQL

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

Disciplina: Unidade V: Prof.: Período:

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

Capitulo 2. Prof.º Espc. Fábio Margarito Martins de Barros - Tecnologia de banco de dados

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

MYSQL: TIPOS DE DADOS. Gilvan Vieira Moura

Sistemas de Banco de Dados

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

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

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

SQL DDL. Frederico D. Bortoloti

1. Domínio dos Atributos

Banco de Dados. StructuredQuery Language- SQL. Prof. Walteno Martins Parreira Jr

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes

Linguagem de Consulta Estruturada SQL- DML

BANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc.

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

Comandos de Manipulação

SQL Structured Query Language

BANCO DE DADOS WEB AULA 4. linguagem SQL: subconjuntos DCL, DDL e DML. professor Luciano Roberto Rocha.

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

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

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS

Banco de Dados. Profª. Ana Leda

Exercícios de Lógica Exercícios de Fixação 08

SQL - Criação de Tabelas

Linguagem SQL Sub-linguagem DDL

Banco de Dados. Maurício Edgar Stivanello

Prof.: Clayton Maciel Costa

Introdução a Sistemas de Bancos de Dados

Introdução ao SQL. Aécio Costa

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

Banco de Dados. Marcio de Carvalho Victorino Exercícios SQL

Banco de Dados. Módulo 7 - Modelo Relacional. Definição do Esquema Relacional em SQL. modulo07.prz 1 10/09/01

EXEMPLOS DE COMANDOS NO SQL SERVER

BANCO DE DADOS: SQL. Edson Anibal de Macedo Reis Batista. 27 de janeiro de 2010

4.6. SQL - Structured Query Language

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

Linguagem SQL (Parte I)

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

DESENVOLVIMENTO DE SOFTWARE

SQL. Prof. Márcio Bueno.

Transações Seguras em Bancos de Dados (MySQL)

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

Modelo Cliente/Servidor Por HIARLY ALVES

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

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

Comandos DDL. id_modulo = id_m odulo

Linguagem de Consulta Estruturada (SQL)

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)

BANCO DE DADOS CONCEITOS BÁSICOS

Administração de Banco de Dados

Prof. Marcelo Machado Cunha

Principais Comandos SQL Usados no MySql

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)

Modelagem de banco de dados com MySQL Workbench

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

Structured Query Language (SQL) Aula Prática

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

Tarefa Orientada 15 Manipulação de dados

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos.

Prof. Carlos Majer Aplicações Corporativas UNICID

CURSO DE EXTENSÃO ON-LINE EM Oracle 10g Express Edition XE nível básico. Edital de seleção

NORMA TÉCNICA PARA DEFINIÇÃO DE OBJETOS DE BANCO DE DADOS E DE ESTRUTURAS DE ARMAZENAMENTO QUE CONSTITUEM O BANCO DE DADOS CORPORATIVO

Banco de Dados Modelo Conceitual, Lógico, Físico, Entidade- Relacionamento (ER) Hélder Nunes

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

Operação de União JOIN

UNISA Universidade de Santo Amaro. Material de Estudo. Módulo I: Básico Banco de dados SQL Server.

SISTEMA GERENCIADOR DE BANCO DE DADOS

INTRODUÇÃO. Diferente de Bando de Dados

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

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Introdução ao SQL Avançado

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003

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

Transcrição:

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 desenvolvida na década de 70 no laboratório de pesquisa da IBM San Jose, utilizando um artigo publicado pelo Dr. E. F. Codd como modelo. Em 1979 o primeiro produto de SQL, o ORACLE, foi lançado pela Relational Software, Incorporated (mais tarde foi rebatizada como Oracle Corporation), que atualmente é um dos líderes nas tecnologias de banco de dados relacionais. Entendendo melhor: Suponha que você viaje para outro país e tenha que almoçar em um restaurante. Você pode ter problemas em pedir um menu, se não souber a língua nativa. Pense em um banco de dados como uma terra estrangeira em que você busca informações. O SQL é a linguagem que você utiliza para expressar suas necessidades ao banco de dados, assim como pediria uma refeição de um menu em outro país. 2 1

O que é ANSI SQL? O American National Standards Institute (ANSI) é uma organização que aprova certos padrões em muitas indústrias diferentes. Como foi dito, o SQL foi considerado a linguagem padrão na comunicação de banco de dados relacional, originalmente aprovada em 1986. Em 1987, o padrão ANSI SQL foi aceito como o padrão internacional pela International Standards Organization (ISO). O padrão foi revisado novamente em 1992 e chamado SQL/92. O novo padrão agora é denominado SQL3, as vezes referido como SQL/99. 3 Vantagens na Padronização Padrão conduz fornecedores na direção correta para desenvolvimento da indústria; no caso do SQL, isso fornece um esqueleto básico de fundamentos necessários que, como resultado final, melhor atende à necessidade de portabilidade (não apenas para programas de banco de dados, mas para indivíduos que gerenciam banco de dados). O padrão esperado exige recursos que devem estar disponíveis em qualquer implementação de SQL completa e destaca conceitos básicos que não apenas forçam a consistência entre todas as implementações competitivas de SQL (Oracle, Microsoft SQL Server, etc), mas também aumenta o valor de um programador de SQL ou usuário de banco de dados relacional no mercado de banco de dados atual. 4 2

Divisão da Linguagem SQL 5 Definição de Estruturas de Banco de Dados Data Definition Language - DDL (Linguagem de definição de dados) É a parte da SQL que permite a um usuário de banco de dados criar e reestruturar objetos de banco de dados, como criar ou excluir uma tabela. Ex: CREATE TABLE; CREATE INDEX; DROP TABLE; etc. A DDL também permite: Definição de Visões - Definição de triggers Definição de Stored Procedures 6 3

Manipulação de Dados Data Manipulation Language DML (Linguagem de manipulação de dados) É a parte da SQL utilizada para manipular dados dentro de objetos de um banco de dados relacional. Há três comandos básicos de DML: INSERT UPDATE DELETE 7 Seleção de Dados Data Query Language - DQL (Linguagem de consulta de dados) É o principal foco de SQL para o usuário de banco de dados relacional, representada pelo comando SELECT. Este comando possui muitas opções e cláusulas, que pode facilmente criar consultas simples e complexas. Controle de Dados Data Control Language DCL (Linguagem de controle de dados) Permite que o usuário controle o acesso a dados dentro do banco de dados. Normalmente são utilizados para criar objetos relacionados com o acesso de usuário, além de outras operações. Ex: ALTER PASSWORD 8 4

Comandos de Administração de Dados Permitem aos usuários realizar auditorias e realizar análises em operações dentro do banco de dados. Também podem ajudar a analisar o desempenho do sistema. Ex: START AUDIT e STOP AUDIT. IMPORTANTE: Não confundir administração de dados com administração de banco de dados. A administração de banco de dados (DBA) é a administração global de um banco de dados, que envolve o uso de todos os níveis de comando. Comandos de Controle Transacional Permitem ao usuário gerenciar transações de banco de dados. Exemplos: COMMIT: Salva transações de um banco de dados ROLLBACK: Utilizado para desfazer transações de um banco de dados SET TRANSACTION: Atribui um nome em uma transação 9 Conceitos Básicos 10 5

COMPONENTES DE UMA TABELA Armazenamento de dados valiosos é a razão da existência de qualquer banco de dados. Uma tabela é a forma mais comum e simples de armazenamento de dados num banco de dados relacional. A seguir examinaremos os elementos que as compõem. Campo: Cada tabela é dividida em entidades menores chamadas campos, que categorizam as informações que são mantidas. Um campo é uma coluna em uma tabela que é projetada para manter informações específicas sobre cada registro na tabela. Registro: Um registro, também chamado linha de dados, é cada entrada individual que existe em uma tabela. Exemplo: tabela de produtos (código, descrição, custo, etc) 11 Coluna: É uma entidade vertical em uma tabela que contém todas as informações associadas com um campo específico. Chave Primária: É uma coluna que torna única cada linha de dados na tabela em um banco de dados relacional. A natureza da chave primária é assegurar que todas as identificações sejam únicas, de modo que cada registro tenha seu próprio ID. A chave primária elimina a possibilidade de um registro duplicado em uma tabela. Valor NULL: NULL é o termo utilizado para representar um valor ausente. Normalmente criado quando deixado em branco durante a criação do registro. Um valor NULL numa tabela é um valor em um campo que parece estar em branco, mas na verdade é um campo sem valor. Um NULL é diferente de zero ou de um campo que contém espaços. 12 6

Tipos de Dados Básicos: Os tipos de dados são características dos próprios dados, cujos atributos são colocados em campos dentro das tabelas. Os tipos de dados mais básicos são: strings de caracteres, strings numéricas e valores de data e hora. Caracteres constantes: São strings que sempre tem o mesmo comprimento. Os caracteres são armazenados utilizando um tipo de dado com largura fixa. O padrão SQL é o seguinte: CHARACTER (n), onde (n) representa um número que identifica o comprimento alocado, ou comprimento máximo do campo. Algumas implementações de SQL utilizam o tipo de dados CHAR para armazenar dados de largura fixa. Exemplo de dados com comprimento constante: abreviação de estado com dois caracteres. Motivo: todas as abreviações de estado tem que ter dois caracteres. Importante: cuidado para não utilizar tipo de largura fixa para campos que podem conter valores de comprimento variável, como nomes de pessoas, pois acabará tendo problemas com desperdício de espaço disponível. 13 Caracteres variáveis: O SQL suporta o uso de strings de comprimento variável, isto é, strings cujo comprimento não é constante para todos os dados. O padrão do SQL é o seguinte: CHARACTER VARYING (n), onde (n), representa um número que identifica o comprimento alocado, ou comprimento máximo do campo. Tipos de dados comuns: VARCHAR (Microsoft SQL Server) e VARCHAR2 (Oracle). Lembre-se que nesse caso espaços em branco não são utilizados para preencher os lugares não utilizados em uma coluna. Por exemplo: se o comprimento de um campo definido como variável for 10 e uma string de 5 caracteres for inserida, o comprimento total do valor armazenado será somente 5. Portanto, sempre utilizar o tipo de dados de comprimento variável para strings de caracteres não-constantes, a fim de economizar espaço no banco de dados. 14 7

Valores numéricos: Os valores numéricos são armazenados em campos que são definidos como algum tipo de número, em geral referido como NUMBER, INTEGER, REAL, DECIMAL, etc. Os principais padrões para valores numéricos do SQL são os seguintes: BIT (n), DECIMAL (p,s), INTEGER, SMALLINT, FLOAT (p) e REAL (s). (p) Representa um número que identifica o comprimento alocado ou máximo; (s) É um número a direita do ponto de fração decimal (Ex: 34.ss). Um tipo de dado numérico comum em implementações de SQL é o NUMBER. Exemplo: NUMBER (5). Esse exemplo restringe o valor máximo inserido em um campo particular a 99999. 15 Valores decimais: São valores numéricos que incluem o uso de um ponto de fração decimal. Exemplo: DECIMAL (p,s) (p) Precisão: É o comprimento total do valor numérico. Em um campo numérico definido como DECIMAL (4,2), a precisão é 4, que é o comprimento total alocado para um valor numérico. (s) Escala: É o número de dígitos a direita do ponto de fração decimal. No exemplo anterior a escala é 2. Observações: a) 34.33 inserido em um DECIMAL (3,1) é arredondado para 34.3; b) Se um valor numérico for definido como DECIMAL (4,2), o valor máximo permitido seria 99.99. 16 8

Valores inteiros: Um inteiro é um valor numérico que não contém um decimal, apenas números inteiros (ambos positivos e negativos). Os inteiros válidos incluem os seguintes: 1, 0, -1, 99, -99, 199, etc. Decimais de ponto flutuante: São valores decimais cuja precisão e escala são comprimentos variáveis. Exemplo: FLOAT (n) - (utilizado pelo Microsoft SQL Server): n 1 a 24 25 a 53 Precisão 7 dígitos 15 dígitos Tamanho Armazenado 4 bytes 8 bytes 17 Data e Hora: - Os tipos de dados de data e hora são obviamente utilizados para monitorar as informações relacionadas com datas e horas. A SQL padrão suporta o que se chama de tipos de dados DATETIME, que incluem os seguintes tipos de dados específicos: DATE, TIME, etc. - Os elementos de um tipo de dados DATETIME consistem no seguinte: YEAR, MONTH, DAY, HOUR, MINUTE e SECOND. Observações: - O elemento SECOND também pode ser dividido em frações de um segundo; - Cada implementação de SQL pode ter seu próprio tipo de dados personalizados para datas e horas. Os tipos de dados e elementos anteriormente mencionados são padrões a que cada fornecedor de SQL deve obedecer. A maioria das implementações tem seu próprio tipo de dados para valores de data, variando tanto na aparência como na maneira como são armazenadas internamente. 18 9

String literais: Uma string literal é uma série de caracteres, como um nome ou um número de telefone, que é especificada explicitamente por um usuário ou programa. O valor de uma coluna definida como string literal normalmente é desconhecido, porque em geral há um valor diferente para uma coluna associada com cada linha de dados em uma tabela. Exemplos: Alo, 8 de janeiro de 1965, etc. Valores boolean: Um valor boolean é um valor TRUE, FALSE ou NULL. Os valores boolean são utilizados para fazer comparações de dados. Por exemplo, quando são especificados critérios para uma consulta, cada condição é avaliada como TRUE, FALSE ou NULL. Se o valor boolean de TRUE for retornado, os dados da consulta são retornados. Se o valor FALSE for retornado, os dados da consulta não podem ser retornados. 19 10