Universidade de Passo Fundo Tecnologia em Sistemas de

  • Slides: 15
Download presentation
Universidade de Passo Fundo Tecnologia em Sistemas de Informação TSI 109 - Fundamentos de

Universidade de Passo Fundo Tecnologia em Sistemas de Informação TSI 109 - Fundamentos de Banco de Dados Prof. Alexandre Tagliari Lazzaretti lazzaretti@upf. br vitoria. upf. tche. br/~lazzaretti

SQL “structured query language” – linguagem padrão comercial e completa de definição e manipulação

SQL “structured query language” – linguagem padrão comercial e completa de definição e manipulação de banco de dados relaconais • SQL 1: aprovado pelo grupo ANSI, em 1986 • SQL 2: aprovado em 1992 • SQL 3: aprovado em 1999 • SQL 4: em andamento • Linguagens – DDL (Data Definition Language) – DML (Data Manipulation Language) 2

DDL 3

DDL 3

SQL - DDL Ö Criação do banco de dados CREATE DATABASE <CAMINHO E ARQUIVO>

SQL - DDL Ö Criação do banco de dados CREATE DATABASE <CAMINHO E ARQUIVO> [USER ‘usuario’ PASSWORD ‘senha’] Exemplo: create database ‘c: dadosteste. gdb’ user ‘SYSDBA’ PASSWORD ‘masterkey’ Observação: para alterar o usuário de senha padrão, primeiramente deve-se cadastrá-los no SGBD 4

SQL - DDL Criação de tabelas O comando CREATE TABLE: cria a tabela solicitada

SQL - DDL Criação de tabelas O comando CREATE TABLE: cria a tabela solicitada CREATE TABLE <nome da tabela> ( <descrição_das_colunas> ) ( <descrição_das_restrições> ) • <tabela>: nome da nova tabela a ser criada • <descrição_das_colunas> : lista de colunas (campos) e seus respectivos tipos de dados ( char, integer, decimal, date, . . . ) • <descrição_das_restrições>: restrições de chaves, integridade, domínio 5

SQL Exemplo: criação da tabela de diagnósticos CREATE TABLE DIAGNOSTICOS( CODIGODIAGNOSTICO INTEGER NOT NULL,

SQL Exemplo: criação da tabela de diagnósticos CREATE TABLE DIAGNOSTICOS( CODIGODIAGNOSTICO INTEGER NOT NULL, DESCRICAO VARCHAR(150) NOT NULL, CONSTRAINT "PKDIAGNOSTICOS" PRIMARY KEY (CODIGODIAGNOSTICO) ); 6

SQL Ö Definição de chaves Ö Chave primária: [constraint Pkdiagnostico] PRIMARY KEY (codigodiagnostico) Ö

SQL Ö Definição de chaves Ö Chave primária: [constraint Pkdiagnostico] PRIMARY KEY (codigodiagnostico) Ö Chave estrangeira: FOREIGN KEY (campo tabela atual) references <tabela referenciada> (chave primaria na tabela referenciada) [cláusula] Cláusulas: - Delete: on delete restrict (default), on delete cascade, on delete set null - Update: on update restrict, on update cascade 7

SQL Modelo Lógico Cidades # codigo – integer, not null Nome – varchar(50), not

SQL Modelo Lógico Cidades # codigo – integer, not null Nome – varchar(50), not null UF – varchar(2), not null Pessoas # codigo – integer, not null nome – varchar(50), not null @cidade – integer Modelo Físico (SQL) Create table cidades( Codigo integer not null, Nome varchar(50) not null, Uf varchar(2) not null, Primary key (codigo)); Create table pessoas( Codigo integer not null, Nome varchar(50) not null, Cidade integer, Primary key (codigo), Foreign key (cidade) references cidades (codigo)); 8

SQL Ö Exclusão de tabelas Ö Ö DROP table <nome_tabela> Alteração de tabelas: Ö

SQL Ö Exclusão de tabelas Ö Ö DROP table <nome_tabela> Alteração de tabelas: Ö alter table <tabela> <cláusula de coluna> Ö Cláusulas de colunas: – – ADD – adiciona um novo atributo ALTER – altera um atributo DROP [COLUMN] – apaga um atributo DROP CONSTRAINT – apaga uma constraint 9

SQL Ö Cláusulas de exclusões de chave – DROP PRIMARY KEY <nome da chave

SQL Ö Cláusulas de exclusões de chave – DROP PRIMARY KEY <nome da chave primária> – DROP FOREIGN KEY <nome da chave estrangeira> Exemplos: ADD ALTER TABLE PACIENTE ADD ENDERECO VARCHAR(50); – adiciona nova coluna com valor vazio para todas as linhas – não pode ter especificação NOT NULL Ö ALTER TABLE PACIENTE ALTER ENDERECO TYPE VARCHAR(70) Ö DROP ALTER TABLE PACIENTE DROP ENDERECO; ALTER TABLE PACIENTE DROP constraint fkpaciente Ö 10

SQL Ö Cláusula check A cláusula CHECK especifica restrições de integridade, ou testes, que

SQL Ö Cláusula check A cláusula CHECK especifica restrições de integridade, ou testes, que as linhas novas ou atualizadas devem atender para uma operação de inserção ou de atualização completar. Cada restrição deve ser uma expressão que produza um resultado booleano. Uma condição declarada na definição da coluna deve fazer referência apenas ao valor desta coluna, enquanto uma condição declarada como restrição da tabela pode fazer referência a várias colunas. Atualmente, as expresões de CHECK não podem conter subconsultas, nem fazer referência a variáveis que não sejam colunas da linha atual. – check (expressão) 11

SQL Ö Cláusula check Exemplos: 01. CREATE table cidades (cod_cid integer not null, nome_cid

SQL Ö Cláusula check Exemplos: 01. CREATE table cidades (cod_cid integer not null, nome_cid varchar(50) not null, uf varchar(2) not null, check(uf='RS' or uf='SC')); 02. ALTER table cidades add check(uf='RS' or uf='SC' or uf='PR') 12

SQL Ö Cláusula domain Ö Compreende uma enumeração dos valores para o domínio em

SQL Ö Cláusula domain Ö Compreende uma enumeração dos valores para o domínio em questão. – CREATE domain (expressão) Exemplos: CREATE domain dnome varchar(30) CREATE table funcionarios(cod_fun integer not null, nome_fun dnome not null) 13

SQL Ö Índices Ö Criar índice Ö CREATE [unique] INDEX <nomeindice> on <nometabela> (<coluna(s)>)

SQL Ö Índices Ö Criar índice Ö CREATE [unique] INDEX <nomeindice> on <nometabela> (<coluna(s)>) Exemplo: Create unique index nomepac on pacientes (nome_pac) Ö Ö Remover índice Ö DROP index <nomeindice> Exemplo: DROP index nomepac Ö 14

Alguns exemplos == INSERÇÃO DE UM NOVO ATRIBUTO === ALTER TABLE PESSOAS ADD PESCID

Alguns exemplos == INSERÇÃO DE UM NOVO ATRIBUTO === ALTER TABLE PESSOAS ADD PESCID INTEGER NOT NULL; == CRIAÇÃO DE CHAVE ESTRANGEIRA == ALTER TABLE PESSOAS ADD CONSTRAINT "FKPESSOA" FOREIGN KEY (PESCID) REFERENCES CIDADES (CODCID); == CRIAÇÃO DE CHAVE PRIMÁRIA === ALTER TABLE PESSOAS ADD CONSTRAINT "PKPESSOA" PRIMARY KEY (CODPES); 15