BANCO DE DADOS PARA NINJAS

Documentos relacionados
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

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

BCD29008 Banco de dados

Banco de Dados I Introdução SQL

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

Bancos (Bases) de Dados

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

A linguagem SQL

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

SQL Linguagem de Definição de Dados

Manipulação de Dados com SQL

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

SQL. Prof. Roger Cristhian Gomes

Linguagem de Consulta Estruturada (SQL)

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

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

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

SQL (Tópicos) Structured Query Language

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

Aula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU

Linguagem SQL Sub-linguagem DDL

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

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

BANCO DE DADOS GERENCIAL 1 A U L A 2

SQL Básica. Andre Noel

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

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

Banco de Dados. Professora: Luciana Faria

Banco de Dados. Linguagem SQL

Linguagem de Consulta Estruturada SQL- DML

IMPLEMENTAÇÃO DE BANCO DE DADOS

Rápida revisão do Modelo Relacional

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

A Linguagem SQL. Tecnologia de Base de Dados. MSc. Eugénio. Macumbe

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

Marcelo Henrique dos Santos

PROGRAMA. 3.SQL Básico. 3.1 Criação de tabelas 3.2 Queries simples 3.3 Subqueries 3.4 Agregação. Prof. Dr. Marcos Tsuzuki

Agenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais

Page 1. Prof. Constantino Jacob

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

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

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

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

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

Fundamentos de Banco de Dados Postgre com Sql

ANÁLISE E PROJETO DE BANCO DE DADOS

Modelagem Física e SQL

Comandos de Manipulação

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

A linguagem SQL

Bases de Dados. DDL Data Definition Language

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

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Modelagem Física e SQL

Linguagem de Consulta Estruturada SQL- DML

MODELAGEM DE DADOS MODELO FÍSICO

Definição do esquema da base de dados. o esquema da BD é composto pelas definições de todas as tabelas da BD.

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

Programação SQL. Introdução

Introdução ao PostgreSQL

A U L A 1 I N T R O D U Ç Ã O A B A N C O D E D A D O S E V I S Ã O G E R A L D O S Q L

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

Banco de dados POO Márcio Delamaro. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP

Aula 06 Sistemas Embarcados LT38C

INTRODUÇÃO AO MYSQL. Eng. Computação

Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho

Arquivo. Banco de Dados. Organização dos Arquivos. Banco de Dados. Banco de Dados. Introdução a Computação

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

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

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Manipulando a base de dados

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

SQL DDL. Frederico D. Bortoloti

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

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

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

Introdução a Bancos de Dados

Banco de Dados. Prof. Dr. Joel da Silva SQL - Introdução

Material Teórico. Organização de Dados. Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque

Transcrição:

BANCO DE DADOS PARA NINJAS PARANGABA RONNISON REGES VIDAL Ceará, 25 de Outubro de 2016

ROTEIRO l Conhecimento Pra que usar? Ferramentas SGBD's Consultas (Jutsu) Linguagem de Consulta

PRA QUE USAR?

PRA QUE USAR? Bancos de dados

PRA QUE USAR? Modelo Relacional Consiste de uma coleção de tabelas, cada uma com um nome único atribuído (Silberchartz, XXXX) Esquema para Instituição Bancária (Silberchatz, XXXX)

PRA QUE USAR? Modelo Relacional Tabela Conjunto de entidades Linha É uma relação entre um conjunto de valores Relação Agência (Silberchatz, XXXX)

PRA QUE USAR? Modelo Relacional Tabela Linha Atributos Cabeçalho da coluna Domínio Conjunto de valores permitidos Tabela Agência (Silberchatz, XXXX)

PRA QUE USAR? Modelo Relacional Termos matemáticos equivalentes Atributos Tuplas Tabelas Relações Esquema de banco de dados Projeto lógico do BD

PRA QUE USAR? Modelo Relacional Exemplo de esquema de banco de dados Esquema_Conta = (numero_conta, nome_agencia, saldo) Relação Conta (Silberchatz, XXXX)

PRA QUE USAR? Modelo Relacional Exemplo de esquema de banco de dados Esquema_Agencia = (nome_agencia, cidade_agencia, ativo) Relação Agencia (Silberchatz, XXXX)

PRA QUE USAR? Modelo Relacional Chave candidata é um atributo ou um conjunto de atributos de uma tabela que identifica uma única linha da tabela Chave Primária É extraída a partir de um conjunto de chaves candidatas Valores de atributo de uma tupla que são únicos Chave estrangeira Chave primária provinda de outro esquema de relação

PRA QUE USAR? Modelo Relacional Exemplo de Chaves

FERRAMENTAS SGBD

FERRAMENTAS SGBD é o conjunto de programas de computador (softwares) responsáveis pelo gerenciamento de um banco de dados. Seu principal objetivo é retirar da aplicação cliente a responsabilidade de gerenciar o acesso, a manipulação e a organização dos dados. O SGBD disponibiliza uma interface para que seus clientes possam incluir, alterar ou consultar dados previamente armazenados.

FERRAMENTAS SGBD Exemplos Postgre Firebird HDB IBM DB2 IBM Informix m My MariaDB Oracle -Server

FERRAMENTAS PGAdmin Procedimentos Acessar a Opção Servers LocalHost DataBase New DataBase Nome: PGBank Owner: --- Criar tabelas PGBank Schemas public tables

Baile da tabela

Structured Query Language É a linguagem standard de acesso às bases de dados e inicialmente desenhada para acesso de Sistemas de Gestão de Bases de Dados (SGBD). Linguagem estrutura de consultas Objetivo O objetivo do é o de providenciar um método de acesso às bases de dados de forma interativa através de consultas (query's) à base de dados

Divisões da linguagem - DDL - (Data Definition Language) que efetuam a definição das estruturas em uma base de dados. DML - (Data Manipulation Language) que efetuam a manipulação de dados com comandos específicos. DQL - (Data Query Language) que efetuam consultas no banco de dados. DCL - (Data Control Language) que estabelecem o controle de acessos às bases de dados e à sua manipulação. DTL - (Data Transaction Language) que efetuam a trasações de dados

DDL CREATE Cria uma estrutura ALTER Altera uma estrutura DROP Exclui uma estrutura TRUNCATE Apaga os dados da tabela

DML INSERT Insere dados UPDATE Altera dados DELETE Exclui dados MERGE Combina dados de múltiplas tabelas

DQL SELECT Retorna dados ORDER BY - ASC / DESC Ordenação ascendente / Descendente GROUP BY Agrupamento de dados MAX / MIN / SUM / AVG Funções aritméticas nativas WHERE Filtro de seleção FROM Indica a tabela de recuperação dos dados

Criando tabelas Uma tabela pode ser criada a qualquer momento, até mesmo se os usuários estiverem usando o banco de dados. Sintaxe: CREATE TABLE nome-da-tabela(col1 tipode-dado(tamanho),...) CREATE TABLE produtos ( produto_no integer, descricao text, preco numeric );

Exemplos: CREATE TABLE conta ( numero_conta numeric primary key, nome_agencia varchar(80), saldo real ); CREATE TABLE agencia ( nome_agencia varchar(80) not null, cidade_agencia varchar(80), ativo real );

Numéricos usados para armazenar números inteiros de vários tamanhos (integer, smallint, bigint), os de ponto flutuante (Float, ou real e Double precision) e os de precisão pode ser especificado pelo usuário (numeric, number, decimal); Ex: number (3) pode-se armazenar um número inteiro de no máximo 3 dígitos. Number (5,2) pode-se armazenar um número de 5 dígitos com 2 números de dígitos à direita do ponto decimal

Cadeia de caracteres usado para armazenar caracteres de tamanho fixo, CHAR(tamanho) ou os de tamanho variável, VARCHAR(tamanho); Ex: char(10) ocupará sempre o tamanho(10) máximo estabelecido de caracteres. Varchar(10) ocupará no máximo o tamanho(10) estabelecido de caracteres, podendo ocupar menos caso o valor armazenado seja menor. É conhecido como efeito sanfona, ocupando apenas o tamanho do conteúdo armazenado;

Date usado para armazenar valores de data (YYYY-MM-DD) e hora (HH:MM:SS). Neste tipo de dado não se especifica o tamanho. Ex: date

Descrevendo as Restrições de Dados As restrições básicas de integridade podem ser definidas no comando como parte da criação de uma tabela. Elas podem ser usadas para impor regras no nível da tabela, sempre que uma operação de incluir uma nova linha, remover ou modificar uma linha existente for executada. As restrições possibilitam, ainda, impedir que uma tabela seja removida se houver dependências de outras tabelas.

Restrições básicas de integridade Restrição Descrição NOT NULL Coluna com preenchimento obrigatório PRIMAY KEY Identifica exclusivamente cada linha da tabela FOREIGN KEY Estabelece um relacionamento de chave estrangeira com um valor de uma coluna (chave primária ou exclusiva) existente na mesma tabela ou em outra tabela CHECK Especifica uma condição que deve ser verdadeira UNIQUE Requer que a coluna ou de um conjunto de colunas seja exclusivos

Alterando tabelas Após criar suas tabelas, talvez você precise alterar a estrutura da tabela porque surgiu a necessidade de uma coluna ou a definição da coluna precisa ser modificada. Pode-se modificar uma tabela já existente através do comando ALTER TABLE. Para as tabelas básicas, as ações possíveis compreendem: adicionar ou eliminar uma coluna (atributo), alterar a definição de uma coluna e adicionar restrições na tabela. Segue abaixo alguns exemplos:

e.1) Adicionando uma nova coluna Usando a cláusula ADD para acrescentar uma nova coluna na tabela. Ex: ALTER TABLE agencia ADD id_agencia numeric e.2) Modificando o tipo de dado de uma coluna Usando a cláusula ALTER para modificar o tipo de dado da coluna segundo_coluna. Ex: ALTER TABLE agencia ALTER cidade_agencia TYPE char(80) e.3) Eliminando uma coluna Usando a cláusula DROP para eliminar uma coluna da tabela. Ex: ALTER TABLE agencia DROP COLUMN cidade_agencia

e.4) Renomeando tabelas É possível trocar o nome de uma tabela através do comando RENAME. Ex: ALTER TABLE agencia RENAME to agencia_ag

Eliminando tabelas Para remover uma tabela já existente, basta executar o comando DROP TABLE. EX: DROP table minha_primeira_tabela;

Inserindo nas tabelas Para inserir dados em uma tabela já existente, basta executar o comando insert into; insert into nome_da_tabela values (coluna1, coluna2, ) INSERT INTO agencia VALUES ('conjunto ceara', 100000.00, 'fortaleza', 01)

Inserindo nas tabelas Relação Agência (Silberchatz, XXXX)

Inserindo nas tabelas Relação Conta (Silberchatz, XXXX)

Atualizando as tuplas da tabela UPDATE nome_da_tabela SET conjunto_de_atributos where condição; UPDATE agencia SET nome_agencia = 'limoeiro do norte' where id_agencia = 03; UPDATE agencia SET ativo = 7000000.00 where id_agencia = 03 AND nome_agencia = 'limoeiro do norte';

Deletando tuplas da tabela Delete from nome_da_tabela where condição DELETE FROM agencia where id_agencia = 3

Selecionando tuplas das tabelas Select coluna1, coluna2, from nome_da_tabela Select id_agencia, nom_agencia from agencia Select * from agencia Select * from agencia where id_agencia >2

Operadores de seleção a) Operadores de Comparação Operador Significado BETWEEN... AND.. Entre dois valores inclusive IN Compara a qualquer um de uma lista de valores LIKE Compara a um padrão de caractere IS NULL Compara se a contém nulo

Operadores de seleção a) Operadores de Comparação Sintaxe WHERE coluna operador valor a.1) Operador BETWEEN Usado para recuperar linhas com base em uma faixa de valores. Ex: Recupera o nome e o código do cargo dos empregados cujo o salário esteja entre 2600 e 5600. SELECT nome, codigo_cargo FROM empregado WHERE sal BETWEEN 2600 and 5600; SELECT * FROM agencia WHERE id_agencia BETWEEN 1 and 4;

Operadores de seleção Como encontrar todas as agencias que tem os ativso entre 1000000 e 7500000?

a.2) Operador IN Usado para recuperar linhas com base em uma lista de valores. Ex: recupera o nome das agencias que existem nas cidades Brookling, Rye, Palo Alto. SELECT nome FROM empregado WHERE cidade_agencia IN ( Brookling, Rye, Palo Alto ); SELECT nome_agencia FROM agencia WHERE cidade_agencia IN ('fortaleza') a.3) Operador LIKE Usado para executar pesquisas especiais quando você não sabe o valor exato que está pesqusando para comparar. Para isso, usa-se o símbolo % que recupera qualquer seqüência de zero ou mais caracteres.

a.2) Operador IN Ex1: Recupera o nome de todos os empregados que possuem o nome começando com letra z. SELECT nome FROM empregado WHERE nome LIKE Z% Ex2: Recupera o nome de todos os empregados que possuem o nome terminando com as letras jr. SELECT nome FROM empregado WHERE nome LIKE %jr ; Ex3: Recupera o nome de todos os empregados que possuem a palavra Gonzaga em qualquer parte do nome. SELECT nome FROM empregado WHERE nome LIKE %Gonzaga% ;

a.2) Operador IN Ex1: Recupera o nome de todos as agências que possuem o nome começando com letra B. Ex2: Recupera o nome de todos agências que possuem o nome terminando com as letras LL. Ex3: Recupera o nome de todos agências que possuem a palavra ookl em qualquer parte do nome

a.4) Operador IS NULL Usado para executar pesquisas em colunas que não tiveram preenchimento, configurando valor nulo. Ex1: Recuperar a id da agnência e o nome da cidadedos empregados que ainda não possuem cardo definido. SELECT id_agencia, cidade_agencia FROM agencia WHERE nome_agencia IS null;

Deletando dados da tabela Exemplo TRUNCATE agencia

Projetando

Obrigad o!