O que são Bancos de Dados?



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

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

Sistemas de Banco de Dados

Banco de Dados. Banco de Dados

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Banco de Dados. Prof. Antonio

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

INTRODUÇÃO À LINGUAGEM SQL CRIAÇÃO DE BANCO DE DADOS E OTIMIZAÇÃO DE CONSULTAS

Linguagem de Consulta Estruturada SQL- DML

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Introdução ao SQL. O que é SQL?

A & F Consultoria em Sistemas e Treinamentos 2014 af.tecnoserv@gmail.com. A linguagem SQL. Autor: Hélio de Almeida Fonte: Wikipédia

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

SQL Structured Query Language

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

Introdução a Sistemas de Bancos de Dados

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

Comandos de Manipulação

EXEMPLOS DE COMANDOS NO SQL SERVER

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados

SQL. Autor: Renata Viegas

Banco de Dados. Maurício Edgar Stivanello

Prof.: Clayton Maciel Costa

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

Disciplina: Unidade V: Prof.: Período:

A linguagem SQL

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

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

Exercícios de Lógica Exercícios de Fixação 08

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos.

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Banco de Dados. Profª. Ana Leda

Principais Comandos SQL Usados no MySql

Linguagem de Consulta - SQL

Programação SQL. Introdução

Structured Query Language (SQL)

Banco de Dados. Marcio de Carvalho Victorino Exercícios SQL

Á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:

Núcleo de Pós Graduação Pitágoras

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

SQL BÁSICO. Introdução. Prof. Suelane Garcia. Linguagem SQL (Structured Query Language)

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Structured Query Language (SQL) Aula Prática

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS

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

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL

SQL (Structured Query Language)

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

Linguagem SQL Sub-linguagem DDL

SQL (Structured Query Language)

BANCO DE DADOS: SQL. Edson Anibal de Macedo Reis Batista. 27 de janeiro de 2010

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

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

SQL (Structured Query Language)

Sumário Introdução Breve História da Linguagem SQL l 0.3 Características da Linguagem SQL A Composição deste Livro 3

BANCO DE DADOS WEB AULA 4. linguagem SQL: subconjuntos DCL, DDL e DML. professor Luciano Roberto Rocha.

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

SQL. Hélder Antero Amaral Nunes

Linguagem de Consulta Estruturada (SQL)

MYSQL: TIPOS DE DADOS. Gilvan Vieira Moura

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)

Projeto de Banco de Dados: Empresa X

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas

BANCO DE DADOS CONCEITOS BÁSICOS

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

Banco de Dados Oracle 10g: Introdução à Linguagem SQL

Introdução à linguagem SQL

Introdução ao SQL. Aécio Costa

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes

Escrito por Sex, 14 de Outubro de :12 - Última atualização Seg, 26 de Março de :33

4.6. SQL - Structured Query Language

SQL - Criação de Tabelas

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

Capitulo 2. Prof.º Espc. Fábio Margarito Martins de Barros - Tecnologia de banco de dados

Comandos DDL. id_modulo = id_m odulo

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

EXERCÍCIOS PRÁTICOS. Banco de Dados

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

Fundamentos do Sistema Gerenciador de Banco de Dados

Gerenciamento de um Sistema de

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL

BCD29008 Banco de dados

Banco de Dados. StructuredQuery Language- SQL. Prof. Walteno Martins Parreira Jr

Introdução ao SQL Avançado

INTRODUÇÃO. Diferente de Bando de Dados

Banco de Dados. Structured Query Language SQL. Prof. Walteno Martins Parreira Jr 1.

Esta aula tem o objetivo de nos orientar durante este período em nossas aulas de Banco de Dados, não tem a pretensão de ser a única fonte de

CEFET.PHB - PI. Plano de Ensino. Banco de Dados. Plano de Ensino. Plano de Ensino. Plano de Ensino - Conteúdo. Plano de Ensino - Conteúdo

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

Armazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas;

Gestão de Tecnologia da Informação

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

Transcrição:

SQL Básico Liojes de Oliveira Carneiro professor.liojes@gmail.com www.professor-liojes.blogspot.com O que são Bancos de Dados? É o software que armazena, organiza, controla, trata e distribui os dados de uma organização; Mecanismo de armazenamento de dados; Conjunto de informações com estrutura regular. 1

O que são Bancos de Dados? Banco de dados não relacionais; Banco de dados relacionais: Dados organizados em tabelas; Tabelas relacionam-se; Ocupam menos espaço; Maior velocidade de acesso aos dados; Padrão mundial. Hierarquia de Dados Todos os dados são armazenados conforme uma hierarquia: Caracteres formam palavras; As palavras descrevem características de uma entidade; O conjunto de características de uma entidade forma um registro; O conjunto dos registros forma um arquivo; O conjunto de arquivos forma um Banco de Dados. 2

Hierarquia de Dados Ilustrando com o exemplo de uma biblioteca: Caracteres formam títulos, nomes, números etc.; Nome dos autores, título do livro, nome da editora etc., formam as características de cada volume; As características de um livro formam o registro daquele livro; Todas os registros de todos os livros formam o arquivo dos livros; O arquivo dos livros com o arquivo dos usuários, o arquivo dos funcionários, incluindo o arquivo do empréstimos, formam o Banco de Dados da biblioteca. Campos Uma vez determinadas quais as características úteis de uma entidade, todos os registros conterão campos correspondentes a estas características; Os campos podem armazenar textos, valores, datas ou horas, ou operandos lógicos (Sim/Não); Campos desnecessários podem diminuir o desempenho do BD. 3

Registros São o conjunto das informações de um item ou elemento de um arquivo; Nenhum registro contém mais ou menos campos que os outros do mesmo arquivo (ainda que algum campo fique vazio); Os registros podem ser acrescentados indefinidamente (arquivo de clientes ou de produtos etc.). Arquivos Os arquivos devem armazenar as informações sem redundância; Os arquivos são como tabelas, compostos de colunas (campos) e linhas (registros); Cada registro de um arquivo deve ser acessado por um campo que o identifica de forma única: a chave primária; Para um BD ser conciso e eficiente, os seus arquivos devem se relacionar; 4

Arquivos Visões e Índices Visões (Views): Consultas préestabelecidas; Índices: Dados ordenados para aumento de performance; 5

SGBD Sistema Gerenciador de Banco de Dados DBMS DataBase Management System SGBD é um programa que facilita a manipulação/interação com os dados. Exemplos de Banco de Dados 6

SQL SQL Structured Query Language Linguagem Estruturada de Consulta Linguagem declarativa, detalha a forma do resultado; Criada no início dos anos 70 (IBM); Necessidade de padronização: American Nacional Standards Institute (ANSI, 86) ; Internacional Organization for Standardization (ISO, 87); Características próprias p/ cada SGBD. SQL SQL Structured Query Language (Linguagem Estruturada de Consulta) Formada pelo conjunto de linguagens: DDL Data Definition Language DML Data Manipulation Language DQL Data Query Language DCL Data Control Language DTL Data Transaction Language 7

DDL - Data Definition Language Linguagem de Definição de Dados CREATE: Cria uma estrutura; ALTER: Altera uma estrutura; DROP: Exclui uma estrutura. DML Data Manipulation Language Linguagem de Manipulação de Dados INSERT: Insere dados; UPDATE: Altera dados; DELETE: Exclui dados. 8

DQL Data Query Language Linguagem de Consulta de Dados SELECT: Retorna dados; Ordenação de dados; Agrupamento de dados; Funções aritméticas; Filtros de seleção. DCL Data Control Language Linguagem de Controle de Dados GRANT: Habilita acesso a dados e operações; REVOKE: Revoga acesso a dados e operações. 9

DTL Data Transaction Language Linguagem de Transação de Dados START TRANSACTION: Inicia a transação; COMMIT: Concretiza a transação; ROLBACK: Anula a transação. Relacionamentos / Chaves Relacionamentos Ligações entre tabelas; Chave Primária (PK) Coluna com valores únicos; Chave Composta 2 ou mais colunas criando uma combinação única; Chave estrangeira (FK) Chave primária de outra tabela. 10

Relacionamentos de um BD Relacionamentos As tabelas ou arquivos devem relacionar-se para diminuir a redundância do BD; Os relacionamentos são criados através das chaves primárias. Ex.: No arquivo de pedidos, não se repete o nome e os dados dos clientes, mas apenas seu Código (chave primária dos clientes); No arquivo de produtos, não se repetem os nomes dos fornecedores, mas apenas seu Código (chave primária dos fornecedores). 11

Relacionamentos - Tipos 1 para 1 - ( 1:1 ) 1 para muitos - ( 1:* ) Muitos para muitos - ( *:* ) 1 para 1 ( 1:1 ) Aquele onde os campos que fazem o relacionamento são chaves primárias. Cada registro de uma tabela se relaciona com apenas um registro da outra tabela. Este relacionamento não é muito comum. Exemplo: RECEITA FEDERAL <-> DETRAN 12

1 para muitos ( 1:* ) Aquele onde uma tabela tem um campo chave primária que se relaciona com outra tabela através de um campo chave estrangeira. É o tipo de relacionamento mais utilizado. Exemplos: Clientes Pedidos, Produtos Itens, Categorias Itens, Fornecedores Produtos, NotaFiscal - Produtos Muitos para muitos ( *:* ) Este tipo de relacionamento não dá para ser implementado no modelo relacional, portanto sempre que nos deparamos com um deles devemos dividir em dois relacionamentos um para muitos (criando uma terceira tabela, que armazenará o lado vários dos relacionamentos). 13

Muitos para muitos ( *:* ) Exemplo: Pedidos - Produtos Cada pedido pode conter vários produtos, assim como cada produto pode estar em vários pedidos. A saída é criar uma tabela que contenha os itens do pedido. Pedidos - Pedidos_Itens - Produtos Pedidos 1 - * Pedidos_Itens * - 1 Produtos Relacionamentos de um BD 14

Chaves Campo que identifica um registro unicamente. Quanto menor melhor (desempenho); Não são permitidos valores nulos; Caso a tabela não tenha um campo que identifique unicamente cada linha, podese usar um campo que numere os registros seqüencialmente Campos - Tipos de dados Booleano e Numéricos 15

Campos - Tipos de dados String Data e hora Campos - Tipos de dados Listas customizadas BLOB Arquivos e imagens (binários); TEXT Grandes strings (textos); Redes IP, MAC; Monetários R$, U$ com formatação; Geométricos Formas geométricas. 16

Campos - Atributos NULL / Not NULL Permite ou não valores nulos Unsigned / Signed Permite ou não negativos Auto-increment Sequências Zerofill Preenche com 0 s à esquerda Campos Cada campo 1 dado; Não armazenar resultados de cálculos; Tipo correto (numérico, lógico, caractere). 17

Boas práticas de armazenamento Espaço em disco Qto menor o tipo, menos espaço em disco; Processamento e busca Qto menor o tipo, mais rápido o processamento; Mau uso dos tipos de dados Numéricos em string; Campos maiores que o dado; Bom uso dos tipos de dados Escolher o menor tipo necessário. DDL - Data Definition Language Linguagem de Definição de Dados CREATE: Cria uma estrutura; ALTER: Altera uma estrutura; DROP: Exclui uma estrutura. 18

Criando um banco de dados Como funciona: Criando um Banco de Dados CREATE DATABASE <Nome> Nomes sem espaços e sem caracteres especiais; Conjuntos mais utilizados: Latin1 e UTF-8; ALTER DATABASE <Nome> <Propriedade> DROP DATABASE <Nome> Definitiva e irreversível 19

Criando uma tabela Como funciona: Criando uma tabela CREATE TABLE <Nome> (<Campos>) Campo: <Tipo> <Nome> <Atributos> Atributos: Null, Zerofill, Unisigned... ALTER TABLE <Nome> <Propriedade> DROP TABLE Definitiva e irreversível 20

Criando um índice O que são índices? Como funciona: Criando um índice CREATE INDEX <Nome> ON <TabelaEColuna> ALTER INDEX <Nome> <Propriedade> DROP INDEX <Nome> 21

Exemplos de Banco de Dados Exemplos de Banco de Dados 22

Exemplos de Banco de Dados Exemplos de Banco de Dados 23

Exemplos de Banco de Dados Exercícios: 24

DML Data Manipulation Language e DQL Data Query Language Linguagem de Manipulação de Dados INSERT: Insere dados; UPDATE: Altera dados; DELETE: Exclui dados. Linguagem de Consulta de Dados SELECT: Retorna dados; Ordenação de dados; Agrupamento de dados; Funções aritméticas; Filtros de seleção. DQL Data Query Language Linguagem de Consulta de Dados SELECT: Retorna dados; Ordenação de dados; Agrupamento de dados; Funções aritméticas; Filtros de seleção. 25

Trabalhando os dados INSERT INTO <Tabela> VALUES (<valores>) INSERT INTO CLIENTES VALUES ( JOÃO, 789.456.123-11, CE ); INSERT INTO CLIENTES (NOME, CPF) VALUES ( JOÃO, 789.456.123-11 ); SELECT <Campos> FROM <Tabela> SELECT * FROM CLIENTES; SELECT NOME FROM CLIENTES; UPDATE <Tabela> SET <Campo=Valor> UPDATE CLIENTES SET NOME= JOÃO DA SILVA ; DELETE FROM <Tabela> DELETE FROM CLIENTES; Filtros de seleção Registros selecionados (WHERE) Operadores relacionais Igual (=), Diferente (!=); Maior (>), Maior ou igual (>=); Menor (<), Menor ou igual (<=); Nulo (IS NULL), ñ-nulo (IS NOT NULL); Intervalo (BETWEEN); Valor parcial (LIKE) Operadores lógicos AND, OR, NOT 26

Usando os filtros de seleção SELECT <Campos> FROM <Tabela> WHERE <Condição> SELECT * FROM CLIENTES WHERE CPF= 123.456.789-10 UPDATE <Tabela> SET <Campo=Valor> WHERE <Condição> UPDATE CLIENTES SET NOME= JOSÉ ANTONIO WHERE CPF= 456.123.789-22 ; DELETE FROM <Tabela> WHERE <Condição> DELETE FROM CLIENTES WHERE CPF= 789.456.123-11 Atributos especiais Apelido de tabela SELECT <Campos> FROM <Tabela Apelido> <...> Apelido de campos (AS) SELECT <Campos AS Apelido> FROM <...> Unindo seleções (UNION [ALL]) SELECT <...> UNION SELECT <...> 27

Exercícios: Documentação MySQL 28

Referências www.softblue.com.br www.mysql.com 29