SQL Básica Andre Noel
Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais
Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais Se tornou um padrão e facilita a migração
Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais Se tornou um padrão e facilita a migração Os usuários mesmo podem escrever comandos
Introdução SQL: Structured Query Language
Introdução SQL: Structured Query Language Originalmente SEQUEL (Structured English QUEry Language)
Introdução SQL: Structured Query Language Originalmente SEQUEL (Structured English QUEry Language) Criada e implementada na IBM Research
Introdução SQL é DDL e DML.
Introdução SQL é DDL e DML. DDL: Linguagem de definição de dados DML: Linguagem de manipulação de dados
Definições e tipos de dados Modelo relacional Relação Tupla Atributo
Definições e tipos de dados Modelo relacional Relação Tupla Atributo SQL Tabela Linha Coluna
Comando CREATE CREATE: Pode ser usado para criar esquemas, tabelas e domínios
Esquema e catálogo em SQL Esquemas existem a partir do SQL2
Esquema e catálogo em SQL Esquemas existem a partir do SQL2 Um esquema é identificado por um nome de esquema e inclui um identificador de autorização
Esquema e catálogo em SQL Esquemas existem a partir do SQL2 Um esquema é identificado por um nome de esquema e inclui um identificador de autorização Os elementos de um esquema incluem: tabelas, restrições, views, domínios e outras construções
Esquema e catálogo em SQL Esquemas existem a partir do SQL2 Um esquema é identificado por um nome de esquema e inclui um identificador de autorização Os elementos de um esquema incluem: tabelas, restrições, views, domínios e outras construções CREATE SCHEMA
Esquema e catálogo em SQL Esquemas existem a partir do SQL2 Um esquema é identificado por um nome de esquema e inclui um identificador de autorização Os elementos de um esquema incluem: tabelas, restrições, views, domínios e outras construções CREATE SCHEMA CREATE SCHEMA EMPRESA AUTHORIZATION Jsilva ;
Esquema e catálogo em SQL Catálogo Uma coleção nomeada de esquemas em um ambiente SQL
Esquema e catálogo em SQL Catálogo Uma coleção nomeada de esquemas em um ambiente SQL Ambiente SQL Uma instalação de um SGBDR compatível com SQL em um sistema de computador
Esquema e catálogo em SQL Catálogo Uma coleção nomeada de esquemas em um ambiente SQL Ambiente SQL Uma instalação de um SGBDR compatível com SQL em um sistema de computador INFORMATION_SCHEMA Um catálogo sempre contém um esquema especial, chamado INFORMATION_SCHEMA, que oferece informações sobre todos os esquemas no catálogo e todos os seus descritores de elementos
CREATE TABLE CREATE TABLE Para especificar uma nova relação, dando-lhe um nome e especificando seus atributos e restrições iniciais
CREATE TABLE
CREATE TABLE
CREATE TABLE
CREATE TABLE
CREATE TABLE
CREATE TABLE
Tipos de dados Básicos: numérico, cadeia ou sequência de caracteres, cadeia ou sequência de bits, booleano, data e hora.
Tipos de dados Fonte: w3schools
Especificando restrições em SQL
Especificando restrições em SQL Restrições de chave e integridade referencial Restrições sobre domínios de atributos e NULLs Restrições sobre tuplas individuais dentro de uma relação
Restrições de atributo e defaults Restrição NOT NULL A chave primária sempre é NOT NULL, mas outros atributos podem possuir essa restrição
Restrições de atributo e defaults Restrição NOT NULL A chave primária sempre é NOT NULL, mas outros atributos podem possuir essa restrição Valor padrão (DEFAULT) Se um valor não for definido explicitamente, esse valor será atribuído
Restrições de atributo e defaults Restrição NOT NULL A chave primária sempre é NOT NULL, mas outros atributos podem possuir essa restrição Valor padrão (DEFAULT) Se um valor não for definido explicitamente, esse valor será atribuído Se nenhum valor padrão for definido, o valor padrão será NULL
Restrições de atributo e defaults
Restrições de atributo e defaults Restrição de valores (CHECK) Dnumero INT NOT NULL CHECK (Dnumero > 0 AND Dnumero < 21);
Restrições de atributo e defaults Restrição de valores (CHECK) Dnumero INT NOT NULL CHECK (Dnumero > 0 AND Dnumero < 21); CREATE DOMAIN CREATE DOMAIN D_NUM AS INTEGER CHECK (D_NUM > 0 AND D_NUM < 21);
Restrições de chave e integridade referencial
Restrições de chave e integridade referencial Chave primária
Restrições de chave e integridade referencial Chave primária Se tiver apenas um atributo pode acompanhar a definição do atributo: Dnumero INT PRIMARY KEY;
Restrições de chave e integridade referencial Chave primária Se tiver apenas um atributo pode acompanhar a definição do atributo: Dnumero INT PRIMARY KEY; Senão, PRIMARY KEY (Dnumero, Dlocal);
Restrições de chave e integridade referencial Chave única Chaves alternativas, secundárias Dnome VARCHAR(15) UNIQUE; Ou: UNIQUE (Dnome);
Restrições de chave e integridade referencial Chave estrangeira Integridade referencial FOREIGN KEY (Dnumero) REFERENCES DEPARTAMENTO(Dnumero);
Restrições de chave e integridade referencial Chave estrangeira Integridade referencial FOREIGN KEY (Dnumero) REFERENCES DEPARTAMENTO(Dnumero); A ação padrão ao tentar alterar é rejeitar (REJECT) a operação, causando uma violação
Restrições de chave e integridade referencial Chave estrangeira Ação de disparo referencial ON DELETE / ON UPDATE
Restrições de chave e integridade referencial Chave estrangeira Ação de disparo referencial ON DELETE / ON UPDATE Opções: SET NULL, CASCADE e SET DEFAULT Ex: FOREIGN KEY (Dnumero) REFERENCES DEPARTAMENTO(Dnumero) ON DELETE CASCADE ON UPDATE CASCADE;
Dando nomes para restrições CONSTRAINT
Restrições sobre tuplas CHECK Dentro do comando CREATE TABLE