SQL Linguagem de Definição de Dados

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

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

Bancos (Bases) de Dados

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas

BANCO DE DADOS SQL (DDL: CREATE TABLE, CONSTRAINTS)

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 16. Escola Politécnica da Universidade de São Paulo

Banco de Dados I Introdução SQL

Tabelas. Banco de Dados I MySQL

Aula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU

Linguagem SQL Sub-linguagem DDL

A linguagem SQL

A Linguagem SQL. Tecnologia de Base de Dados. MSc. Eugénio. Macumbe

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

SQL Básica. Andre Noel

Prof. Dr. Joaquim Assunção Banco de Dados. SQL (parte 4) DDL Restrições

Banco de Dados. Linguagem SQL

BANCO DE DADOS 2 SQL (CREATE TABLE, CONSTRAINTS, DELETE, UPDATE

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

Bases de Dados. DDL Data Definition Language

BCD29008 Banco de dados

SQL BÁSICO. Luiz Antônio Vivacqua Corrêa Meyer

SQL. Linguagem de Definição de Dados (DDL) Tipos em SQL. Tipos Data/Tempo em SQL (cont.)

Structured Query Language (SQL) Aula Prática

Banco de Dados. Professora: Luciana Faria

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

Linguagem de Consulta Estruturada (SQL)

Definição de Dados com SQL

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação

Modelagem Física e SQL

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

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

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

Modelagem Física e SQL

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

A linguagem SQL

INF1383 -Bancos de Dados

Programação SQL. Introdução

Linguagem de Definição de Dados (DDL)

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

Instrução Create Table

Sumário: 1) Trabalhando com Constraints: - NOT NULL - UNIQUE - PRIMARY KEY - FOREIGN KEY - DEFAULT

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

BANCO DE DADOS PARA NINJAS

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

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

Aula de SQL Comandos DDL. André Luiz de Oliveira Eduardo Raul Hruschka

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)

Material Teórico. Organização de Dados. Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque

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

Introdução ao PostgreSQL

MySql. Introdução a MySQL. Andréa Garcia Trindade

Arquivo. Banco de Dados. Organização dos Arquivos. Banco de Dados. Banco de Dados. Introdução a Computação

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida

Exemplos de Vistas SQL. Tipos em SQL. Linguagem de Definição de Dados (DDL) CREATE VIEW todososclientes As

Rápida revisão do Modelo Relacional

SQL. Prof. Roger Cristhian Gomes

Sistemas de Informação e Bases de Dados 2012/2013. Linguagem SQL

LINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea

MODELAGEM DE DADOS MODELO FÍSICO

Comandos DDL. id_modulo = id_m odulo

SQL (Tópicos) Structured Query Language

1. Domínio dos Atributos

Linguagem SQL. Comandos Básicos

Manipulação de Dados com SQL

BANCO DE DADOS WEB AULA 7. criação de tabelas. professor Luciano Roberto Rocha.

Linguagem SQL (Parte II)


O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de

PSI Linguagem de Definição de dados. Módulo 15

Bases de Dados BDDAD. Oracle SQL Comandos. Nelson Freire (ISEP LEI-BDDAD 2017/18) 1/101

Aula 06 Sistemas Embarcados LT38C

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

modelo introduzido por E. F. Codd Meados da década de 70: protótipos. INGRES (UC Berkeley, 73 77) System R (IBM Research at San Jose, 74 78)

INTRODUÇÃO AO MYSQL PROF. ME. HÉLIO ESPERIDIÃO

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

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.

Structured Query Language (SQL)

Projeto de Banco de Dados

Mysql. Quanto mais informações você busca, mais você evolui. Vitor Ramos. Disciplina de Banco de Dados

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

Modelo Relacional + SQL (DDL) Material elaborado pela Prof. Karin Becker

Atualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g

Definição do esquema da base de dados. o esquema da BD é composto pelas definições de todas as tabelas da BD.

Linguagem de Consulta - SQL

SQL - Criação de Tabelas

GBC043 Sistemas de Banco de Dados

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

SQL (Structured Query Language)

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

BDII SQL DDL Revisão 9

Sistemas de Informação e Bases de Dados 2012/2013. Restrições de Integridade em SQL

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados>

Modelo Relacional Prof. Msc Denival A. dos Santos

SQL (Structured Query Language)

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

Subsistema de Integridade Semântica

SQL (Structured Query Language)

Transcrição:

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

SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix Ingress SQL Server Interbase SyBase DB2 MySQL PostgreSQL

Oracle e SQL DDL CREATE TABLE cria uma nova tabela (relação) no BD a nova tabela não possui dados DROP TABLE remove uma tabela (relação) e todas as suas instâncias do BD ALTER TABLE altera a estrutura de uma tabela (relação) já existente no BD

CREATE TABLE CREATE TABLE nome_da_tabela (nome_da_coluna tipo_de_dado [(tamanho)] [DEFAULT expr] [restrições] [, nome_da_coluna tipo_de_dado [(tamanho)] [DEFAULT expr] [restrições] ] [, restrições] ) ; Cria uma nova tabela (relação) Cria os atributos da nova tabela, com nome do atributo (i.e., nome_da_coluna) tipo de dado e tamanho valor DEFAULT restrições que atuam no atributo

Char Tipos de Dados alfanumérico de tamanho fixo tamanho máximo de 2.000 caracteres Varchar2 alfanumérico de tamanho variável tamanho máximo de 4.000 caracteres CLOB (character long object) alfanumérico de tamanho variável tamanho máximo de 4 GB

Tipos de Dados BLOB (binary long object) binário de tamanho variável tamanho máximo de 4 GB BFILE (binary file) armazena uma referência a um arquivo externo ao banco de dados não permite referência remota o arquivo deve estar localizado na mesma máquina que o banco de dados tamanho gerenciado pelo sistema operacional

Tipos de Dados Number (numérico, máx. 38 carac) Number(4) número inteiro tamanho máximo de 4 números Number(12,2) número de ponto flutuante tamanho máximo de 12 números 10 inteiros e 2 decimais

DATE Tipos de Dados século, ano, mês, dia, hora, minuto, segundo TIMESTAMP dados de DATE + milésimo de segundo Demais tipos de dados mantidos para compatibilidade com versões anteriores não são indicados para serem utilizados

Cláusula DEFAULT Funcionalidade associa um valor default para um atributo, caso nenhum outro valor seja especificado expr valor fixo expressão função variável do sistema (e.g., SYSDATE)

Restrições de Integridade Valor nulo representado por NULL membro de todos os domínios Restrição NOT NULL especificada quando NULL não é permitido proíbe que o atributo receba valor nulo Comparações usar IS NULL e IS NOT NULL

Restrições de Integridade Cláusula PRIMARY KEY identifica os atributos da relação que formam a sua chave primária os atributos devem ser definidos como NOT NULL sintaxe PRIMARY KEY (atributo 1, atributo 2,..., atributo X ) Cláusula UNIQUE não permite valores duplicados para um determinado atributo

Restrições de Integridade Cláusula CHECK especifica um predicado que precisa ser satisfeito por todas as tuplas de uma relação exemplos saldo NUMBER (6,2),... CHECK (saldo >= 0.0), nível char(15),... CHECK (nível IN (`Bacharelado`,`Mestrado`, `Doutorado`))

Restrições de Integridade Cláusula FOREIGN KEY reflete nas chaves estrangeiras todas as alterações na chave primária elimina a possibilidade de violação da integridade referencial sintaxe FOREIGN KEY (atributos) REFERENCES nome_relação (atributos) [ON DELETE [ NO ACTION CASCADE SET NULL SET DEFAULT]]

Nomeando Restrições Toda restrição possui um nome definido pelo usuário: opção CONSTRAINT atribuído automaticamente pelo sistema Definição de restrições chaves primárias (i.e., PRIMARY KEY) chaves estrangeiras (i.e., FOREIGN KEY) chaves únicas (i.e., UNIQUE) condições para valores permitidos para determinado campo (i.e., CHECK)

Declarando Restrições Exemplo CREATE TABLE cliente ( declaração dos campos cod_cliente NUMBER(4), CPF_cliente CHAR(12),..., CONSTRAINT PK_CLIENTE PRIMARY KEY (cod_cliente), CONSTRAINT UNIQUE_CPF UNIQUE (CPF_cliente),... ) declaração das restrições

Consultando Restrições Tabela USER_CONSTRAINTS tabela de controle que armazena dados sobre as restrições Consulta SELECT * FROM USER_CONSTRAINTS entre aspas simples e em letras maiúsculas WHERE TABLE_NAME = NOME_DA_TABELA ; SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE FROM USER_CONSTRAINTS WHERE TABLE_NAME = CLIENTE

Consultando Restrições Tabela USER_CONS_COLUMNS tabela de controle que contém dados sobre as colunas envolvidas em cada restrição Consulta SELECT * FROM USER_CONS_COLUMNS WHERE CONSTRAINT_NAME = NOME_DA_RESTRIÇÃO ; entre aspas simples e em letras maiúsculas

DESCRIBE DESC[RIBE] nome_da_tabela; Mostra a estrutura de uma tabela

DROP TABLE DROP TABLE nome_da_tabela; Remove uma tabela existente do BD Verifica dependências foreign keys de outras tabelas associadas devem ser eliminadas anteriormente

ALTER TABLE Altera o esquema de uma tabela do BD adiciona (ADD) remove (DROP) modifica (MODIFY) habilita (ENABLE) ou desabilita (DISABLE) atributos ou restrições de integridade

ALTER TABLE ALTER TABLE nome_da_tabela ADD (nome_da_coluna tipo_de_dado [(tamanho)] [restrições] [, nome_da_coluna tipo_de_dado [(tamanho)] [restrições] ] [, restrições]) MODIFY (nome_da_coluna [tipo_de_dado [(tamanho)]] [, nome_da_coluna [tipo_de_dado [(tamanho)]]]) DROP COLUMN nome_da_coluna DROP CONSTRAINT nome_da_restrição ENABLE/DISABLE CONSTRAINT nome_da_restrição

Oracle e SQL DDL CREATE INDEX cria um índice sobre uma ou mais colunas de uma tabela DROP INDEX remove um índice existente do BD ALTER INDEX torna um índice ativo ou inativo

CREATE INDEX CREATE [BITMAP] [UNIQUE] INDEX nome_do_índice ON nome_da_tabela (nome_da_coluna ASC/DESC [, nome_da_coluna ASC/DESC]...]) Cria um índice sobre uma ou mais colunas de uma tabela Considerações desempenho das consultas versus custos de atualização e de armazenamento

ALTER INDEX ALTER INDEX nome_do_índice REBUILD ; Recria um índice visa a melhoria de desempenho deve ser realizado periodicamente (dica) Não altera um índice para modificá-lo é preciso excluí-lo e depois criá-lo novamente

DROP INDEX DROP INDEX nome_do_índice ; Remove um índice existente do BD

Consultando Índices Tabela USER_INDEXES tabela de controle que armazena dados sobre os índices Tabela USER_IND_COLUMNS tabela de controle que armazena dados das colunas dos índices Exemplo SELECT * entre aspas simples e em letras maiúsculas FROM USER_INDEXES WHERE TABLE_NAME = NOME_DA_TABELA ;