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

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

SQL Structured Query Language. Objectivos Após estas aulas deverá ser capaz de: Definir os seguintes termos: esquema, catálogo, DDL, DML, DCL, integridade.

Apresentações semelhantes


Apresentação em tema: "SQL Structured Query Language. Objectivos Após estas aulas deverá ser capaz de: Definir os seguintes termos: esquema, catálogo, DDL, DML, DCL, integridade."— Transcrição da apresentação:

1 SQL Structured Query Language

2 Objectivos Após estas aulas deverá ser capaz de: Definir os seguintes termos: esquema, catálogo, DDL, DML, DCL, integridade referencial; diferentes tipos de join e trigger. Interpretar a história e regras do SQL no desenvolvimento das Bases de Dados; Definir uma Base de Dados utilizando DDL; Escrever comandos SQL simples e múltiplos; Estabelecer integridade referencial, utilizando SQL; Entender o uso comum de triggers e store procedures;

3 Introdução Há quem pronuncie S-Q-L ou sequel; É a linguagem standard de facto para criar e interrogar Bases de Dados relacionais; Foi aceite como um standard americano pelo ANSI (American National Standards Institute) e é um Federal Information Processing Standard (FIPS); é também reconhecida pelo International Organization for Standardization (ISO); Foi publicada inicialmente em 1986 e actualizada em 1989 e 1992 (SQL-92);

4 Introdução (cont.) Pode ser utilizado em ambiente mainframe, UNIX e PC; O 1º DBMS comercial que a utilizou foi o Oracle, se bem que actualmente seja utilizada por qualquer DBMS comercial (INGRES; MS- SQL; SYBASE; DB2; Microsoft Access, etc); Muitos construtores introduziram melhorias específicas para ambientes específicos, pelo que deverá existir alguma cuidado na utilização destas extensões (compatibilidade)

5 Os comandos SQL podem ser utilizados interactivamente ou serem embebidos em programas. No entanto o SQL não é uma linguagem de programação, mas sim uma sublinguagem ou uma linguagem de data access que é embebida noutras linguagens; Tal como os conceitos base dos SGDD, também foi na IBM que se desenvolveram os 1ºs esforços para concepção desta linguagem entre 1974 e 1979, cujas bases foram utilizadas por outras empresas com o mesmo objectivo, até à normalização. História

6 Hoje com as Bases de Dados Relacionais e os geradores de aplicações, a importância do SQL é muitas vezes transparente para os utilizadores. Muitos utilizadores, sem qualquer conhecimento de SQL, acedem Bases de Dados, sem o saberem. Pesquisas na web, estão suportadas por SGBD o que não impede qualquer pessoa, mesmo com poucos conhecimentos informáticos de a utilizar e obter as respostas às perguntas que formalizam. História (cont.)

7 O propósito original do standard SQL foi: Especificar a sintaxe e a semântica para a definição e manipulação de dados; Definir as estruturas de dados e as operações básicas para desenhar, aceder, manter, controlar e proteger as Bases de Dados; Permitir a portatibilidade da definição da Base de Dados e de módulos aplicacionais entre diferentes SGBD; Especificar standards mínimos (nível 1) e completos (nível 2), que permitam diferentes adaptações de produtos; Permitir um standard inicial, se bem que incompleto, que possa ser melhorado posteriormente para incluir especificações que permitam o tratamento da integridade referencial, gestão de transacções, operações de join, a utilização de charater sets, etc. Função do SQL

8 Definições Catálogo – conjunto de esquemas, que quando postos em conjunto, constituem a descrição de uma Base de Dados. Esta informação é mantida pelo SGBD, como o resultado dos comandos de SQL gerados pelo utilizador, mas não requer qualquer acção consciente para a sua manutenção; Esquema – a estrutura que contém a descrição dos objectos criados pelo utilizador, tal como, tabelas, views, atributos, privilégios, constrangimentos e domínios, bem como outras informações relevantes para a Base de Dados

9 Os comandos de SQL podem ser classificados em 3 grupos: Data Definition Language (DDL) – usados para criar, alterar e apagar tabelas. Está restringida, normalmente, aos Administradores de Bases de Dados, como forma de protecção; Data Manipulation Language (DML) – usados para inserir, actualizar, modificar e questionar, os dados. Podem ser usados interactivamente, permitindo uma resposta imediata, após a execução do comando; Data Control Language (DCL) – usados pelo DBA para controlo da Base de Dados, incluí os comandos necessários para dar e retirar os previlégios de acesso à Base de Dados Definições (cont.)

10 Definir uma Base de Dados em SQL O SQL-92 não incluí o comando CREATE DATABASE, no entanto a maioria dos fornecedores disponibiliza-o. Este comando é usado para a definição e alocação de espaço inicial para a criação de tabelas, views, indices, constrangimentos e outros objectos da Base de Dados. Este comando é utilizado pelo BDA.

11 Definições usando SQL Comandos DDL CREATE TABLE – define uma nova tabela e as suas colunas; DROP TABLE – destrói uma tabela (definição, conteúdo, views e índices); DROP TABLE Alunos ALTER TABLE – adiciona uma ou mais colunas a uma tabela. Alguns SGBDs também permitem apagar e redefinir o tipo de dados das colunas; ALTER TABLE Alunos ADD COLUMN nacionalidade CHAR(15)

12 CREATE TABLE ( Atributo1 tipo [(tamanho)] [Null| Not Null] [Índice]..., Atributo2 tipo [(tamanho)] [Nill| Not Null] [Índice]..., CONSTRAINT Nome ) Os elementos em parêntesis rectos são opcionais. O elemento Atributo1 representa o nome do atributo da tabela. O elemento tipo representa o domínio de cada atributo (INTEGER, SMALLINT, DECIMAL, DOUBLE PRECISION, FLOAT, CHAR, VARCHAR, BIT, DATE, TIME, etc.). Definições usando SQL Comandos DDL

13 Exemplo: CREATE TABLE Alunos ( Cod_Aluno SMALLINT PRIMARY KEY, Nome CHAR(20) NOT NULL, Idade SMALLINT, Cod_Curso SMALLINT, FOREIGN KEY (Cod_Curso) REFERENCES Cursos (Cod_Curso) ON UPDATE CASCADE ON DELETE SET NULL, CHECK (Idade BETWEEN 17 AND 70))

14 CREATE INDEX – define um índice a partir de uma coluna, ou conjunto de colunas, por forma a permitir um mais rápido acesso aos dados; CREATE [UNIQUE] INDEX ON ( nome_atributo1 [ASC|DES],..) CREATE INDEX Chave_prim ON Clientes (Cod_cliente); DROP INDEX – destrói um índice; DROP INDEX ON Definições usando SQL Comandos DDL (cont.)

15 CREATE VIEW – define uma tabela lógica a partir de uma ou mais tabelas ou views. As views não podem ter índices; CREATE VIEW [( )] AS Exemplo: CREATE VIEW topo_de_gama (Cod_prod, designação) AS (SELECT Cod_prod, designação, preço FROM Produtos WHERE preço > )

16 DROP VIEW – destrói uma view; DROP VIEW CREATE SCHEMA – usado para definir a parte da Base de dados que é utilizado por um particular utilizador; Definições usando SQL Comandos DDL (cont.)


Carregar ppt "SQL Structured Query Language. Objectivos Após estas aulas deverá ser capaz de: Definir os seguintes termos: esquema, catálogo, DDL, DML, DCL, integridade."

Apresentações semelhantes


Anúncios Google