Jorge Ávila
Banco de Dados
Antes de mais nada Normalização:
Primeira Forma Normal: Uma tabela está na 1FN, se e somente se, não possuir atributos
multivalorados.
Uma relação está na 1FN quando todos os atributos da relação estiverem baseados em um domínio simples, não contendo grupos ou valores repetidos
Exemplo Projetos(codp, tipo, descrição, code, nome, categ, salário, data_início,
tempo_aloc)
Outra forma de identificar se a tabela não está na 1FN é verificando se existe tabela aninhadas, ou seja, mais de um registro para uma chave primária
Antes de mais nada
Normalização:
Segunda Forma Normal
Uma relação está na 2FN se, e somente se, estiver na 1FN e cada atributo
não-chave for dependente da chave primária inteira, isto é, cada atributo
não-chave não poderá ser dependente de apenas parte da chave.
No caso de tabelas com chave primária composta, se um atributo depende
apenas de uma parte da chave primária, então esse atributo deve ser
colocado em outra tabela.
Exemplo:
Projetos(codp, tipo, descrição)
Empregados(code, nome, categ, salário)
ProjEmp(codp, code, data_início, tempo_aloc)
Antes de mais nada
Normalização:
Terceira Forma Normal
Uma relação R está na 3FN, se estiver na 2FN e cada atributo
não-chave de R não possuir dependência transitiva, para cada
chave candidata de R.
Projetos(codp, tipo, descrição)
Empregados(code, nome, categ)
Categorias(categ, salário)
ProjEmp(codp, code, data_início, tempo_aloc)
BANCOS DE DADOS RELACIONAIS
Os Bancos de Dados Relacionais foram desenvolvidos para
facilitar o acesso aos dados. Pois enquanto em um banco de
dados hierárquico os usuários precisam definir as questões de
maneira mais específica, iniciando pela raiz, nos Bancos de
Dados Relacionais os usuários podem fazer perguntas
relacionadas através de vários pontos.
A arquitetura de um banco de dados relacional pode ser
descrita usando os termos tabela, linha e coluna. Veja um
exemplo;
BANCOS DE DADOS RELACIONAIS
Temos a “Tabela Clientes” que contém duas colunas que são o
“Código do Cliente” e o “Nome”, Cada linha é formada por
uma lista ordenada de colunas representando um registro.
Então um registro é uma instância de uma tabela, ou
entidade. Uma entidade é uma representação de um conjunto
de informações sobre determinado conceito do sistema. Toda
entidade possui atributos, que são as informações que
referenciam a entidade.
BANCOS DE DADOS RELACIONAIS
Se houverem informações a serem armazenadas, você tem
uma entidade. Exemplificando: Eu desejo armazenar os
seguintes dados do livro:
Título, Autor, Editora, Ano, Edição e Volume. Temos então a
entidade Livro.
No exemplo acima “Antônio Silva” é uma instância (registro)
da “Tabela Clientes”. As colunas de uma tabela são também
chamadas de atributos. Então a coluna “Nome” é um atributo
da “Tabela Clientes”.
BANCOS DE DADOS RELACIONAIS
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. No nosso caso a
chave da “Tabela Clientes” é o “Código do Cliente”, pois ele é
único para cada registro.
História
A primeira versão da linguagem SQL, chamada SEQUEL
(Structured Query English Language), surgiu em 1974 nos
laboratórios da IBM (Califórnia). Entre 1976 e 1977 ela foi
revisada e ampliada, tendo então o seu nome alterado para
SQL.
Devido ao sucesso da nova forma de consulta e manipulação
de dados dentro de um ambiente de banco de dados, sua
utilização tornou-se cada vez maior. Vários SGBD’s atuais
utilizam o SQL como a linguagem padrão para o acesso às
bases de dados.
Linguagem SQL Linguagem de definição de dados (DDL) Permite ao usuário a definição da estrutura e organização dos dados
armazenados, e das relações existentes entre eles. Alguns sistemas de banco de dados usam o comando ALTER, que
permite ao usuário alterar um objeto, por exemplo, adicionando uma coluna a uma tabela existente.
Outros comandos DDL: CREATE DATABASE
CREATE TABLE
CREATE INDEX
CREATE VIEW
ALTER TABLE
ALTER INDEX
DROP INDEX
DROP VIEW
Linguagem SQL
Linguagem de manipulação de dados (DML) Permite a um usuário, ou a um programa de aplicação, a
execução de operações de inclusão, remoção, seleção ou atualização de dados previamente armazenados na base de dados.
Os comandos que realizam respectivamente as funções acima referidas são:
Insert;
Select;
Update;
Delete.
função comandos SQL descrição do
comando
exemplo
inclusões Insert é usada para inserir um
registro (formalmente
uma tupla) a uma tabela
existente
Insert into Pessoa (id,
nome, sexo) value;
consultas Select O Select é o principal
comando usado em SQL
para realizar consultas a
dados pertencentes a
uma tabela.
Select * From Pessoa;
alterações Update para mudar os valores
de dados em uma ou
mais linhas da tabela
existente.
UPDATE Pessoa SET
data_nascimento =
'11/09/1985' WHERE
id_pessoa = 7
exclusões Delet permite remover linhas
existentes de uma
tabela.
DELETE FROM pessoa
WHERE id_pessoa = 7
Linguagem SQL
DCL - Linguagem de Controle de Dados
O DCL (Data Control Language - Linguagem de Controle de
Dados).
DCL controla os aspectos de autorização de dados e licenças de
usuários para controlar quem tem acesso para ver ou manipular
dados dentro do banco de dados.
Duas palavras-chaves da DCL:
GRANT - autoriza ao usuário executar ou setar operações.
REVOKE - remove ou restringe a capacidade de um usuário de executar
operações.
Linguagem SQL DTL - Linguagem de Transação de Dados
BEGIN WORK (ou START TRANSACTION, dependendo do
dialeto SQL) pode ser usado para marcar o começo de uma transação
de banco de dados que pode ser completada ou não.
COMMIT finaliza uma transação dentro de um sistema de
gerenciamento de banco de dados.
ROLLBACK faz com que as mudanças nos dados existentes desde 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 permite ao usuário especificar uma
consulta ("query") como uma descrição do resultado desejado
Vantagens e Desvantagens da
Linguagem SQL
Vantagens: Independência de fabricante
Portabilidade entre plataformas de hardware e software
Redução dos custos com treinamento
Usa inglês estruturado de alto nível
Permite consultas interativas
Múltiplas visões dos dados
Definição dinâmica dos dados
Vantagens e Desvantagens da
Linguagem SQL
Desvantagens: Falta de ortogonalidade nas expressões, funções embutidas,
variáveis indicadoras, referência a dados correntes, constante
NULL, conjuntos vazios, e etc;
Definição formal da linguagem após sua criação;
Discordância com as linguagens hospedeiras (geralmente
procedurais e orientadas para registros e não para conjuntos);
Falta de algumas funções;
Não dá suporte a alguns aspectos do modelo relacional (join
explícito, domínios, e etc.)
Críticas (segundo C.J. Date)
Tabelas dos Exemplos
As tabelas a seguir serão usadas nos exemplos que se seguem:
CLIENTE (cod_cli, nome_cli, endereco, cidade, cep, uf)
VENDEDOR (cod_vend, nome_vend, sal_fixo, faixa_comiss)
PEDIDO ( num_ped, prazo_entr, cd_cli, cd_vend)
ITEM_PEDIDO (no_ped, cd_prod, qtd_ped)
PRODUTO (cod_prod, unid_prod, desc_prod, val_unit)
Criação de um Bando de Dados SQL
Para a criação de um banco de dados em SQL temos os
seguintes comandos:
Creat Data Base;
Para conhecer quais os bancos de dados existentes dentro do
MySQL basta usar o comando SHOW DATABASES. SHOW
significa mostrar, apresentar, exibir e DATABASES significa
bases de dados ou bancos de dados, ou seja, manda mostrar
os bancos de dados existentes.
Criação e Destruição de Tabelas O comando CREATE TABLE é usado para criar uma tabela. A sua
forma geral é:
CREATE TABLE <nome_tabela> (<descrição das colunas>,
<descrição das chaves>);
onde:
<nome_tabela> dever ser substituído pelo nome da tabela a ser criada.
<descrição das colunas> deve ser substituída pela relação das colunas da tabela e seus respectivos tipos de dados (por exemplo, smallint, char, varchar, integer, number, float e etc). <descrição das chaves> deve ser substituída pela lista das colunas que são tratadas como chaves estrangeiras.
Script de Criação das Tabelas dos
Exemplos
Algumas colunas podem receber o valor NULL (nulo), e a
coluna definida como chave primária, além de não poder
receber NULL.
Script de Criação das Tabelas dos
Exemplos
Criação e Destruição de Tabelas Para excluirmos uma tabela existente devemos usar o comando
DROP
TABLE. A sua forma geral é:
DROP TABLE <nome_tabela>;
onde:
<nome_tabela> dever ser substituído pelo nome da tabela a ser excluída.
Exemplos drop table item_pedido;
drop table pedido;
drop table vendedor;
drop table produto;
drop table cliente;
Executando Consultas sobre as
Tabelas
Selecionando Colunas Específicas de uma Tabela
Problema:
Listar todos os produtos com as respectivas descrições, unidades
e valores unitários.
Executando Consultas sobre as
Tabelas
Problema:
Listar os nomes dos clientes, as cidade e os estados onde eles
estão localizados.
EXERCICIO1. Com base no que você já aprendeu sobre banco de dados faça uma produção
textual de no mínimo 5 linhas descrevendo o diagrama abaixo:
EXERCICIO2. Marque V para verdadeiro e F para falso:
( ) CREATE, DROP, ALTER são comandos da Linguagem de Definição de
Dados (DDL);
( ) É possível usarmos o comando CREATE para alterar estruturas da base de dados.
( ) O comando UPDATE realiza a exclusão de registros em uma tabela;
( ) Para apagar linhas da tabela tanto faz usar o comando DROP como o DELETE.
( ) O comando INSERT realiza a inclusão de um ou mais registros em uma tabela;
A sequência correta seria:
a) V -V - F –V - F;
b) V - F - F –V -V;
c) F -V -V – F - F;
d) V - F - F – F -V;
EXERCICIO3. Relacione a primeira coluna com a segunda e no final, indique a resposta
correta:
1 - CREATE ( ) Comando responsável por inserir valores em uma tabela;
2 – INSERT ( ) - Responsável por retornar registros de uma tabela;
3 – DROP ( ) - Remove registros de uma tabela;
4 – SELECT ( ) -Tem o poder de remover estruturas do banco de dados;
5 – DELETE ( ) - Responsável por criar estruturas no banco de dados;
A sequência correta seria:
a) 4 - 2 - 1 - 3 - 5;
b) 2 - 4 - 5 - 3 - 1;
c) 3 - 5 - 4 - 2 - 1;
d) 2 - 1 - 3 - 4 - 5;
INTRODUÇÃO AO MySQL1º Passo:
Após a Instalação do MySQL no seu computador, abra o MySQL Command LineClient. No meu caso eu baixei a versão 5.5 e sempre deixo fixado no Menu Iniciar, mas qualquer coisa é só você seguir o caminho (Iniciar-> Todos os Programas-> MySQL-> MySQL Server).
jorgeavila11.wordpress.com
Gostou ?
Compartilha...
Recommended