Structured Query Language (SQL)



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

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

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

Linguagem SQL Sub-linguagem DDL

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

A linguagem SQL

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

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

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

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

SQL - Criação de Tabelas

SQL. Autor: Renata Viegas

Structured Query Language (SQL) Aula Prática

PHP INTEGRAÇÃO COM MYSQL PARTE 1

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

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

Comandos DDL. id_modulo = id_m odulo

Linguagem SQL (Parte II)

SQL DDL. Frederico D. Bortoloti

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

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

Banco de Dados. Prof. Antonio

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)

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

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

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

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

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

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

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


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

Regras de Integridade. Profa. Késsia Marchi

Programação SQL. Introdução

O projeto físico do bando de dados consiste no mapeamento do projeto lógico para um DBMS real Projeto deve levar em conta fatores como:

Comandos de Manipulação

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

O que são Bancos de Dados?

Linguagem de Consulta - SQL

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

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

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

Linguagem de Consulta Estruturada SQL- DML

Sistemas de Banco de Dados

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

SQL (STRUCTUREDQUERY LANGUAGE)

SQL Structured Query Language

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

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

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

SQL (STRUCTUREDQUERY LANGUAGE)

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

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

Introdução à linguagem SQL

SQL (Structured Query Language)

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

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

1. Domínio dos Atributos

SQL (Structured Query Language)

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

Structured Query Language (SQL)

Linguagem SQL. Comandos Básicos

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

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

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

SQL. Hélder Antero Amaral Nunes

SQL Linguagem de Definição de Dados

Linguagem SQL (Parte I)

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

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

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

(1,n) venda. (1,1) realizacao. cliente. (0,n) (1,1) contem. produto. Laboratório de Banco de Dados Exercicios

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

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

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

Introdução ao SQL. Aécio Costa

Triggers em PostgreSQL. Linguagem de Programação de Banco de Dados. Triggers em PostgreSQL. Triggers em PostgreSQL

SQL (Structured Query Language)

Introdução a Sistemas de Bancos de Dados

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

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

SQL DDL Criando Tabelas e Restrições

EXEMPLOS DE COMANDOS NO SQL SERVER

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

Modelagem Física e SQL

4.6. SQL - Structured Query Language

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

SQL (Tópicos) Structured Query Language

SQL Gatilhos (Triggers)

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

Fundamentos do Sistema Gerenciador de Banco de Dados

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

Introdução ao PostgreSQL

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

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

ROTEIRO. A Linguagem SQL (I parte) CEFET.PHB - PI Prof. Jefferson Silva. As partes da linguagem SQL. A Linguagem de Definição de Dados (SQL-DDL)

Sumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010

Transcrição:

Structured Query Language (SQL) SQL-Breve Histórico : # CREATE, ALTER e DROP; # BEGIN TRANSACTION, ROLLBACK e COMMIT; # GRANT, REVOKE e DENY; 1 Structured Query Language (SQL) Desenvolvida pelo departamento de pesquisa da IBM na década de 1970 (System R); Embora o SQL tenha sido originalmente criado pela IBM, rapidamente surgiram vários "dialetos" desenvolvidos por outros fabricantes; Essa expansão levou à necessidade de ser criado e adaptado um padrão para a linguagem; 2

Structured Query Language (SQL) Em 1986 o American National Standard Institute (ANSI) publicou o SQL e estabeleceu como linguagem padrão de Banco de Dados Relacional; Esta tarefa também pelo International Standards Organization (ISO) em 1987; O SQL foi revisto em 1992 e a esta versão foi dado o nome de SQL-92; 3 Structured Query Language (SQL) Foi revisto novamente em 1999 e 2003 para se tornar SQL:1999 (SQL3) e SQL:2003, respectivamente; Exemplo de modificação no SQL:1999 : # Gatilhos (triggers). Exemplo de modificação no SQL:2003 : # Introdução de características relacionadas ao XML. 4

Structured Query Language (SQL) Embora padronizado pela ANSI e ISO, possui muitas variações e extensões produzidos pelos diferentes fabricantes de sistemas gerenciadores de bases de dados; Tipicamente a linguagem pode ser migrada de plataforma para plataforma sem mudanças estruturais principais. 5 Structured Query Language (SQL) Tipicamente, pode ser dividida em duas sublinguagens : # DDL Data Definition Language Modificações estruturais ; # DML Data Manipulation Language Manipulação de dados: Consultas, inserções, etc. 6

Comandos básicos usados para estruturar o banco de dados: # CREATE Criação de elementos ; # ALTER Alteração de elementos ; # DROP Exclusão de elementos. 7 Os comandos abaixo serão estudados posteriormente: # Controle de transações: BEGIN TRANSACTION, ROLLBACK e COMMIT; # Estabelecimento de direitos de acesso: GRANT, REVOKE e DENY. 8

CREATE DATABASE # Criação de um banco de dados. # Exemplo: CREATE DATABASE BancoExemplo; Retorno do SGDB (MSSQL 2000): The CREATE DATABASE process is allocating 0.75 MB on disk 'BancoExemplo'. The CREATE DATABASE process is allocating 0.49 MB on disk 'BancoExemplo_log'. 9 CREATE DATABASE # A criação de um banco de dados corresponde à fase de implementação (modelo físico); # Para que seja possível criar tabelas deve ser criado o banco de dados primeiro; # São criados arquivos para armazenamento dos dados. 10

CREATE DATABASE # Como especificar localização, tamanho, etc.? # No exemplo anterior, foram criados dois arquivos: BancoExemplo (0.75 MB) BancoExemplo_log (0.49 MB). 11 CREATE DATABASE 12

CREATE DATABASE # Cada SGBD gerencia os dados de maneira própria; # Extensões para os comandos SQL padrão incluem parâmetros que permitem a especificação de características dos bancos de dados; # Conceitos de arquivos de log varia de gerenciador para gerenciador, por exemplo. 13 CREATE DATABASE MS SQL Server 2000: CREATE DATABASE database_name [ ON [ < filespec > [,...n [, < filegroup > [,...n [ LOG ON { < filespec > [,...n } [ COLLATE collation_name [ FOR LOAD FOR ATTACH < filespec > ::= [ PRIMARY ( [ NAME = logical_file_name, FILENAME = 'os_file_name' [, SIZE = size [, MAXSIZE = { max_size UNLIMITED } [, FILEGROWTH = growth_increment ) [,...n < filegroup > ::= FILEGROUP filegroup_name < filespec > [,...n 14

ALTER DATABASE # Permite alterar configurações de um banco de dados previamente criado; # De forma semelhante ao comando de criação, os parâmetros disponíveis para alteração variam de acordo com o fabricante do SGBD; # Por exemplo, um banco pode ter um atributo de leitura e escrita alterado somente para leitura. 15 ALTER DATABASE MS SQL Server 2000: ALTER DATABASE database { ADD FILE < filespec > [,...n [ TO FILEGROUP filegroup_name ADD LOG FILE < filespec > [,...n REMOVE FILE logical_file_name ADD FILEGROUP filegroup_name REMOVE FILEGROUP filegroup_name MODIFY FILE < filespec > MODIFY NAME = new_dbname MODIFY FILEGROUP filegroup_name {filegroup_property NAME = new_filegroup_name } SET < optionspec > [,...n [ WITH < termination > COLLATE < collation_name > } 16

DROP DATABASE # Eliminação de um banco de dados. # Exemplo: DROP DATABASE BancoExemplo; # Dependendo da versão do SGBD, os arquivos de dados não são destruídos automaticamente; # O SGBD não deve permitir a eliminação do banco se houver usuários conectados, por exemplo. 17 DROP DATABASE MS SQL Server 2000: DROP DATABASE database_name [,...n # Exemplo: 18

CREATE TABLE # Criação de uma tabela no banco de dados ao qual o usuário está conectado; # Exemplo de sintaxe: CREATE TABLE IdentificadorTab ( Atrib01 TipoDado [NOT NULL, Atrib02 TipoDado [NOT NULL, PRIMARY KEY (ChavePrimaria) ); 19 CREATE TABLE # Na sintaxe anterior: IdentificadorTab: Identificador da tabela (nome); Atrib01, Atrib02: Atributos (campos ou colunas da tabela); [NOT NULL: Nulabilidade do campo. O fato de aparecer entre colchetes indica que sua especificação é opcional; PRIMARY KEY: Atributos que constituem a chave primária. 20

CREATE TABLE # Exemplos: CREATE TABLE Cliente ( idcli INTEGER NOT NULL, Nome CHAR(50) NOT NULL, cpf CHAR(11) NOT NULL, PRIMARY KEY (idcli) ); CREATE TABLE AgenciaCliente ( idag INTEGER NOT NULL, NomeAg CHAR(50) NOT NULL, PRIMARY KEY (idag) ); 21 CREATE TABLE MS SQL Server 2000 (01/04) CREATE TABLE [ database_name.[ owner. owner. table_name ( { < column_definition > column_name AS computed_column_expression < table_constraint > ::= [ CONSTRAINT constraint_name } [ { PRIMARY KEY UNIQUE } [,...n ) [ ON { filegroup DEFAULT } [ TEXTIMAGE_ON { filegroup DEFAULT } continua 22

CREATE TABLE MS SQL Server 2000 (02/04) < column_definition > ::= { column_name data_type } [ COLLATE < collation_name > [ [ DEFAULT constant_expression [ IDENTITY [ ( seed, increment ) [ NOT FOR REPLICATION [ ROWGUIDCOL [ < column_constraint > [...n continua 23 CREATE TABLE MS SQL Server 2000 (03/04) < column_constraint > ::= [ CONSTRAINT constraint_name { [ NULL NOT NULL [ { PRIMARY KEY UNIQUE } [ CLUSTERED NONCLUSTERED [ WITH FILLFACTOR = fillfactor [ON {filegroup DEFAULT} [ [ FOREIGN KEY REFERENCES ref_table [ ( ref_column ) [ ON DELETE { CASCADE NO ACTION } [ ON UPDATE { CASCADE NO ACTION } [ NOT FOR REPLICATION CHECK [ NOT FOR REPLICATION ( logical_expression ) continua 24

CREATE TABLE MS SQL Server 2000 (04/04) < table_constraint > ::= [ CONSTRAINT constraint_name { [ { PRIMARY KEY UNIQUE } [ CLUSTERED NONCLUSTERED { ( column [ ASC DESC [,...n ) } [ WITH FILLFACTOR = fillfactor [ ON { filegroup DEFAULT } FOREIGN KEY [ ( column [,...n ) REFERENCES ref_table [ ( ref_column [,...n ) [ ON DELETE { CASCADE NO ACTION } [ ON UPDATE { CASCADE NO ACTION } [ NOT FOR REPLICATION CHECK [ NOT FOR REPLICATION ( search_conditions ) } 25 ALTER TABLE # Modifica a definição de uma tabela: Alteração, inclusão e remoção de colunas; Alteração, inclusão e remoção de restrições (constraints); Habilitar / desabilitar restrições e gatilhos (triggers). 26

ALTER TABLE # Exemplo de sintaxe: ALTER TABLE AgenciaCliente ADD idcri INTEGER NOT NULL CONSTRAINT FKAgenciaCliente FOREIGN KEY (idcri) REFERENCES Cliente(idCli) DEFAULT(-1); # Note que os nomes das colunas envolvidas na referência podem ser diferentes; # A coluna que vai ser adicionada deve permitir nulos ou possuir a propriedade DEFAULT definida. 27 ALTER TABLE MS SQL Server 2000 (01/04) ALTER TABLE table { [ ALTER COLUMN column_name { new_data_type [ ( precision [, scale ) [ COLLATE < collation_name > [ NULL NOT NULL {ADD DROP } ROWGUIDCOL } ADD { [ < column_definition > column_name AS computed_column_expression } [,...n [ WITH CHECK WITH NOCHECK ADD { < table_constraint > } [,...n DROP { [ CONSTRAINT constraint_name COLUMN column } [,...n { CHECK NOCHECK } CONSTRAINT { ALL constraint_name [,...n } { ENABLE DISABLE } TRIGGER { ALL trigger_name [,...n } } continua... 28

ALTER TABLE MS SQL Server 2000 (02/04) < column_definition > ::= { column_name data_type } [ [ DEFAULT constant_expression [ WITH VALUES [ IDENTITY [ (seed, increment ) [ NOT FOR REPLICATION [ ROWGUIDCOL [ COLLATE < collation_name > [ < column_constraint > [...n continua... 29 ALTER TABLE MS SQL Server 2000 (03/04) < column_constraint > ::= [ CONSTRAINT constraint_name { [ NULL NOT NULL [ { PRIMARY KEY UNIQUE } [ CLUSTERED NONCLUSTERED [ WITH FILLFACTOR = fillfactor [ ON { filegroup DEFAULT } [ [ FOREIGN KEY REFERENCES ref_table [ ( ref_column ) [ ON DELETE { CASCADE NO ACTION } [ ON UPDATE { CASCADE NO ACTION } [ NOT FOR REPLICATION CHECK [ NOT FOR REPLICATION ( logical_expression ) } continua... 30

ALTER TABLE MS SQL Server 2000 (04/04) < table_constraint > ::= [ CONSTRAINT constraint_name { [ { PRIMARY KEY UNIQUE } [ CLUSTERED NONCLUSTERED { ( column [,...n ) } [ WITH FILLFACTOR = fillfactor [ ON {filegroup DEFAULT } FOREIGN KEY [ ( column [,...n ) REFERENCES ref_table [ ( ref_column [,...n ) [ ON DELETE { CASCADE NO ACTION } [ ON UPDATE { CASCADE NO ACTION } [ NOT FOR REPLICATION DEFAULT constant_expression [ FOR column [ WITH VALUES CHECK [ NOT FOR REPLICATION ( search_conditions ) } 31 Structured Query Language (SQL) Referências Bibliográficas # SILBERCHATZ A., KORTH H. F., SUDARSHAN S.; Sistema de Banco de Dados, São Paulo, Pearson Makron Books, 2006. # Integration Definition for Information Modeling (IDEF1X); Federal Information Standards Publication (FIPS) 184, 1993. 32