banco de dados. revisão vimos na aula passada como criar diagramas e modelos utilizando a...
TRANSCRIPT
![Page 1: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/1.jpg)
Banco de dados
![Page 2: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/2.jpg)
Revisão• Vimos na aula passada como criar diagramas e
modelos utilizando a ferramenta BrModelo.
Cliente deposita Conta
DataCódigo
Saldo
(1,1) (1,1)
ValorCPF
Nome
![Page 3: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/3.jpg)
SQL• SQL é a linguagem padrão para se lidar com bancos de dados
relacionais, e é aceita por quase todos os produtos existentes no mercado.
![Page 4: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/4.jpg)
SQL - Domínio• char(n): Cadeia de caracteres de tamanho fixo.• varchar(n): Cadeia de caracteres de tamanho
variável com comprimento máximo especificado.• int: Inteiro• smallint: Inteiro pequeno (ocupa metade do
espaço do int).• numeric(p, d): Número de ponto fixo, com
definição da precisão e número de casas decimais.
![Page 5: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/5.jpg)
SQL - Domínio• Real: Números de ponto flutuante.• float(n): Número de ponto flutuante com
precisão de no mínimo n dígitos.• Date: Datas, contendo ano, mês e dia.• Time: Hora do dia, em horas, minutos e segundos.
![Page 6: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/6.jpg)
SQL – Criar BD• Comando utilizado para criar um determinado
banco de dados no SGBD:• Sintaxe:
create database nome_do_db;• Exemplo:
create database teste;
Criem um banco de dados com seu nome!
![Page 7: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/7.jpg)
SQL – Remover o BD• Comando utilizado para remover determinado BD
existente no SGBD:• Sintaxe:
drop database nome_do_banco;
Remova o BD com seu nome!
Liste os bancos existentes!
![Page 8: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/8.jpg)
SQL – Remover o BD• Crie novamente o banco de dados com seu
nome!• Liste os bancos existentes!
![Page 9: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/9.jpg)
SQL – Utilizar BD• Como em determinado SGBD podem existir
diversos bancos, de diferentes características, com diferentes relações, etc.• É necessário selecionar o banco de dados que se
deseja trabalhar, ou seja, é necessário se “conectar” ao banco desejado.
![Page 10: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/10.jpg)
SQL – Utilizar BD• Comando utilizado para se “conectar” a um
determinado banco de dados existente no SGBD:• Sintaxe:
use nome_do_db;• Exemplo:
use teste;
Se conecte ao banco criado com seu nome!
![Page 11: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/11.jpg)
SQL – Listar as tabelas do BD• Comando utilizado para listar as tabelas
existentes em um determinado banco de dados do SGBD:• Sintaxe quando está conectado a um BD:
show tables;• Sintaxe quando não está conectado a um BD:
show tables from nome_do_BD;
![Page 12: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/12.jpg)
SQL – Criação de tabela• Uma relação é definida usando comando CREATE TABLE.• Sintaxe:
CREATE TABLE <relação> (<atributo> <domínio><regra do atributo>,..., <atributo> <domínio><regra do atributo>, <regras da tabela>);
CREATE TABLE CLIENTE (nome varchar(255), rg int,
uf char(2),nascimento date, tefefone char(8),sex varchar(255)
);
Crie esta tabela no banco de dados com seu nome!
![Page 13: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/13.jpg)
SQL – Descrição de tabela• Sintaxe:
describe nome_tabela;• Exemplo:
describe cliente;
![Page 14: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/14.jpg)
SQL – Alteração de tabela• Sintaxe:
ALTER TABLE <relação> ADD <atributo> <definição>;ALTER TABLE <relação> CHANGE <atributo_antigo> <novo_atributo> <definição>ALTER TABLE <relação> DROP <atributo>;
• Exemplo: ALTER TABLE cliente ADD codigo int FIRST;ALTER TABLE cliente ADD cpf int;ALTER TABLE cliente DROP rg;ALTER TABLE cliente DROP uf;ALTER TABLE cliente CHANGE sex sexo char(1);
Realize as modificações abaixo e veja como a tabela ficou!
![Page 15: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/15.jpg)
SQL – Remoção de tabela• Uma relação é apagada através do comando
DROP TABLE• Sintaxe:
DROP TABLE <relação>;• Exemplo:
DROP TABLE CLIENTE;
![Page 16: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/16.jpg)
SQL – Regras para criação de tabelas• Podemos colocar restrições de integridade nas
relações criadas:• Assegurar que alterações feitas no banco de dados não
resultem em perda da consistência dos dados.• Utilizaremos as seguintes regras de integridade:• Restrição de nulo;• Restrição de integridade de entidade;• Restrições de chave;• Restrição de integridade referencial.
![Page 17: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/17.jpg)
SQL - Regras• Restrição de nulo• Pode ser especificado se valor nulo pode ou não ser
permitido.• No SQL, devemos colocar NOT NULL após o tipo do
atributo.• Exemplo:
CREATE TABLE CLIENTE (codigo int NOT NULL, ....
);
![Page 18: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/18.jpg)
SQL - Regras• Restrição de integridade de entidade• Nenhum valor de chave primária pode ser nulo.
• Restrições de chave• Por definição, todos os elementos de um conjunto são
distintos;• Conseqüentemente, todas as tuplas em uma relação
devem também serem distintas;• Isto significa que não deve existir duas tuplas com a
mesma combinação de valores para todos os atributos.
![Page 19: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/19.jpg)
SQL - Regras• Quando definimos uma chave primária já
garantimos que só haverá tuplas distintas na relação:• Logo garantimos a restrição de chave ao definirmos
uma chave primária.• No SQL, definimos chave primária da seguinte
forma:codigo int NOT NULL PRIMARY KEY
É definido desta forma apenas na criação da tabela!
![Page 20: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/20.jpg)
SQL - RegrasCREATE TABLE CLIENTE (
codigo int NOT NULL PRIMARY KEY,nome varchar(255), cpf int,
nascimento date, tefefone char(8),sexo char(1)
);
![Page 21: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/21.jpg)
SQL - Regras• Para chave primária normalmente utilizamos um
parâmetro de auto incremento.
CREATE TABLE alunos (id_alu INT NOT NULL AUTO_INCREMENT,nome_alu VARCHAR( 100 ) NOT NULL,idade_alu INT NOT NULL,data_alu DATE NOT NULL,sexo CHAR(1) NOT NULL,PRIMARY KEY ( id_alu )
)
![Page 22: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/22.jpg)
SQL - Regras• Para colocar um atributo como chave primária de
uma tabela já existente utiliza-se o comando Alter table.
• Sintaxe:ALTER TABLE tabela ADD PRIMARY KEY(atributo);
Insira uma chave primária na tabela cliente
![Page 23: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/23.jpg)
SQL - Regras• Para remover a chave primária de uma relação
utiliza-se o comando Alter table.• Sintaxe:
ALTER TABLE tabela DROP PRIMARY KEY;
Remova a chave primária na tabela cliente
Insira novamente a chave primária na tabela cliente
![Page 24: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/24.jpg)
SQL - Regras• Chave candidata• UNIQUE
cpf int NOT NULL UNIQUEouUNIQUE (cpf)• Os atributos podem ser nulos.
É definido desta forma apenas na criação da tabela!
![Page 25: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/25.jpg)
SQL - RegrasCREATE TABLE CLIENTE (
codigo int NOT NULL PRIMARY KEY,nome varchar(255), cpf int NOT NULL UNIQUE,
nascimento date, tefefone char(8),sexo char(1)
);
![Page 26: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/26.jpg)
SQL - RegrasCREATE TABLE CLIENTE (
codigo int NOT NULL PRIMARY KEY,nome varchar(255), cpf int NOT NULL,
nascimento date, tefefone char(8),sexo char(1),UNIQUE (cpf)
);
![Page 27: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/27.jpg)
SQL - Exemplo
CREATE TABLE CLIENTE (codigo int NOT NULL PRIMARY KEY, nome varchar(30) NOT NULL, cpf int UNIQUE,nascimento date default ’0000-00-00’, tefefone char(8) default null,sexo char(1)
);
![Page 28: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/28.jpg)
SQL - Regras• Restrição de integridade referencial:• é especificada entre duas relações e é usada para
manter a consistência entre tuplas das duas relações;• Informalmente, a restrição de integridade referencial
diz que uma tupla da relação (R1), que refere-se a outra relação (R2), deve referir-se a uma tupla existente em R2 (chave estrangeira).
![Page 29: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/29.jpg)
SQL - Regras• Restrição de integridade referencial• No SQL, definimos chave estrangeira da seguinte
forma:• Sintaxe:FOREIGN KEY (atributo) REFERENCES
tabela(atributo)
É definido desta forma apenas na criação da tabela!
![Page 30: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/30.jpg)
SQL - RegrasCREATE TABLE COMPRA(
codigo int NOT NULL PRIMARY KEY, cod_cliente int, data date, FOREIGN KEY (cod_cliente) REFERENCES cliente(codigo)
);
Crie esta relação!Visualize a descrição desta relação!
![Page 31: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/31.jpg)
SQL - Regras• ON DELETE• RESTRICT:• Exclusão de T1 falha se existem linhas em T2 combinando
(padrão do SQL).
• CASCADE:• Exclusão de T1 exclusão de todas as linhas de T2 que
combinam.
• SET NULL:• Exclusão de T1 colocar nulo nos atributos da chave
estrangeira de cada tupla de T2 que combina.
• SET DEFAULT:• Exclusão de T1 colocar valores default nos atributos da
chave estrangeira de cada tupla de T2 que combina.
![Page 32: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/32.jpg)
SQL - Regras• ON UPDATE• RESTRICT:• Alteração de T1 falha se existem linhas em T2 combinando
(padrão do SQL).
• CASCADE:• Alteração de T1 linhas que combinam em T2 também serão
atualizadas.
• SET NULL:• Alteração de T1 colocar nulo nos atributos da chave
estrangeira de cada tupla de T2 que combina.
• SET DEFAULT:• Alteração de T1 colocar valores default nos atributos da
chave estrangeira de cada tupla de T2 que combina.
![Page 33: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/33.jpg)
SQL - Regras
CREATE TABLE PEDIDO(cod_pedido int NOT NULL PRIMARY KEY,cod_cliente int,FOREIGN KEY (cod_cliente) REFERENCES cliente (codigo)ON DELETE SET NULLON UPDATE CASCADE
);
Remover a tabela compra!Criar a tabela pedido!
![Page 34: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/34.jpg)
SQL - Regras• Para alterar as restrições impostas a uma tabela devemos
fazer o seguinte comando:• Sintaxe:
ALTER TABLE <tabela> ADD (<regra>);• Exemplo:
ALTER TABLE cliente ADD PRIMARY KEY(cpf);
![Page 35: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/35.jpg)
SQL - Regras• Caso já sido definido o mesmo tipo de restrições que
queremos inserir na tabela, então devemos remover primeiro essas restrições• Sintaxe:
ALTER TABLE <tabela> DROP <regra>;• Exemplo:
ALTER TABLE cliente DROP PRIMARY KEY;
![Page 36: Banco de dados. Revisão Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. Cliente deposita Conta Data Código Saldo](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc15e497959413d8e61f8/html5/thumbnails/36.jpg)
SQL - Regras• Para alterar as restrições impostas a uma coluna
devemos fazer o seguinte comando:• Sintaxe:
Alter table <tabela> MODIFY <nome_da_coluna> <tipo> <regra>• Exemplo:
ALTER TABLE cliente MODIFY cpf int NOT NULL UNIQUE;