Вы находитесь на странице: 1из 10

05/02/2013

Aula 1 Histrico da Linguagem SQL

Apresentar a linguagem SQL: o histrico, a linguagem, viso geral, vantagens e desvantagens e conceitos bsicos.

O Histrico
SQL (Structured Query Language Linguagem Estruturada de Consulta) a formao de seu nome caracteriza sua finalidade. No uma linguagem especificamente criada para desenvolver sistema, como so as linguagens de programao: PASCAL, C, BASIC, COBOL, entre outras. to somente uma linguagem utilizada para facilitar o acesso de informaes (por meio de consultas, atualizaes e manipulaes de dados) armazenadas em banco de dados relacional. O conceito de banco de dados relacional foi desenvolvido originalmente por E. F. Codd no incio da dcada de 70 do sculo XX.

05/02/2013

O Histrico
A linguagem de consulta estruturada SQL foi desenvolvida primeiramente pela empresa IBM (Internacional Bussiness Machine), tendo sido apresentada em sua primeira verso no ano de 1974, com o nome Structured English Query Language (SEQUEL) desenvolvida por Donald Chamberlin e outros profissionais da IBM. Nesta ocasio, a linguagem SEQUEL foi disponibilizada para um prottipo de banco de dados relacional da IBM, denominado SEQUEL-XRM (1974-1975). Depois entre 1976 e 1977, a IBM apresenta uma reviso da linguagem SEQUEL denominada SEQUEL/2, que posteriormente passou a se chamar SQL. Em novembro de 1976, a IBM apresenta oficialmente ao mercado de desenvolvimento a linguagem de consulta estruturada SQL, por meio de sua mdia institucional IBM Journal of R&D. Em 1977, a IBM lana um novo prottipo de banco de dados relacional denominado SYSTEM/R (1977-1979).

O Histrico
Ao final do projeto de desenvolvimento do sistema de gerenciamento de banco de dados SYSTEM/R, a IBM tinha em mos uma linguagem de consulta estruturada que permitia fcil acesso a multitabelas e multiusurios, caracterizando-se por ser uma linguagem de quarta gerao (4GL), que passou a ser chamda de SQL (Structured Query Language), uma forma mais reduzida. Em 1979, um grupo de engenheiros que havia participado do projeto de desenvolvimento do SYSTEM/R fundou uma empresa denominada Relational Software, Inc que disponibilizou o primeiro sistema de banco de dados relacional comercialmente vivel, baseado na linguagem de consulta estruturada SQL, denominando o produto de Oracle e fazendo uma forte concorrncia a IBM. Durante este perodo a IBM continuou a desenvolver o SYSTEM/R.

05/02/2013

O Histrico
A partir deste episdio a linguagem SQL passou a ser largamente aceita por outras empresas que disponibilizam para o mercado seus sistemas de gerenciamento de banco de dados, tais como, DG/SQL da empresa Data General Corporation e Sybase da empresa Sybase Inc. Com esta grande aceitao vieram tambm os primeiros problemas operacionais, pois cada empresa passou a incorporar comandos prprios na linguagem SQL, tornando despadronizada em relao a sua forma original. Dentro deste cenrio o Instituto ANSI (American National Standard Institute) passou a estabelecer por intermdio do Comit para banco de dados X3H2, em 1982, normas e critrios tcnicos para definir os padres para a linguagem SQL, denominada a partir dessa poca como ANSI/SQL. Este trabalho estendeu-se at 1986. Assim sendo criou-se o primeiro padro oficial para a linguagem (SQL/86).

O Histrico
Em 1987, o instituto ANSI e a organizao ISO (Internacional Standads Organizations) trabalharam em conjunto para determinar uma extenso ao padro da linguagem. Foi ento determinado um segundo padro para a linguagem (SQL/89). Os comits de trabalho ISO e ANSI continuaram trabalhando para determinar novas expanses para o formato original. Assim, em 1992, apresentaram um novo padro SQL denominado SQL2 (SQL/92), sendo o terceiro padro da linguagem. Depois, em 1999, foi apresentado oficialmente o quarto padro para o SQL, denominado SQL3 (SQL/99). Vale ressaltar ainda que apesar dos esforos de entidades e institutos de padronizao para determinar um padro de trabalho algumas empresas foram a barra, empurrando rotinas, funes e comandos fora do padro estabelecido.

05/02/2013

A Linguagem SQL
A idia original da SQL s previa seu uso de forma interativa. Aps sofrer alguns acrscimos, ela passou tambm a ter capacidade de ser utilizada em linguagens hospedeiras, tais como: COBOL, FORTRAN, C, etc. Atualmente, a linguagem SQL assume um papel muito importante nos gerenciamneto de banco de dados, podendo ter muitos enfoques: Linguagem interativa de consulta (query AdHoc) - Por meio de comandos SQL, os usurios podem montar consultas poderosas sem a necessidade da criao de um programa, podendo utilizar Forms ou ferramentas de montagem de relatrio. Linguagem de programao para acesso a banco de dados Comandos SQL embutidos em programas de aplicao que acessam os dados armazenados.

A Linguagem SQL
Linguagem de administrao de banco de dados O responsvel pela administrao do banco de dados (DBA) pode utilizar comandos SQL para realizar suas tarefas. Linguagem cliente/servidor Os programas (cliente) dos computadores usam comandos SQL para se comunicarem por meio de uma rede local, compartilhando os dados armazenados em um nico local (servidor). A arquitetura cliente servidor minimiza o trfego de dados pela rede. Linguagem para banco de dados distribudo A SQL auxilia na distribuio dos dados por meio de vrios ns conectados ao sistema de computao. Auxilia tambm na comunicao de dados com outros sistemas. Caminho de acesso a outros banco de dados em diferentes mquinas A SQL auxilia na converso entre diferentes produtos de banco de dados colocados em diferentes mquinas (de micro at mainframe).

05/02/2013

Viso Geral
A linguagem SQL pode manipular objetos de diferentes classes entre as funes de um SGBD, por ter numerosas aplicaes.

DDL criar (create) destruir (drop) modificar (alter)

Implementao Ambiente

Segurana Controle Administrao

SQL

DML consultar (select) inserir (insert) apagar (delete) atualizar (update)

Viso Geral
Definio de Dados (DDL) permite ao usurio a definio da estrutura e organizao dos dados armazenados, e as relaes que existem entre eles.
Manipulao de Dados (DML) permite ao usurio ou a um programa de aplicao, a incluso, remoo, seleo ou atualizao de dados previamente armazenados no banco de dados. Controle de acesso protege os dados de manipulaes no autorizadas. Compartilhamento de Dados coordena o compartilhamento dos dados por usurios concorrentes, sem contudo interferir na ao de cada um deles. Integridade dos Dados auxilia no processo definio da integridade dos dados, protegendo contra corrupes, inconsistncias e falhas do sistema de computao.

05/02/2013

Vantagens e Desvantagens
Com o uso e a padronizao da SQL, algumas vantagens so diretas: Independncia de fabricante - A SQL oferecida em praticamente todos os SGBDS, e os que ainda no tm esto se encaminhando para l. Com isso posso mudar de SGBD sem me preocupar com o novo que vai chegar. Portabilidade entre computadores A SQL pode ser utilizada desde um computador pessoal, passando por uma estao de trabalho, at um computador de grande porte. Reduo dos custos com treinamento Baseado no item anterior, as aplicaes podem se movimentar de um ambiente para outro sem que seja necessria uma reciclagem da equipe de desenvolvimento. Ingls estruturado de alto nvel A SQL formada por um conjunto bem simples de sentenas em ingls, oferecendo um rpido e fcil entendimento. Consulta interativa A SQL prov um acesso rpido aos dados, fornecendo respostas ao usurio, a questes complexas, em minutos ou segundos.

Vantagens e Desvantagens
Mltiplas vises dos dados A SQL permite ao criador do banco de dados levar diferentes vises dos dados a diferentes usurios. Definio dinmica dos dados Por meio da SQL, podem-se alterar, expandir ou incluir, dinamicamente, as estruturas dos dados armazenados com a mxima flexibilidade. Apesar de todas essas vantagens, algumas crticas so dirigidas SQL: A padronizao leva a uma, natural, inibio da criatividade, pois quem desenvolve aplicaes fica preso a solues padronizadas, no podendo sofrer melhorias ou alteraes.

A SQL est longe de ser uma linguagem relacional ideal, mas mesmo enfrentando algumas crticas, a linguagem SQL veio para ficar, auxiliando de forma bastante profunda a vida dos usurios e analistas no trabalho de manipulao dos dados armazenados em um banco de dados relacional.

05/02/2013

Conceitos Bsicos
fundamental ter em mente alguns conceitos bsicos que norteiam a utilizao de ferramentas baseadas em sistemas de gerenciamento de banco de dados relacionais. Campo est relacionado menor unidade de informao a ser armazenada em uma tabela (ou arquivo). Um campo pode apenas armazenar um s tipo de informao que esteja baseado em um nico tipo de dado. Registro est associado ao fato de ser um conjunto de campos existentes em uma tabela, que representa uma entidade do mundo real, como, por exemplo a ficha cadastral de uma pessoa. Tabela est relacionado ao conjunto de registros. Dependendo do sistema de banco de dados em uso, as tabelas so consideradas apenas arquivos. Banco de Dados est associado ao conjunto de tabelas (ou arquivos, dependendo do banco de dados em uso) existente para a administrao de um determinado evento do mundo real.

Conceitos Bsicos
Base de Dados muitas vezes se confunde com banco de dados. Base de dados na verdade o conjunto de banco de dados relacionados entre si, que possibilita efetuar o controle de um determinado tema, como so atualmente os sistemas ERP (Enterprise Research Planning) utilizados em vrias empresas. Sistema de Gerenciamento de Banco de Dados est relacionado ao software (ferramenta) que possibilita a facilidade de gerenciar as funes de edio, consulta, controle e remoo de registros ou tabelas de um banco de dados. Chave Primria est associado ao campo ou conjunto de campos de uma tabela que possuir um nico valor, que no ser repetido para nenhum outro registro. ndice est associado a outro campo diferente da chave primria que freqentemente utilizamos para consultas.

05/02/2013

Conceitos Bsicos
Chave Estrangeira caracteriza-se por ser um campo de uma tabela que possui associao com outra tabela onde este mesmo campo a chave primria. Integridade Referencial um mecanismo utilizado que evita a quebra de ligao entre os relacionamentos estabelecidos entre tabelas.

Exerccio 1

05/02/2013

De acordo com o diagrama do esquema de banco de dados relacional, analise as seguintes afirmativas. I. Na relao DEPOSITANTE, o atributo id_cliente chave estrangeira e faz parte da chave primria juntamente com o atributo num_conta. II. Na relao EMPRESTIMO, o atributo num_conta chave primria.

III. Na relao AGENCIA, o atributo id_agencia chave primria.


Marque a alternativa CORRETA: a) apenas as afirmativas I e II so verdadeiras. b) apenas as afirmativas I e III so verdadeiras. c) apenas as afirmativas II e III so verdadeiras. d) todas as afirmativas so verdadeiras.

Exerccio 2
Os registros armazenados em banco de dados podem conter, ou no, campos com valores nulos? O comando create table cria uma tabela em um banco de dados, mas no indica a chave primria dessa tabela: para a obteno dessa chave, necessrio utilizar o comando alter table?

05/02/2013

Exerccio 2
A normalizao de um modelo de dados relacional tem por objetivo evitar a perda de dados por falha no banco de dados? O relacionamento entre duas entidades com cardinalidade muitos-para-muitos no pode ser implementado diretamente em um banco de dados relacional convencional, sendo necessrio, para tanto, o uso de uma tabela adicional, que armazena chaves estrangeiras das duas entidades que se relacionam?

10

Вам также может понравиться