UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM
COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN
BANCO DE DADOS II
BANCO DE DADOS II
AULA 1 – Linguagem SQL
Linguagem de definição de dados (DDL)
DISCIPLINA: Banco de Dados II
PROF.: ROMULO VANZIN
Banco de Dados II

Estudar as características das Linguagens de
consulta (SQL).

Capacitar o aluno a implementar soluções
utilizando bancos de dados relacionais;

Proporcionar ao aluno familiarização com as
diversas tecnologias existentes para banco de
dados, de forma a capacitá-lo a selecionar uma
alternativa adequada à situação.
Banco de Dados II – Avaliação
?
Banco de Dados II –
Bibliografia Básica

ELMASRI, R.; NAVATHE, S. B. Sistemas de Banco de
Dados. 4. Ed. São Paulo: Pearson Education, 2005.

SILBERSCHATZ, A.; KORTH, H. F.; SUDARSHAN, S.
Sistema de Banco de Dados. 5. Ed. Rio de Janeiro:
Campus, 2006.
AULA 1
Linguagem SQL
OBJETIVOS

O objetivo desta aula da disciplina de Banco de Dados II, é
apresentar os conceitos iniciais sobre Linguagem SQL.

Será demonstrada uma visão geral sobre os conceitos
envolvendo a Linguagem SQL mais especificamente DDL.

Ao final da aula, espera-se que os alunos tenham
compreendido a teoria sobre Linguagem SQL.
TÓPICOS A SEREM ABORDADOS




Introdução
Banco de Dados Relacional
Introdução a Structure Query Linguage
(Linguagem de Consulta Estruturada)
Linguagem de Definição de Dados - DDL
INTRODUÇÃO

Os Bancos de Dados e os sistemas de Bancos de
Dados se tornaram componentes essenciais no
cotidiano da sociedade moderna.

No decorrer do dia, a maioria de nós se depara com
atividades que envolvem alguma interação com os BD.

Por exemplo, se formos ao banco para efetuarmos um
depósito ou retirar dinheiro, se fizermos reservas em um
hotel ou se fizermos uma consulta no sistema da
biblioteca de nossa universidade, muito provavelmente
essas atividades envolverão uma pessoa ou um
programa de computador que acessará um BD.
Banco de Dados Relacional

O Modelo Relacional foi introduzido por Ted Codd, da
IBM Research, em 1970(Codd 1970).

Característica deste modelo foi a simplicidade (conceitos
de uma relação matemática), tabela de valores.

A arquitetura de um banco de dados relacional pode ser
descrita de maneira informal ou formal. Na descrição
informal estamos preocupados com aspectos práticos
da utilização e usamos os termos tabela, linha e coluna.

Na descrição formal estamos preocupados com a
semântica formal do modelo e usamos termos como
relação (tabela), tupla(linhas) e atributo(coluna).
Banco de Dados Relacional
TABELAS ou ENTIDADES





Todos os dados de um banco de dados relacional (BDR)
são armazenados em tabelas.
Uma tabela é uma simples estrutura de linhas e colunas.
Em uma tabela, cada linha contém um mesmo conjunto
de colunas.
Em um banco de dados podem existir uma ou centenas
de tabelas.
As tabelas associam-se entre si através de regras de
relacionamentos, estas regras consistem em associar
um ou vários atributo de uma tabela com um ou vários
atributos de outra tabela.
Banco de Dados Relacional
REGISTROS OU TUPLAS


Cada linha formada por uma lista ordenada de
colunas representa um registro, ou tupla.
Os registros não precisam conter informações
em todas as colunas, podendo assumir valores
nulos quando assim se fizer necessário.
Banco de Dados Relacional
COLUNAS


As colunas de uma tabela são também
chamadas de atributos.
Ex.: O campo Nome, ou endereço de uma
tabela de um BD relacional.
Banco de Dados Relacional
CHAVES

As tabelas relacionam-se umas as outras através de chaves. Uma
chave é um conjunto de um ou mais atributos que determinam a
unicidade de cada registro.

Chaves Primárias - (PK - Primary Key) é a chave que identifica cada
registro dando-lhe unicidade. A chave primária nunca se repetirá.

Chaves Estrangeiras - (FK - Foreign Key) é a chave formada
através de um relacionamento com a chave primária de outra
tabela. Define um relacionamento entre as tabelas e pode ocorrer
repetidas vezes. Caso a chave primária seja composta na origem, a
chave estrangeira também o será.
Banco de Dados Relacional
EXEMPLO
SQL - Structured Query Language

É uma linguagem de pesquisa declarativa para banco de
dados relacional (base de dados relacional).

Muitas das características originais do SQL foram
inspiradas na álgebra relacional.

Embora o SQL tenha sido originalmente criado pela
IBM,
rapidamente
surgiram
vários
"dialetos"
desenvolvidos por outros produtores. Essa expansão
levou à necessidade de ser criado e adaptado um
padrão para a linguagem. Esta tarefa foi realizada pela
American National Standards Institute (ANSI) em 1986 e
ISO em 1987.
SQL -
Structured Query Language

O SQL foi revisto em 1992 e a esta versão foi dado o nome
de SQL-92.

Foi revisto novamente em 1999 e 2003 para se tornar
SQL:1999 (SQL3) e SQL:2003, respectivamente.

O SQL:1999 usa expressões regulares de emparelhamento,
queries recursivas e gatilhos (triggers).

Também foi feita uma adição controversa de tipos nãoescalados e algumas características de orientação a objeto.
O SQL:2003 introduz características relacionadas ao XML,
sequências padronizadas e colunas com valores de autogeneralização (inclusive colunas-identidade).
SQL -
Structured Query Language

Dividida em partes:

DDL – (Data Definition Language - Linguagem
de Definição de Dados)
 Comandos para a definição (criação), a
modificação e a remoção de relações.

DML - (Data Manipulation Language
Linguagem de manipulação de dados)
 Comandos
-
para Inserção, Remoção e Atualização de
tuplas no Banco de Dados.
DDL – Linguagem de Definição de Dados

Uma DDL permite ao utilizador definir tabelas
novas e elementos associados.

A maioria dos bancos de dados de SQL
comerciais tem extensões proprietárias no DDL.

Alguns comandos: Create, Drop e Alter
DDL – Linguagem de Definição de Dados
 Declarações
Create

Create - utilizada para construir um novo banco de
dados, tabela, índice ou consulta armazenada.

Uma declaração CREATE, em SQL, cria um objeto
dentro do Sistema de Gerenciamento de Banco de
Dados Relacional (SGBDR).

Os tipos de objetos que podem ser criados dependem
de qual SGBDR está sendo utilizado, porém a maioria
suporta a criação de tabelas, índices, usuários e banco
de dados.
DDL – Linguagem de Definição de Dados
 Create

Database
Sintaxe:
create database “<caminho...\banco.fdb>”;

Criar um Banco de Dados Firebird();
 Ex.:
create database “C:\AULA1.FDB”;
DDL – Linguagem de Definição de Dados

CREATE DATABASE 'C:\AULA1.FDB'
USER 'SYSDBA' PASSWORD
'masterkey';
DDL – Linguagem de Definição de Dados

CONNECT

O comando CONNECT realiza a conexão com
um arquivo físico de banco de dados
criado com o comando CREATE DATABASE.

Ex.: CONNECT 'C:\AULA1.FDB' USER
'SYSDBA' PASSWORD 'masterkey';
DDL – Linguagem de Definição de Dados
 Create

Table
Talvez o comando mais comum da declaração
CREATE seja o comando CREATE TABLE.
A sintaxe típica é:
CREATE TABLE [nome da tabela] ([definições de
colunas]) [parâmetros da tabela]

DDL – Linguagem de Definição de Dados

Create Table


É com este comando, que criamos as tabelas.
Exemplo:

CREATE TABLE ALUNO (
MATRICULA INTEGER,
NOME VARCHAR(40),
ENDERECO VARCHAR(60),
TELEFONE CHAR(8),
CIDADE VARCHAR(30));

COMMIT;
DDL – Linguagem de Definição de Dados
 Create





Table
create table é o nome do comando;
Aluno é o nome da tabela;
e entre parênteses irão os atributos da tabela;
Os atributos são uma lista separada por “,”;
Cada atributo é composto obrigatoriamente de
nome e tipo;
DDL – Linguagem de Definição de Dados
 Show
Table

O comando SHOW TABLE mostra a estrutura
(campos, tipo de dados, etc) de uma tabela.

Ex.:
SHOW TABLE ALUNO;
DDL – Linguagem de Definição de Dados
 Show
Tables

O comando SHOW TABLES é responsável por
mostrar um listagem com as tabelas de um
banco de dados.

Ex.: SHOW TABLES;
DDL – Linguagem de Definição de Dados
 Alter
Table

O comando Alter Table pode alterar a estrutura de uma
tabela.

Vamos alterar a tabela Aluno adicionando uma coluna:

ALTER TABLE ALUNO ADD CPF VARCHAR(14);
COMMIT;
DDL – Linguagem de Definição de Dados
 Alter
Table

Modificar o tipo ou tamanho do campo:

ALTER TABLE ALUNO ALTER CPF TYPE
CHAR(14);

Excluir um campo:

ALTER TABLE ALUNO DROP CPF;
DDL – Linguagem de Definição de Dados
 Drop
Table

Excluir uma tabela:

DROP TABLE ALUNO;
EXERCÍCIO
Defina os comandos SQL para:
1 - Criar uma nova base de dados chamada locadora;
2 – Criar as seguintes tabelas na base de dados:
 cliente
filmes
 cod_cliente varchar(20)
cod_filme integer
 nome varchar(90)
cod_categoria integer
 endereco varchar(120)
descricao varchar(90)
 cidade varchar(50)
valor numeric




locacao
cod_cliente varchar(20)
cod_filme integer
data_locacao date
categorias
cod_categoria integer
descricao varchar(80)
EXERCÍCIO
Defina os comandos SQL para:
3 – Alterar o campo cod_cliente das tabelas
para o tipo integer
4 – Adicionar na tabela locacao um campo
para a data de devolucao do filme
5 – Excluir o campo cidade da tabela cliente
6 – Excluir a tabela categorias
DÚVIDAS
[email protected]
Download

BANCO DE DADOS II AULA 1 – Linguagem SQL