Banco de Dados SQL (Structured Query Language) Hayslan Nicolas Colicheski Bucarth – IFRO / 2015 –

Slides:



Advertisements
Apresentações semelhantes
Aula – Comandos SQL no MYSQL Prof. Francisco Olivar Junior
Advertisements

Ana Paula B. Barboza Ivana Xavier Rodrigues
Tópicos em Banco de Dados
Banco de Dados Prof. Antonio.
Banco de Dados Prof. Antonio.
Banco de Dados I Aula 20.
Banco de Dados Aula 10 – SQL - DDL
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
SQL Renata Viegas.
SQL Structured Query Language
Prof.: Bruno Rafael de Oliveira Rodrigues
Prof.: Bruno Rafael de Oliveira Rodrigues
Projeto e Organização de BD
Modelo Relacional + SQL
Maurício Edgar Stivanello
SGBD.
SGBD.
Sistema Gerenciador de Banco de Dados SGBD
Sistema Gerenciador de Banco de Dados SGBD
Profa. Aline Vasconcelos
Introdução à Engenharia da Computação
Material III-Bimestre Wagner Santos C. de Jesus
INSTITUTO FEDERAL FARROUPILHA
FRB - Maio 2002MCS9–1 Regras (Restrições) de Integridade Sistemas comerciais relacionais são muito finos de restrições para garantir a qualidade dos dados.
Sistemas de Informação
SQL Structured Query Language
Linguagem de Banco de Dados - SQL
Bancos de Dados – SQL – parte 1
Modelagem de Dados 1 - MD1 Aula 2.
Banco de dados Profª Kelly Medeiros.
Banco de Dados Aplicado ao Desenvolvimento de Software
Design Patterns / Acesso ao banco de dados (java.sql)
Tipos de Linguagens do Banco de Dados
SQL Server 2012 Integridade de Dados
Banco de Dados PostgreSQL.
Desenvolvendo um script SQL
Linguagem SQL.
Rafael Lucio, Desenvolvedor Jr Padrão Informática e Assessor de TI Secretaria Municipal da Saúde;
A Linguagem SQL Por Hélio de Almeida Fonte: Wikipédia.
Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.
Banco de dados.
Treinamento PHP Módulo 2 PHP Avançado Waelson Negreiros waelson.com.br “Está conosco o Senhor dos Exércitos”
Linguagem de Definição de Dados
Curso Técnico em Informática
Definições de Esquemas, Restrições básicas e buscas
Banco de dados O que é MySQL Criar bando de dados
SEGUNDA FASE / S2B MIC PERNAMBUCO
SCC Bancos de Dados e Suas Aplicações
Contatos Gladimir Catarino
Curso de Análise e Desenvolvimento de Sistemas Projeto de Banco de Dados Marcelo da Silveira Siedler.
Banco de Dados I I Comandos SQL
Linguagem SQL Prof. Juliano.
©Silberschatz, Korth and Sudarshan (modificado)4.1.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
SQL (Structured Query Language)
1 Introdução à Manipulação de Dados SQL – Structured Query Language  Tabela = Relação  DDL – Data Definition Language  Sub-conjunto do SQL que suporta.
Automação Comercial Faculdade Estácio Radial Prof. Paulo Alipio Alves de Oliveira 2010.
Conceitos básicos Professor Esp. Diego André Sant’Ana
Professor Me. Jeferson Bussula Pinheiro.
Daniel Paulo Introdução Neste capítulo trataremos a relação entre tabelas e FILEGROUPS, bem como a alocação interna de dados.
Banco de Dados Maria Augusta (Magu).
UCSal – Bacharelado em Informática
VBA – Visual Basic para Aplicativos
Linguagem de definição de dados - SQL
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para:
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Capítulo 4 SQL básica.
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
Kelyn Schenatto. Definição Linguagem de Consulta Estruturada (Structured Query Language); Desenvolvida inicialmente nos anos 70 nos laboratórios da IBM.
Banco de Dados para Redes– Aula 03 Prof. Me. Ronnison Reges Vidal.
SQL (Structure Query Language)
Transcrição da apresentação:

Banco de Dados SQL (Structured Query Language) Hayslan Nicolas Colicheski Bucarth – IFRO / 2015 –

SQL – Structured Query Language  Ano de criação 1970 – E.F. Codd – Através de pesquisa da IBM, Califórnia;  Inicialmente chamada de SEQUEL (Structured Englesh Query Language);  Desenvolvida pela IBM, seguindo conceito de Codd;  1979 – a Relational Software Inc (Conhecida com ORACLE), lança primeira versão comercial da linguagem;  É o padrão como linguagem de manipulação de DADOS em baco de dados;  ANSI e ISO - São responsáveis pela padronização da linguagem SQL;  Primeiro padrão surgiu no ano de 86 (SQL-86), consistia basicamente o mesmo SQL da IBM;  Atualmente estamos no SQL 2003 – Como implantação na maioria do Banco de Dados;

SQL – Structured Query Language  O que é SQL?  É um conjunto de manipulação de banco de dados utilizado para criar e manter a estrutura dos banco de dados;  Incluir  Excluir  Modificar  Pesquisar  A linguagem SQL não é uma linguagem de programação autônoma; Podendo ser chamada de “Sublinguagem”;  SQL não é procedural, logo é possível especificar o que deve ser feito, e não como deve ser feito; Sendo que dessa forma, um conjunto de linhas (set) será atingido pelo comando, e não cada umas das linhas, como é feito no ambiente procedural.

SQL – Structured Query Language  Data Definition Language (DDL): Permite a criação dos componentes dos banco de dados, como tabelas, índices e entre outros;  CREATE TABLE  ALTER TABLE  DROP TABLE  CREATE INDEX  ALTER INDEX  DROP INDEX  Data Query Language (DQL): Permite extrair dados dos Bancos de Dados  SELECT

SQL – Structured Query Language  Data Manipulation Language (DML): Permite a manipulação dos dados armazenados no banco de dados;  INSERT  DELETE  UPDATE  Data Control Language (DCL): provê a segurança interna do banco de dados;  CREATE USER  ALTER USER  GRANT  REVOKE  CREATE SCHEMA

SQL – Structured Query Language  Em geral, os autores, mantem a seguinte DIVISÃO do SQL;  DDL – Inclui os comando para criar os objetos do banco de dados, como tablas, índices e visualizações, bem como os comando para definir os direitos de acesso a esses objetos;  DML – Inclui os comandos para – Inserir, atualizar, excluir e recuperar os dados das tabelas do banco de dados;

Um pouco MAIS  BANCO DE DADOS  Conjunto lógico de dados relacionados que possuem significância intrínseca.  Gerenciador de Banco de Dados  Controle de redundância: Informações devem possuir um mínimo de redundância visando estabelecer à estabilidade do modelo;  Controle de acesso: necessidade de saber quem pode realizar qual função dentro do banco de dados;  Esquematização: os relacionamentos devem estar armazenados no banco de dados para garantir a facilidade de entendimento e aplicações deve ser garantida pela banco de dados;  Backup ou cópias de segurança : Deve haver rotinas específicas para realizar a cópia de segurança dos dados armazenados.

Um pouco MAIS  TABELAS  Pode ser entendida como um conjunto de linhas e colunas. As colunas de uma tabela qualificam cada elemento (no caso linhas) com informações relacionadas ao objetos;  ENTIDADE  É um agrupamento lógico de informações inter-relacionados necessárias para execução das atividades do sistema. Uma entidade representa normalmente um objeto do mundo real ou, quando não é, contém informações relevantes às operações da empresa;  ATRIBUTOS  Os atributos são as informações básicas que qualificam uma entidade e descrevemos seus elementos ou características. Quando transpostos ao modelo físico (ao banco de dados), chamamos os atributos de campos ou colunas;  TUPLA  Uma tupla equivale a um registro ou linha da tabela;

Um pouco MAIS  CHAVE  Primária  É o atributo que permite identificar uma única ocorrência de uma tupla em uma Entidade;  Estrangeira  É o atributo que estabelece a relação de um Entidade com a Chave Primária de outra Entidade e permite uma relação entre entidades.  Secundária  É utilizada como meio de classificação e pesquisas em entidades;

Um pouco MAIS  Relacionamento  1:1  Ocorre sempre que uma entidade tiver uma única ocorrência para cada ocorrência na outra entidade;  1:n  Ocorre sempre que uma entidade se relacionar com uma ou mais tuplas da outra entidade e esta outra se relacionar apenas com uma tupla daquela entidade;  m:n  Ocorre sempre que uma entidade se relacionar com várias tuplas de outra entidade e esta, por sua vez, relacionar-se com várias tuplas daquela entidade;

DEFINIÇÃO DE DADOS  INTERGER OU INT  Numero positivo ou Negativo inteiro.  SMALLINT  Mesma função do INTERGER, ocupando metade do espaço;  NUMERIC  Número positivo ou Negativo de ponto flutuante;  DECIMAL  Semelhante ao NUMERIC, em alguns banco de dados podendo ter maior precisão;

DEFINIÇÃO DE DADOS  DOUBLE PRECISON  Número de ponto flutuante de dupla precissão. Comporta-se como REAL, mas permite maior aproximação de Resultado;  FLOAT  Número de ponto flutuante, com precisão definida manualmente;  BIT  Armazenamento de um número fixo de bits.  BIT VARYING  Igual BIT, permitindo armazenamento de valores maiores. (utilizado para imagens);

DEFINIÇÃO DE DADOS  DATE  Permite o armazenamento de datas;  TIME  Permite o armazenamento de horários;  TIMESTAMP  Permite o armazenamento de datas e horários;

DEFINIÇÃO DE DADOS  CHARACTER OU CHAR  Permite o armazenamento de cadeias de caracteres (letras, símbolos e números). O tamanho deve ser informado de forma a ficar fixo.  CHARACTER VARYING OU VARCHAR  Permite o armazenamento de cadeias de caracteres, com tamanho variável.  INTERVAL  Intervalo de data ou hora;

Umas Palavrinhas!

ABRINDO BANCO e CONECTANDO  Iniciar  Todos Programas  PostgreSQL  Conectando ao Banco  Usuário: postgres  Senha: postgres

CREATE DATABASE  CREATE DATABASE “Nome da Base”;  CREATE DATABASE “Seu_nome”;  CREATE DATABASE Hayslan;  DROP DATABASE “Nome da Base”;  Aperte F5 para executar;

CREATE SCHEMA - ESQUEMAS  Esquemas são fichários de organização de objetos; Um DB pode ter dezenas de objetos como tabelas, visões e índices. Através do Esquema somos capaz de atribuir uma organização de acordo sua utilização e utilidade dentro do programa. Promovendo uma segurança de acesso; CREATE SCHEMA “nome_do_esquema” AUTHORIZATION proprietário; DROP SCHEMA “nome_do_esquema” ;

CREATE TABLE CREATE TABLE nome-tabela ( Coluna_01 tipo de dados [restrição], Coluna_02 tipo de dados [restrição], PRIMARY KEY (Coluna_01 [, coluna_02]), FOREIGN KEY (Coluna_01 [, coluna_02]) REFEERENCE nome-tabela, CONTRAINT restrição );

CREATE TABLE CREATE TABLE TABELA01 ( ID INT NOT NULL, NOME VARCHAR(60) NOT NULL, CPF VARCHAR (12) NOT NULL, DATA_NASCIMENTO DATE, SALARIO FLOAT NOT NULL DEFAULT '1000', COMENTARI TEXT NULL, PRIMARY KEY (ID), UNIQUE (CPF) );

CREATE TABLE CREATE TABLE TABELA02 ( ID INT NOT NULL, NOME VARCHAR(60) NOT NULL, CPF VARCHAR (12) NOT NULL, DATA_NASCIMENTO DATE, SALARIO FLOAT NOT NULL DEFAULT '1000', COMENTARI TEXT NULL, CONSTRAINT TABALA02_KEY01_ID PRIMARY KEY (ID), CONSTRAINT UNICA_CPF UNIQUE (CPF) );

TABLE – OUTRO COMANDOS DROP TABLE “nome da tabela”; - Apagando a Tabela; DROP TABLE TABELA01; DROP TABLE TABELA02;

FOREIGN KEY CREATE TABLE TABELA01 ( ID01 INT NOT NULL, NOME VARCHAR(60) NOT NULL, CPF VARCHAR (12) NOT NULL, DATA_NASCIMENTO DATE, SALARIO FLOAT NOT NULL DEFAULT '1000', COMENTARI TEXT NULL, CONSTRAINT TABALA01_KEY01_ID PRIMARY KEY (ID01), CONSTRAINT UNICA_CPF UNIQUE (CPF) );

FOREIGN KEY CREATE TABLE TABELA02 ( ID02 INT NOT NULL, ID01 INT NULL, /*CHAVE ESTRANGEIRA*/ NOME_CONTATO VARCHAR(60) NOT NULL, CPF_CONTATO VARCHAR (12) NOT NULL, DATA_NASCIMENTO_CONTATO DATE, CONSTRAINT TABALA02_KEY02_ID PRIMARY KEY (ID02), CONSTRAINT UNICA_CPF UNIQUE (CPF) );

FOREIGN KEY ALTER TABLE ALTER TABLE tabela02 ADD CONSTRAINT fk_tabela01_id01 FOREIGN KEY (ID01) REFERENCES tabela01 (ID01); ALTER TABLE tabela02 ADD CONSTRAINT fk_tabela01_id01 FOREIGN KEY (ID01) REFERENCES tabela01 (ID01) ON DELETE CASCADE ON UPDATE CASCADE;

FOREIGN KEY CREATE TABLE aluno1.TABELA02 ( ID02 INT NOT NULL, ID01 INT NULL, /*CHAVE ESTRANGEIRA*/ NOME_CONTATO VARCHAR(60) NOT NULL, CPF_CONTATO VARCHAR (12) NOT NULL, DATA_NASCIMENTO_CONTATO DATE, CONSTRAINT TABELA02_KEY02_ID PRIMARY KEY (ID02), CONSTRAINT tabela01_ID01 FOREIGN KEY(ID01) REFERENCES aluno1.tabela01 ON UPDATE CASCADE ON DELETE RESTRICT, CONSTRAINT UNICA_CPF_CONTATO UNIQUE (CPF_CONTATO) );

DROP FOREIGN KEY ALTER TABLE tabela01 DROP CONSTRAINT fk_tabela01_id01;

COMANDO ALTER e DROP Adicionando um novo Atributo OU nova coluna ALTER TABLE aluno1.tabela01 ADD sexo CHAR (1) CHECK ((SEXO = 'M') OR (SEXO = 'F')); ALTER TABLE aluno1.tabela01 DROP sexo; Adicionando o tipo e o tamanho de um atributo ALTER TABLE aluno1.tabela02 ALTER NOME_CONTATO TYPE VARCHAR(60);

CRIANDO A SEQUENCIA Criando sequencia para auto incremento CREATE SEQUECE seq_tabela01 INCREMENT 1 START 1; ALTER TABLE aluno1.tabela01 ALTER COLUMN ID01 SET DEFAULT NEXTVAL ('seq_tabela01');

CRIANDO A SEQUENCIA Criando sequencia para auto incremento CREATE SEQUECE seq_tabela01 INCREMENT 1 START 1; ALTER TABLE aluno1.tabela01 ALTER COLUMN ID01 SET DEFAULT NEXTVAL ('seq_tabela01');

ATIVIDADE NO MOODLE  DICIONARIO DE DADOS  Exercício – Passar as tabelas que se encontram no dicionário de dados, criando tabelas e comandos necessários para seu funcionamento;  Valor: 10 pontos, no momento que apertar o botão de execução ser executado inteiramente certo, sem erro.