Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 BANCO DE DADOS II Prof. Esp. Carlos Danilo luz carlos.luz@unicesumar.edu.br 2 • Schema • Tipo de Dados • Criação de Tabela • Chave Primária • Describe Plano de Estudo 3 Um schema e representado por uma coleção de vários objetos de um ou mais usuários de Banco de Dados. CREATE SCHEMA UniCesumar; SHOW SCHEMAS; SCHEMA 4 TIPOS DE DADOS Tipo de Dados 5 • TINYINT — número inteiro muito pequeno (tiny); • SMALLINT — número inteiro pequeno; • MEDIUMINT — número inteiro de tamanho médio; • INT ou INTEGER — número inteiro de tamanho comum; • BIGINT — número inteiro de tamanho grande; • DECIMAL — número decimal, de ponto fixo; • FLOAT — número de ponto flutuante de precisão simples; Tipo de Dados - Numéricos 6 • CHAR — uma cadeia de caracteres, de tamanho fixo e não-binária; • VARCHAR — uma string de tamanho variável e não-binária; • BINARY — uma string binária de tamanho fixo; • VARBINARY — uma string binária de tamanho variável; • TINYTEXT — uma string não-binária e de tamanho bem reduzido; • TEXT — uma string não-binária e pequena; • MEDIUMTEXT — uma string de tamanho comum e não-binária; • LONGTEXT — uma string não-binária de tamanho grande; • ENUM — é uma string, com uma lista predefinida na criação da tabela; Tipo de Dados - Strings (TEXTO) 7 • DATE — o valor referente a uma data no formato YYYY-MM-DD; • TIME — um valor horário no formato hh:mm:ss; • DATETIME — elemento tem o formato YYYY-MM-DD hh:mm:ss; • YEAR — armazena um ano no formato YYYY ou YY; Tipo de Dados – Data e Hora 8 CRIAÇÃO DE TABELAS Criação de Tabelas 9 Criação de Tabelas Os comandos para a criação e alteração de tabelas fazem parte da Data Definition Language (DDL). 10 CREATE TABLE endereco ( id_endereco INT NOT NULL, cep INT(8) NOT NULL, logradouro VARCHAR(200) NULL, numero VARCHAR(20) NULL, complemento VARCHAR(200) NULL ); Criação de Tabelas 11 CREATE TABLE pessoa ( id_pessoa INT NOT NULL, nome VARCHAR(200) NOT NULL, sobrenome VARCHAR(200) NOT NULL, data_nascimento DATE NULL ); Criação de Tabelas 12 CREATE TABLE telefone ( id_telefone INT NOT NULL, numero BIGINT(12) NOT NULL ); Criação de Tabelas 13 CREATE TABLE pedido ( id_pedido INT NOT NULL, desc_produto VARCHAR(50) NOT NULL, valor DECIMAL(5,2) NULL, qtde INT(9) NULL, total DECIMAL(10,2) NULL ); Criação de Tabelas 14 A empresa TOP UNIFORMES deseja um sistema que gerencie as vendas da empresa, cada venda tem que ter identificação do cliente que efetuou a compra, a mesma também precisa ter o controle de produtos que tem em estoque para venda. Cada venda é efetuada através de um vendedor. Entidade VENDAS CLIENTE PRODUTOS VENDEDOR 15 Atributo VENDAS PRODUTOS ID ID_CLIENTE ID_VENDEDOR QTD_VENDA VALOR_TOTAL ID_PRODUTO ID QTD_ESTOQUE NOME CLIENTE ID CPF NOME TELEFONE RG VENDEDOR ID COMISSAO NOME VENDA 16 Criação de Tabelas VENDAS ID ID_CLIENTE ID_VENDEDOR QTD_VENDA VALOR_TOTAL ID_PRODUTO CREATE TABLE vendas ( id INT NOT NULL, id_cliente INT NOT NULL, id_vendedor INT NOT NULL, id_produto INT NOT NULL, qtd_venda INT NOT NULL, valor_total DECIMAL(10,2) NOT NULL ); 17 Criação de Tabelas PRODUTOS ID QTD_ESTOQUE NOME CREATE TABLE produtos ( id INT NOT NULL, nome VARCHAR(200) NOT NULL, qtd_estoque INT NOT NULL ); 18 Criação de Tabelas CREATE TABLE vendedor ( id INT NOT NULL, nome VARCHAR(200) NOT NULL, comissao FLOAT NOT NULL ); VENDEDOR ID COMISSAO NOME 19 Criação de Tabelas CREATE TABLE cliente ( id INT NOT NULL, nome VARCHAR(200) NOT NULL, cpf VARCHAR(50) NOT NULL, rg INT NOT NULL, telephone VARCHAR(50) NOT NULL ); ID CPF NOME TELEFONE RG CLIENTE 20 CHAVE PRIMÁRIA Chave Primária 21 Chave Primária A função da chave primaria em uma tabela no Banco de Dados e a de que nunca haverá a repetição de um mesmo valor para esse campo. 22 Chave Primária ALTER TABLE tabela ADD PRIMARY KEY (campo); ALTER TABLE pessoa ADD PRIMARY KEY (id_pessoa); ALTER TABLE endereco ADD PRIMARY KEY (id_endereco); ALTER TABLE telefone ADD PRIMARY KEY (id_telefone); ALTER TABLE pedido ADD PRIMARY KEY (id_pedido); 23 Chave Primária VENDAS PRODUTOS ID ID_CLIENTE ID_VENDEDOR QTD_VENDA VALOR_TOTAL ID_PRODUTO ID QTD_ESTOQUE NOME CLIENTE ID CPF NOME TELEFONE RG VENDEDOR ID COMISSAO NOME VENDA 24 Chave Primária ALTER TABLE tabela ADD PRIMARY KEY (campo); ALTER TABLE vendas ADD PRIMARY KEY (id); ALTER TABLE produtos ADD PRIMARY KEY (id); ALTER TABLE vendedor ADD PRIMARY KEY (id); ALTER TABLE cliente ADD PRIMARY KEY (id); ALTER TABLE cliente ADD UNIQUE (cpf); ALTER TABLE cliente ADD UNIQUE (rg); 25 Foreign Key ( Chave Estrangeira ) ALTER TABLE endereco ADD COLUMN id_pessoa INT NOT NULL; ALTER TABLE telefone ADD COLUMN id_pessoa INT NOT NULL; ALTER TABLE pedido ADD COLUMN id_pessoa INT NOT NULL; 26 Foreign Key ( Chave Estrangeira ) ALTER TABLE endereco ADD CONSTRAINT pessoa_fk_endereco FOREIGN KEY (id_pessoa) REFERENCES pessoa (id_pessoa); ALTER TABLE telefone ADD CONSTRAINT pessoa_fk_telefone FOREIGN KEY (id_pessoa) REFERENCES pessoa (id_pessoa); ALTER TABLE telefone ADD CONSTRAINT pessoa_fk_telefone FOREIGN KEY (id_pessoa) REFERENCES pessoa (id_pessoa) ON DELETE CASCADE; 27 Chave Primária VENDAS PRODUTOS ID ID_CLIENTE ID_VENDEDOR QTD_VENDA VALOR_TOTAL ID_PRODUTO ID QTD_ESTOQUE NOME CLIENTE ID CPF NOME TELEFONE RG VENDEDOR ID COMISSAO NOME VENDA 28 Foreign Key ( Chave Estrangeira ) ALTER TABLE vendas ADD CONSTRAINT produto_fk_vendas FOREIGN KEY (id_produto) REFERENCES produto (id); ALTER TABLE vendas ADD CONSTRAINT cliente_fk_vendas FOREIGN KEY (id_cliente) REFERENCES cliente (id); ALTER TABLE vendas ADD CONSTRAINT vendedor_fk_vendas FOREIGN KEY (id_vendedor) REFERENCES vendedor (id); 29 DESCRIBE E SHOW Describe e Show 30 Describe e Show A função DESCRIBE tem como objetivo mostra a estrutura completa de uma tabela. A função SHOW tem como objetivo mostra as tabelas ou SCHEMAS criados. SHOW SCHEMAS; SHOW TABLES; DESCRIBE pessoa; DESCRIBE pedido; 31 BANCO DE DADOS II Prof. Esp. Carlos Danilo luz carlos.luz@unicesumar.edu.br
Compartilhar