1 / 36

Banco de dados

Banco de dados. deposita. (1,1). (1,1). Cliente. Conta. CPF. Saldo. Valor. Data. Nome. Código. Revisão. Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo. SQL.

toril
Download Presentation

Banco de dados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Banco de dados

  2. deposita (1,1) (1,1) Cliente Conta CPF Saldo Valor Data Nome Código Revisão • Vimos na aula passada como criar diagramas e modelos utilizando a ferramenta BrModelo.

  3. SQL • SQL é a linguagem padrão para se lidar com bancos de dados relacionais, e é aceita por quase todos os produtos existentes no mercado.

  4. 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.

  5. 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.

  6. 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!

  7. 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!

  8. SQL – Remover o BD • Crie novamente o banco de dados com seu nome! • Liste os bancos existentes!

  9. 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.

  10. 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!

  11. 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 tablesfromnome_do_BD;

  12. 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), rgint, ufchar(2), nascimento date, tefefonechar(8), sexvarchar(255)); Crie esta tabela no banco de dados com seu nome!

  13. SQL – Descrição de tabela • Sintaxe: describenome_tabela; • Exemplo: describe cliente;

  14. 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 codigoint FIRST;ALTER TABLE cliente ADD cpfint;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!

  15. SQL – Remoção de tabela • Uma relação é apagada através do comando DROP TABLE • Sintaxe: DROP TABLE <relação>; • Exemplo: DROP TABLE CLIENTE;

  16. 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.

  17. 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 (codigoint NOT NULL, ....);

  18. 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.

  19. 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: codigoint NOT NULL PRIMARY KEY É definido desta forma apenas na criação da tabela!

  20. SQL - Regras CREATE TABLE CLIENTE ( codigoint NOT NULL PRIMARY KEY, nome varchar(255), cpfint, nascimento date, tefefonechar(8), sexo char(1));

  21. 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 ) )

  22. SQL - Regras • Para colocar um atributo como chave primária de uma tabela já existente utiliza-se o comando Altertable. • Sintaxe: ALTER TABLE tabela ADD PRIMARY KEY(atributo); Insira uma chave primária na tabela cliente

  23. SQL - Regras • Para remover a chave primária de uma relação utiliza-se o comando Altertable. • Sintaxe: ALTER TABLE tabela DROP PRIMARY KEY; Remova a chave primária na tabela cliente Insira novamente a chave primária na tabela cliente

  24. SQL - Regras • Chave candidata • UNIQUE cpfint NOT NULL UNIQUE ou UNIQUE (cpf) • Os atributos podem ser nulos. É definido desta forma apenas na criação da tabela!

  25. SQL - Regras CREATE TABLE CLIENTE ( codigoint NOT NULL PRIMARY KEY, nome varchar(255), cpfint NOT NULL UNIQUE, nascimento date, tefefonechar(8), sexo char(1));

  26. SQL - Regras CREATE TABLE CLIENTE ( codigoint NOT NULL PRIMARY KEY, nome varchar(255), cpfint NOT NULL, nascimento date, tefefonechar(8), sexo char(1), UNIQUE (cpf) );

  27. SQL - Exemplo CREATE TABLE CLIENTE (codigoint NOT NULL PRIMARY KEY, nome varchar(30) NOT NULL, cpfint UNIQUE, nascimento date default ’0000-00-00’, tefefonechar(8) default null, sexo char(1));

  28. 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).

  29. 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!

  30. SQL - Regras CREATE TABLE COMPRA( codigoint NOT NULL PRIMARY KEY, cod_clienteint, data date, FOREIGN KEY (cod_cliente) REFERENCES cliente(codigo) ); Crie esta relação! Visualize a descrição desta relação!

  31. 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.

  32. 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.

  33. SQL - Regras Remover a tabela compra! CREATE TABLE PEDIDO(cod_pedidoint NOT NULL PRIMARY KEY,cod_clienteint,FOREIGN KEY (cod_cliente) REFERENCES cliente (codigo) ON DELETE SET NULL ON UPDATE CASCADE ); Criar a tabela pedido!

  34. 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);

  35. 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;

  36. SQL - Regras • Para alterar as restrições impostas a uma coluna devemos fazer o seguinte comando: • Sintaxe: Altertable <tabela> MODIFY <nome_da_coluna> <tipo> <regra> • Exemplo: ALTER TABLE cliente MODIFY cpfint NOT NULL UNIQUE;

More Related