SlideShare une entreprise Scribd logo
1  sur  77
Télécharger pour lire hors ligne
Administração
de Banco
de dados
Image: FreeDigitalPhotos.net

Introdução
Conteúdo programático
● Introdução à banco de dados
○ Histórico
○ Definição
○ Importância dos sistemas de bancos de dados
nas organizações
Introdução: Banco de dados
Introdução: Banco de dados
Introdução: Banco de dados
● Exemplo de tabela
Nome

RA

Nota

Bonifácio Cubas

125159

9,5

Ana Cintra

125148

8,0

● Um banco de dados é um conjunto de
tabelas.
● Representa aspectos da vida real.
Introdução: Banco de dados
● Profissionais envolvidos: Projetistas de
Bancos de Dados (DBP)

Image: FreeDigitalPhotos.net
Introdução: Banco de dados
● Profissionais envolvidos: Analistas de
sistemas e programadores

Image: FreeDigitalPhotos.net
Introdução: Banco de dados
● Profissionais envolvidos: Administradores
de Bancos de Dados (DBA)

Image: FreeDigitalPhotos.net
Introdução: Banco de dados
● Profissionais envolvidos: Usuários

Image: FreeDigitalPhotos.net
Introdução: Banco de dados
● Importância dos sistemas de bancos de dados nas
organizações
○ É realmente necessário?
○ E nas pequenas empresas?

Image: FreeDigitalPhotos.net
Administração
de Banco
de dados
Image: FreeDigitalPhotos.net

Modelos Lógicos
Modelo logico
● São modelos de dados
● É uma representação teórica
de como será a implementação
do banco de dados
● Deve ser
tecnologia

independente

de
Image: FreeDigitalPhotos.net
Porque fazer a modelagem de
dados?
● Informações concisas e necessárias para
o negócio

● Identifica redundâncias
● Identifica dados não utilizados
● Permite estabelecer regras de
integridade de dados
Image: FreeDigitalPhotos.net
Modelando dados
● Um modelo é formado
por:
Matrícula

○ Entidades
Nome

Aluno

○ Atributos

Endereço

Data
Nascimento

Image: FreeDigitalPhotos.net
Modelando dados
or
ad
fic )
nti ária
de
o i Prim
ut e
trib hav
A (C
#Matrícula

Nome

Aluno

Endereço

Data
Nascimento

Image: FreeDigitalPhotos.net
Modelando dados
Aluno:
#Matrícula
Nome
Endereço
Data Nascimento

Image: FreeDigitalPhotos.net

de
ra
ei
an ntar
m
tra rese
Ou rep
Modelando dados
● Diagramas de entidas
○ Utilizaremos a metodologia DER: Diagrama
Entidade-Relacionamento
○ DER representa a associação de cada entidade
através de relacionamentos
Entidade 1

Relacionamento

Entidade 2
Modelando dados
● DER
Entidade 1

Um e somente
um

Um ou muitos

Um ou muitos

Um ou nenhum

Entidade 3

de
lo ento
mp
xe nam
E io
ac
rel

Entidade 2
Modelando dados na prática
● Exemplo: Cliente
○ Uma empresa controla os seguintes dados de seus
clientes:
Código
■ Código
■ Nome
■ Endereço
Nome
■ Telefone
Cliente

Endereço

Telefone
Modelando dados na prática
● Exemplo: Cliente
○ Uma empresa controla os seguintes dados de seus
clientes:
■ Código
■ Nome
■ Endereço
■ Telefone
Cliente:
#Código
Nome
Endereço
Telefone
Modelando dados na prática
● Exemplo: Cliente
○ A empresa vende diversos produtos a seus clientes:
■ Cada cliente pode comprar quantos produtos
precisar
■ Cada pedido de venda pode ser composto por
vários produtos
Pedido:
#Código
Cliente
Data
Valor

Detalhe Pedido:
#Código Pedido
#Código Produto
Quantidade
Valor

Produto:
#Código
Descrição
Valor
Modelando dados na prática
● DER
Cliente

1

N

Faz

Pedido
1

Compõe

1

Produto

N

Detalhe
Pedido

N

Forma
Fixando conteúdo...
1. Utilizando o exemplo da entidade Aluno,
identifique uma outra entidade em sala de
aula que se relaciona com a entidade aluno:
○ Descreva os atributos dessa outra entidade
○ Faça o DER entre as entidades

2. Agora inclua uma entidade ao exercício
anterior: Universidade.
○ Descreva os atributos da entidade Universidade
○ Faça o DER entre as entidades (as 3 entidades)
Fixando conteúdo...
3. Identifique, descreva e relacione, ao menos
3 entidades, em um restaurante.
Administração
de Banco
de dados
Image: FreeDigitalPhotos.net

Modelos Físicos
Modelo físico
● São modelos de dados
● É uma representação teórica
de como será a implementação
do banco de dados
● Deve levar em conta
limitações do SGBD

as
Image: FreeDigitalPhotos.net
Porque fazer a modelagem de dados
lógica e outra física?
● Modelo lógico lhe permite a visão de
negócio. O conceito a ser trabalho.

● O modelo físico lhe permite projetar a
implementação do banco de dados.

● O modelo físico pode ser ligeiramente
diferente do modelo lógico (melhorado).

● Requer conhecimento técnico.
Image: FreeDigitalPhotos.net
Nomenclatura
● Modelo lógico : Entidades e atributos.
● O modelo físico : Tabelas e campo.
● Modelo lógico : Atributo identificador.
● O modelo físico : Chave primária.
● Modelo físico:
○ Chave estrangeira
○ Cardinalidade
○ Tipo de campo
Nomenclatura
● Tipos de campos
○
○
○
○
○
○
○

Char(N)
Varchar(N)
Numeric(N,P)
Integer
Date
Time
TimeStamp

N = Tamanho
P = Precisão decimal
Modelando dados
Fixando conteúdo...
A empresa MãosAObra, Ltda é uma agência que se dedica exclusivamente à subcontratação de trabalho
temporário. Os clientes desta empresa são normalmente outras empresas ou mesmo particulares que
necessitam de mão de obra temporária para executar tarefas pontuais.
Esta empresa não possui mão-de-obra em regime permanente, limitando-se a entrar em contato com
indivíduos que constam em seu catálogo, no sentido de os alocar temporariamente a determinados serviços.
Sempre que um novo cliente solicita os serviços desta empresa, os seus dados são recolhidos numa ficha de
cliente. Da mesma forma, quando um candidato se inscreve na bolsa de emprego desta empresa preenche um
impresso (ficha de contato) onde refere nomeadamente as suas aptidões e os setores de atividade em que se
inscreve.
Um setor de atividade define basicamente um tipo de trabalho que um candidato está disposto a executar.
Como é evidente, a inscrição em alguns setores de atividade irá depender das suas aptidões específicas.
Quando um cliente solicita um serviço é preenchida uma ficha de serviço onde se descreve o serviço a efetuar
e a sua data de inicio.
A ficha de serviço é depois analisada para decidir quais os setores de atividade implicados naquele serviço,
quantos indivíduos são necessários e, previsivelmente por quanto tempo. Posteriormente selecionam-se para
cada setor de atividade os possíveis colaboradores que serão chamados para saber se aceitam ou não o
trabalho.
Desta forma constituem-se então equipes de trabalho (uma por cada setor de atividade) no entanto, cada
colaborador apenas estará destacado para uma delas. Com base nos exemplos, assim como esta breve
descrição, desenvolva o respectivo modelo FÍSICO de dados juntamente com seus relacionamentos.
Fixando conteúdo...
Ficha de Cliente
Numero: __________
Nome: _______________________________________________
Endereço:______________________________________________
Telefone: __________ Fax: __________ Data: ___/___/___
Ficha de Serviço
N. Cliente: ___________
Data recepção: ___/___/____
Descrição: ________________________________________
Data inicio: ___/___/___
Ficha de Contato
N. Colaborador: _______
Nome: ____________________________________________
Endereço: ___________________________________________
Telefone: ____________ Data: ____/____/_____
Aptidões:
Escolaridade: ____________________________ Linguas Estrangeiras: __________________
Aptidões Profissionais: ______________________
Setores de Atividade em que se inscreve (coloca um X)
Trabalhos agricolas: ___ Limpeza/Higiene: ___ Carpintaria: ___ Soldadura:___
Fixando conteúdo…
Resolvendo...
A empresa MãosAObra, Ltda é uma agência que se dedica exclusivamente à subcontratação de trabalho
temporário. Os clientes desta empresa são normalmente outras empresas ou mesmo particulares que
necessitam de mão de obra temporária para executar tarefas pontuais.
Esta empresa não possui mão-de-obra em regime permanente, limitando-se a entrar em contato com
indivíduos que constam em seu catálogo, no sentido de os alocar temporariamente a determinados serviços.
Sempre que um novo cliente solicita os serviços desta empresa, os seus dados são recolhidos numa ficha de
cliente. Da mesma forma, quando um candidato se inscreve na bolsa de emprego desta empresa preenche um
impresso (ficha de contato) onde refere nomeadamente as suas aptidões e os setores de atividade em que se
inscreve.
Um setor de atividade define basicamente um tipo de trabalho que um candidato está disposto a executar.
Como é evidente, a inscrição em alguns setores de atividade irá depender das suas aptidões específicas.
Quando um cliente solicita um serviço é preenchida uma ficha de serviço onde se descreve o serviço a efetuar
e a sua data de inicio.
A ficha de serviço é depois analisada para decidir quais os setores de atividade implicados naquele serviço,
quantos indivíduos são necessários e, previsivelmente por quanto tempo. Posteriormente selecionam-se para
cada setor de atividade os possíveis colaboradores que serão chamados para saber se aceitam ou não o
trabalho.
Desta forma constituem-se então equipes de trabalho (uma por cada setor de atividade) no entanto, cada
colaborador apenas estará destacado para uma delas. Com base nos exemplos, assim como esta breve
descrição, desenvolva o respectivo modelo FÍSICO de dados juntamente com seus relacionamentos.
Fixando conteúdo...
Empresa

Colaboradores

Clientes

Serviços
Aptidões

Tipos de
serviços
(setores)
Fixando conteúdo...
Fixando conteúdo...
Fixando conteúdo...
Fixando conteúdo...
Fixando conteúdo...
Fixando conteúdo...
Administração
de Banco
de dados
Image: FreeDigitalPhotos.net

Criando o Banco de Dados
Banco de dados SQL

●

A linguagem SQL (Structured Query Language – Linguagem de Consulta
Estruturada) é uma linguagem declarativa utilizada por Sistemas Gerenciadores
de Bancos de Dados Relacionais como: Oracle, SQL Server, MySQL,
PostgreSQL, Firebird, e outros.

●

Devido à sua ampla utilização por diversos SGBDs, surgiram vários dialetos
para os comandos, que geraram a necessidade de criação de um padrão para a
linguagem. Essa tarefa foi realizada pela American National Standards Institute
(ANSI) em 1986 e ISO em 1987. Em 1992, foi realização uma revisão da
linguagem que recebeu o nome de SQL-92.

●
Banco de dados SQL

●

Em 1999 e 2003, ocorreram novas revisões. Na revisão de 1999, foram
adicionados padrões para expressões regulares, consultas recursivas, triggers e
algumas características de orientação a objeto. Na revisão de 2003, foram
introduzidas características relacionadas a XML, sequências padronizadas e
colunas com valores de auto-numeração.

●

Uma dificuldade encontrada na utilização da linguagem SQL por parte dos
desenvolvedores ou administradores de bancos de dados é a diferença entre os
comandos nos diversos SGBDs, mesmo após a definição dos padrões. Porém,
as diferenças não são grandes.
Banco de dados SQL

● Os comandos da linguagem SQL são subdivididos em
algumas categorias de comandos como:
○ DDL
○ DML
○ DCL
Banco de dados SQL

● DDL (Data Definition Language – Linguagem de Definição
de Dados).
○ Os comandos DDL são usados para definir a estrutura
do banco de dados, organizando em tabelas que são
compostas por campos (colunas). Comandos que
compõem a DDL: CREATE, ALTER, DROP.
Banco de dados SQL

● DML (Data Manipulation Language – Linguagem de
Manipulação de Dados).
○ Os comandos DML permitem realizar operações de
inserção, alteração, exclusão e seleção sobre os
registros (linhas) das tabelas. Comandos que compõem
a DML: INSERT, UPDATE, DELETE e SELECT.
○ Alguns autores definem que o comando SELECT faz
parte de uma subdivisão chamada DQL (Data Query
Language – Linguagem de Consulta de Dados).
Banco de dados SQL

● DCL (Data Control Language – Linguagem de Controle de
Dados). Os comandos DCL são usados para gerenciar
usuários e permissões de acesso ao Sistema Gerenciador
de Banco de Dados. Comandos que compõem a DCL:
GRANT e REVOKE.
● Alguns autores ainda definem uma subdivisão da linguagem
SQL chamada DTL (Data Transaction Languagem –
Linguagem de Transação de Dados). Uma transação pode
ser compreendida como um conjunto de comandos que é
executado de forma atômica, ou seja, ou todos os
comandos são executados com sucesso ou nenhum dos
resultados obtidos por eles será mantido no banco de
dados.
Criando o banco de dados
Criando o banco de dados
Criando o banco de dados
CREATE TABLE LIVRO (
idLIVRO INTEGER UNSIGNED NOT NULL
AUTO_INCREMENT,
EXEMPLAR VARCHAR(20) NULL,
ISBN NUMERIC(20) NULL,
TITULO VARCHAR(200) NULL,
AUTORES VARCHAR(500) NULL,
PRIMARY KEY(idLIVRO)
);
CREATE TABLE INSCRICAO (
idINSCRICAO INTEGER UNSIGNED NOT NULL
AUTO_INCREMENT,
NOME VARCHAR(100) NULL,
ENDERECO VARCHAR(500) NULL,
TELEFONE VARCHAR(15) NULL,
DATA_INSCRICAO DATE NULL,
PRIMARY KEY(idINSCRICAO)
);

CREATE TABLE RESERVA (
idRESERVA INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
LIVRO_idLIVRO INTEGER UNSIGNED NOT NULL,
INSCRICAO_idINSCRICAO INTEGER UNSIGNED NOT NULL,
DATA_RESERVA DATE NULL,
PRIMARY KEY(idRESERVA),
INDEX RESERVA_FKIndex1(INSCRICAO_idINSCRICAO),
INDEX RESERVA_FKIndex2(LIVRO_idLIVRO),
FOREIGN KEY(INSCRICAO_idINSCRICAO)
REFERENCES INSCRICAO(idINSCRICAO)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(LIVRO_idLIVRO)
REFERENCES LIVRO(idLIVRO)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE REQUISICAO (
idREQUISICAO INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
INSCRICAO_idINSCRICAO INTEGER UNSIGNED NOT NULL,
LIVRO_idLIVRO INTEGER UNSIGNED NOT NULL,
DATA_REQUISICAO DATE NULL,
DATA_ENTREGA DATE NULL,
PRIMARY KEY(idREQUISICAO),
INDEX REQUISICAO_FKIndex1(INSCRICAO_idINSCRICAO),
INDEX REQUISICAO_FKIndex2(LIVRO_idLIVRO),
FOREIGN KEY(INSCRICAO_idINSCRICAO)
REFERENCES INSCRICAO(idINSCRICAO)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(LIVRO_idLIVRO)
REFERENCES LIVRO(idLIVRO)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
Criando o banco de dados - Como funciona?
CREATE TABLE <nome_da_tabela> (
<nome_do_campo> <tipo_do_campo> <opções>,
<nome_do_campo> <tipo_do_campo> <opções>,
<nome_do_campo> <tipo_do_campo> <opções>,
...
PRIMARY KEY(<nome_do_campo>)
INDEX <nome_do_índice>(<nome_do_campo>),
FOREIGN KEY(<nome_do_campo>)
REFERENCES <nome_da_tabela_origem>(<nome_do_campo_origem>)
ON DELETE <opção_de_referencia>
ON UPDATE <opção_de_referencia>,
);
●
●
●
●
●
●

●

<nome_da_tabela>: Nome da tabela a ser criada, não pode haver espaços e acentuações.
<nome_do_campo>: Nome do campo da tabela, não pode haver espaços e acentuações.
<tipo_do_campo>: Tipo do campo. Existem tipos padrões, porém existem tipos de campos específicos de cada
SGBD.
<opções>: Padronização do campo (valor padrão, auto incremento, limite numérico, etc...).
Chave primária: Deve constar o nome do campo (se forma mais de um, separar por vírgula) que compões a chave
primária. Caso a tabela não contenha uma chave primária, basta suprimir essa linha.
Índices: Deve constar o nome do índice e o nome do campo (se forma mais de um campo, separar por vírgula) que
compões o índice. Caso a tabela não contenha uma chave primária, basta suprimir essa linha. A tabela pode conter
quantos índices forem necessários.
Chave estrangeira: Deve constar o nome do campo que compões a chave, o nome da tabela de origem e o nome do
campo da tabela de origem . Caso a tabela não contenha uma chave primária, basta suprimir essa linha. A opção de
referência define o comportamento entre os registros da tabela (Se apagar na tabela-pai, apaga na tabela-filho, por
exemplo).
Criando o banco de dados - Como funciona?

CREATE TABLE INSCRICAO (
idINSCRICAO INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
NOME VARCHAR(100) NULL,
ENDERECO VARCHAR(500) NULL,
TELEFONE VARCHAR(15) NULL,
DATA_INSCRICAO DATE NULL,
PRIMARY KEY(idINSCRICAO)
);
Criando o banco de dados - Como funciona?

CREATE TABLE LIVRO (
idLIVRO INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
EXEMPLAR VARCHAR(20) NULL,
ISBN NUMERIC(20) NULL,
TITULO VARCHAR(200) NULL,
AUTORES VARCHAR(500) NULL,
PRIMARY KEY(idLIVRO)
);
Criando o banco de dados - Como funciona?

CREATE TABLE REQUISICAO (
idREQUISICAO INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
INSCRICAO_idINSCRICAO INTEGER UNSIGNED NOT NULL,
LIVRO_idLIVRO INTEGER UNSIGNED NOT NULL,
DATA_REQUISICAO DATE NULL,
DATA_ENTREGA DATE NULL,
PRIMARY KEY(idREQUISICAO),
INDEX REQUISICAO_FKIndex1(INSCRICAO_idINSCRICAO),
INDEX REQUISICAO_FKIndex2(LIVRO_idLIVRO),
FOREIGN KEY(INSCRICAO_idINSCRICAO)
REFERENCES INSCRICAO(idINSCRICAO)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(LIVRO_idLIVRO)
REFERENCES LIVRO(idLIVRO)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
Criando o banco de dados - Como funciona?

CREATE TABLE RESERVA (
idRESERVA INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
LIVRO_idLIVRO INTEGER UNSIGNED NOT NULL,
INSCRICAO_idINSCRICAO INTEGER UNSIGNED NOT NULL,
DATA_RESERVA DATE NULL,
PRIMARY KEY(idRESERVA),
INDEX RESERVA_FKIndex1(INSCRICAO_idINSCRICAO),
INDEX RESERVA_FKIndex2(LIVRO_idLIVRO),
FOREIGN KEY(INSCRICAO_idINSCRICAO)
REFERENCES INSCRICAO(idINSCRICAO)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(LIVRO_idLIVRO)
REFERENCES LIVRO(idLIVRO)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
Principais comandos DDL

CREATE DATABASE
Este comando é utilizado para criar um banco de dados. Exemplo: CREATE DATABASE loja;
USE
Sempre que for necessário manipular as tabelas de um banco de dados no SGBD MySQL, será necessário selecionar o banco
de dados que se deseja manipular. Para isso, deve ser utilizado o comando USE. Exemplo: USE loja;
CREATE TABLE
Cria uma tabela de dados. Sintaxe: CREATE TABLE <nome_da_tabela> (definição dos campos);
Exemplo:
CREATE TABLE clientes(
cpf integer unsigned not null,
nome varchar(100) not null,
data_nascimento date not null,
sexo char(1) default ‘M’,
salario decimal(10,2) default 0,
profissao varchar(30),
primary key(cpf)
);
Cláusula DEFAULT
A cláusula DEFAULT permite definir um valor padrão para um campo, que será utilizado caso não seja informado nenhum
valor para esse campo na inserção de um registro na tabela. Exemplo: sexo char(1) default ‘M’,
No exemplo acima, caso o campo “sexo” da tabela não seja preenchido com um valor durante a inserção de um registro, será
assumido o valor ‘M’ para o campo. Para campos do tipo NUMÉRICO, o valor DEFAULT é escrito sem aspas.
Exemplo: salario decimal(10,2) default 0,
Principais comandos DDL
CONSTRAINTS (limitações, restrições)
● NOT NULL: define que um campo da tabela é obrigatório (deve receber um valor na inserção de um registro);
● PRIMARY KEY: define que um campo ou conjunto de campos para garantir a identidade de cada registro. Quando um
campo é definido como chave primária, seu valor não pode se repetir em registros diferentes. Cada tabela só pode ter
uma única chave primária.
○ CHAVE PRIMÁRIA SIMPLES: composta por um único campo. Exemplo: se for definido que em um sistema de
hotéis não podem existir dois clientes com o mesmo CPF, portanto este campo deverá ser definido como CHAVE
PRIMÁRIA.
○ CHAVE PRIMÁRIA COMPOSTA: formada por dois ou mais campos. Exemplo: se for definido em um sistema de
Agências bancárias que não podem existir duas contas com o mesmo número da mesma agência, então esses
dois campos formarão uma CHAVE PRIMÁRIA COMPOSTA, pois a combinação deles não pode se repetir.
Sintaxe:
Criação de uma chave primária simples
Criação de uma chave primária composta
CREATE TABLE contas(
numero integer not null primary key,
saldo integer default 0,
agencia_numero integer not null
);
Ou
CREATE TABLE contas(
numero integer not null,
saldo integer default 0,
agencia_numero integer not null,
primary key(numero)
);
Ou
CREATE TABLE contas(
numero integer not null,
saldo integer default 0,
agencia_numero integer not null,
constraint pk_conta primary key(numero)
);

CREATE TABLE contas(
numero integer not null,
saldo integer default 0,
agencia_numero integer not null,
primary key(numero,agencia_numero)
);
Ou
CREATE TABLE contas(
numero integer not null,
saldo integer default 0,
agencia_numero integer not null,
constraint pk_conta primary key (numero,
agencia_numero)
);
Principais comandos DDL

CONSTRAINTS
● FOREIGN KEY: Uma chave estrangeira é definida quando se deseja relacionar tabelas do banco de dados.

Sintaxe:
CREATE TABLE contas(
numero integer not null,
saldo integer default 0,
agencia_numero integer not null,
primary key(numero,agencia_numero),
foreign key(agencia_numero) references agencias(numero)
);
Ou
CREATE TABLE contas(
numero integer not null,
saldo integer default 0,
agencia_numero integer not null,
primary key(numero,agencia_numero),
constraint fk_contaagencia foreign key(agencia_numero) references agencias(numero)
);
Principais comandos DDL

CONSTRAINTS
● UNIQUE: Uma constraint UNIQUE definie que o valor de um campo ou de uma sequência de campos não pode se
repetir em registros da mesma tabela. Essa constraint é criada de forma implícita quando é definida uma chave primária
para uma tabela. Como só é possível ter uma chave primária por tabela, a utilização de constraints UNIQUE é uma
solução quando se deseja restringir valores repetidos em outros campos.
Exemplo:
CREATE TABLE clientes(
cpf integer not null,
nome varchar(100) not null,
data_nascimento date not null,
sexo char(1) default ‘M’,
salario decimal(10,2) default 0,
profissao varchar(30),
rg integer not null,
estado char(2) not null,
primary key(cpf),
constraint un_rgestado unique(rg,estado)
);
Principais comandos DDL
DROP TABLE
O comando DROP TABLE é usado para apagar uma tabela do Banco de dados. Sintaxe: DROP TABLE <nome_da_tabela>;
ALTER TABLE
Para não se apagar uma tabela e recriá-la, é possível fazer alterações em sua estrutura por meio do comando ALTER TABLE.
Isso é importante pois a execução do comando DROP TABLE apaga (obviamente) todos os registros da tabela, já a execução
do comando ALTER TABLE não exclui nenhum registro.
Adicionar um campo
Sintaxe: ALTER TABLE <nome_da_tabela> ADD <nome_do_campo> <tipo_de_dado> <atributos>
Exemplo: ALTER TABLE clientes ADD endereco varchar(90) not null;
Alterar o tipo de dado de um campo
Sintaxe: ALTER TABLE <nome_da_tabela> MODIFY <nome_do_campo> <tipo_de_dado>
Exemplo: ALTER TABLE clientes MODIFY endereco varchar(200);
Renomear um campo e modificar o tipo
Sintaxe: ALTER TABLE <nome_da_tabela> CHANGE COLUMN <nome_do_campo novo_nome> <tipo>;
Exemplo para mudar apenas o nome (o tipo do campo é mantido):
ALTER TABLE clientes CHANGE COLUMN data_nascimento datanasc date;
Exemplo para mudar o nome e o tipo do campo:
ALTER TABLE clientes CHANGE COLUMN data_nascimento datahoranasc datetime;
Renomear uma tabela
Sintaxe: ALTER TABLE <nome_da_tabela> RENAME TO <novo_nome_da_tabela>
Exemplo: ALTER TABLE clientes RENAME TO pessoas_fisicas
Apagar um campo
Sintaxe: ALTER TABLE <nome_da_tabela> DROP COLUMN <nome_do_campo>
Exemplo: ALTER TABLE clientes DROP COLUMN endereco;
Principais comandos DDL
ALTER TABLE
Adicionar uma PRIMARY KEY
Sintaxe:
ALTER TABLE <nome_da_tabela> ADD CONSTRAINT <nome_da_constraint> PRIMARY KEY(campo1[,campo2,campo3,...,
campoN])
Exemplo:
ALTER TABLE clientes ADD CONSTRAINT pk_cpf PRIMARY KEY(cpf)

Apagar uma PRIMARY KEY
Sintaxe:
ALTER TABLE <nome_da_tabela> DROP PRIMARY KEY
Ou
ALTER TABLE <nome_da_tabela> DROP CONSTRAINT <nome_da_constraint_da_primary_key>

Exemplo:
ALTER TABLE clientes DROP PRIMARY KEY;
Ou
ALTER TABLE clientes DROP CONSTRAINT pk_cpf;
Principais comandos DDL
ALTER TABLE
Adicionar uma FOREIGN KEY
Sintaxe: ALTER TABLE <nome_da_tabela> ADD CONSTRAINT <nome_da_constraint> FOREIGN KEY(campo1[,campo2,
campo3,...,campoN]) REFERENCES <nome_da_tabela>(campo1[,campo2,campo3,...,campoN]);
Exemplo:
ALTER TABLE contas ADD CONSTRAINT fk_contaagencia FOREIGN KEY(agencia_numero) REFERENCES
agencias(numero);
Adicionar uma constraint UNIQUE
Sintaxe: ALTER TABLE <nome_da_tabela> ADD CONSTRAINT <nome_da_constraint> UNIQUE(campo1[,campo2,
campo3,...,campoN])
Exemplo:
ALTER TABLE clientes ADD CONSTRAINT un_rgestado UNIQUE(rg,estado)
Apagar uma CONSTRAINT qualquer
Sintaxe: ALTER TABLE <nome_da_tabela> DROP CONSTRAINT <nome_da_constraint>
Exemplo:
ALTER TABLE contas DROP CONSTRAINT fk_contaagencia
Comando SHOW TABLES
Para visualizar todas as tabelas em um banco de dados, utilize o comando SHOW TABLES.
Exemplo: SHOW TABLES;
Comando DESC
Para visualizar a estrutura de uma tabela, utilize o comando DESC (ou DESCRIBE).
Exemplo: DESC clientes;
Administração
de Banco
de dados
Image: FreeDigitalPhotos.net

Manipulando as
informações
Banco de dados SQL
● A subdivisão da linguagem SQL denominada
DML (Data Manipulation Language) é composta
pelos seguintes comandos:
○ INSERT: Inclui registro na tabela.
○ UPDATE: Atualiza registros já existentes na
tabela.
○ DELETE: Exclui registros da tabela.
○ SELECT: Recupera registros armazenados
na tabela (uma ou mais, simultâneamente).
Banco de dados SQL
● INSERT
Sintaxe:
INSERT INTO <nome_da_tabela> (<campo1,campo2,
campo3,...,campoN>) VALUES (<valor1, valor2,
valor3, ..., valorN>);
● Exemplo:
INSERT INTO cidades (cep, nome, estado) VALUES
(02930000,’São Paulo’,’SP’);
●

Observações:
1) Valores do tipo TEXTO devem ser envolvidos por aspas simples ( ‘ );
2) Valores do tipo numéricos (INTEGER, NUMERIC, DECIMAL, etc..) não são
envolvidos por aspas simples e devem utilizar o ponto decimal para separação
das casas decimais no lugar na vírgula. Ex.: 3.25
Banco de dados SQL
● Outra sintaxe do comando INSERT permite ocultar os
campos e escrever somente os valores que serão inseridos.
● Exemplo:
INSERT
INTO
Paulo’,’SP’);

cidades

VALUES

(02930000,’São

● É possível usar o INSERT para múltiplos registros.
● Exemplo:
INSERT INTO
cidades;
●

cidades_backup

SELECT

*

FROM

Observações: Para a execução do comando acima é necessário que os tipos de
dados dos campos da tabela cidades_backup estejam na mesma ordem dos
tipos de dados dos campos da tabela cidades.
Banco de dados SQL
● UPDATE
Sintaxe:
UPDATE <nome_da_tabela> SET <campo1 = valor1>,
<campo2 = valor2>, <campo3 = valor3>, ...,
<campoN = valorN> [ WHERE condições]

● Exemplo:
UPDATE cidades SET nome = ‘Sampa’;
●

O comando UPDATE acima altera o campo nome de todas as cidades para
‘Sampa’.
Banco de dados SQL

● Para restringir a alteração dos registros a um subconjunto
deles, é utilizada a cláusula WHERE, que permite processar
uma ou mais condições.
● Exemplo:
UPDATE cidades SET
nome = ‘Sampa’,
estado = ‘SP’
WHERE cep = 02930000;
Banco de dados SQL

● DELETE
Sintaxe:
DELETE FROM <nome_da_tabela> [WHERE condições];
● Exemplo:
DELETE FROM cidades;
● O comando acima exclui todos os registros da tabela
cidades. Para excluir apenas um subconjunto dos registros,
é necessário utilizar a cláusula WHERE.
● Exemplo:
DELETE FROM cidades WHERE cep = 02930000;
Banco de dados SQL
● SELECT
Sintaxe:
SELECT <campo1>, <campo2>, ..., <campoN> FROM <tabela1>,
<tabela2>, ..., <tabelaN> [ JOIN <tabela> ON condições]
[ WHERE condições ] [ORDER BY <campos>];
●

Exemplos:

Exibir todos os campos de uma tabela

SELECT * FROM cidades;
Exibir um campo de uma tabela

SELECT nome FROM cidades;
Exibir mais de um campo de uma tabela

SELECT nome, cep FROM cidades;
Apelidando campos

SELECT nome as nome_cidade, cep as cep_cidade FROM cidades;
Apelidando tabelas

SELECT nome, cep FROM cidades as cid;
Selecionando campos a partir do nome da tabela

SELECT cidades.nome, cidades.cep FROM cidades;
Selecionando campos a partir do apelido da tabela

SELECT cid.nome, cid.cep FROM cidades as cid;
Banco de dados SQL
● Cláusula WHERE
●

Igual: =
UPDATE clientes SET endereco = ‘Rua dos Bobos 0’
WHERE cpf = 123456789;

●

Diferente: <>
UPDATE clientes SET endereco = ‘Rua dos Bobos 0’, bairro =
‘Centro’ WHERE cpf <> 123456789;

●

Maior: >
SELECT * FROM funcionarios WHERE salario > 1000.50;

●

Menor: <
SELECT
*
FROM
'1979/03/29';

clientes

WHERE

data_nascimento

●

Maior ou igual: <
SELECT * FROM funcionarios WHERE data_adm >= '2006/01/01';

●

Menor ou igual: <
SELECT * FROM funcionarios WHERE data_adm <= '2006/01/01';

●

IN: Comparação de igualdade com múltiplos valores

<
Banco de dados SQL

● Cláusula WHERE
●

LIKE: Comparação de partes do texto
SELECT * FROM funcionarios WHERE nome LIKE ‘a%’;
Seleciona todos os funcionários cujos nomes iniciam pela letra “a”.

SELECT * FROM funcionarios WHERE nome LIKE ‘%o’;
Seleciona todos os funcionários cujos nomes terminam pela letra “o”.

SELECT * FROM funcionarios WHERE nome LIKE ‘%a%’;
Seleciona todos os funcionários cujos nomes possuem a letra “a” em qualquer posição (início, meio ou fim).

SELECT * FROM funcionarios WHERE nome LIKE ‘_a%’;
Seleciona todos os funcionários cujos nomes iniciam por qualquer letra e possuem a letra “a” no segundo caractere.

SELECT * FROM funcionarios WHERE nome LIKE ‘__u%’;
Seleciona todos os funcionários cujos nomes possuem a letra “u” na terceira posição.

SELECT * FROM funcionarios WHERE nome LIKE ‘%o_’;
Seleciona todos os funcionários cujos nomes possuem a letra “o” na penúltima posição.
Banco de dados SQL

● Cláusula WHERE
●

Soma: +
UPDATE funcionarios SET salario = salario + 10;
Acrescenta R$ 10,00 ao salário dos funcionários.

●

Subtração: UPDATE funcionarios SET salario = salario – 5 WHERE salario
>
1000;
Subtrai R$ 5,00 do salário dos funcionários que ganham mais de R$ 1000,00.

●

Multiplicação: *
UPDATE funcionarios SET salario = salario*1.1;
Aumenta o salário dos funcionários em 10%.

●

Divisão: /
UPDATE funcionarios
(10/100);

SET

salario

=

salario

+

salario*

Aumenta o salário dos funcionários em 10%.

●

IS: Operador especial para comparação de igualdade. Este operador é usado
Banco de dados SQL

● Cláusula WHERE
●

AND
SELECT * FROM clientes WHERE nome LIKE ‘a%’ AND
data_nascimento <= ‘1980/01/01’;
Seleciona todos os clientes cujos nomes iniciam pela letra “a” e cujas datas de nascimento são anteriores a 01/01/1980.

●

OR
SELECT * FROM cidades WHERE UF='SP' OR UF ='MG';
Seleciona as cidades dos estados de SP ou Minas Gerais.

●

Multiplicação: *
UPDATE funcionarios SET salario = salario*1.1;
Aumenta o salário dos funcionários em 10%.

●

NOT
SELECT nome FROM funcionarios WHERE NOT(salario < 1000);
Seleciona o nome dos funcionários que não possuem salário menor que 1000.
Banco de dados SQL

● Junção de tabelas
●

Usando a cláusula WHERE
SELECT * FROM clientes, cidades
WHERE clientes.cep = cidades.cep;
Para a junção de tabelas, sempre devem ser escritas as condições entre os campos que estão
relacionados nas tabelas. Geralmente, essas condições envolvem os campos que são chaves
estrangeiras de uma tabela e os que são chaves primárias da outra, porém nada impede de serem
feitas condições entre campos que não são chaves.

●

Usando a cláusula JOIN
SELECT cidades.nome, clientes.nome FROM clientes
INNER JOIN cidades ON cidades.cep = clientes.cep;
A cláusula INNER JOIN define que serão selecionados somente os registros de uma tabela que
possuem relação com os registros da outra tabela. No exemplo acima, serão selecionados todos os
clientes cujos CEPs dos endereços existam na tabela cidades.
Banco de dados SQL
● Junção de tabelas
●

Usando a cláusula LEFT JOIN
SELECT cidades.nome, clientes.nome
FROM clientes
LEFT JOIN cidades ON cidades.cep = clientes.cep;
Para interpretar o LEFT JOIN, faz-se a pergunta: qual tabela está à esquerda do JOIN? No comando
acima, a tabela que está à esquerda da cláusula JOIN é a tabela clientes. Portanto, serão selecionados
todos os registros da tabela clientes estando ou não relacionados com a tabela cidades pelo campo
cep.

●

Usando a cláusula RIGHT JOIN
SELECT cidades.nome, clientes.nome
FROM clientes
RIGHT JOIN cidades ON cidades.cep = clientes.cep;
A cláusula RIGHT JOIN possui o mesmo funcionamento da cláusula LEFT JOIN, com a exceção de
que seleciona todos os registros da tabela que está à direita do JOIN estando ou não relacionados com
os registros da tabela que está à esquerda do JOIN.
Para interpretar o RIGHT JOIN, faz-se a pergunta: qual tabela está à direita do JOIN? A tabela cidades.
Portanto, serão selecionados todos os registros da tabela cidades que estão ou não relacionados com
os registros da tabela clientes.
Banco de dados SQL

● Cláusula ORDER BY
Sintaxe:
SELECT ... ORDER BY <campo1>, <campo2>, <campoN> ... [desc|asc]

●

Exemplos:

Seleciona as cidades cujos nomes iniciam pela letra “a” e ordena a lista primeiramente pelo CEP e, em seguida, pelo nome.

SELECT * FROM cidades WHERE nome LIKE ‘a%’ ORDER BY cep, nome;
Seleciona todos os clientes ordenando decrescentemente pelo nome e, se houver repetição de valores, obedece à ordem crescente da data de
nascimento.

SELECT * FROM clientes ORDER BY nome DESC, data_nascimento;
Seleciona todos os clientes ordenando crescentemente pelo nome e, se houver repetição de valores, obedece à ordem decrescente da data de
nascimento.

SELECT * FROM clientes ORDER BY nome, data_nascimento DESC;

Contenu connexe

Tendances

Arquitetura de computadores Módulo 4
Arquitetura de computadores Módulo 4Arquitetura de computadores Módulo 4
Arquitetura de computadores Módulo 4Luis Ferreira
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDVinicius Buffolo
 
Aula 05 sistemas de numeração
Aula 05   sistemas de numeraçãoAula 05   sistemas de numeração
Aula 05 sistemas de numeraçãoDaniel Moura
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dadosvini_campos
 
Computação paralela 2 cluster e grid
Computação paralela 2 cluster e grid Computação paralela 2 cluster e grid
Computação paralela 2 cluster e grid Fernando Gomes Chaves
 
Virtualizacao
VirtualizacaoVirtualizacao
Virtualizacaohome
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquicorosimaracorsino
 
Apostila Microsoft Office Power Point 2016
Apostila Microsoft Office Power Point 2016Apostila Microsoft Office Power Point 2016
Apostila Microsoft Office Power Point 2016Cibele Kanegae
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em pptAndrei Bastos
 
Aula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfAula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfMarcelo Silva
 
Variáveis, constantes e tipos de dados
Variáveis, constantes e tipos de dadosVariáveis, constantes e tipos de dados
Variáveis, constantes e tipos de dadosBrunoSilvaSantana
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERRangel Javier
 
Curso Básico de Word 2013 - Parte II
Curso Básico de Word 2013 - Parte IICurso Básico de Word 2013 - Parte II
Curso Básico de Word 2013 - Parte IIABCursos OnLine
 

Tendances (20)

Arquitetura de computadores Módulo 4
Arquitetura de computadores Módulo 4Arquitetura de computadores Módulo 4
Arquitetura de computadores Módulo 4
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBD
 
Aula 05 sistemas de numeração
Aula 05   sistemas de numeraçãoAula 05   sistemas de numeração
Aula 05 sistemas de numeração
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
Cidr calculo de subrede
Cidr   calculo de subredeCidr   calculo de subrede
Cidr calculo de subrede
 
A Linguagem sql
A Linguagem sqlA Linguagem sql
A Linguagem sql
 
Exercicio Subrede
Exercicio SubredeExercicio Subrede
Exercicio Subrede
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 
Computação paralela 2 cluster e grid
Computação paralela 2 cluster e grid Computação paralela 2 cluster e grid
Computação paralela 2 cluster e grid
 
Virtualizacao
VirtualizacaoVirtualizacao
Virtualizacao
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquico
 
Apostila Microsoft Office Power Point 2016
Apostila Microsoft Office Power Point 2016Apostila Microsoft Office Power Point 2016
Apostila Microsoft Office Power Point 2016
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Aula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfAula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdf
 
Variáveis, constantes e tipos de dados
Variáveis, constantes e tipos de dadosVariáveis, constantes e tipos de dados
Variáveis, constantes e tipos de dados
 
Linguagem SQL
Linguagem SQLLinguagem SQL
Linguagem SQL
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
 
Curso Básico de Word 2013 - Parte II
Curso Básico de Word 2013 - Parte IICurso Básico de Word 2013 - Parte II
Curso Básico de Word 2013 - Parte II
 
Endereçamento IPV4
Endereçamento IPV4Endereçamento IPV4
Endereçamento IPV4
 

En vedette

BANCO DE DADOS RELACIONAIS
BANCO DE DADOS RELACIONAIS BANCO DE DADOS RELACIONAIS
BANCO DE DADOS RELACIONAIS Antonio Pedro
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosRafael Albani
 
Banco de Dados Conceitos
Banco de Dados ConceitosBanco de Dados Conceitos
Banco de Dados ConceitosCleber Ramos
 
7882195 banco-de-dados-uma-ampla-abordagem
7882195 banco-de-dados-uma-ampla-abordagem7882195 banco-de-dados-uma-ampla-abordagem
7882195 banco-de-dados-uma-ampla-abordagemGabriel Azuirson
 
Administração de Banco de Dados - Operações sobre Tabelas 19/10
Administração de Banco de Dados - Operações sobre Tabelas 19/10Administração de Banco de Dados - Operações sobre Tabelas 19/10
Administração de Banco de Dados - Operações sobre Tabelas 19/10Fabio Abel
 
Aula05 141013181854-conversion-gate02
Aula05 141013181854-conversion-gate02Aula05 141013181854-conversion-gate02
Aula05 141013181854-conversion-gate02Albert Belchior
 
Administração de Banco de Dados
Administração de Banco de DadosAdministração de Banco de Dados
Administração de Banco de DadosFabio Abel
 
Administração de Banco de Dados - Operações Sobre Tabelas 19/10
Administração de Banco de Dados - Operações Sobre Tabelas 19/10Administração de Banco de Dados - Operações Sobre Tabelas 19/10
Administração de Banco de Dados - Operações Sobre Tabelas 19/10Fabio Abel
 
Sistemas operacionais aula 01
Sistemas operacionais aula 01Sistemas operacionais aula 01
Sistemas operacionais aula 01Albert Belchior
 
Banco de Dados
Banco de DadosBanco de Dados
Banco de DadosFabio Abel
 
Administração de Banco de Dados - Operações Sobre Tabelas 19/10
Administração de Banco de Dados - Operações Sobre Tabelas 19/10Administração de Banco de Dados - Operações Sobre Tabelas 19/10
Administração de Banco de Dados - Operações Sobre Tabelas 19/10Fabio Abel
 
Administração de Banco de Dados
Administração de Banco de DadosAdministração de Banco de Dados
Administração de Banco de DadosFabio Abel
 
Curso tecnologia em gestão da tecnologia da informação disciplina gerenciam...
Curso tecnologia em gestão da tecnologia da informação   disciplina gerenciam...Curso tecnologia em gestão da tecnologia da informação   disciplina gerenciam...
Curso tecnologia em gestão da tecnologia da informação disciplina gerenciam...Fabio Abel
 

En vedette (20)

BANCO DE DADOS RELACIONAIS
BANCO DE DADOS RELACIONAIS BANCO DE DADOS RELACIONAIS
BANCO DE DADOS RELACIONAIS
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
Introdução a Bancos de Dados
Introdução a Bancos de DadosIntrodução a Bancos de Dados
Introdução a Bancos de Dados
 
Banco de Dados Conceitos
Banco de Dados ConceitosBanco de Dados Conceitos
Banco de Dados Conceitos
 
Aulas TSI33A - Banco de Dados I (TSI UTFPR-Toledo)
Aulas TSI33A - Banco de Dados I (TSI UTFPR-Toledo)Aulas TSI33A - Banco de Dados I (TSI UTFPR-Toledo)
Aulas TSI33A - Banco de Dados I (TSI UTFPR-Toledo)
 
7882195 banco-de-dados-uma-ampla-abordagem
7882195 banco-de-dados-uma-ampla-abordagem7882195 banco-de-dados-uma-ampla-abordagem
7882195 banco-de-dados-uma-ampla-abordagem
 
Administração de Banco de Dados - Operações sobre Tabelas 19/10
Administração de Banco de Dados - Operações sobre Tabelas 19/10Administração de Banco de Dados - Operações sobre Tabelas 19/10
Administração de Banco de Dados - Operações sobre Tabelas 19/10
 
Banco de dados aula 03
Banco de dados   aula 03Banco de dados   aula 03
Banco de dados aula 03
 
Banco de dados aula 08
Banco de dados   aula 08Banco de dados   aula 08
Banco de dados aula 08
 
Banco de dados aula 04
Banco de dados   aula 04Banco de dados   aula 04
Banco de dados aula 04
 
Aula05 141013181854-conversion-gate02
Aula05 141013181854-conversion-gate02Aula05 141013181854-conversion-gate02
Aula05 141013181854-conversion-gate02
 
Administração de Banco de Dados
Administração de Banco de DadosAdministração de Banco de Dados
Administração de Banco de Dados
 
Banco de dados aula 01
Banco de dados   aula 01Banco de dados   aula 01
Banco de dados aula 01
 
Administração de Banco de Dados - Operações Sobre Tabelas 19/10
Administração de Banco de Dados - Operações Sobre Tabelas 19/10Administração de Banco de Dados - Operações Sobre Tabelas 19/10
Administração de Banco de Dados - Operações Sobre Tabelas 19/10
 
Banco de dados aula 02
Banco de dados   aula 02Banco de dados   aula 02
Banco de dados aula 02
 
Sistemas operacionais aula 01
Sistemas operacionais aula 01Sistemas operacionais aula 01
Sistemas operacionais aula 01
 
Banco de Dados
Banco de DadosBanco de Dados
Banco de Dados
 
Administração de Banco de Dados - Operações Sobre Tabelas 19/10
Administração de Banco de Dados - Operações Sobre Tabelas 19/10Administração de Banco de Dados - Operações Sobre Tabelas 19/10
Administração de Banco de Dados - Operações Sobre Tabelas 19/10
 
Administração de Banco de Dados
Administração de Banco de DadosAdministração de Banco de Dados
Administração de Banco de Dados
 
Curso tecnologia em gestão da tecnologia da informação disciplina gerenciam...
Curso tecnologia em gestão da tecnologia da informação   disciplina gerenciam...Curso tecnologia em gestão da tecnologia da informação   disciplina gerenciam...
Curso tecnologia em gestão da tecnologia da informação disciplina gerenciam...
 

Similaire à Administração de Banco de Dados

Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dadosmlima72
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dadosmlima72
 
Prex i etapa 1_roteiro_briefing_2015
Prex i etapa 1_roteiro_briefing_2015Prex i etapa 1_roteiro_briefing_2015
Prex i etapa 1_roteiro_briefing_2015Uninove - Santo Amaro
 
Prex i etapa 1_roteiro_briefing_2015
Prex i etapa 1_roteiro_briefing_2015Prex i etapa 1_roteiro_briefing_2015
Prex i etapa 1_roteiro_briefing_2015pablonaba
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dadosmlima72
 
Prex i etapa 1_roteiro_briefing_2016
Prex i etapa 1_roteiro_briefing_2016 Prex i etapa 1_roteiro_briefing_2016
Prex i etapa 1_roteiro_briefing_2016 pablonaba
 
Prex i etapa 1 roteiro briefing 2016
Prex i etapa 1 roteiro briefing 2016Prex i etapa 1 roteiro briefing 2016
Prex i etapa 1 roteiro briefing 2016pablonaba
 
Sistemas Empresarial III - CRM
Sistemas Empresarial III - CRMSistemas Empresarial III - CRM
Sistemas Empresarial III - CRMucpel
 
Base de Dados - Diagramas E-A (cont.)
Base de Dados - Diagramas E-A (cont.)Base de Dados - Diagramas E-A (cont.)
Base de Dados - Diagramas E-A (cont.)Mariana Hiyori
 
Workshop mvp 23.09.pptx
Workshop mvp   23.09.pptxWorkshop mvp   23.09.pptx
Workshop mvp 23.09.pptxCleber Guedes
 
Gestão de Projetos e Empreendedorismo: SIN-NA7 (22/10/2013)
Gestão de Projetos e Empreendedorismo: SIN-NA7 (22/10/2013)Gestão de Projetos e Empreendedorismo: SIN-NA7 (22/10/2013)
Gestão de Projetos e Empreendedorismo: SIN-NA7 (22/10/2013)Alessandro Almeida
 

Similaire à Administração de Banco de Dados (11)

Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Prex i etapa 1_roteiro_briefing_2015
Prex i etapa 1_roteiro_briefing_2015Prex i etapa 1_roteiro_briefing_2015
Prex i etapa 1_roteiro_briefing_2015
 
Prex i etapa 1_roteiro_briefing_2015
Prex i etapa 1_roteiro_briefing_2015Prex i etapa 1_roteiro_briefing_2015
Prex i etapa 1_roteiro_briefing_2015
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Prex i etapa 1_roteiro_briefing_2016
Prex i etapa 1_roteiro_briefing_2016 Prex i etapa 1_roteiro_briefing_2016
Prex i etapa 1_roteiro_briefing_2016
 
Prex i etapa 1 roteiro briefing 2016
Prex i etapa 1 roteiro briefing 2016Prex i etapa 1 roteiro briefing 2016
Prex i etapa 1 roteiro briefing 2016
 
Sistemas Empresarial III - CRM
Sistemas Empresarial III - CRMSistemas Empresarial III - CRM
Sistemas Empresarial III - CRM
 
Base de Dados - Diagramas E-A (cont.)
Base de Dados - Diagramas E-A (cont.)Base de Dados - Diagramas E-A (cont.)
Base de Dados - Diagramas E-A (cont.)
 
Workshop mvp 23.09.pptx
Workshop mvp   23.09.pptxWorkshop mvp   23.09.pptx
Workshop mvp 23.09.pptx
 
Gestão de Projetos e Empreendedorismo: SIN-NA7 (22/10/2013)
Gestão de Projetos e Empreendedorismo: SIN-NA7 (22/10/2013)Gestão de Projetos e Empreendedorismo: SIN-NA7 (22/10/2013)
Gestão de Projetos e Empreendedorismo: SIN-NA7 (22/10/2013)
 

Plus de Helder Lopes

Resumo: Oportunidade de Negocio Herbalife
Resumo: Oportunidade de Negocio HerbalifeResumo: Oportunidade de Negocio Herbalife
Resumo: Oportunidade de Negocio HerbalifeHelder Lopes
 
Sql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoSql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoHelder Lopes
 
Desenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geralDesenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geralHelder Lopes
 
Programação orientada a objetos em delphi
Programação orientada a objetos em delphiProgramação orientada a objetos em delphi
Programação orientada a objetos em delphiHelder Lopes
 
Gerenciamento de Infra-Estrutura - Aula 5 - contexto organizacional
Gerenciamento de Infra-Estrutura - Aula 5 - contexto organizacionalGerenciamento de Infra-Estrutura - Aula 5 - contexto organizacional
Gerenciamento de Infra-Estrutura - Aula 5 - contexto organizacionalHelder Lopes
 
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...Helder Lopes
 
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos IniciaisFundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos IniciaisHelder Lopes
 
Gerenciamento de Infra-Estrutura - Aula 2 - Definições Utilizadas em Gerencia...
Gerenciamento de Infra-Estrutura - Aula 2 - Definições Utilizadas em Gerencia...Gerenciamento de Infra-Estrutura - Aula 2 - Definições Utilizadas em Gerencia...
Gerenciamento de Infra-Estrutura - Aula 2 - Definições Utilizadas em Gerencia...Helder Lopes
 
Gerenciamento de Infra-Estrutura - Aula 3 - Ferramentas de Gerenciamento - Co...
Gerenciamento de Infra-Estrutura - Aula 3 - Ferramentas de Gerenciamento - Co...Gerenciamento de Infra-Estrutura - Aula 3 - Ferramentas de Gerenciamento - Co...
Gerenciamento de Infra-Estrutura - Aula 3 - Ferramentas de Gerenciamento - Co...Helder Lopes
 
Aplicação de Redes Neurais Artificiais Paraconsistentes no auxílio do diagnós...
Aplicação de Redes Neurais Artificiais Paraconsistentes no auxílio do diagnós...Aplicação de Redes Neurais Artificiais Paraconsistentes no auxílio do diagnós...
Aplicação de Redes Neurais Artificiais Paraconsistentes no auxílio do diagnós...Helder Lopes
 
Estatística - Aula 2 - Estatística descritiva
Estatística - Aula 2 - Estatística descritivaEstatística - Aula 2 - Estatística descritiva
Estatística - Aula 2 - Estatística descritivaHelder Lopes
 
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplinaFundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplinaHelder Lopes
 
Gerenciamento de Infra-Estrutura - Aula 3 - Conceitos sobre SLA & SLM
Gerenciamento de Infra-Estrutura - Aula 3 - Conceitos sobre SLA & SLMGerenciamento de Infra-Estrutura - Aula 3 - Conceitos sobre SLA & SLM
Gerenciamento de Infra-Estrutura - Aula 3 - Conceitos sobre SLA & SLMHelder Lopes
 
Melhorando o desempenho de suas consultas no MySql
Melhorando o desempenho de suas consultas no MySqlMelhorando o desempenho de suas consultas no MySql
Melhorando o desempenho de suas consultas no MySqlHelder Lopes
 
Modelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoModelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoHelder Lopes
 
Ferramentas de Gerenciamento de Rede
Ferramentas de Gerenciamento de RedeFerramentas de Gerenciamento de Rede
Ferramentas de Gerenciamento de RedeHelder Lopes
 
Gerenciamento de Infra-Estrutura - Aula 1 - Introdução à disciplina
Gerenciamento de Infra-Estrutura - Aula 1 - Introdução à disciplinaGerenciamento de Infra-Estrutura - Aula 1 - Introdução à disciplina
Gerenciamento de Infra-Estrutura - Aula 1 - Introdução à disciplinaHelder Lopes
 
Gerenciamento e administração de Redes
Gerenciamento e administração de RedesGerenciamento e administração de Redes
Gerenciamento e administração de RedesHelder Lopes
 
Redes de computadores e Telecomunicações
Redes de computadores e TelecomunicaçõesRedes de computadores e Telecomunicações
Redes de computadores e TelecomunicaçõesHelder Lopes
 
Sistemas para Internet e Software Livre
Sistemas para Internet e Software LivreSistemas para Internet e Software Livre
Sistemas para Internet e Software LivreHelder Lopes
 

Plus de Helder Lopes (20)

Resumo: Oportunidade de Negocio Herbalife
Resumo: Oportunidade de Negocio HerbalifeResumo: Oportunidade de Negocio Herbalife
Resumo: Oportunidade de Negocio Herbalife
 
Sql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoSql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumo
 
Desenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geralDesenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geral
 
Programação orientada a objetos em delphi
Programação orientada a objetos em delphiProgramação orientada a objetos em delphi
Programação orientada a objetos em delphi
 
Gerenciamento de Infra-Estrutura - Aula 5 - contexto organizacional
Gerenciamento de Infra-Estrutura - Aula 5 - contexto organizacionalGerenciamento de Infra-Estrutura - Aula 5 - contexto organizacional
Gerenciamento de Infra-Estrutura - Aula 5 - contexto organizacional
 
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
 
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos IniciaisFundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
 
Gerenciamento de Infra-Estrutura - Aula 2 - Definições Utilizadas em Gerencia...
Gerenciamento de Infra-Estrutura - Aula 2 - Definições Utilizadas em Gerencia...Gerenciamento de Infra-Estrutura - Aula 2 - Definições Utilizadas em Gerencia...
Gerenciamento de Infra-Estrutura - Aula 2 - Definições Utilizadas em Gerencia...
 
Gerenciamento de Infra-Estrutura - Aula 3 - Ferramentas de Gerenciamento - Co...
Gerenciamento de Infra-Estrutura - Aula 3 - Ferramentas de Gerenciamento - Co...Gerenciamento de Infra-Estrutura - Aula 3 - Ferramentas de Gerenciamento - Co...
Gerenciamento de Infra-Estrutura - Aula 3 - Ferramentas de Gerenciamento - Co...
 
Aplicação de Redes Neurais Artificiais Paraconsistentes no auxílio do diagnós...
Aplicação de Redes Neurais Artificiais Paraconsistentes no auxílio do diagnós...Aplicação de Redes Neurais Artificiais Paraconsistentes no auxílio do diagnós...
Aplicação de Redes Neurais Artificiais Paraconsistentes no auxílio do diagnós...
 
Estatística - Aula 2 - Estatística descritiva
Estatística - Aula 2 - Estatística descritivaEstatística - Aula 2 - Estatística descritiva
Estatística - Aula 2 - Estatística descritiva
 
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplinaFundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
 
Gerenciamento de Infra-Estrutura - Aula 3 - Conceitos sobre SLA & SLM
Gerenciamento de Infra-Estrutura - Aula 3 - Conceitos sobre SLA & SLMGerenciamento de Infra-Estrutura - Aula 3 - Conceitos sobre SLA & SLM
Gerenciamento de Infra-Estrutura - Aula 3 - Conceitos sobre SLA & SLM
 
Melhorando o desempenho de suas consultas no MySql
Melhorando o desempenho de suas consultas no MySqlMelhorando o desempenho de suas consultas no MySql
Melhorando o desempenho de suas consultas no MySql
 
Modelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoModelagem de Sistemas de Informação
Modelagem de Sistemas de Informação
 
Ferramentas de Gerenciamento de Rede
Ferramentas de Gerenciamento de RedeFerramentas de Gerenciamento de Rede
Ferramentas de Gerenciamento de Rede
 
Gerenciamento de Infra-Estrutura - Aula 1 - Introdução à disciplina
Gerenciamento de Infra-Estrutura - Aula 1 - Introdução à disciplinaGerenciamento de Infra-Estrutura - Aula 1 - Introdução à disciplina
Gerenciamento de Infra-Estrutura - Aula 1 - Introdução à disciplina
 
Gerenciamento e administração de Redes
Gerenciamento e administração de RedesGerenciamento e administração de Redes
Gerenciamento e administração de Redes
 
Redes de computadores e Telecomunicações
Redes de computadores e TelecomunicaçõesRedes de computadores e Telecomunicações
Redes de computadores e Telecomunicações
 
Sistemas para Internet e Software Livre
Sistemas para Internet e Software LivreSistemas para Internet e Software Livre
Sistemas para Internet e Software Livre
 

Dernier

Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxIsabelaRafael2
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxBiancaNogueira42
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdfJorge Andrade
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfIedaGoethe
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaaulasgege
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOMarcosViniciusLemesL
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfmirandadudu08
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISVitor Vieira Vasconcelos
 
Aula 1, 2 Bacterias Características e Morfologia.pptx
Aula 1, 2  Bacterias Características e Morfologia.pptxAula 1, 2  Bacterias Características e Morfologia.pptx
Aula 1, 2 Bacterias Características e Morfologia.pptxpamelacastro71
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 

Dernier (20)

Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdf
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGIS
 
Aula 1, 2 Bacterias Características e Morfologia.pptx
Aula 1, 2  Bacterias Características e Morfologia.pptxAula 1, 2  Bacterias Características e Morfologia.pptx
Aula 1, 2 Bacterias Características e Morfologia.pptx
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 

Administração de Banco de Dados

  • 1. Administração de Banco de dados Image: FreeDigitalPhotos.net Introdução
  • 2. Conteúdo programático ● Introdução à banco de dados ○ Histórico ○ Definição ○ Importância dos sistemas de bancos de dados nas organizações
  • 5. Introdução: Banco de dados ● Exemplo de tabela Nome RA Nota Bonifácio Cubas 125159 9,5 Ana Cintra 125148 8,0 ● Um banco de dados é um conjunto de tabelas. ● Representa aspectos da vida real.
  • 6. Introdução: Banco de dados ● Profissionais envolvidos: Projetistas de Bancos de Dados (DBP) Image: FreeDigitalPhotos.net
  • 7. Introdução: Banco de dados ● Profissionais envolvidos: Analistas de sistemas e programadores Image: FreeDigitalPhotos.net
  • 8. Introdução: Banco de dados ● Profissionais envolvidos: Administradores de Bancos de Dados (DBA) Image: FreeDigitalPhotos.net
  • 9. Introdução: Banco de dados ● Profissionais envolvidos: Usuários Image: FreeDigitalPhotos.net
  • 10. Introdução: Banco de dados ● Importância dos sistemas de bancos de dados nas organizações ○ É realmente necessário? ○ E nas pequenas empresas? Image: FreeDigitalPhotos.net
  • 11. Administração de Banco de dados Image: FreeDigitalPhotos.net Modelos Lógicos
  • 12. Modelo logico ● São modelos de dados ● É uma representação teórica de como será a implementação do banco de dados ● Deve ser tecnologia independente de Image: FreeDigitalPhotos.net
  • 13. Porque fazer a modelagem de dados? ● Informações concisas e necessárias para o negócio ● Identifica redundâncias ● Identifica dados não utilizados ● Permite estabelecer regras de integridade de dados Image: FreeDigitalPhotos.net
  • 14. Modelando dados ● Um modelo é formado por: Matrícula ○ Entidades Nome Aluno ○ Atributos Endereço Data Nascimento Image: FreeDigitalPhotos.net
  • 15. Modelando dados or ad fic ) nti ária de o i Prim ut e trib hav A (C #Matrícula Nome Aluno Endereço Data Nascimento Image: FreeDigitalPhotos.net
  • 16. Modelando dados Aluno: #Matrícula Nome Endereço Data Nascimento Image: FreeDigitalPhotos.net de ra ei an ntar m tra rese Ou rep
  • 17. Modelando dados ● Diagramas de entidas ○ Utilizaremos a metodologia DER: Diagrama Entidade-Relacionamento ○ DER representa a associação de cada entidade através de relacionamentos Entidade 1 Relacionamento Entidade 2
  • 18. Modelando dados ● DER Entidade 1 Um e somente um Um ou muitos Um ou muitos Um ou nenhum Entidade 3 de lo ento mp xe nam E io ac rel Entidade 2
  • 19. Modelando dados na prática ● Exemplo: Cliente ○ Uma empresa controla os seguintes dados de seus clientes: Código ■ Código ■ Nome ■ Endereço Nome ■ Telefone Cliente Endereço Telefone
  • 20. Modelando dados na prática ● Exemplo: Cliente ○ Uma empresa controla os seguintes dados de seus clientes: ■ Código ■ Nome ■ Endereço ■ Telefone Cliente: #Código Nome Endereço Telefone
  • 21. Modelando dados na prática ● Exemplo: Cliente ○ A empresa vende diversos produtos a seus clientes: ■ Cada cliente pode comprar quantos produtos precisar ■ Cada pedido de venda pode ser composto por vários produtos Pedido: #Código Cliente Data Valor Detalhe Pedido: #Código Pedido #Código Produto Quantidade Valor Produto: #Código Descrição Valor
  • 22. Modelando dados na prática ● DER Cliente 1 N Faz Pedido 1 Compõe 1 Produto N Detalhe Pedido N Forma
  • 23. Fixando conteúdo... 1. Utilizando o exemplo da entidade Aluno, identifique uma outra entidade em sala de aula que se relaciona com a entidade aluno: ○ Descreva os atributos dessa outra entidade ○ Faça o DER entre as entidades 2. Agora inclua uma entidade ao exercício anterior: Universidade. ○ Descreva os atributos da entidade Universidade ○ Faça o DER entre as entidades (as 3 entidades)
  • 24. Fixando conteúdo... 3. Identifique, descreva e relacione, ao menos 3 entidades, em um restaurante.
  • 25. Administração de Banco de dados Image: FreeDigitalPhotos.net Modelos Físicos
  • 26. Modelo físico ● São modelos de dados ● É uma representação teórica de como será a implementação do banco de dados ● Deve levar em conta limitações do SGBD as Image: FreeDigitalPhotos.net
  • 27. Porque fazer a modelagem de dados lógica e outra física? ● Modelo lógico lhe permite a visão de negócio. O conceito a ser trabalho. ● O modelo físico lhe permite projetar a implementação do banco de dados. ● O modelo físico pode ser ligeiramente diferente do modelo lógico (melhorado). ● Requer conhecimento técnico. Image: FreeDigitalPhotos.net
  • 28. Nomenclatura ● Modelo lógico : Entidades e atributos. ● O modelo físico : Tabelas e campo. ● Modelo lógico : Atributo identificador. ● O modelo físico : Chave primária. ● Modelo físico: ○ Chave estrangeira ○ Cardinalidade ○ Tipo de campo
  • 29. Nomenclatura ● Tipos de campos ○ ○ ○ ○ ○ ○ ○ Char(N) Varchar(N) Numeric(N,P) Integer Date Time TimeStamp N = Tamanho P = Precisão decimal
  • 31. Fixando conteúdo... A empresa MãosAObra, Ltda é uma agência que se dedica exclusivamente à subcontratação de trabalho temporário. Os clientes desta empresa são normalmente outras empresas ou mesmo particulares que necessitam de mão de obra temporária para executar tarefas pontuais. Esta empresa não possui mão-de-obra em regime permanente, limitando-se a entrar em contato com indivíduos que constam em seu catálogo, no sentido de os alocar temporariamente a determinados serviços. Sempre que um novo cliente solicita os serviços desta empresa, os seus dados são recolhidos numa ficha de cliente. Da mesma forma, quando um candidato se inscreve na bolsa de emprego desta empresa preenche um impresso (ficha de contato) onde refere nomeadamente as suas aptidões e os setores de atividade em que se inscreve. Um setor de atividade define basicamente um tipo de trabalho que um candidato está disposto a executar. Como é evidente, a inscrição em alguns setores de atividade irá depender das suas aptidões específicas. Quando um cliente solicita um serviço é preenchida uma ficha de serviço onde se descreve o serviço a efetuar e a sua data de inicio. A ficha de serviço é depois analisada para decidir quais os setores de atividade implicados naquele serviço, quantos indivíduos são necessários e, previsivelmente por quanto tempo. Posteriormente selecionam-se para cada setor de atividade os possíveis colaboradores que serão chamados para saber se aceitam ou não o trabalho. Desta forma constituem-se então equipes de trabalho (uma por cada setor de atividade) no entanto, cada colaborador apenas estará destacado para uma delas. Com base nos exemplos, assim como esta breve descrição, desenvolva o respectivo modelo FÍSICO de dados juntamente com seus relacionamentos.
  • 32. Fixando conteúdo... Ficha de Cliente Numero: __________ Nome: _______________________________________________ Endereço:______________________________________________ Telefone: __________ Fax: __________ Data: ___/___/___ Ficha de Serviço N. Cliente: ___________ Data recepção: ___/___/____ Descrição: ________________________________________ Data inicio: ___/___/___ Ficha de Contato N. Colaborador: _______ Nome: ____________________________________________ Endereço: ___________________________________________ Telefone: ____________ Data: ____/____/_____ Aptidões: Escolaridade: ____________________________ Linguas Estrangeiras: __________________ Aptidões Profissionais: ______________________ Setores de Atividade em que se inscreve (coloca um X) Trabalhos agricolas: ___ Limpeza/Higiene: ___ Carpintaria: ___ Soldadura:___
  • 33. Fixando conteúdo… Resolvendo... A empresa MãosAObra, Ltda é uma agência que se dedica exclusivamente à subcontratação de trabalho temporário. Os clientes desta empresa são normalmente outras empresas ou mesmo particulares que necessitam de mão de obra temporária para executar tarefas pontuais. Esta empresa não possui mão-de-obra em regime permanente, limitando-se a entrar em contato com indivíduos que constam em seu catálogo, no sentido de os alocar temporariamente a determinados serviços. Sempre que um novo cliente solicita os serviços desta empresa, os seus dados são recolhidos numa ficha de cliente. Da mesma forma, quando um candidato se inscreve na bolsa de emprego desta empresa preenche um impresso (ficha de contato) onde refere nomeadamente as suas aptidões e os setores de atividade em que se inscreve. Um setor de atividade define basicamente um tipo de trabalho que um candidato está disposto a executar. Como é evidente, a inscrição em alguns setores de atividade irá depender das suas aptidões específicas. Quando um cliente solicita um serviço é preenchida uma ficha de serviço onde se descreve o serviço a efetuar e a sua data de inicio. A ficha de serviço é depois analisada para decidir quais os setores de atividade implicados naquele serviço, quantos indivíduos são necessários e, previsivelmente por quanto tempo. Posteriormente selecionam-se para cada setor de atividade os possíveis colaboradores que serão chamados para saber se aceitam ou não o trabalho. Desta forma constituem-se então equipes de trabalho (uma por cada setor de atividade) no entanto, cada colaborador apenas estará destacado para uma delas. Com base nos exemplos, assim como esta breve descrição, desenvolva o respectivo modelo FÍSICO de dados juntamente com seus relacionamentos.
  • 41. Administração de Banco de dados Image: FreeDigitalPhotos.net Criando o Banco de Dados
  • 42. Banco de dados SQL ● A linguagem SQL (Structured Query Language – Linguagem de Consulta Estruturada) é uma linguagem declarativa utilizada por Sistemas Gerenciadores de Bancos de Dados Relacionais como: Oracle, SQL Server, MySQL, PostgreSQL, Firebird, e outros. ● Devido à sua ampla utilização por diversos SGBDs, surgiram vários dialetos para os comandos, que geraram a necessidade de criação de um padrão para a linguagem. Essa tarefa foi realizada pela American National Standards Institute (ANSI) em 1986 e ISO em 1987. Em 1992, foi realização uma revisão da linguagem que recebeu o nome de SQL-92. ●
  • 43. Banco de dados SQL ● Em 1999 e 2003, ocorreram novas revisões. Na revisão de 1999, foram adicionados padrões para expressões regulares, consultas recursivas, triggers e algumas características de orientação a objeto. Na revisão de 2003, foram introduzidas características relacionadas a XML, sequências padronizadas e colunas com valores de auto-numeração. ● Uma dificuldade encontrada na utilização da linguagem SQL por parte dos desenvolvedores ou administradores de bancos de dados é a diferença entre os comandos nos diversos SGBDs, mesmo após a definição dos padrões. Porém, as diferenças não são grandes.
  • 44. Banco de dados SQL ● Os comandos da linguagem SQL são subdivididos em algumas categorias de comandos como: ○ DDL ○ DML ○ DCL
  • 45. Banco de dados SQL ● DDL (Data Definition Language – Linguagem de Definição de Dados). ○ Os comandos DDL são usados para definir a estrutura do banco de dados, organizando em tabelas que são compostas por campos (colunas). Comandos que compõem a DDL: CREATE, ALTER, DROP.
  • 46. Banco de dados SQL ● DML (Data Manipulation Language – Linguagem de Manipulação de Dados). ○ Os comandos DML permitem realizar operações de inserção, alteração, exclusão e seleção sobre os registros (linhas) das tabelas. Comandos que compõem a DML: INSERT, UPDATE, DELETE e SELECT. ○ Alguns autores definem que o comando SELECT faz parte de uma subdivisão chamada DQL (Data Query Language – Linguagem de Consulta de Dados).
  • 47. Banco de dados SQL ● DCL (Data Control Language – Linguagem de Controle de Dados). Os comandos DCL são usados para gerenciar usuários e permissões de acesso ao Sistema Gerenciador de Banco de Dados. Comandos que compõem a DCL: GRANT e REVOKE. ● Alguns autores ainda definem uma subdivisão da linguagem SQL chamada DTL (Data Transaction Languagem – Linguagem de Transação de Dados). Uma transação pode ser compreendida como um conjunto de comandos que é executado de forma atômica, ou seja, ou todos os comandos são executados com sucesso ou nenhum dos resultados obtidos por eles será mantido no banco de dados.
  • 48. Criando o banco de dados
  • 49. Criando o banco de dados
  • 50. Criando o banco de dados CREATE TABLE LIVRO ( idLIVRO INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, EXEMPLAR VARCHAR(20) NULL, ISBN NUMERIC(20) NULL, TITULO VARCHAR(200) NULL, AUTORES VARCHAR(500) NULL, PRIMARY KEY(idLIVRO) ); CREATE TABLE INSCRICAO ( idINSCRICAO INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, NOME VARCHAR(100) NULL, ENDERECO VARCHAR(500) NULL, TELEFONE VARCHAR(15) NULL, DATA_INSCRICAO DATE NULL, PRIMARY KEY(idINSCRICAO) ); CREATE TABLE RESERVA ( idRESERVA INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, LIVRO_idLIVRO INTEGER UNSIGNED NOT NULL, INSCRICAO_idINSCRICAO INTEGER UNSIGNED NOT NULL, DATA_RESERVA DATE NULL, PRIMARY KEY(idRESERVA), INDEX RESERVA_FKIndex1(INSCRICAO_idINSCRICAO), INDEX RESERVA_FKIndex2(LIVRO_idLIVRO), FOREIGN KEY(INSCRICAO_idINSCRICAO) REFERENCES INSCRICAO(idINSCRICAO) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(LIVRO_idLIVRO) REFERENCES LIVRO(idLIVRO) ON DELETE NO ACTION ON UPDATE NO ACTION ); CREATE TABLE REQUISICAO ( idREQUISICAO INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, INSCRICAO_idINSCRICAO INTEGER UNSIGNED NOT NULL, LIVRO_idLIVRO INTEGER UNSIGNED NOT NULL, DATA_REQUISICAO DATE NULL, DATA_ENTREGA DATE NULL, PRIMARY KEY(idREQUISICAO), INDEX REQUISICAO_FKIndex1(INSCRICAO_idINSCRICAO), INDEX REQUISICAO_FKIndex2(LIVRO_idLIVRO), FOREIGN KEY(INSCRICAO_idINSCRICAO) REFERENCES INSCRICAO(idINSCRICAO) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(LIVRO_idLIVRO) REFERENCES LIVRO(idLIVRO) ON DELETE NO ACTION ON UPDATE NO ACTION );
  • 51. Criando o banco de dados - Como funciona? CREATE TABLE <nome_da_tabela> ( <nome_do_campo> <tipo_do_campo> <opções>, <nome_do_campo> <tipo_do_campo> <opções>, <nome_do_campo> <tipo_do_campo> <opções>, ... PRIMARY KEY(<nome_do_campo>) INDEX <nome_do_índice>(<nome_do_campo>), FOREIGN KEY(<nome_do_campo>) REFERENCES <nome_da_tabela_origem>(<nome_do_campo_origem>) ON DELETE <opção_de_referencia> ON UPDATE <opção_de_referencia>, ); ● ● ● ● ● ● ● <nome_da_tabela>: Nome da tabela a ser criada, não pode haver espaços e acentuações. <nome_do_campo>: Nome do campo da tabela, não pode haver espaços e acentuações. <tipo_do_campo>: Tipo do campo. Existem tipos padrões, porém existem tipos de campos específicos de cada SGBD. <opções>: Padronização do campo (valor padrão, auto incremento, limite numérico, etc...). Chave primária: Deve constar o nome do campo (se forma mais de um, separar por vírgula) que compões a chave primária. Caso a tabela não contenha uma chave primária, basta suprimir essa linha. Índices: Deve constar o nome do índice e o nome do campo (se forma mais de um campo, separar por vírgula) que compões o índice. Caso a tabela não contenha uma chave primária, basta suprimir essa linha. A tabela pode conter quantos índices forem necessários. Chave estrangeira: Deve constar o nome do campo que compões a chave, o nome da tabela de origem e o nome do campo da tabela de origem . Caso a tabela não contenha uma chave primária, basta suprimir essa linha. A opção de referência define o comportamento entre os registros da tabela (Se apagar na tabela-pai, apaga na tabela-filho, por exemplo).
  • 52. Criando o banco de dados - Como funciona? CREATE TABLE INSCRICAO ( idINSCRICAO INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, NOME VARCHAR(100) NULL, ENDERECO VARCHAR(500) NULL, TELEFONE VARCHAR(15) NULL, DATA_INSCRICAO DATE NULL, PRIMARY KEY(idINSCRICAO) );
  • 53. Criando o banco de dados - Como funciona? CREATE TABLE LIVRO ( idLIVRO INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, EXEMPLAR VARCHAR(20) NULL, ISBN NUMERIC(20) NULL, TITULO VARCHAR(200) NULL, AUTORES VARCHAR(500) NULL, PRIMARY KEY(idLIVRO) );
  • 54. Criando o banco de dados - Como funciona? CREATE TABLE REQUISICAO ( idREQUISICAO INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, INSCRICAO_idINSCRICAO INTEGER UNSIGNED NOT NULL, LIVRO_idLIVRO INTEGER UNSIGNED NOT NULL, DATA_REQUISICAO DATE NULL, DATA_ENTREGA DATE NULL, PRIMARY KEY(idREQUISICAO), INDEX REQUISICAO_FKIndex1(INSCRICAO_idINSCRICAO), INDEX REQUISICAO_FKIndex2(LIVRO_idLIVRO), FOREIGN KEY(INSCRICAO_idINSCRICAO) REFERENCES INSCRICAO(idINSCRICAO) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(LIVRO_idLIVRO) REFERENCES LIVRO(idLIVRO) ON DELETE NO ACTION ON UPDATE NO ACTION );
  • 55. Criando o banco de dados - Como funciona? CREATE TABLE RESERVA ( idRESERVA INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, LIVRO_idLIVRO INTEGER UNSIGNED NOT NULL, INSCRICAO_idINSCRICAO INTEGER UNSIGNED NOT NULL, DATA_RESERVA DATE NULL, PRIMARY KEY(idRESERVA), INDEX RESERVA_FKIndex1(INSCRICAO_idINSCRICAO), INDEX RESERVA_FKIndex2(LIVRO_idLIVRO), FOREIGN KEY(INSCRICAO_idINSCRICAO) REFERENCES INSCRICAO(idINSCRICAO) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(LIVRO_idLIVRO) REFERENCES LIVRO(idLIVRO) ON DELETE NO ACTION ON UPDATE NO ACTION );
  • 56. Principais comandos DDL CREATE DATABASE Este comando é utilizado para criar um banco de dados. Exemplo: CREATE DATABASE loja; USE Sempre que for necessário manipular as tabelas de um banco de dados no SGBD MySQL, será necessário selecionar o banco de dados que se deseja manipular. Para isso, deve ser utilizado o comando USE. Exemplo: USE loja; CREATE TABLE Cria uma tabela de dados. Sintaxe: CREATE TABLE <nome_da_tabela> (definição dos campos); Exemplo: CREATE TABLE clientes( cpf integer unsigned not null, nome varchar(100) not null, data_nascimento date not null, sexo char(1) default ‘M’, salario decimal(10,2) default 0, profissao varchar(30), primary key(cpf) ); Cláusula DEFAULT A cláusula DEFAULT permite definir um valor padrão para um campo, que será utilizado caso não seja informado nenhum valor para esse campo na inserção de um registro na tabela. Exemplo: sexo char(1) default ‘M’, No exemplo acima, caso o campo “sexo” da tabela não seja preenchido com um valor durante a inserção de um registro, será assumido o valor ‘M’ para o campo. Para campos do tipo NUMÉRICO, o valor DEFAULT é escrito sem aspas. Exemplo: salario decimal(10,2) default 0,
  • 57. Principais comandos DDL CONSTRAINTS (limitações, restrições) ● NOT NULL: define que um campo da tabela é obrigatório (deve receber um valor na inserção de um registro); ● PRIMARY KEY: define que um campo ou conjunto de campos para garantir a identidade de cada registro. Quando um campo é definido como chave primária, seu valor não pode se repetir em registros diferentes. Cada tabela só pode ter uma única chave primária. ○ CHAVE PRIMÁRIA SIMPLES: composta por um único campo. Exemplo: se for definido que em um sistema de hotéis não podem existir dois clientes com o mesmo CPF, portanto este campo deverá ser definido como CHAVE PRIMÁRIA. ○ CHAVE PRIMÁRIA COMPOSTA: formada por dois ou mais campos. Exemplo: se for definido em um sistema de Agências bancárias que não podem existir duas contas com o mesmo número da mesma agência, então esses dois campos formarão uma CHAVE PRIMÁRIA COMPOSTA, pois a combinação deles não pode se repetir. Sintaxe: Criação de uma chave primária simples Criação de uma chave primária composta CREATE TABLE contas( numero integer not null primary key, saldo integer default 0, agencia_numero integer not null ); Ou CREATE TABLE contas( numero integer not null, saldo integer default 0, agencia_numero integer not null, primary key(numero) ); Ou CREATE TABLE contas( numero integer not null, saldo integer default 0, agencia_numero integer not null, constraint pk_conta primary key(numero) ); CREATE TABLE contas( numero integer not null, saldo integer default 0, agencia_numero integer not null, primary key(numero,agencia_numero) ); Ou CREATE TABLE contas( numero integer not null, saldo integer default 0, agencia_numero integer not null, constraint pk_conta primary key (numero, agencia_numero) );
  • 58. Principais comandos DDL CONSTRAINTS ● FOREIGN KEY: Uma chave estrangeira é definida quando se deseja relacionar tabelas do banco de dados. Sintaxe: CREATE TABLE contas( numero integer not null, saldo integer default 0, agencia_numero integer not null, primary key(numero,agencia_numero), foreign key(agencia_numero) references agencias(numero) ); Ou CREATE TABLE contas( numero integer not null, saldo integer default 0, agencia_numero integer not null, primary key(numero,agencia_numero), constraint fk_contaagencia foreign key(agencia_numero) references agencias(numero) );
  • 59. Principais comandos DDL CONSTRAINTS ● UNIQUE: Uma constraint UNIQUE definie que o valor de um campo ou de uma sequência de campos não pode se repetir em registros da mesma tabela. Essa constraint é criada de forma implícita quando é definida uma chave primária para uma tabela. Como só é possível ter uma chave primária por tabela, a utilização de constraints UNIQUE é uma solução quando se deseja restringir valores repetidos em outros campos. Exemplo: CREATE TABLE clientes( cpf integer not null, nome varchar(100) not null, data_nascimento date not null, sexo char(1) default ‘M’, salario decimal(10,2) default 0, profissao varchar(30), rg integer not null, estado char(2) not null, primary key(cpf), constraint un_rgestado unique(rg,estado) );
  • 60. Principais comandos DDL DROP TABLE O comando DROP TABLE é usado para apagar uma tabela do Banco de dados. Sintaxe: DROP TABLE <nome_da_tabela>; ALTER TABLE Para não se apagar uma tabela e recriá-la, é possível fazer alterações em sua estrutura por meio do comando ALTER TABLE. Isso é importante pois a execução do comando DROP TABLE apaga (obviamente) todos os registros da tabela, já a execução do comando ALTER TABLE não exclui nenhum registro. Adicionar um campo Sintaxe: ALTER TABLE <nome_da_tabela> ADD <nome_do_campo> <tipo_de_dado> <atributos> Exemplo: ALTER TABLE clientes ADD endereco varchar(90) not null; Alterar o tipo de dado de um campo Sintaxe: ALTER TABLE <nome_da_tabela> MODIFY <nome_do_campo> <tipo_de_dado> Exemplo: ALTER TABLE clientes MODIFY endereco varchar(200); Renomear um campo e modificar o tipo Sintaxe: ALTER TABLE <nome_da_tabela> CHANGE COLUMN <nome_do_campo novo_nome> <tipo>; Exemplo para mudar apenas o nome (o tipo do campo é mantido): ALTER TABLE clientes CHANGE COLUMN data_nascimento datanasc date; Exemplo para mudar o nome e o tipo do campo: ALTER TABLE clientes CHANGE COLUMN data_nascimento datahoranasc datetime; Renomear uma tabela Sintaxe: ALTER TABLE <nome_da_tabela> RENAME TO <novo_nome_da_tabela> Exemplo: ALTER TABLE clientes RENAME TO pessoas_fisicas Apagar um campo Sintaxe: ALTER TABLE <nome_da_tabela> DROP COLUMN <nome_do_campo> Exemplo: ALTER TABLE clientes DROP COLUMN endereco;
  • 61. Principais comandos DDL ALTER TABLE Adicionar uma PRIMARY KEY Sintaxe: ALTER TABLE <nome_da_tabela> ADD CONSTRAINT <nome_da_constraint> PRIMARY KEY(campo1[,campo2,campo3,..., campoN]) Exemplo: ALTER TABLE clientes ADD CONSTRAINT pk_cpf PRIMARY KEY(cpf) Apagar uma PRIMARY KEY Sintaxe: ALTER TABLE <nome_da_tabela> DROP PRIMARY KEY Ou ALTER TABLE <nome_da_tabela> DROP CONSTRAINT <nome_da_constraint_da_primary_key> Exemplo: ALTER TABLE clientes DROP PRIMARY KEY; Ou ALTER TABLE clientes DROP CONSTRAINT pk_cpf;
  • 62. Principais comandos DDL ALTER TABLE Adicionar uma FOREIGN KEY Sintaxe: ALTER TABLE <nome_da_tabela> ADD CONSTRAINT <nome_da_constraint> FOREIGN KEY(campo1[,campo2, campo3,...,campoN]) REFERENCES <nome_da_tabela>(campo1[,campo2,campo3,...,campoN]); Exemplo: ALTER TABLE contas ADD CONSTRAINT fk_contaagencia FOREIGN KEY(agencia_numero) REFERENCES agencias(numero); Adicionar uma constraint UNIQUE Sintaxe: ALTER TABLE <nome_da_tabela> ADD CONSTRAINT <nome_da_constraint> UNIQUE(campo1[,campo2, campo3,...,campoN]) Exemplo: ALTER TABLE clientes ADD CONSTRAINT un_rgestado UNIQUE(rg,estado) Apagar uma CONSTRAINT qualquer Sintaxe: ALTER TABLE <nome_da_tabela> DROP CONSTRAINT <nome_da_constraint> Exemplo: ALTER TABLE contas DROP CONSTRAINT fk_contaagencia Comando SHOW TABLES Para visualizar todas as tabelas em um banco de dados, utilize o comando SHOW TABLES. Exemplo: SHOW TABLES; Comando DESC Para visualizar a estrutura de uma tabela, utilize o comando DESC (ou DESCRIBE). Exemplo: DESC clientes;
  • 63. Administração de Banco de dados Image: FreeDigitalPhotos.net Manipulando as informações
  • 64. Banco de dados SQL ● A subdivisão da linguagem SQL denominada DML (Data Manipulation Language) é composta pelos seguintes comandos: ○ INSERT: Inclui registro na tabela. ○ UPDATE: Atualiza registros já existentes na tabela. ○ DELETE: Exclui registros da tabela. ○ SELECT: Recupera registros armazenados na tabela (uma ou mais, simultâneamente).
  • 65. Banco de dados SQL ● INSERT Sintaxe: INSERT INTO <nome_da_tabela> (<campo1,campo2, campo3,...,campoN>) VALUES (<valor1, valor2, valor3, ..., valorN>); ● Exemplo: INSERT INTO cidades (cep, nome, estado) VALUES (02930000,’São Paulo’,’SP’); ● Observações: 1) Valores do tipo TEXTO devem ser envolvidos por aspas simples ( ‘ ); 2) Valores do tipo numéricos (INTEGER, NUMERIC, DECIMAL, etc..) não são envolvidos por aspas simples e devem utilizar o ponto decimal para separação das casas decimais no lugar na vírgula. Ex.: 3.25
  • 66. Banco de dados SQL ● Outra sintaxe do comando INSERT permite ocultar os campos e escrever somente os valores que serão inseridos. ● Exemplo: INSERT INTO Paulo’,’SP’); cidades VALUES (02930000,’São ● É possível usar o INSERT para múltiplos registros. ● Exemplo: INSERT INTO cidades; ● cidades_backup SELECT * FROM Observações: Para a execução do comando acima é necessário que os tipos de dados dos campos da tabela cidades_backup estejam na mesma ordem dos tipos de dados dos campos da tabela cidades.
  • 67. Banco de dados SQL ● UPDATE Sintaxe: UPDATE <nome_da_tabela> SET <campo1 = valor1>, <campo2 = valor2>, <campo3 = valor3>, ..., <campoN = valorN> [ WHERE condições] ● Exemplo: UPDATE cidades SET nome = ‘Sampa’; ● O comando UPDATE acima altera o campo nome de todas as cidades para ‘Sampa’.
  • 68. Banco de dados SQL ● Para restringir a alteração dos registros a um subconjunto deles, é utilizada a cláusula WHERE, que permite processar uma ou mais condições. ● Exemplo: UPDATE cidades SET nome = ‘Sampa’, estado = ‘SP’ WHERE cep = 02930000;
  • 69. Banco de dados SQL ● DELETE Sintaxe: DELETE FROM <nome_da_tabela> [WHERE condições]; ● Exemplo: DELETE FROM cidades; ● O comando acima exclui todos os registros da tabela cidades. Para excluir apenas um subconjunto dos registros, é necessário utilizar a cláusula WHERE. ● Exemplo: DELETE FROM cidades WHERE cep = 02930000;
  • 70. Banco de dados SQL ● SELECT Sintaxe: SELECT <campo1>, <campo2>, ..., <campoN> FROM <tabela1>, <tabela2>, ..., <tabelaN> [ JOIN <tabela> ON condições] [ WHERE condições ] [ORDER BY <campos>]; ● Exemplos: Exibir todos os campos de uma tabela SELECT * FROM cidades; Exibir um campo de uma tabela SELECT nome FROM cidades; Exibir mais de um campo de uma tabela SELECT nome, cep FROM cidades; Apelidando campos SELECT nome as nome_cidade, cep as cep_cidade FROM cidades; Apelidando tabelas SELECT nome, cep FROM cidades as cid; Selecionando campos a partir do nome da tabela SELECT cidades.nome, cidades.cep FROM cidades; Selecionando campos a partir do apelido da tabela SELECT cid.nome, cid.cep FROM cidades as cid;
  • 71. Banco de dados SQL ● Cláusula WHERE ● Igual: = UPDATE clientes SET endereco = ‘Rua dos Bobos 0’ WHERE cpf = 123456789; ● Diferente: <> UPDATE clientes SET endereco = ‘Rua dos Bobos 0’, bairro = ‘Centro’ WHERE cpf <> 123456789; ● Maior: > SELECT * FROM funcionarios WHERE salario > 1000.50; ● Menor: < SELECT * FROM '1979/03/29'; clientes WHERE data_nascimento ● Maior ou igual: < SELECT * FROM funcionarios WHERE data_adm >= '2006/01/01'; ● Menor ou igual: < SELECT * FROM funcionarios WHERE data_adm <= '2006/01/01'; ● IN: Comparação de igualdade com múltiplos valores <
  • 72. Banco de dados SQL ● Cláusula WHERE ● LIKE: Comparação de partes do texto SELECT * FROM funcionarios WHERE nome LIKE ‘a%’; Seleciona todos os funcionários cujos nomes iniciam pela letra “a”. SELECT * FROM funcionarios WHERE nome LIKE ‘%o’; Seleciona todos os funcionários cujos nomes terminam pela letra “o”. SELECT * FROM funcionarios WHERE nome LIKE ‘%a%’; Seleciona todos os funcionários cujos nomes possuem a letra “a” em qualquer posição (início, meio ou fim). SELECT * FROM funcionarios WHERE nome LIKE ‘_a%’; Seleciona todos os funcionários cujos nomes iniciam por qualquer letra e possuem a letra “a” no segundo caractere. SELECT * FROM funcionarios WHERE nome LIKE ‘__u%’; Seleciona todos os funcionários cujos nomes possuem a letra “u” na terceira posição. SELECT * FROM funcionarios WHERE nome LIKE ‘%o_’; Seleciona todos os funcionários cujos nomes possuem a letra “o” na penúltima posição.
  • 73. Banco de dados SQL ● Cláusula WHERE ● Soma: + UPDATE funcionarios SET salario = salario + 10; Acrescenta R$ 10,00 ao salário dos funcionários. ● Subtração: UPDATE funcionarios SET salario = salario – 5 WHERE salario > 1000; Subtrai R$ 5,00 do salário dos funcionários que ganham mais de R$ 1000,00. ● Multiplicação: * UPDATE funcionarios SET salario = salario*1.1; Aumenta o salário dos funcionários em 10%. ● Divisão: / UPDATE funcionarios (10/100); SET salario = salario + salario* Aumenta o salário dos funcionários em 10%. ● IS: Operador especial para comparação de igualdade. Este operador é usado
  • 74. Banco de dados SQL ● Cláusula WHERE ● AND SELECT * FROM clientes WHERE nome LIKE ‘a%’ AND data_nascimento <= ‘1980/01/01’; Seleciona todos os clientes cujos nomes iniciam pela letra “a” e cujas datas de nascimento são anteriores a 01/01/1980. ● OR SELECT * FROM cidades WHERE UF='SP' OR UF ='MG'; Seleciona as cidades dos estados de SP ou Minas Gerais. ● Multiplicação: * UPDATE funcionarios SET salario = salario*1.1; Aumenta o salário dos funcionários em 10%. ● NOT SELECT nome FROM funcionarios WHERE NOT(salario < 1000); Seleciona o nome dos funcionários que não possuem salário menor que 1000.
  • 75. Banco de dados SQL ● Junção de tabelas ● Usando a cláusula WHERE SELECT * FROM clientes, cidades WHERE clientes.cep = cidades.cep; Para a junção de tabelas, sempre devem ser escritas as condições entre os campos que estão relacionados nas tabelas. Geralmente, essas condições envolvem os campos que são chaves estrangeiras de uma tabela e os que são chaves primárias da outra, porém nada impede de serem feitas condições entre campos que não são chaves. ● Usando a cláusula JOIN SELECT cidades.nome, clientes.nome FROM clientes INNER JOIN cidades ON cidades.cep = clientes.cep; A cláusula INNER JOIN define que serão selecionados somente os registros de uma tabela que possuem relação com os registros da outra tabela. No exemplo acima, serão selecionados todos os clientes cujos CEPs dos endereços existam na tabela cidades.
  • 76. Banco de dados SQL ● Junção de tabelas ● Usando a cláusula LEFT JOIN SELECT cidades.nome, clientes.nome FROM clientes LEFT JOIN cidades ON cidades.cep = clientes.cep; Para interpretar o LEFT JOIN, faz-se a pergunta: qual tabela está à esquerda do JOIN? No comando acima, a tabela que está à esquerda da cláusula JOIN é a tabela clientes. Portanto, serão selecionados todos os registros da tabela clientes estando ou não relacionados com a tabela cidades pelo campo cep. ● Usando a cláusula RIGHT JOIN SELECT cidades.nome, clientes.nome FROM clientes RIGHT JOIN cidades ON cidades.cep = clientes.cep; A cláusula RIGHT JOIN possui o mesmo funcionamento da cláusula LEFT JOIN, com a exceção de que seleciona todos os registros da tabela que está à direita do JOIN estando ou não relacionados com os registros da tabela que está à esquerda do JOIN. Para interpretar o RIGHT JOIN, faz-se a pergunta: qual tabela está à direita do JOIN? A tabela cidades. Portanto, serão selecionados todos os registros da tabela cidades que estão ou não relacionados com os registros da tabela clientes.
  • 77. Banco de dados SQL ● Cláusula ORDER BY Sintaxe: SELECT ... ORDER BY <campo1>, <campo2>, <campoN> ... [desc|asc] ● Exemplos: Seleciona as cidades cujos nomes iniciam pela letra “a” e ordena a lista primeiramente pelo CEP e, em seguida, pelo nome. SELECT * FROM cidades WHERE nome LIKE ‘a%’ ORDER BY cep, nome; Seleciona todos os clientes ordenando decrescentemente pelo nome e, se houver repetição de valores, obedece à ordem crescente da data de nascimento. SELECT * FROM clientes ORDER BY nome DESC, data_nascimento; Seleciona todos os clientes ordenando crescentemente pelo nome e, se houver repetição de valores, obedece à ordem decrescente da data de nascimento. SELECT * FROM clientes ORDER BY nome, data_nascimento DESC;