Banco de Dados. Colégio Singular. Curso Profissionalizante: Informática

Documentos relacionados
Banco de Dados. Colégio Singular. Curso Profissionalizante: Informática

Banco de Dados. Professora: Luciana Faria

Banco de Dados I Introdução SQL

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados>

LINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea

A linguagem SQL

BCD29008 Banco de dados

Tabelas. Banco de Dados I MySQL

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.

Mysql. Quanto mais informações você busca, mais você evolui. Vitor Ramos. Disciplina de Banco de Dados

MySql. Introdução a MySQL. Andréa Garcia Trindade

SQL (Tópicos) Structured Query Language

Banco de Dados Introdução. Profa.Ms.Denise Neves

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

MODELAGEM DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc.


MODELAGEM DE DADOS NORMALIZAÇÃO E INTRODUÇÃO AO DATA W. Inteligência de Negócios

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas

Aula 06 Sistemas Embarcados LT38C

Conceitos SQL SQL 19/03/2017 O que é dado? O que é BD? O que é uma informação? O que é SGBD? O que é SQL? O que é BD? O que é SGBD?

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

BANCO DE DADOS PARA NINJAS

Bases de Dados. DDL Data Definition Language

Escola Secundária de Albufeira. Comandos MySQL. (Páginas Web Dinâmicas: PHP e MySQL) Carlos Nunes

MYSQL - PRIMEIROS COMANDOS CRIAÇÃCO DO BD E DAS TABELAS, INSERÇÃO E CONSULTA DE REGISTROS. create database [if not exists] <nome>

Linguagem de Consulta Estruturada (SQL)

PSI Linguagem de Definição de dados. Módulo 15

Fundamentos de Banco de Dados Postgre com Sql

Sumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010

BANCO DE DADOS GERENCIAL 1 A U L A 2

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação

A linguagem SQL

SQL. Prof. Roger Cristhian Gomes

BANCO DE DADOS PARA WEB

Banco de Dados. Linguagem SQL

Manipulação de Dados com SQL

Introdução em Banco de Dados

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Rápida revisão do Modelo Relacional


Aula de SQL Comandos DDL. André Luiz de Oliveira Eduardo Raul Hruschka

SQL Linguagem de Definição de Dados

Professor Leonardo Larback

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

Fundamentos de SQL. Curso: Técnico em Redes de Computadores Disciplina: Tecnologias e Linguagem de Banco de dados Professor: Rodrigo da Rocha

Bancos (Bases) de Dados

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida

Modelo Entidade-Relacionamento (E-R)

Sumário: 1) Trabalhando com Constraints: - NOT NULL - UNIQUE - PRIMARY KEY - FOREIGN KEY - DEFAULT

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel

Introdução ao PostgreSQL

Introdução ao Banco de Dados. Banco de Dados

SQL Structured Query Language

A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A

E-BOOK GUIA RÁPIDO DE SQL W W W. T R E I N A W E B.C O M. B R

Utilizando o Postgres - comandos SQL para a manipulação de dados

Projeto e Administração de Banco de Dados

Para criarmos um banco de dados no MySql, utilizamos à instrução:

Modelagem Física e SQL

Modelo Relacional + SQL (DDL) Material elaborado pela Prof. Karin Becker

Banco de Dados. Professora: Luciana Faria

Atualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

INTRODUÇÃO AO MYSQL PROF. ME. HÉLIO ESPERIDIÃO

A U L A 1 0 C R I A N D O V I E W S V I E W S ( V I S Õ E S )

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

Modelagem Física e SQL

Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José;

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 16. Escola Politécnica da Universidade de São Paulo

MySQL. Introdução Prof. Erinaldo Nascimento

SISTEMAS DE INFORMAÇÃO

'%'! $!0" $ 8 ' %%! % '! $ $$% + ' %!%$/)!'4!+,"/)!)+,/)% *! +,"0''% * %$!*!$$ #!"%&%'%'%$! "94(# ' %'$%$$$%0%$%' *!% %%%'!**% > %% %%!31?

Técni n c i as e L i L n i g n u g age g ns n p ara r Ba B nc n o d e D ados I ACCESS

Oracle Database 10g: Fundamentos de SQL e PL/SQL


TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Flávio Dantas

Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013

BANCO DE DADOS. Vinícius Pádua

Múltiplas Tabelas. Disciplina de Banco de Dados

Sistemas de Informação e Bases de Dados 2012/2013. Linguagem SQL

MODELO DE BANCO DE DADOS RELACIONAL

ROTEIRO. A Linguagem SQL (I parte) CEFET.PHB - PI Prof. Jefferson Silva. As partes da linguagem SQL. A Linguagem de Definição de Dados (SQL-DDL)

P R O F. M E. H É L I O E S P E R I D I Ã O. Eng. Computação

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Preparação criar tabela. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 12/11/2018

Módulo 6: Linguagem de Programação IV 6.2. Bases de Dados Introdução à Linguagem SQL

Laboratório de Banco de Dados. Prof. Luiz Vivacqua.

EXEMPLOS DE COMANDOS NO SQL SERVER

IMPLEMENTAÇÃO DE BANCO DE DADOS

saída durante o runtime Usando Functions de uma Única Linha para Personalizar Relatórios Mostrar as diferenças entre as functions SQL de uma única

Prova de Tecnologia da Informação

SQL Linguagem de Manipulação de Dados SQL DML SQL DML. Exemplo Modelo Relacional. Exemplo ME-R SQL DML CONTINUAÇÃO...

Transcrição:

Banco de Dados Colégio Singular Curso Profissionalizante: Informática 2016

AGENDA Armazenamento de Informações Principais Tipos de Banco de Dados Banco de Dados Relacional Terminologia do Banco de Dados Relacionando Várias Tabelas Tipos de Relacionamentos Introdução aos comandos SQL Atividade 2 Banco de Dados Relacional

Armazenamento de Informações Armário de Arquivo; Planilhas Eletrônicas; Banco de Dados; Relação entre Biblioteca e Banco de Dados. 3 Banco de Dados Relacional

Principais Tipos de Banco de Dados Hierárquico; De Rede; Relacional; Relacional de Objeto; 4 Banco de Dados Relacional

Banco de Dados Tradicional - Programas da aula Arquivo da aula Alunos Professor Curso Inscrição Secretaria Programas de contabilidade Arquivo de contabilidade Alunos Funcionários Mensalidades Financeiro Departamento de Contabilidade 5 Departamento de Esportes Programas de esportes Arquivo de esportes Atletas Inf. Acad. Equipes Financeiro

Banco de Dados Relacional - Secretaria Departamento de Contabilidade Programas da aula Programas de contabilidade Sistema de gerenciamento de banco de dados Alunos Curso Inscrição Funcionários Mensalidades Financeiro Time Informações Acadêmica Programas de esportes 6 Departamento de Esportes Banco de Dados Relacional

Conceito de Banco de Dados Relacional Dr. E. F. Codd Propôs o modelo relacional para banco de dados em 1970; Ele é a base para o RDBMS (Relational Database Management System / Sistema de gestão de bases de dados relacionais ); O modelo relacional é composto de Um conjunto de Objetos ou relações que armazenam dados; Um conjunto de Operadores para agir sobre as relações; Integridade de dados para precisão e consistência. 7 Banco de Dados Relacional

Definição e um Banco de dados Relacional Banco de Dados Relacional é um conjunto de relações ou tabelas de duas dimensões. 8 Banco de Dados Relacional

Terminologia do Banco de Dados Relacional Elementos da Tabela: CODIGO CPF NOME TIPO_PESSOA EST_CIVIL COD_END 0000969 99943898499 JUCELINO PEREIR M C 00009690 0000971 99995278635 ELSO DO COSTA M D 00009710 0000972 99991468728 FRANCISCO TEIXE M S 00009720 0000973 36151736999 DIVINO SILVA J O 00009731 0000974 99994399912 RENATO COSTA F S 00009740 0001480 99999343978 JOSE LUIZ M C 00014800 0001481 99961714275 ROBERTO TEIXEIRA M C 00014811 0001482 99975487381 MARINA DOS SANTOS F C 00014820 0001483 99991293393 JOSE OTAVIANO M C 00014830 0001484 99975517221 REINALDO FERREIRA M C 00014840 0001485 99999694294 MARCIO DE ALMEIDA M S 00014850 9 Banco de Dados Relacional

Terminologia do Banco de Dados Relacional Dado x Informação Dado: Conjunto de símbolos e sinais. Tudo que é captado pelos sentidos. Informação: É a interpretação de um conjunto de dados. É o dado transformado com um significado específico. 10 Banco de Dados Relacional

Terminologia do Banco de Dados 1-Linha (Identificada por chave primária, para impedir linhas duplicadas); 2-Coluna, valor chave; 3-Coluna que não é valor chave; 4-Coluna, chave estrangeira; 5-Campo; 6-Campo nulo. 11 Banco de Dados Relacional

Terminologia do Banco de Dados Relacional Elementos da Tabela: Linha Campo Campo nulo CODIGO CPF NOME TIPO_PESSOA EST_CIVIL COD_END 0000969 99943898499 JUCELINO PEREIR M C 00009690 0000971 99995278635 ELSO DO COSTA M D 00009710 0000972 99991468728 FRANCISCO TEIXE M S 00009720 0000973 36151736999 DIVINO SILVA J O 00009731 0000974 99994399912 RENATO COSTA F S 00009740 0001480 99999343978 JOSE LUIZ M C 00014800 0001481 99961714275 ROBERTO TEIXEIRA M C 00014811 0001482 99975487381 MARINA DOS SANTOS F C 00014820 0001483 99991293393 JOSE OTAVIANO M C 00014830 0001484 99975517221 REINALDO FERREIRA M C 00014840 0001485 99999694294 MARCIO DE ALMEIDA M S 00014850 12 Coluna, valor chave. Coluna que não é um valor chave. Banco Coluna de chave Dados estrangeira. Relacional

Relacionando Várias Tabela Cada Linha de dados de uma tabela é identificada com exclusividade por uma PK (Primary Key, Chave primaria); É possível relacionar dados de várias tabelas por meio de FK s (Foreing Keys, Chaves estrangeiras). 13 Banco de Dados Relacional

Tipos de relacionamentos Um para Muitos; Um para Um; Muitos para Muitos (Livro x LivroAutor x Autor). 14 Banco de Dados Relacional

Tipos de Relacionamentos 15 Banco de Dados Relacional

Tipos de Relacionamentos 16 Banco de Dados Relacional

Normalização de Tabelas Normalização é um processo a partir do qual se aplicam regras a todas as tabelas do banco de dados com o objetivo de evitar falhas no projeto, como redundância de dados e mistura de diferentes assuntos numa mesma tabela. Ao projetar um banco de dados, se temos um modelo de entidades e relacionamentos e a partir dele construirmos o modelo relacional seguindo as regras de transformação corretamente, o modelo relacional resultante estará, provavelmente, normalizado. Mas, nem sempre os modelos que nos deparamos são implementados dessa forma e, quando isso acontece, o suporte ao banco de dados é dificultado. Em ambos os casos, é necessário aplicar as técnicas de normalização, ou para normalizar (segundo caso citado), ou apenas para validar o esquema criado (primeiro caso citado). Aplicando as regras descritas a seguir, é possível garantir um banco de dados mais íntegro, sem redundâncias e inconsistências. Banco de Dados Relacional

Normalização de Tabelas 1FN Um agrupamento de dados somente estará na 1FN se não houver atributo ou conjunto de atributos em relação de ocorrência. 2FN Um agrupamento de Dados somente estará na 2FN se os atributos não identificadores forem completamente dependentes do(s) atributos(s) identificador(es). 3FN Um agrupamento de dados somente estará na 3FN se não houver relação de dependência entre os atributos não identificadores. Banco de Dados Relacional

Normalização de Tabelas 1FN - 1ª Forma Normal: Todos os atributos de uma tabela devem ser atômicos, ou seja, a tabela não deve conter grupos repetidos e nem atributos com mais de um valor. Para deixar nesta forma normal, é preciso identificar a chave primária da tabela, identificar a(s) coluna(s) que tem(êm) dados repetidos e removê-la(s), criar uma nova tabela com a chave primária para armazenar o dado repetido e, por fim, criar uma relação entre a tabela principal e a tabela secundária. Por exemplo, considere a tabela Pessoas a seguir. PESSOAS = {ID+ NOME + ENDERECO + TELEFONES} Ela contém a chave primária ID e o atributo TELEFONES é um atributo multivalorado e, portanto, a tabela não está na 1FN. Para deixá-la na 1FN, vamos criar uma nova tabela chamada TELEFONES que conterá PESSOA_ID como chave estrangeira de PESSOAS e TELEFONE como o valor multivalorado que será armazenado. PESSOAS = { ID + NOME + ENDERECO } TELEFONES = { PESSOA_ID + TELEFONE }. Banco de Dados Relacional

Normalização de Tabelas 2FN - 2ª Forma Normal: Antes de mais nada, para estar na 2FN é preciso estar na 1FN. Além disso, todos os atributos não chaves da tabela devem depender unicamente da chave primária (não podendo depender apenas de parte dela). Para deixar na segunda forma normal, é preciso identificar as colunas que não são funcionalmente dependentes da chave primária da tabela e, em seguida, remover essa coluna da tabela principal e criar uma nova tabela com esses dados. Por exemplo, considere a tabela ALUNOS_CURSOS a seguir. ALUNOS_CURSOS = { ID_ALUNO + ID_CURSO + NOTA + DESCRICAO_CURSO } Nessa tabela, o atributo DESCRICAO_CURSO depende apenas da chave primária ID_CURSO. Dessa forma, a tabela não está na 2FN. Para tanto, cria-se uma nova tabela chamada CURSOS que tem como chave primária ID_CURSO e atributo DESCRICAO retirando, assim, o atributo DESCRICAO_CURSO da tabela ALUNOS_CURSOS. ALUNOS_CURSOS = {ID_ALUNO + ID_CURSO + NOTA} CURSOS = {ID_CURSO + DESCRICAO} Banco de Dados Relacional

Normalização de Tabelas 3FN - 3ª Forma Normal: Para estar na 3FN, é preciso estar na 2FN. Além disso, os atributos não chave de uma tabela devem ser mutuamente independentes e dependentes unicamente e exclusivamente da chave primária (um atributo B é funcionalmente dependente de A se, e somente se, para cada valor de A só existe um valor de B). Para atingir essa forma normal, é preciso identificar as colunas que são funcionalmente dependentes das outras colunas não chave e extraí-las para outra tabela. Considere, como exemplo, a tabela FUNCIONARIOS a seguir. FUNCIONARIOS = { ID + NOME + ID_CARGO + DESCRICAO_CARGO } O atributo DESCRICAO_CARGO depende exclusivamente de ID_CARGO (atributo não chave) e, portanto, deve-se criar uma nova tabela com esses atributos. Dessa forma, ficamos com as seguintes tabelas: FUNCIONARIOS = { ID + NOME + ID_CARGO } CARGOS = { ID_CARGO + DESCRICAO } Banco de Dados Relacional

Normalização de Tabelas Como exercício, normalize a tabela EMPREGADOS a seguir: Banco de Dados Relacional

Tipos de dados Tipos de dados definem os tipos de informação que podem ser inseridos em um campo. Os tipos suportados por um banco de dados podem variar de SGBD para SGBD, seguem os principais tipos encontrados na maior parte dos gerenciadores: Tipo INTEIRO REAL Abreviação Genérica Descrição INT FLOAT Números inteiros. Existem outros tipos de números inteiros de acordo com o gerenciador utilizado. Números reais. Permitem armazenar todo tipo de número não inteiro. Existem outros tipos de números reais de acordo com o gerenciador utilizado. CARACTER CARACTER VARIÁVEL DATA CHAR (NÚMERO) VARCHAR (NÚMERO) DATE Caracter. Permite a inclusão de dados alfanuméricos com tamanho prédefinido. O número de caracteres é definido entre os parênteses. Caracter. Permite a inclusão de dados alfanuméricos. O número de caracteres é definido entre os parênteses, porém o número de bytes utilizados pelo campo é de acordo com o dado inserido. Data. Existem diversos tipos de datas de acordo com o gerenciador utilizado. BOOLEANO BOOLEAN Armazena um bit de informação, utilizado para verdadeiro ou falso. 23 Banco de Dados Relacional

Instruções SQL DML(Data Manipulation Language) DDL(Data Definition Language) Controle de Transações DCL (Data Control Language) 24 Banco de Dados Relacional

Instruções SQL DML(Data Manipulation Language) Select; Insert; Update; Delete; Merge. Selecionar/Recuperar Dados, informar novas linhas, alterar linhas existentes e excluir linhas desnecessárias das tabelas do banco de dados. 25 Banco de Dados Relacional

Instruções SQL DDL(Data Definition Language) Create; Alter; Drop; Rename; Truncate; Comment. Possibilita que o profissional, configure, altere e remova estruturas de dados nas tabelas. 26 Banco de Dados Relacional

Instruções SQL Controle de Transações Commit; Rollback; SavePoint; Gerencia as alterações realizadas por instruções DML. Permite o agrupamento das alterações de dados de acordo com transações lógicas. 27 Banco de Dados Relacional

Instruções SQL DCL(Data Control Language) Grant; Revoke. Administra, concedendo ou retirando acessos ao banco de dados e as estruturas nele contidas. 28 Banco de Dados Relacional

Introdução aos Comandos SQL Versão do Banco mysql> SELECT VERSION(), CURRENT_DATE; +--------------+--------------+ version() CURRENT_DATE +--------------+--------------+ 3.22.20a-log 1999-03-19 +--------------+--------------+ 1 row in set (0.01 sec) Para sair do MySql mysql> QUIT (não necessita de ponto e vírgula) 29 Banco de Dados Relacional

Introdução aos Comandos SQL O mysql como uma calculadora simples mysql> SELECT 2+2, (4+1)*5; +-------------+---------+ 2+2 (4+1)*5 +-------------+---------+ 4 25 +-------------+---------+ Cancelar a Consulta digite \c mysql> SELECT mysql> -> USER() -> \c 30 Banco de Dados Relacional

Introdução aos Comandos SQL Múltiplas instruções em uma única linha mysql> SELECT VERSION(); SELECT NOW(); +--------------+ VERSION() +--------------+ 3.22.20a-log +--------------+ +---------------------+ NOW() +---------------------+ 1999-03-19 00:15:33 +---------------------+ 31 Banco de Dados Relacional

Introdução aos Comandos SQL Quais Bancos de Dados existem no Servidor mysql> SHOW DATABASES; +---------- + Database +---------- + mysql test tmp +---------- + Criando um Banco de Dados mysql> CREATE DATABASE menagerie; ( Case sensitive ) Utilizando um Banco de dados mysql> USE menagerie; 32 Banco de Dados Relacional

Introdução aos Comandos SQL Visualizando as Tabelas; mysql> show tables; Criando uma Tabela; ou CREATE TABLE nome_tabela ( nome_campo_1 tipo_1 PRIMARY KEY, nome_campo_2 tipo_2 NOT NULL,... nome_campo_n tipo_n DEFAULT SP (PADRÃO) ); CREATE TABLE nome_tabela ( nome_campo_1 tipo_1, nome_campo_2 tipo_2 NOT NULL (REQUIRED),... nome_campo_n tipo_n, PRIMARY KEY (nome_campo_1,...) 33 ); Banco de Dados Relacional

Introdução aos Comandos SQL Criando uma Tabela; ou CREATE TABLE TB_CLIENTES ( COD_CLIENTE INT(10) NOT NULL PRIMARY KEY, NOME VARCHAR(80) NOT NULL, DT_CADASTRO DATE NOT NULL, STATUS CHAR(1) NOT NULL DEFAULT 1, CREDITO FLOAT(12,2) NOT NULL ); CREATE TABLE TB_CLIENTES ( COD_CLIENTE INT(10) NOT NULL, NOME VARCHAR(80) NOT NULL, PRIMARY KEY (COD_CLIENTE) ); 34 Banco de Dados Relacional

Introdução aos Comandos SQL Auto Incremento Para definir um campo como auto-incremento, devemos inserir AUTO_INCREMENT na frente do campo determinado. Automatiza o código chave primária de uma tabela; CREATE TABLE TB_CLIENTES ( COD_CLIENTE INT(10) NOT NULL AUTO_INCREMENT, NOME VARCHAR2(80) NOT NULL, PRIMARY KEY (COD_CLIENTE) ); Visualizar a descrição de uma tabela; mysql> describe TB_CLIENTES; Ou mysql> desc TB_CLIENTES; 35 Banco de Dados Relacional

Introdução aos Comandos SQL Chave Estrangeira Tem como finalidade estabelecer as relações entre duas ou mais tabelas de um Banco de Dados. A chave estrangeira referencia o campo que é chave primária de outra tabela. FOREIGN KEY (Campo1, Campo2, Campo3...) REFERENCES Nome_Tabela2 (Nome_Chave); CREATE TABLE TB_CLIENTES ( COD_CLIENTE INT(10) NOT NULL AUTO_INCREMENT, NOME VARCHAR(100) NOT NULL, COD_END INT(10), PRIMARY KEY (COD_CLIENTE), FOREIGN KEY (COD_END) REFERENCES TB_ENDERECO (COD_END) ); 36 Banco de Dados Relacional

Introdução aos Comandos SQL Alterando Tabelas Após criada uma tabela no banco de dados, podemos alterar sua estrutura com o uso da cláusula ALTER TABLE. Deve-se notar que esta alteração é sempre sobre a estrutura da tabela, e não sobre os dados da tabela. A alteração da tabela pode correr de duas formas: ADD Acrescenta um novo campo na tabela. MODIFY Altera as propriedades de um campo já existente SINTAXE do comando ALTER TABLE: mysql> ALTER TABLE Nome_Tabela [ADD Nome_Campo Nova_Regra]; 37 Banco de Dados Relacional

Introdução aos Comandos SQL ADD A cláusula ADD adiciona um novo campo na tabela, momento onde devemos definir seu tipo da mesma forma como fazemos ao criar um campo em uma nova tabela. ALTER TABLE TB_CLIENTES ADD tel_comercial INT; ALTER TABLE TB_CLIENTES ADD nome_mae VARCHAR(60); 38 Banco de Dados Relacional

Introdução aos Comandos SQL ADD Para que um campo seja inserido antes ou depois de um determinado campo de nossa tabela, utilizar a seguinte sintaxe: ALTER TABLE Nome_Tabela ADD Nome_Campo Nova_Regra [FIRST AFTER] Campo_Determinado; Ao inserir FIRST, o novo campo será criado antes do campo escolhido da tabela, se utilizar AFTER, depois. ALTER TABLE TB_CLIENTES ADD nome_mae VARCHAR(60) AFTER Nome; 39 Banco de Dados Relacional

Introdução aos Comandos SQL ADD Alguns gerenciadores também utilizam a cláusula ADD COLUMN ao invés de somente ADD. Podemos também utilizar ADD para adicionar por exemplo uma chave primária em uma tabela. ALTER TABLE TB_CLIENTES ADD PRIMARY KEY(Nome); Para eliminar uma coluna da tabela, utilizar a seguinte sintaxe: ALTER TABLE Nome_Tabela DROP nome_campo; Alguns gerenciadores também utilizam a cláusula DROP COLUMN ao invés de somente DROP. 40 Banco de Dados Relacional

Introdução aos Comandos SQL MODIFY Para modificar as propriedades de um campo em uma tabela, utilizar a cláusula MODIFY. Segue a sintaxe para alteração do campo nome, aumentando seu tamanho para 100. ALTER TABLE TB_CLIENTES MODIFY nome(100); Com a cláusula MODIFY, também poderá ser utilizada para alterar tipo de um campo. Como exemplo, segue a sintaxe para alteração do campo nome, de Char para VarChar : ALTER TABLE TB_CLIENTES MODIFY nome VARCHAR(100); 41 Banco de Dados Relacional

Introdução aos Comandos SQL REMOVENDO TABELA A cláusula DROP TABLE exclui definitivamente a tabela qualquer dentro de um banco de dados. DROP TABLE nome_tabela; Ao excluir uma tabela que possui relacionamento com outras tabelas, o SGBD retornará erro. Neste caso se realmente for necessário excluir uma tabela, devese fazer as alterações necessárias em todas as tabelas relacionadas. 42 Banco de Dados Relacional

Introdução aos Comandos SQL Inserindo Dados Inserir dados em uma tabela, significa preencher uma linha de determinada tabela com dados correspondentes aos tipos determinados naquela tabela. Esta inserção de dados deve seguir as regras de integridade da tabela. INSERT INTO Nome_Tabela VALUES (valor 1, valor2, valor3,...); Os valores valor1, valor2, etc..., seguem a ordem dos campos da tabela, sendo utilizado valor vazio (' ') ou null para campos que não necessitem de preenchimento. Dados de tipo numérico podem ser escritos sem a necessidade de aspas simples. Dados do tipo caracter (como char e varchar2), devem ser escritos entre aspas simples. INFORMAR OS CAMPOS PARA EVITAR ERROS: INSERT INTO TB_CLIENTES (CODIGO, NOME, CPF_CNPJ) VALUES (null, 'José Pereira', 27227227211); 43 Banco de Dados Relacional

Introdução aos Comandos SQL Selecionando Dados; A instrução SELECT é usada para recuperar informações de uma tabela. SELECT (o que mostrar) FROM (de qual tabela) WHERE (condições para satisfazer) Select * from tabela; (O Asterisco apresenta todos os campos) Select cod_registo, nome from TB_CLIENTES; Ou 44 Select cod_registo, nome from TB_CLIENTES where cod_registo = 08; Banco de Dados Relacional

Introdução aos Comandos SQL Selecionando Dados; Para criar uma instrução Select utilizando duas tabelas, relacionar a chave primária de uma com a chave estrangeira da outra; Select tb_funcionarios.cod_registo, tb_funcionarios.nome, tb_cargos.descricao from TB_FUNCIONARIOS, TB_CARGOS WHERE tb_funcionarios.cod_cargo = tb_cargos.cod_cargo Select tb_cargos.descricao, tb_funcionarios.nome from TB_FUNCIONARIOS, TB_CARGOS WHERE tb_funcionarios.cod_cargo = tb_cargos.cod_cargo AND tb_funcionarios.cod_cargo = 08; 45 Banco de Dados Relacional

Introdução aos Comandos SQL Selecionando Dados; Para facilitar a referencia para as tabelas, é possível a utilização de um alias, funciona como um apelido para encontrar o nome da tabela (apenas dentro do bloco SQL); Select fun.cod_registo, fun.nome, car.descricao from TB_FUNCIONARIOS fun, TB_CARGOS car WHERE fun.cod_cargo = car.cod_cargo Select car.descricao, fun.nome from TB_FUNCIONARIOS fun, TB_CARGOS car WHERE fun.cod_cargo = car.cod_cargo 46 AND fun.cod_cargo = 08; Banco de Dados Relacional

Introdução aos Comandos SQL Ordenação de Dados O exemplo abaixo ordena os dados de acordo com a coluna data_cadastro. Select nome, uf, data_cadastro from TB_CLIENTES ORDER BY data_cadastro ; Para ordenar os dados utilizando duas ou mais colunas como critério basta separar os campos por,. Select nome, uf, data_cadastro from TB_CLIENTES ORDER BY uf 47, data_cadastro desc ; Banco de Dados Relacional

Introdução aos Comandos SQL Alterando dados de uma tabela; A instrução UPDATE é usada para altera as informações de uma tabela. UPDATE (qual tabela alterar) SET (o campo que irá receber a alteração) = (O novo conteúdo) WHERE (condições para satisfazer); UPDATE TB_CLIENTES SET nome = Rodrigo F. Prata WHERE cod_registo = 1; 48 Banco de Dados Relacional

Introdução aos Comandos SQL Removendo Dados; Para remover os dados de uma tabela utilizar a cláusula DELETE. DELETE FROM Nome_Tabela [WHERE condição ]; O comando Delete pode ser realizado sem o WHERE. Neste caso todas as linhas da tabela determinada serão excluídas. Utilizar WHERE quando for necessário eliminar os registros que obedeçam certa condição. DELETE FROM TB_CLIENTES; Ou DELETE FROM TB_CLIENTES WHERE cod_registo = 1; 49 Banco de Dados Relacional

Introdução aos Comandos SQL Utilizando a função AVG ; Calcula a MÉDIA dos valores armazenados na coluna. mysql> Select AVG(NOTA_FISCAL) from TB_NOTA_FISCAL ; Utilizando a função SUM ; Calcula a SOMA dos valores armazenados na coluna. mysql> Select SUM(NOTA_FISCAL) from TB_NOTA_FISCAL ; 50 Banco de Dados Relacional

Introdução aos Comandos SQL Utilizando a função MAX ; Retorna o MAIOR valor armazenado na coluna. mysql> Select MAX(NOTA_FISCAL) from TB_NOTA_FISCAL ; Utilizando a função MIN ; Retorna o MENOR valor armazenado na coluna. mysql> Select MIN(NOTA_FISCAL) from TB_NOTA_FISCAL ; 51 Banco de Dados Relacional

Introdução aos Comandos SQL Selecionar dados utilizando a função Group By A função group by, realiza o agrupamento dos dados. Após efetuar o agrupamento dos dados as funções SUM, AVG, MAX e MIN podem ser utilizadas. O exemplo abaixo realiza o agrupamento dos dados através do campo UF e a função AVG() retorna a média do campo Limite_de_Credito em cada UF. mysql> Select UF, AVG(limite_de_credito) from TB_CLIENTES GROUP BY UF ; UF AVG(limite_de_credito) SP 6500 RJ 5800 MT 4750 52 Banco de Dados Relacional