Banco de DadosSQL (Structured Query Language)
Hayslan Nicolas Colicheski Bucarth – IFRO / 2015 – email: [email protected]
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 TABLEALTER 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 KEYCREATE 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 CASCADEON 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 colunaALTER TABLE aluno1.tabela01
ADD sexo CHAR (1) CHECK ((SEXO = 'M') OR (SEXO = 'F'));
ALTER TABLE aluno1.tabela01DROP sexo;
Adicionando o tipo e o tamanho de um atributoALTER 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.
Top Related