Banco de Dados I Introdução SQL

Documentos relacionados
A linguagem SQL

A linguagem SQL

SQL. Autor: Renata Viegas

A linguagem SQL

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

Banco de Dados. Professora: Luciana Faria

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

BCD29008 Banco de dados

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>

Revisão de Bancos de Dados

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

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

Manipulação de Dados com SQL

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

Linguagem de Consulta Estruturada (SQL)

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

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

BANCO DE DADOS GERENCIAL 1 A U L A 2

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

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

Modelagem Física e SQL

Modelagem Física e SQL

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

Banco de Dados. Linguagem SQL

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

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

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

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

Bancos (Bases) de Dados

Bases de Dados. DDL Data Definition Language

Aula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU

BANCO DE DADOS. Vinícius Pádua

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

Banco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas

SQL Linguagem de Definição de Dados

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


TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS

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

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

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

Tabelas. Banco de Dados I MySQL

IMPLEMENTAÇÃO DE BANCO DE DADOS

MODELAGEM DE DADOS MODELO FÍSICO

SQL Básica. Andre Noel

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

Unidade 5 05/11/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

SQL. Prof. Roger Cristhian Gomes

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

SQL BÁSICO. Luiz Antônio Vivacqua Corrêa Meyer

UFG - Instituto de Informática

BANCO DE DADOS PARA WEB

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

Comandos DDL. id_modulo = id_m odulo

PHP INTEGRAÇÃO COM MYSQL PARTE 1

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?

BANCO DE DADOS PARA NINJAS

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

Introdução em Banco de Dados

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

SQL (Tópicos) Structured Query Language

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

Structured Query Language (SQL) Aula Prática

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

SQL (Structured Query Language)

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

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

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

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

Bases de Dados BDDAD. Oracle SQL Comandos. Nelson Freire (ISEP LEI-BDDAD 2017/18) 1/101

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

Banco de dados. Linguagens de Banco de Dados II. Wedson Quintanilha da Silva -

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

SQL (Structured Query Language)

BANCO DE DADOS II SQL Básico. COTEMIG Gerson Borges

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

SQL (Structured Query Language)

Aula 06 Sistemas Embarcados LT38C

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

Fundamentos de Banco de Dados Postgre com Sql

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Linguagem SQL (Parte II)

Linguagem SQL Sub-linguagem DDL

Marcelo Henrique dos Santos

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

Programação SQL. Introdução

Sistemas de Informação e Bases de Dados 2012/2013. Restrições de Integridade em SQL

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

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

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

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

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

Teste Exemplo Revisão da tentativa 1

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

Projeto e Administração de Banco de Dados

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

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

Disciplina: Banco de Dados Tema: SQL Parte 2

Transcrição:

Banco de Dados I Introdução SQL Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Linguagem SQL Aspectos Gerais: Independência do fabricante: Está incorporada em todos os SGBDs em seu padrão ANSI, com as extensões proprietárias. Portabilidade entre computadores: Pode ser usada desde um PC até um Mainframe. Não é uma linguagem case-sensitive. Frederico Queiroga Banco de Dados I 2 1

Linguagem SQL Existem dois aspectos na gerência de dados: A definição dos dados (DDL - Data Definition Language). A manipulação dos dados (DML Data Manipulation Language) Definição de Dados (DDL): Informa ao SGBD quais tabelas existirão, quais atributos existirão, quais atributos serão indexados, as restrições de integridade, etc. Manipulação de Dados (DML): Refere-se às quatro operações básicas executadas sobre os dados armazenados em qualquer SQBD: recuperação e atualização dos dados, inserção de novos registros e exclusão de registros existentes. A linguagem SQL incorpora a DDL e a DML. Frederico Queiroga Banco de Dados I 3 SQL - Manipulação de Dados Manipular Dados CONSULTA SELECT INCLUSÃO INSERT ALTERAÇÃO UPDATE EXCLUSÃO DELETE Frederico Queiroga Banco de Dados I 4 2

Linguagem SQL Em todos os exemplos a seguir, será utilizado o exemplo de uma locadora de DVD: Tabela Alunos (codigo, nome, endereco, fone, email) Tabela Cursos (codigo, nome) Tabela Matriculas (codigo, aluno, curso, datamatricula, semestre) aluno referencia Alunos curso referencia Cursos Observação: é uma boa prática de programação não utilizar caracteres especiais nos nomes de campos e tabelas. Frederico Queiroga Banco de Dados I 5 Criando Banco de Dados Sintaxe para criar um banco de dados: CREATE DATABASE <nome do banco de dados> - Sintaxe para destruir: DROP DATABASE <nome do banco de dados> - Exemplo de criação de um BD de uma Locadora de DVDs: CREATE DATABASE Matriculas Frederico Queiroga Banco de Dados I 6 3

Sintaxe para criar tabelas: CREATE TABLE Nome_Tabela( atributo1 tipo1, atributo2 tipo2,..., restrições de integridade) Sintaxe para destruir: DROP TABLE Nome_Tabela Frederico Queiroga Banco de Dados I 7 - Observações: O nome de uma tabela em um banco de dados deverá ser único. Cada coluna deverá ser criada através da especificação do seu nome, tipo e tamanho do dado que irá armazenar. O nome de uma coluna deverá ser único dentro de cada tabela. Uma tabela representa uma entidade do banco de dados onde cada linha equivale a uma ocorrência e cada coluna equivale a um atributo dessa entidade. Frederico Queiroga Banco de Dados I 8 4

CREATE TABLE Cursos ( codigo int NOT NULL identity, nome varchar(100) not NULL, area varchar(50) NULL, valor numeric(10,2), PRIMARY (codigo) ) Frederico Queiroga Banco de Dados I 9 Criando a tabela de Alunos: CREATE TABLE Alunos( codigo int NOT NULL, nome varchar(100) NOT NULL, endereco varchar(100) NOT NULL, datanasc datetime, sexo char(1), fone varchar(10) NOT NULL, email varchar(100) default( email@mudar.com.br ), PRIMARY KEY (codigo), CHECK (sexo in ( M, F )) ) Default: Indica um valor que será armazenado no atributo caso não seja informado outro valor pelo usuário Frederico Queiroga Banco de Dados I 10 5

CREATE TABLE Matriculas( aluno int NOT NULL, curso int NOT NULL, datamatricula datetime NOT NULL, semestre char(5) NOT NULL, situacao char(1) default ( C ), PRIMARY KEY (aluno, curso), FOREIGN KEY (aluno) REFERENCES Alunos, FOREIGN KEY (curso) REFERENCES Cursos, CHECK (situacao in ( C, A, P )) ) Frederico Queiroga Banco de Dados I 11 Not null: Indica que o atributo deverá ser obrigatoriamente informado pelo usuário na hora de inserir dados na tabela. Todos os campos, por default, aceitam valores nulos. Identity (inicio, incremento): Indica que o atributo será preenchido automaticamente com valores auto-incrementados e não são reaproveitados. O início indica o primeiro valor a ser atribuído e o incremento indica o crescimento do campo. A informação dos valores de inicio e incremento não é obrigatória, se não for informada o default é (1,1). Frederico Queiroga Banco de Dados I 12 6

Varchar (tamanho): Tipo de String com tamanho de armazenamento variável, de acordo com os valores inseridos pelo usuário. O tamanho indicado na criação da tabela é a quantidade máxima de caracteres que poderão ser armazenados no campo. O tamanho não é obrigatório, se esta informação for omitida o default é 1. Char (tamanho): Tipo de String com tamanho de armazenamento fixo, de acordo com a quantidade de caracteres definidos na criação da tabela. O tamanho não é obrigatório, se esta informação for omitida o default é 1. Frederico Queiroga Banco de Dados I 13 Datetime: Tipo data no formato dia-mes-ano/hh:mm:ss Observação: no SQL-Server, o tipo é sempre datetime. Numeric (N,D): Tipo numérico que aceita valores reais. N indica o total de números e D indica a quantidade de decimais. O total de números, inclui as casas decimais. Exemplo: numeric(10,2) são oito espaços para a parte inteira e dois Decimais In (conjunto de valores): Indica que o valor de um determinado atributo deve estar presente no conjunto de valores definido. Frederico Queiroga Banco de Dados I 14 7

Primary Key: Restrição de integridade que define a chave primária da tabela. Se a chave for composta, os nomes devem ser separados por vírgulas. Unique: Restrição de integridade que indica que um campo não poderá receber valores repetidos na tabela, ou seja, dois registros não podem ter o mesmo valor para esse campo. Check: Restrição de integridade que indica condições para o preenchimento de um campo. Frederico Queiroga Banco de Dados I 15 FOREIGN KEY: Restrição de integridade que define a chave estrangeira. Para que um atributo seja chave estrangeira de uma tabela, é necessário que ele seja chave primária da tabela referenciada. O nome do campo na tabela que terá a chave estrangeira não precisa ser o mesmo do campo na tabela referenciada, devem ser do mesmo tipo. Frederico Queiroga Banco de Dados I 16 8

Diagrama no SQL Server que representa as tabelas criadas: Frederico Queiroga Banco de Dados I 17 Comandos SQL - Inserção Sintaxe para inserção de dados: INSERT INTO Tabela (atributo1, atributo2,...) VALUES (valor1,valor2,...) OU INSERT INTO Tabela VALUES (valor1,valor2,...) Observação: Na segunda opção todos os atributos da tabela devem ser especificados na clausula VALUES. Frederico Queiroga Banco de Dados I 18 9

Comandos SQL - Inserção Inserindo dados na tabela de Alunos: INSERT INTO Alunos (codigo, nome, endereco, datanasc, sexo, fone, email) VALUES (1, Fulano de Tal, Rua das Flores, 10/09/1985, M, 2222-2222, fulano@fulano.com.br ) Inserindo dados na tabela de Cursos: INSERT INTO Cursos (Nome, Area, Valor) VALUES ( Eng. Florestal, Engenharia, 550) - Lembre que os campos identity não são informados na lista de atributos. Inserindo dados na tabela de Matriculas: INSERT INTO Matriculas VALUES (1, 1, 2013-01-01, 20131, A ) Frederico Queiroga Banco de Dados I 19 Comandos SQL - Inserção Observações Lista de atributos: A lista de atributos é usada para indicar que campos da tabela devem ser preenchidos, e com que valores. Se não for incluída, o banco de dados tentará preencher todos os campos da tabela na seqüência em que foram criados. Portanto, a lista é obrigatória quando alguns campos não forem preenchidos, ou quando a ordem dos valores estiver alterada. Os campos não informados serão preenchidos com NULL (se não tiverem sido definidos como NOT NULL), ou com valores default definidos na criação da tabela. Frederico Queiroga Banco de Dados I 20 10

Comandos SQL - Inserção Observações Lista de atributos: Valores do tipo char, varchar e datetime devem ser representados entre apóstrofos (aspas simples ). No SQLServer, se a hora do campo do tipo datetime não for informada, o SGBD colocará 00:00:00 como default. As casas decimais dos números devem ser separadas por pontos, em vez de vírgulas. Valores do tipo varchar ou char podem conter acentos e espaços em branco. Frederico Queiroga Banco de Dados I 21 Comandos SQL - Atualização Sintaxe para atualização de dados: UPDATE Tabela SET atributo = valor WHERE condicao Frederico Queiroga Banco de Dados I 22 11

Comandos SQL - Atualização Mudar o telefone do aluno com código 1 para 8808-0000 : UPDATE Alunos SET fone = 8808-0000 WHERE codigo = 1 Mudar o valor do Curso de Administração para R$600,00: UPDATE Curso SET valor = 600 WHERE nome = Administração Frederico Queiroga Banco de Dados I 23 Comandos SQL - Atualização Observações: A cláusula WHERE é opcional no comando UPDATE. Se não for informada, a atualização será realizada em toda a tabela Exemplo: O comando abaixo muda o valor de todos os Cursos cadastrados para R$ 500. UPDATE Cursos SET Valor = 500 Frederico Queiroga Banco de Dados I 24 12

Comandos SQL - Exclusão Sintaxe para exclusão de dados: DELETE FROM tabela WHERE condição Frederico Queiroga Banco de Dados I 25 Comandos SQL - Exclusão Apagar cadastros de todos os Alunos do sexo masculino: DELETE FROM Alunos WHERE Sexo = M Apagar as Alunas do sexo feminino que nasceram na década de 80: DELETE FROM Alunos WHERE Sexo = F and DataNasc >= 01/01/1980 and DataNasc <= 31/12/1980 Apagar cadastros de todos os Cursos das Áreas de Contabilidade e Direito: DELETE FROM Cursos WHERE area = Direito or area = Contabilidade Frederico Queiroga Banco de Dados I 26 13

Comandos SQL - Exclusão Observações: A cláusula WHERE é opcional no comando DELETE. Se não for informada, a exclusão será realizada em toda a tabela. O comando abaixo exclui todas as Matriculas cadastradas: DELETE FROM Matriculas O comando DELETE exclui os dados, mas não exclui a tabela do banco de dados. Para excluir a tabela inteira (dados e estrutura), usar o comando: DROP TABLE. Frederico Queiroga Banco de Dados I 27 Comandos SQL Alteração de Tabelas Alteração de tabelas para inclusão de campos: ALTER TABLE Tabela ADD atributo tipo restrição_integridade Alteração de tabelas para exclusão de campos: ALTER TABLE tabela DROP COLUMN atributo Frederico Queiroga Banco de Dados I 28 14

Comandos SQL Alteração de Tabelas Inclusão do campo ano na tabela DVD: ALTER TABLE Cursos ADD Observação varchar(255) Exclusão do campo sexo da tabela Alunos: ALTER TABLE Alunos DROP COLUMN Sexo Frederico Queiroga Banco de Dados I 29 FIM Frederico Queiroga Banco de Dados I 30 15