A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Banco de Dados SQL (Structured Query Language) Hayslan Nicolas Colicheski Bucarth – IFRO / 2015 –"— Transcrição da apresentação:

1 Banco de Dados SQL (Structured Query Language) Hayslan Nicolas Colicheski Bucarth – IFRO / 2015 – email: hayslan.bucarth@ifro.edu.br

2 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;

3 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.

4 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

5 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

6 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;

7 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.

8 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;

9 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;

10 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;

11 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;

12 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);

13 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;

14 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;

15 Umas Palavrinhas!

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

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

18 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” ;

19 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 );

20 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) );

21 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) );

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

23 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) );

24 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) );

25 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;

26 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) );

27 DROP FOREIGN KEY ALTER TABLE tabela01 DROP CONSTRAINT fk_tabela01_id01;

28 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);

29 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');

30 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');

31 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.


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

Apresentações semelhantes


Anúncios Google