1 / 30

Linguagem SQL S tructured Q uery L anguage

Linguagem SQL S tructured Q uery L anguage. A Linguagem SQL - Introdução. Todo Banco de Dados apresenta uma Linguagem para definição e uma para manipulação de dados.

varana
Download Presentation

Linguagem SQL S tructured Q uery L anguage

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Linguagem SQLStructured Query Language

  2. A Linguagem SQL - Introdução • Todo Banco de Dados apresenta uma Linguagem para definição e uma para manipulação de dados. • Com relação aos Bancos de Dados Relacionais, a linguagem mais utilizada é a SQL - Structured Query Language, que abrange tanto comandos de definição quanto comandos de manipulação de dados. • Base • álgebra relacional e cálculo relacional

  3. O que é SQL ? SQL significa Structured Query Language. SQL é usado para a comunicação com base de dados. É um grupo de facilidade para definição, manipulação e controle de dados em um banco de dados relacional. De acordo com a ANSI (American National Standards Institute), esta é a linguagem padrão para a administração de base de dados relacional.

  4. Introdução • Histórico • SEQUEL - Structured English QUEry Language • Projetada e implementada no Centro de Pesquisa da IBM como interface de um banco de dados relacional experimental chamado System R

  5. Introdução • Histórico • ANSI (American National Standards Institute) e a ISO (International Standards Organization) juntaram esforços de pesquisa, originando a versão SQL96, ou SQL1 • SQL2, aprovada em 1992 (SQL92) • SQL3 aprovada em 1999

  6. Introdução • SQL é mais do que uma linguagem de consulta: • Definição de dados • Permite a definição da estrutura do banco de dados • Recuperação de dados • Possibilita a recuperação dos dados do banco • Manipulação de dados • Permite alterações e exclusões de dados já existentes, bem como a adição de novos dados • Controle de acesso • Fornece meios para determinar o controle de acesso de usuários aos dados do banco • Compartilhamento de dados • Coordena o acesso concorrente de usuários, assegurando que um não interfira no trabalho do outro • Integridade de dados • Permite definir restrições de integridade aos dados do banco

  7. Introdução • SQL como Linguagem de Definição de Dados (DDL) • Linguagem de criação das estruturas

  8. SQL como DDL • SQL como linguagem de definição de dados - DDL • Definição de tabelas - CREATE • Alteração de tabelas - ALTER • Remoção de tabelas - DROP

  9. Base de Dados Relacional • Uma base de dado relacional é uma coleção de tabelas contendo dados. Uma tabela consiste de colunas (atributos que descrevem a tabela) e linhas (a atual ocorrência de dados). Tais dados, podem ser acessados facilmente e rapidamente em uma base de dados relacional e visualizado em formato tabular.

  10. Tabelas • No modelo relacional toda informação é representada na forma de tabelas. • Cada tabela possui um número definido de colunas (atributos) que detalham a informação sendo representada: • Aluno (matrícula, nome, endereço,curso); • Diciplina (código, título, créditos); endereço Aluno nome matrícula curso 1 BDW João Rua 1,102 Marcos 2 Rua 2,603 BDW Maria Rua 2,303 PAW 3 Antônio 4 Rua 3,404 Rede

  11. Tabelas • Tabelas implementam no banco de dados as principais idéias identificados pelo modelo conceitual. • São compostas por um conjunto finito bem definido de atributos. • Cada atributo possui: • um nome, • um tipo de dado, • um tamanho (opcional), • uma característica de nulidade e, possivelmente, • regras • Em BD convencionais os tipos de dados são restritos a tipos pré-definidos primitivo (int,varchar,float, real) e algumas extensões : date, time, Blob, decimal(n,s)

  12. Uma tabela é populada com linhas (extensão da tabela) todas elas de um mesmo tipo, considerando um tipo o conjunto ordenado de seus atributos endereço Aluno nome matrícula curso 1 BDW João Rua 1,102 Linhas ou “tuplas” Marcos 2 Rua 2,603 BDW Maria 3 Rua 2,303 PAW Antônio 4 Rua 3,404 Rede

  13. SQL como DDL • Instruções para definição do esquema da base de dados: • CREATE TABLE • Cria uma nova tabela na base de dados, especificando nome, atributos e restrições • ALTER TABLE • Altera definições de uma tabela • DROP TABLE • Remove uma tabela, quando suas definições não são mais necessárias

  14. Resumo

  15. Criação de tabelas • CREATE TABLE • Colunas são especificadas primeiro, sob a forma: <nomeCol> <domínio> <restrição> • Depois Chaves, integridade referencial e restrições de integridade CREATE TABLE <nome_da_tabela> ( <nome_da_col1> <tipo_da_col1> NOT NULL, <nome_da_col2> <tipo_da_col2> NOT NULL, ... PRIMARY KEY <lista_de_nomes_de_col>, FOREIGN KEY <nomes_de_col> REFERENCES <nome_tab_ref>(<nome_da_col_ref>) );

  16. Criação de tabelas Tipos para a definição de colunas: SQL Padrão CHAR(tamanho) CHARACTER(tamanho) INT INTEGER SMALLINT NUMERIC(precisão,escala) DECIMAL(precisão,escala) DEC(precisão,escala) FLOAT(precisão) REAL DOUBLE PRECISION SQL2 = Padrão + : VARCHAR(tamanho) CHAR VARYING(tamanho) CHARACTER VARYING(tamanho) NCHAR(tamanho) NATIONAL CHAR(tamanho) NATIONAL CHARACTER(tamanho) VARYING(tamanho) BIT(tamanho) BIT VARYING(tamanho) DATE TIME(precisão) TIMESTAMP(precisão) INTERVAL

  17. Tipos de Dados mais usados no Oracle Char(n) : cadeia de tamanho fixo. default é 1 e o máximo é 2000. Varchar2(n): cadeia de tamanho variável com o máximo de n (máximo 4000). Number(p,e): numérico p é precisão (max 38) e é escala (número de casas decimais) Date: data e hora, inclui século, ano, mes, dia, hora, minuto e segundo. Timestamp: data e horas com maior precisão.

  18. Criação de tabelas A partir do modelo relacional, escrevemos o comando em SQL para criarmos a tabela no banco de dados Exemplo: Modelo relacional Fornecedor(fcod, fnome, status, cidade) Criamos o esquema físico: CREATE TABLE Fornecedor ( Fcod INTEGERNOT NULL, Fnome VARCHAR(30)NOT NULL, Status INTEGER, Cidade VARCHAR(20), primary key (fcod));

  19. Checando as colunas das tabelas Desc Fornecedor

  20. MER PlanoSaúde (0,1) Telefone (1,N) CPF Rua Empregados Nome Número Idade Cidade Endereço Relacional Empregados (CPF, Nome, Idade, PlanoSaúde, Rua,Número,Cidade) Telefone(CPF, Número) CPF referencia Empregados(CPF) Esquema Físico Create table Telefone (CPF number(11) not null, NumeroTel varchar2(30) not null, Primary Key (CPF, Numero), Foreign Key (CPF) references Empregados (CPF) ); Create table Empregados (CPF number(11) not null, Nome varchar(40) not null, Idade number(3) not null, PlanoSaude varchar2(40), Rua varchar2(50) not null, Número number(4) not null, Cidade varchar2(50), Primary key (CPF) );

  21. SQL – DML Inserção de dados insert into nome_tabela[(lista_atributos)] values (lista_valores) Exemplos insert into Fornecedor (Fcod, Fnome,Status, Cidade) values (10,’Borracharia Prego Amigo Ltda’,1, ‘Nova Odessa’);

  22. Resumo

  23. StructuredQueryLanguage - SQL Instruções da DML (Data Manipulation Language) SELECT SELECT <lista de colunas> FROM <lista de tabelas> WHERE <critério de seleção> *** Existem mais opções

  24. Consulta Simples: Ex.: Recuperar os dados de todos os fornecedores cadastrados: select * from Fornecedor; OU select codproduto, descricao, preco, qtde from produtos; Structured Query Language - SQL

  25. Diferença • Varchar2 e Char • Nome -> char(40) • O DBMS sempre grava/utiliza 40 bytes • Se o nome for Antonio da Silva (16 bytes). 24 bytes “desperdiçados” • Nome -> varchar2(40) • O DBMS grava apenas os bytes informados • Se nome = Antonio da Silva (16 bytes). 24 bytes** “economizados” • **Bytes de controle

  26. Criação de tabelas • Especificação de chaves: • Primária: PRIMARY KEY(<nomeColuna>), • Estrangeira: FOREIGN KEY(<nomeCol>) REFERENCES <NomeTabRefer (nomeCol)>, • Alternativa: UNIQUE KEY(nomeCol) (SQL2)

  27. Criação de tabelas • Exemplo com chave primária: CREATE TABLE Departamento ( Dcod INTEGERNOT NULL, Dnome VARCHAR(20)NOT NULL, Cidade VARCHAR(20), PRIMARY KEY(Dcod));

  28. Criação de tabelas • Exemplo com chave primária composta CREATE TABLE Empregado ( Ecod INTEGER NOT NULL, Enome VARCHAR(40) NOT NULL, CPF VARCHAR(15) NOT NULL, Salario DECIMAL(7,2), Cod_Dept INTEGER NOT NULL, PRIMARY KEY(Ecod,CPF));

More Related