Buscar

BDI - Aula 19 - PRATICA - Create Table

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

BANCO DE DADOS I
Aula 19
(17/11)
Laboratório
mario.godoy@univasf.edu.br
http://www.univasf.edu.br/~mario.godoy
Universidade Federal do Vale do São Francisco - UNIVASF 
Colegiado de Engenharia de Computação – CECOMP
Introdução a 
Structured Query Language (SQL)
Prof.: Mario Godoy 3
Introdução a SQL
� Atrativo:
� Pequena quantidade de comandos, realiza uma grande 
quantidade de operações necessárias para definição e 
manipulação de relações.
� Simplicidade.
� Grande poder de consulta.
� Padrão facilita migração.
� Padrão
� American National Standard Institute (ANSI) e 
International Organization for Standardization(ISO)
� Versão mais recente: SQL3 (SQL99).
� Principalmente conceitos de orientação a objetos.
Prof.: Mario Godoy 4
Introdução a SQL
� Recursos:
� DDL e DML
� Criação de visões (views)
� Especificações de segurança e autorizações
� Definição de restrições de integridade
� Controle de transação
� Regras para integração com linguagens de programação
Prof.: Mario Godoy 5
Introdução a SQL
Dois conjuntos principais de comandos:
� DDL –Data DefinitionLanguage:
� Especificação do esquema da base de dados
� DML –Data ManipulationLanguage:
� Inserção, remoção, alteração e consultas na instância da 
base de dados.
Prof.: Mario Godoy 6
Introdução a SQL
� Vocabulário diverge do Modelo Relacional:
� Relação -> Tabela
� Tuple -> Linha
� Atributo -> Coluna
� Maior desvio do Modelo Relacional: Tabelas podem ter 
linhas idênticas.
Prof.: Mario Godoy 7
Introdução a SQL
� Alguns comandos da DDL
� CREATE SCHEMA
� CREATE TABLE
� ALTER TABLE
� DROP TABLE
� CREATE DOMAIN
� DROP DOMAIN
� CREATE VIEW
� DROP VIEW
� CREATE INDEX
� DROP INDEX
Prof.: Mario Godoy 8
Introdução a SQL
� Alguns comandos da DML
� INSERT
� UPDATE
� DELETE
� SELECT
Prof.: Mario Godoy 9
Introdução ao Oracle
� Apresentação das principais características do Oracle 10g.
� Usuário: SYS
� Senha: 123
� Criar um novo usuário.
Prof.: Mario Godoy 10
Introdução ao Oracle
Carregar e descarregar 
dados, gerar DDL, 
visualizar objetos de 
relatórios e restaurar 
objetos apagados do 
banco de dados. 
Acesso a 
recursos SQL 
Visualizar, criar, 
modificar e apagar 
objetos de banco 
de dados 
Gerenciar as contas 
de usuários, memória, 
armazenamento e 
conexões de rede 
Linguagem de Definição de Dados
(DDL)
Prof.: Mario Godoy 12
Criando Tabelas - Create 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?
Tipos de Dados
Prof.: Mario Godoy 14
Tipos 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.).
Prof.: Mario Godoy 15
Tipos 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.
Prof.: Mario Godoy 16
Tipos de Dados
� Long ou Blob para armazenar dados especiais
� Imagens;
� Documentos de texto;
� Dados multimídia, etc.
� Devem ser interpretados por aplicativos específicos 
(RealPlayer, Paint, Netscape, etc.);
Prof.: Mario Godoy 17
Tipos de Dados
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
Prof.: Mario Godoy 18
Create Table e tipos de dados
Vamos implementar a tabela!
Create Table Aluno (
Matricula char(11),
RG char(11),
Nome varchar(50),
DataNasc date,
PontosVest number(4)
)
insert into Aluno values( 'M001', 'rg1111', 'Joao', '28/12/1990', 80)
insert into Aluno values( null, 'rg1111', 'Joao', '28/12/1990', 80)
insert into Aluno values( 'M001', 'rg1111', 'Joao', '28/12/1990', 80)
S e
m
 
C h
a v
e !
Qual problema ocorre?
select * from Aluno
Restrições de
Colunas e Tabelas
Prof.: Mario Godoy 20
� 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
O Que São Restrições?
Prof.: Mario Godoy 21
� 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
Restrições - Chave Primária - primary key
Prof.: Mario Godoy 22
� 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)
Restrições - Chave Primária - primary key
Prof.: Mario Godoy 23
Restrições - Chave Alternativa - unique
Campos Únicos
� RG pode ficar como chave alternativa (também é única, mas 
não primária);
� ÚNICO, mas eventualmente pode ser nulo.
Vamos implementar a tabela!
Create Table Aluno (
Matricula char(11) primary key,
RG char(11) unique,
Nome varchar(50),
DataNasc date,
PontosVest number(4,0)
)
Qual problema ocorre?
Drop Table Aluno
T a
b e
l a
s 
c /
 m
e s
m
o 
n o
m
e
Prof.: Mario Godoy 24
Declarando Restriçõ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.
Prof.: Mario Godoy 25
Restrições - Chave Primá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.
Restrição de Coluna:
Ex:
Create Table Aluno (
Matricula char(11) primary key,
RG char(11),
Nome varchar(50),
DataNasc date,
PontosVest number(4)
)
Prof.: Mario Godoy 26
� Restrição de tabela
� Pode ser usada para chaves múltiplas. 
Sintaxe
CONSTRAINT nome PRIMARY KEY (campo)
Vamos Implementar!
Create Table Aluno(
Matricula number(11),
RG char(11),
Nome varchar(50),
PontosVest number(4,0),
CONSTRAINT pk_Matricula PRIMARY KEY (Matricula)
)
Restrições - Chave Primária - primary key
Prof.: Mario Godoy 27
Restrições - Chave Múltipla ou Composta
� 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.
Vamos Implementar!
CREATE TABLE Funcionario (
nome VARCHAR(10),
numero NUMBER NOT NULL,
serie VARCHAR(10) NOT NULL,
CONSTRAINT pk_funcionario PRIMARY KEY (numero, serie)
)
Prof.: Mario Godoy 28
Restrições - Chave Múltipla ou Composta
Vamos Implementar!
CREATE TABLE Funcionario (
nome VARCHAR(10),
numero NUMBER NOT NULL,
serie VARCHAR(10) NOT NULL,
CONSTRAINT pk_funcionario PRIMARY KEY (numero, serie)
)
Vamos inserir dados!
insert into Funcionario values('Zezinho', 0001, 's1010')
insert into Funcionario values('Zezinho', 0002, 's1010')
E R
R O
?
Prof.: Mario Godoy 29
Materiais de apoio
� http://www.htmlstaff.org/postgresqlmanual/sql-commands.html 
(comandos SQL - PostgreSQL)
� http://info.abril.com.br/download/4346.shtml (Oracle 10g - free 
download)

Outros materiais