• Nenhum resultado encontrado

A ULA 2

N/A
N/A
Protected

Academic year: 2022

Share "A ULA 2"

Copied!
21
0
0

Texto

(1)

A ULA 2

(2)

C RIANDO T ABELAS - C REATE TABLE

Create Table

Sintaxe

Create table NomeTabela (

NomeColuna TipoDado [RestriçãoColuna], NomeColuna TipoDado [RestriçãoColuna], NomeColuna TipoDado [RestriçãoColuna],

...,

[RestriçãoTabela]

)

NomeTabela é o nome da tabela a ser criada

NomeColuna é o nome da coluna a ser criada

TipoDado é o tipo de dado armazenado naquela coluna

E a Restrição da Tabela e Coluna?

(3)

T IDO DE DADOS

 Em SQL encontramos:

 tipos de dados padrão;

 uma infinidade de tipos específicos de cada fabricante

(Oracle, Microsoft SQL Server, Informix, DB2, etc.).

(4)

T IPOS DE DADOS

 Os tipos mais comuns:

 Number(i,d) onde i é o número de dígitos na parte inteira e d número de dígitos na parte decimal, ex:

Number(6,2);

 Char(n) onde n é o número fixo de caracteres reservados;

 VarChar(n) onde n é o número máximo (variável) de caracteres reservados;

 Date ou DateTime - armazena dados do tipo Data e Hora;

 Os SGBDs oferecem métodos de se escrever e ler

datas via funções de conversão.

(5)

T IPOS DE DADOS

 Long ou Blob para armazenar dados especiais

 Imagens;

 Documentos de texto;

 Dados multimídia...

 Devem ser interpretados por aplicativos

específicos (RealPlayer, Paint, Netscape, etc.)

 Tipos específicos

 De acordo com o fabricante podem surgir diversos outros tipos

Memo – Textos longos

Integer, Real, Money, etc. (variações de Number)

Hiperlinks – Para Internet

(6)

C REATE T ABLE E TIPOS DE DADOS Create Table Aluno (

Matricula char(11),

RG char(11),

Nome varchar(50), DataNasc date,

PontosVest number(4,0)

)

(7)

Restrições de

Colunas e Tabelas

(8)

O Q UE S ÃO R ESTRIÇÕES ?

 Impõem regras sobre as tabelas.

 Evitam que uma tabela seja deletada se houver dependências.

 Tipos de restrição:

 NOT NULL

 UNIQUE

 PRIMARY KEY

 FOREIGN KEY

 CHECK

(9)

R ESTRIÇÕES - C HAVE P RIMÁRIA - PRIMARY KEY

 Chaves Naturais

 Alguns atributos se candidatam a chave primária

naturalmente, ex: Matrícula, RG, Placa, CPF, Código, etc.

 Chaves Artificiais

 Gerada pelo sistema.

 Nunca se repete

 Nunca será nulo

 Considerando um domínio de Controle

acadêmico, Matrícula parece mais razoável

 RG fica como chave alternativa (também é única, mas

não primária)

(10)

R ESTRIÇÕES - C HAVE A LTERNATIVA -

UNIQUE

 Campos Únicos

 RG pode ficar como chave alternativa (também é única, mas não primária);

ÚNICO, mas eventualmente pode ser nulo.

Create Table Aluno (

Matricula char(11) primary key, RG char(11) unique,

Nome varchar(50), DataNasc date,

PontosVest number(4,0)

)

(11)

D ECLARANDO R ESTRIÇÕES

Restrição de Coluna é uma restrição

(constraint) de valores possíveis para uma coluna específica;

Restrição de Tabela é uma restrição

(constraint) de valores possíveis para algumas

colunas, não necessariamente uma apenas.

(12)

R ESTRIÇÕES - C HAVE P RIMÁRIA - PRIMARY KEY

 Nos Bancos de Dados Relacionais, uma tabela deve ter pelo menos uma coluna que identifique unicamente cada registro;

 Chama-se a esta coluna Chave Primária

 Uma Chave primária

 Não se repete

 Não pode ser Nulo

 É automaticamente indexada pelo BD

Declaração de Tabela

Create Table Aluno (

Matricula char(11) primary key, RG char(11),

Nome varchar(50), DataNasc date,

PontosVest number(4,0)

)

(13)

R ESTRIÇÕES - C HAVE P RIMÁRIA - PRIMARY KEY

 Restrição de tabela, mais usada para chaves múltiplas.

 Sintaxe declaração de Tabela

CONSTRAINT nome PRIMARY KEY (campo)

Create Table Aluno(

Matricula number(11), RG char(11),

Nome varchar(50),

PontosVest number(4,0),

CONSTRAINT pk_Matricula PRIMARY KEY (Matricula)

)

(14)

R ESTRIÇÕES - C HAVE M ÚLTIPLA OU

C OMPOSTA

 Chaves múltiplas - a tupla de colunas tem que ser única e nenhuma delas pode ser nula

 Sintaxe de Chaves múltiplas

CONSTRAINT nome PRIMARY KEY (coluna1, coluna2,...)

 Exemplo: uma tabela do INSS que registra os funcionários de uma empresa.

CREATE TABLE funcionario ( nome VARCHAR(10),

numero INTERGER NOT NULL, serie VARCHAR(10) NOT NULL,

CONSTRAINT pky_funcionario PRIMARY KEY (numero, serie)

)

(15)

O UTROS TIPOS DE R ESTRIÇÕES

 Pode-se estabelecer ainda os seguintes tipos de restrições em uma tabela

 Checagem de valores

 Valores Nulos e Não Nulos

 Valores padrão

 Referências REFERENCES (Chaves Estrangeiras)

(16)

Restrições

Checagem de Valores

(17)

R ESTRIÇÕES - C HECK

 A cláusula Check verifica os valores possíveis para um conjunto de colunas;

 Sintaxe

 Check(Condição)

 Uma linha só é inclusa numa tabela se todas as condições estabelecidas nas cláusulas Check são satisfeitas

Create Table Aluno (

Matricula char(11) primary key, RG char(11) unique,

Nome varchar(50), Sexo char(1),

DataNasc date,

PontosVest number(4,0),

Check (Sexo in (‘M’, ‘F’))

)

(18)

R ESTRIÇÕES - C HECK

 Check pode testar mais de uma coluna;

 Caso haja uma coluna NumReservista, válida apenas para rapazes:

Create Table Aluno (

Matricula char(11) primary key, Sexo char(1),

NumReservista char(15), Check (

(Sexo='M' and NumReservista is not null) or (Sexo='F' and NumReservista is null)

)

)

(19)

Restrições

Valores Nulos (Null) e

Não Nulos (Not Null)

(20)

R ESTRIÇÕES – N OT N ULL

 Para obrigar que uma coluna tenha sempre um valor há duas alternativas

 Estabelecer como Chave Primária

 Checá-la (Check) como não nula (Not Null)

 A segunda opção pode ser simplificada numa restrição de coluna

Create Table Aluno (

Matricula char(11) primary key, RG char(11) unique,

Nome varchar(50) not null, DataNasc date not null,

PontosVest number(4,0) not null,

)

(21)

E XERCÍCIO 1

Crie uma tabela “funcionários”, com os campos:

CPF;

RG

Quantidade de Filhos;

Estado civil.

Endereco

Crie uma chave primaria a sua escolha como restrição de tabela.

Declare que a quantidade de filhos padrão é ZERO.

Limite o campo Estado Civil aos valores (‘solteiro’, ‘casado’, ‘viuvo’).

Declare que o endereço não pode ser nulo Create Table Funcionarios (

cpf char(11),

rg char(11) unique,

qt_filhos number(2,0) default 0, estado_civil char(15),

CONSTRAINT pk_funcionario PRIMARY KEY (cpf)

Check (estado_civil in (‘solteiro’, ‘casado’, ‘viuvo’))

)

Referências

Documentos relacionados

a) Assuma que todos os routers são ligados simultaneamente. Compare as mensagens trocadas pelo router R2 para ambos os algoritmos de encaminhamento. b) Em termos de quantidade

Atrav´es das Figuras 4.21(a) e 4.21(b), observamos que ocorre uma queda na densidade de predadores quando consideramos a taxia quase local no cen´ario 3, em compara¸c˜ao com o caso

De modo que, as transformações no mundo do trabalho, cujas transformações caracterizam-se pela precarização do processo de trabalho e o desmonte das conquistas políticas e sociais da

A todos os funcionários da Biblioteca desta Faculdade, pela ajuda em busca de literatura, pela paciência, simpatia e amizade.. REVISÃO DE LITERATURA ... Organização do genoma

Barcelona | Lisboa ou Porto ou Faro; transporte em autocarro: aeroporto | hotel; Barcelona | porto de Bar- celona; porto de Barcelona | Barcelona; 1 noite de alojamento em regime

A ITAÚSA e suas controladas avaliam na data de cada período do relatório a necessidade de reconhecimento de perdas por impairment, para todos os ativos financeiros mensurados ao

O ponto de equilíbrio é o número de unidades que precisão ser vendidas para uma empresa atingir o equilíbrio- não ter lucro e nem prejuízo5. O CVL é qualquer análise

create table PersonAddress ( personId bigint not null primary key, addressId bigint not null ) create table Address ( addressId bigint not null primary key