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

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

SQL-3. Novo contexto e necessidade de : Manipular imagens Outros tipos de dados além de texto e números Recuperação de dados mais complexos Níveis distintos.

Apresentações semelhantes


Apresentação em tema: "SQL-3. Novo contexto e necessidade de : Manipular imagens Outros tipos de dados além de texto e números Recuperação de dados mais complexos Níveis distintos."— Transcrição da apresentação:

1 SQL-3

2 Novo contexto e necessidade de : Manipular imagens Outros tipos de dados além de texto e números Recuperação de dados mais complexos Níveis distintos de detalhamento

3 SQL-3 Surgimento de SGBDO-R / ORDBMS Manter compatibilidade com BD relacional Mais funções novos dados complexos SQL foi estendida para atender esses dados complexos

4 Anterior ao SQL-3 SQL-92 – puramente relacional Criação e manipulação do SCHEMA Tipos de dados de atributos e domínios –Numéricos: inteiros, reais, de dupla precisão,... –Cadeia de caracter: char(n), varchar(n) –Bit-string: bit(n), bit varying(n) ex. B10011 –Date, time –Timestamp c/s/ fuso: TIMESTAMP :12: –Interval: valores relativos em formatos year/month ou day/time

5 Anterior ao SQL-3 SQL-92 CREATE DOMAIN tipo_nome AS varchar(45) Ex. CREATE TABLE tabPessoa ( cod int, nome tipo_nome); SQL procedural ( inclusão de estruturas de bloco, repetição, cursores) ASSERÇÕES CREATE ASSERTION nota_aluno_disciplina CHECK ( nota >0 AND nota <10) CREATE ASSERTION limite_salario CHECK ( NOT EXISTS (SELECT* FROM empregado E, empregado M, depto D where E.salario > M.salario NA E.DNO = D.numero AND D.ssgerente = M.ssn)

6 SQL-3 Tabela: estrutura fundamental –manipulação –armazenamento Construção / armazenamento diferenciados eee11rd SQL-92SQL-3Curso( cod, nome) Endereco(rua, num, bairro, cidade, UF)

7 SQL-3 Inclusão de tipos fora do padrão Solução –surgimento de tipos não-convencionais –suporte à recuperação destes

8 SQL-3- Tipos do sistema Boolean Binary large objects (BLOB) Character large objects (CLOB) Enumeration National character large objects Row type Set type Multiset List Abstract data type (ADT)

9 SQL-3: boolean Tipo explicitamente incluído Comportamento de boolean realmente Permite definir funções boolean com argumentos Suporte a operações definidas pelo usuário Admite somente valores TRUE e FALSE Ex. > create table a ( cod int, matriculado boolean); > select * from a where matriculado = TRUE

10 SQL-3: BLOB Esse tipo serve como suporte a dados binários Assinaturas eletrônicas, figuras, dados musicais Definição requer tamanho Manipulação do BLOB via aplicação Possui um identificador distinto para localização na BD e unicidade Operadores próprios : LIKE, UNION ALL* É possível –Concatenação –Substituição –Verificação do tamanho Ex. Tabela Aluno ( num_matricula char(10), foto BLOB (1M));

11 SQL-3: BLOB Não é possível –UNION –ORDER BY –>, >=, <,<= –Chaves não são aplicáveis –GROUP BY

12 Postgres: BLOB Suportado pelo tipo BYTEA

13 SQL3-CLOB Adicionar registros de texto Possui identificador distinto(localização no BD e unicidade) Manipulação do CLOB via aplicação Operadores próprios : LIKE, UNION ALL* É possível –Concatenação –Substituição –Verificação do tamanho Ex. campo para incluir currículo de um funcionário CREATE TABLE func ( num_func int, curriculo CLOB(50k))

14 SQL-3: CLOB Suporta recuperação parcial ou total Não é possível –UNION –ORDER BY –>, >=, <,<= –Chaves não são aplicáveis –GROUP BY * CLOB e BLOB são recuperados de depósitos no BD

15 Postgres: CLOb Suportado por tipo TEXT

16 SQL 3: ROW É um tipo estrutural Amplia o conceito da tabela Seqüência de atributos e nome e tipo de dados como a definição de uma tabela Tabela aninhada Ex. CREATE aluno ( cod int, endereco ROW (rua varchar(30), num int, bairro varchar(20), cidade varchar(30), uf char(2))) ALUNO ENDERECO

17 SQL: ROW Postgres: ROW é um COMPOSITE TYPE create type tipoendereco AS( rua varchar(20), num int, estado char(2), cep char(15)); create table aluno2 ( matricula char(30) primary key, endereco tipoendereco); insert into aluno2 (matricula, endereco) values ( '300', ('RUA XV', 200,'SC', ' ')) insert into aluno2 (matricula, endereco) values ( '300', ('RUA XV', 200,'SC', ' ')) select matricula, endereco from aluno2 where (endereco).rua like 'RUA XV%'


Carregar ppt "SQL-3. Novo contexto e necessidade de : Manipular imagens Outros tipos de dados além de texto e números Recuperação de dados mais complexos Níveis distintos."

Apresentações semelhantes


Anúncios Google