Introdução à Banco de Dados

Propaganda
Introdução à
Banco de Dados
Nathalia Sautchuk Patrício
Histórico

Início da computação:
dados guardados em arquivos de texto
Problemas nesse modelo:


redundância não-controlada de dados
 aplicações devem se preocupar com a forma
de armazenamento dos dados
Início dos anos 60: primeiros bancos de dados


O que é um banco de dados?




Bancos de dados são conjuntos de dados
integrados que tem por objetivo atender a uma
comunidade de usuários
Redundância controlada
Dados armazenados de forma mais
consistente
Gerenciamento facilitado
O que é um SGBD?


SGBD: Sistema Gerenciador de Banco de
Dados
SGBD é um software que incorpora as funções
de definição, recuperação e alteração de dados
em um banco de dados
Exemplos de SGBD

MySQL

Oracle

MS SQL Server

PostgreSQL

SQLite
Banco de Dados X SGBD

Banco de Dados: um modelo, uma abstração

SGBD: classe de softwares
Modelo de Dados


Modelo de Dados: descrição formal da
estrututura de um banco de dados
Exemplos:

Modelos Navegacionais

Modelo Orientado a Objetos

Modelo Relacional (mais usado)

Modelo de Entidades e Relacionamentos
(conceitual)
Projeto de Banco de Dados

Modelagem Conceitual

Modelo Lógico

Modelo Físico
Projeto de Banco de Dados
Relacional

Modelo Conceitual


Modelo Lógico


Modelo Entidade-Relacionamento
Modelo Relacional
Modelo Físico

Tabelas
Modelo Conceitual

Modelo Entidade-Relacionamento


Entidade: conjunto de objetos da realidade
modelada sobre os quais deseja-se manter
informações no banco de dados
Relacionamento: conjunto de associações entre
ocorrências de entidades
Modelo Conceitual
Modelo Lógico

Modelo Relacional


Primary Key: conjunto mínimo de um ou mais
atributos e relacionamentos cujos valores servem
para distinguir uma ocorrência da entidade das
demais ocorrência da entidade das demais
ocorrências da mesma entidade
Foreign Key: conjunto de um ou mais atributos e
relacionamentos cujos valores aprecem
necessariamente em outra entidade como Primary
Key
Modelo Lógico


Estudante (EstudanteID, UsuarioID, Nome,
Sobrenome, DataNascimento, Sexo, Serie,
Endereco, ...)
UsuarioID referencia Usuario
Usuario (UsuarioID, Email, Senha, Nome,
Sobrenome, DataNascimento, Sexo, Tipo,
Sabendo)
Modelo Físico
SQL




SQL: Structured Query Language (Linguagem
de Consulta Estruturada)
SQL é uma linguagem de pesquisa declarativa
para banco de dados relacional
É padronizado pela ANSI e ISO
Possui variações e extensões produzidos pelos
diferentes fabricantes de SGBDs
Palavras-Chave em SQL

DML - Linguagem de Manipulação de Dados

DDL - Linguagem de Definição de Dados

DCL - Linguagem de Controle de Dados

DTL - Linguagem de Transação de Dados

DQL - Linguagem de Consulta de Dados

Cláusulas

Operadores Lógicos

Operadores Relacionais

Funções de Agregação
DML - Linguagem de Manipulação
de Dados

SELECT: usado para selecionar um conjunto
de registros de uma tabela existente


SELECT Nome,Sobrenome FROM Estudante
WHERE Sexo=1;
INSERT: usado para adicionar um novo
registro a uma tabela existente

INSERT INTO `Eventos` VALUES (6, 'XII Ciência
Jovem de Pernambuco', '2008-10-29 00:00:00',
'2008-10-31 00:00:00', 'Olinda - PE', 'Sec. de
Ciência, Tec. e Meio Ambiente do Governo do
Estado', 'http://www.espacociencia.pe.gov.br', 4, 1);
DML - Linguagem de Manipulação
de Dados

UPDATE: usado para alterar um registro
existente na tabela


UPDATE Estudante SET Nome='Nathalia' WHERE
UsuarioID=15
DELETE: usado para apagar um registro
existente na tabela

DELETE FROM Estudante WHERE UsuarioID=15;
DDL - Linguagem de Definição de
Dados

CREATE: cria um objeto (uma Tabela, por
exemplo) dentro da base de dados


CREATE TABLE User (`UserID` int(11) NOT NULL
default '0', `Name` varchar(255) NOT NULL default
'', `LastName` varchar(255) NOT NULL default '',
`Sex` char(1) default NULL, `CPF` varchar(12) NOT
NULL default '', PRIMARY KEY (`UserID`));
DROP: apaga um objeto do banco de dados


DROP TABLE User;
ALTER: alguns SGBDs usam esse comando, que
permite ao usuário alterar um objeto, como,adicionando
uma coluna a uma tabela existente.
DCL - Linguagem de Controle de
Dados


GRANT: autoriza ao usuário executar ou setar
operações
REVOKE: remove ou restringe a capacidade
de um usuário de executar operações

ALTER PASSWORD

CREATE SYNONYM
DTL - Linguagem de Transação
de Dados



BEGIN WORK (ou START TRANSACTION):
usado para marcar o começo de uma
transação de banco de dados
COMMIT: envia todos os dados das mudanças
permanentemente.
ROLLBACK: faz com que as mudanças nos
dados existentes desde que o último COMMIT
ou ROLLBACK sejam descartadas
DQL - Linguagem de Consulta de
Dados



Embora tenha apenas um comando, a DQL é a
parte da SQL mais utilizada
O comando SELECT é composto de várias
cláusulas e opções, possibilitando elaborar
consultas das mais simples às mais elaboradas
Possui:

Cláusulas

Operadores Lógicos

Operadores Relacionais

Funções de Agregação
Cláusulas

Condições para definir os dados que se deseja
selecionar ou modificar em uma consulta






FROM: especifica a tabela que se vai selecionar os registros
WHERE: especifica as condições que devem reunir os
registros que serão selecionados
GROUP BY: separa os registros selecionados em grupos
específicos
HAVING: expressa a condição que deve satisfazer cada
grupo
ORDER BY: ordena os registros selecionados com uma
ordem especifica
DISTINCT: seleciona dados sem repetição
Operadores Lógicos



AND (E lógico): avalia as condições e devolve um
valor verdadeiro caso ambos sejam corretos
OR (OU lógico): avalia as condições e devolve um
valor verdadeiro se algum for correto
NOT (Negação lógica): aevolve o valor contrário da
expressão
Operadores Relacionais

< Menor que

> Maior que

<> Diferente de

<= Menor ou Igual que

>= Maior ou Igual que

= Igual a

BETWEEN: especifica um intervalo de valores

LIKE: utilizado na comparação de um modelo e
para especificar registros de um banco de dados."

Ex: Like" + extensão % vai significar buscar todos
resultados com o mesmo início da extensão
Funções de Agregação

São usadas dentro de uma cláusula SELECT
para devolver um único valor que se aplica a
um grupo de registros





AVG: calcula a media dos valores de um campo
determinado
COUNT: devolve o número de registros da seleção
SUM: devolve a soma de todos os valores de um
campo determinado
MAX: devolve o valor mais alto de um campo
especificado
MIN: devolve o valor mais baixo de um campo
especificado
Junção de Tabelas

NATURAL JOIN



SELECT Nome,Sobrenome,InstituicaoNome FROM
Estudante NATURAL JOIN Instituicao
SELECT Nome,Sobrenome,InstituicaoNome FROM
Estudante INNER JOIN Instituicao ON
Instituicao.InstituicaoCNPJ =
Estudante.InstituicaoCNPJ
INNER JOIN

SELECT Nome,Sobrenome,InstituicaoNome FROM
Estudante INNER JOIN Instituicao ON
Instituicao.InstituicaoCNPJ =
Estudante.EscolaCNPJ
Junção de Tabelas

OUTER JOIN

LEFT JOIN

RIGHT JOIN
Bibliografia

HEUSER, Carlos Alberto. Projeto de Banco de
Dados. 5ª Edição. Editora Sagra Luzzatto.

http://pt.wikipedia.org/wiki/Banco_de_dados

Tutorial de SQL: http://www.criarweb.com/sql/
Download