Programação SQL. Introdução



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

Linguagem SQL Sub-linguagem DDL

Comandos DDL. id_modulo = id_m odulo

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

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

Banco de dados. Linguagens de Banco de Dados II. Wedson Quintanilha da Silva -

1. Domínio dos Atributos

Linguagem SQL (Parte II)

09/06/2015 EXEMPLO COM A CONSTRAINTS CHECK: CHECK EXISTEM ALGUNS TIPOS DISTINTOS DE RESTRIÇÕES QUE SE PODEM APLICAR A COLUNAS: Constraint NOT NULL

SQL. Autor: Renata Viegas

Linguagem de Consulta - SQL

A linguagem SQL

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

AULA 6 INTEGRIDADOS DOS DADOS - CRIANDO RESTRIÇÕES

Comandos de Manipulação

SQL DDL. Frederico D. Bortoloti

Programação SQL. Manipulação de Dados. DML Data Manipulation Language

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

PHP INTEGRAÇÃO COM MYSQL PARTE 1

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

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

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

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

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

SQL - Criação de Tabelas

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

SQL: Definição de tabelas, Modificações à Base de Dados

Structured Query Language (SQL) Aula Prática

Introdução ao SQL. Aécio Costa

Linguagem SQL. Comandos Básicos

SQL (Structured Query Language)

SQL. Definição do Esquema da Base de Dados. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

SQL (Structured Query Language)

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

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

SQL (Structured Query Language)

Structured Query Language (SQL)

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

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

CREATE TABLE AUTOR ( cod_autor int not null primary key, nome_autor varchar (60) )

SQL (Structured Query Language)

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

SQL DDL ALTERAÇÃO DA ESTRUTURA DE TABELAS - ALTER TABLE - ALTER TABLE NOME_TABELA ADD [COLUMN] NOME_COLUNA TIPO_COLUNA RESTRIÇÕES

SQL Structured Query Language

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

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

Operação de União JOIN


Linguagem de Consulta Estruturada (SQL)

MYSQL: TIPOS DE DADOS. Gilvan Vieira Moura

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL

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

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

Consistem num conjunto de apontadores para instâncias especificas de cada relação.

SQL (Linguagem de Consulta Estruturada)

DESENVOLVIMENTO DE SOFTWARE

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

O que são Bancos de Dados?

Esquema da Relação. Modelo Relacional. Instância da Relação. Exemplo. Uma base de dados é uma colecção de uma ou mais relações com nomes distintos

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

Linguagem SQL (Parte I)

EXEMPLOS DE COMANDOS NO SQL SERVER

Prof. Carlos Majer Aplicações Corporativas UNICID

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

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS

Linguagem de Consulta Estruturada SQL- DML

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

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

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

Linguagem SQL Parte I

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

SQL BÁSICO. Introdução. Prof. Suelane Garcia. Linguagem SQL (Structured Query Language)

Principais Comandos SQL Usados no MySql

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

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

EXERCÍCIOS PRÁTICOS. Banco de Dados

SQL. Prof. Márcio Bueno.

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 é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.

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

Fundamentos do Sistema Gerenciador de Banco de Dados

ADMINISTRAÇÃO DE BANCO DE DADOS

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

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

Integridade dos Dados

MANIPULANDO BANCO DE DADOS NO POSTGRESQL SEM FAZER USO DE COMANDOS SQL

1. Assinale as afirmações que são verdadeiras e as que são falsas, corrigindo-as:

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

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

DESENVOLVIMENTO DE SOFTWARE

Tarefa Orientada 15 Manipulação de dados

Curso PHP Aula 08. Bruno Falcão

4.6. SQL - Structured Query Language

Banco de Dados. DIEGO BARCELOS RODRIGUES 2015 (2015/1) 1. Ifes - Campus Cachoeiro de Itapemirim

Banco de Dados I Introdução SQL

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

UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA. Banco de Dados II. Integridade. Carlos Eduardo Portela Serra de Castro

Transcriçã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: onde são armazenados os dados; Data Type: identificador do tipo de dados que podem ser armazenados numa colunas; Index: providencia rapidez no acesso às linhas da tabela baseado nos valores de uma ou mais colunas;

Principais estruturas duma Base de Dados: Uma BD relacional é constituída por diversas estruturas (ou objectos ) de informação. Podemos destacar: View: tabela lógica que fornece uma visão alternativa dos dados. Stored Procedure: comando SQL pré-compilado; Constraint: restrição dos valores possíveis de colunas.

Operadores: São símbolos que executam operações sobre um ou mais valores operandos. Os operadores podem ser combinados em expressões. Associação = Aritméticos *, /, +, -, % Unários +, -, ~ Comparação <, =, >, <>,? Concatenação + Lógicos AND, OR, NOT

APLICAÇÕES SQL INTERFACES As aplicações e interfaces acedem aos dados através de instruções SQL que comunicam ao SGBD aquilo que se pretende. SGBD BD O SGBD encarrega-se da execução do código necessário para a conclusão da tarefa requisitada.

Os dados para existirem têm que ser armazenados em tabelas. Essas tabelas terão de ser criadas, bem como outras possíveis estruturas de apoio e suporte. A linguagem SQL disponibiliza um conjunto de comandos para:

criação CREATE TABLE alteração ALTER TABLE apagar DROP TABLE Este conjunto de comandos faz parte da sublinguagem denominada por DDL Data Definition Language (Linguagem de Definição de Dados)

CREATE TABLE

CREATE TABLE A sintaxe básica do comando é a seguinte: CREATE TABLE nome_da_tabela ( Coluna1 Tipo, Coluna2 Tipo, )

CREATE* TABLE Exemplo: CREATE TABLE Empregado ( ID INTEGER, Nome CHAR (50), Data_Nasc DATE, Salario FLOAT) Tipos de Dados

Criação de Tabelas [Exemplo] CREATE TABLE professores ( n_contrib CHAR (12), nome CHAR (30), idade SMALLINT, posto CHAR (20), especialidade VARCHAR (255) ); Tipos de Dados

Tipos de dados: Na linguagem SQL, os dados podem ser agrupados em 3 grandes grupos: Strings; Dados numéricos; Dados relacionados com tempo e/ou datas

CREATE TABLE Exemplo: Escrever um comando que permita criar a tabela Cod_Postal, capaz de armazenar um inteiro com 4 dígitos e uma string com 45 caracteres: CREATE TABLE Cod_Postal ( Microsoft Access Codigo INTEGER, Local CHAR (45)); CREATE TABLE Cod_Postal ( SQL Server Oracle SyBase Codigo NUMERIC (4), Local CHAR (45));

Características das Colunas: Para a execução do comando CREATE TABLE é necessário: Indicar qual o nome da Tabela; Indicar, para cada uma das colunas: O nome da coluna; Tipo de dados

Características das Colunas: No entanto, podem ser indicadas as características de cada uma das colunas, que valores admitir e, caso não seja introduzido um valor, qual o valor por defeito, etc.

Colunas Valores por defeito (Quando uma tabela é criada com o conjunto mínimo de código) INSERT INTO Cod_Postal VALUES ( 1000, Lisboa ); INSERT INTO Cod_Postal (Codigo) VALUES (1000);

Colunas Valores por defeito (Quando uma tabela é criada com o conjunto mínimo de código) Se pretendermos que uma coluna não admita valores nulos, deve-se juntar imediatamente ao tipo de dados da coluna a cláusula NOT NULL CREATE TABLE Cod_Postal ( SQL Server Oracle SyBase Codigo NUMERIC (4) NOT NULL, Local CHAR (45));

Colunas Valores por defeito (Quando uma tabela é criada com o conjunto mínimo de código) Se, por defeito, quisermos que a localidade a criar se chame LISBOA, então teremos que fazer: CREATE TABLE Cod_Postal ( SQL Server Oracle SyBase Codigo NUMERIC (4) NOT NULL, Local CHAR (45) DEFAULT Lisboa );

Colunas Valores por defeito (Quando uma tabela é criada com o conjunto mínimo de código) A cláusula DEFAULT pode estar associada a três tipos de valores: Literais ex: DEFAULT Lisboa Null SQL Server Oracle SyBase ex: DEFAULT NULL Valor de Sistema ex: DEFAULT Sysdate (Oracle)

Restrições (Constraints) Todas as linhas que se pretendem inserir numa tabela terão que obedecer ao conjunto de restrições existentes para as colunas dessas tabelas.* Existem alguns tipos distintos de restrições que se podem aplicar a colunas:

Restrições (Constraints) NOT NULL; CHECK (); UNIQUE; PRIMARY KEY; REFERENCES; FOREIGN KEY.

Restrições (Constraints) NOT NULL impede a introdução de valores nulos na coluna; CREATE TABLE teste (Id INTEGER NOT NULL, Nome CHAR (60) Microsoft Access NOT NULL);

Restrições (Constraints) CHECK() permite realizar a validação dos dados introduzidos na coluna, através da especificação de uma condição. São admitidos apenas os dados cujo resultado da avaliação seja verdadeiro; CREATE TABLE teste ( SQL Server Oracle SyBase Id INTEGER NOT NULL, Nome CHAR (60) NOT NULL CHECK (Nome NOT Like %João% ), Idade INTEGER NOT NULL CHECK (Idade BETWEEN* 0 AND 150), Sexo CHAR NOT NULL CHECK (Sexo IN* ( M, F ));

Restrições (Constraints) CHECK() É possível a especificação da restrição CHECK relativa a duas ou mais colunas. CREATE TABLE teste ( Id INTEGER NOT NULL, Nome CHAR (60) NOT NULL CHECK (Nome NOT Like %Reginaldo% ), Sexo CHAR NOT NULL Oracle SyBase CHECK (Sexo IN ( M, F ) Data_Nasc DATE, Data_Admissao DATE, CHECK (Data_Admissão>Data_Nasc));

Restrições (Constraints) CHECK() É possível a especificação da restrição CHECK relativa a duas ou mais colunas. CREATE TABLE teste ( Id INTEGER NOT NULL, Nome CHAR (60) NOT NULL CHECK (Nome NOT Like %Reginaldo% ), Sexo CHAR NOT NULL CHECK (Sexo IN ( M, F )), Data_Nasc DATETIME, Data_Admissao DATETIME, CHECK (Data_Admissão>Data_Nasc)); SQL Server

Restrições (Constraints) UNIQUE Permite indicar que os valores dessa coluna não se podem repetir. Para garantir que não existem dados repetidos nessa coluna, os SGBD criam, sobre cada uma das colunas UNIQUE, um índice único. CREATE TABLE teste ( Id INTEGER PRIMARY KEY, SQL Server Oracle SyBase Nome CHAR (60) UNIQUE, Telefone CHAR (15), BI INTEGER UNIQUE);

Restrições (Constraints) UNIQUE O comando anterior poderia ser escrito da seguinte forma: CREATE TABLE teste ( Id INTEGER PRIMARY KEY, SQL Server Oracle SyBase Nome CHAR (60), Telefone CHAR (15), BI INTEGER, UNIQUE (Nome), UNIQUE (BI))

Restrições (Constraints) PRIMARY KEY É equivalente às cláusulas NOT NULL + UNIQUE juntas. Numa tabela apenas pode existir uma PRIMARY KEY e é normalmente utilizada para indicar qual a chave primária da tabela: CREATE TABLE teste ( Id INTEGER PRIMARY KEY, Nome CHAR (60), SQL Server Oracle SyBase Telefone CHAR (15), BI INTEGER, UNIQUE (Nome), UNIQUE (BI))

Restrições (Constraints) REFERENCES Permite fazer a validação das chaves estrangeiras. CREATE TABLE Pessoa ( SQL Server Oracle SyBase Id NUMERIC PRIMARY KEY, Nome CHAR (30) NOT NULL, Telefone CHAR (12) NULL, Cod_Postal NUMERIC (4), REFERENCES Postal (Codigo));

Restrições (Constraints) REFERENCES Se houver necessidade de referenciar uma chave estrangeira formada por dois ou mais campos, terá que se utilizar a cláusula FOREIGN KEY. CREATE TABLE Pessoa ( Id NUMERIC PRIMARY KEY, SQLl Server Oracle SyBase Nome CHAR (30) NOT NULL, Telefone CHAR (12) NULL, Salario NUMERIC (10, 2) NOT NULL CHECK (Salario>0), Cod_Postal NUMERIC (4), REFERENCES Postal (Codigo), FOREIGN KEY (Id, Salario) REFERENCES Pessoal (N_Emp, Valor));

ALTER TABLE

ALTER TABLE Permite alterar a estrutura de uma tabela. Com a seguinte sintaxe é possível adicionar uma nova coluna a uma determinada tabela, alterar as características de uma coluna já existente ou eliminar uma coluna.

ALTER TABLE A sintaxe básica do comando: ALTER TABLE nome_da_tabela ADD Coluna1 Tipo ALTER TABLE nome_da_tabela MODIFY Coluna1 Tipo ALTER TABLE nome_da_tabela DROP Coluna1 Tipo

ALTER TABLE Adicione à tabela Pessoa uma coluna denominada Fax com 15 caracteres: ALTER TABLE Pessoa Microsoft Access SQL Server Oracle SyBase ADD Fax CHAR (15)

ALTER TABLE Altere o tipo de dados da coluna adicionada para 25 caracteres: ALTER TABLE Pessoa MODIFY Fax CHAR (25) Oracle SyBase

ALTER TABLE Altere as características da coluna Salario na tabela Pessoa, de tal forma que esta possa passar a admitir nulos ALTER TABLE Pessoa MODIFY Salario NULL Oracle SyBase

ALTER TABLE Para eliminar a coluna Fax anteriormente introduzida: ALTER TABLE Pessoa DROP Fax Microsoft Access SQL Server SyBase