Curso: Banco de Dados I Análise de Sistemas PUC Campinas Professora: Sílvia Soares [email protected] SQL (Structured Query Language) E. F. Codd: “A Relational Model of Data for Large Shared Data Banks”, junho 1970 Definição de um modelo que propõe uma nova estrutura de armazenamento em banco de dados Modelo Relacional file: teorica_8.ppt Banco deDados I - Silvia Soares 2 SQL (Structured Query Language) IBM: linguagem SEQUEL (Structured English Query Language) Ferramenta de acesso ao modelo proposto por CODD evolução SQL (linguagem padrão para Banco de Dados Relacional) 1986 : American National Standards Institute (ANSI) e International Standards Organization (ISO) Padrão SQL (SQL 86) IBM: padrão próprio (System Application Architecture Database Interface – SAA SQL) em 1987 file: teorica_8.ppt Banco deDados I - Silvia Soares 3 SQL (Structured Query Language) Propósito: interface para um banco de dados relacional (Oracle, DB2, SQL Server, Sybase, ...) A linguagem SQL tem diversas partes: Linguagem de definição de dados: DDL – comandos para a definição de esquemas de relações, exclusão de relações, criação de índices e modificação nos esquemas de relações Linguagem interativa de manipulação de dados: DML – linguagem de consulta baseada na álgebra e no cálculo relacional de tuplas. Engloba comandos para inserção, exclusão e modificação de tuplas no BD Incorporação DML (embedded DML): para aplicação em linguagens de programação (C, PL/I, COBOL, PHP, VB,...) file: teorica_8.ppt Banco deDados I - Silvia Soares 4 SQL (Structured Query Language) Definição de visões: a SQL DDL possui comandos para definição de visões Autorização: a SQL DDL possui comandos para especificação de direitos de acesso a relações e visões Integridade: a SQL DDL possui comandos para especificação de regras de integridade que os dados que serão armazenados no BD devem satisfazer Controle de transações: a SQL possui comandos para especificação de iniciação e finalização de transações. Algumas implementações permitem explicitar bloqueios de dados para controle de concorrência. file: teorica_8.ppt Banco deDados I - Silvia Soares 5 SQL (Structured Query Language) SQL SELECT UPDATE DELETE INSERT DML CREATE ALTER DROP DDL Com COMMIT “embutido” file: teorica_8.ppt GRANT Segurança REVOKE COMMIT Controle ROLLBACK transações SAVEPOINT SET TRANSACTION CONTROL Banco deDados I - Silvia Soares 6