• Nenhum resultado encontrado

Tecnologias e Linguagens para Banco de Dados I. Mercado de Trabalho. Oportunidades. Profissional da Área de Banco de Dados:

N/A
N/A
Protected

Academic year: 2021

Share "Tecnologias e Linguagens para Banco de Dados I. Mercado de Trabalho. Oportunidades. Profissional da Área de Banco de Dados:"

Copied!
11
0
0

Texto

(1)

Tecnologias e Linguagens

Tecnologias e Linguagens

para Banco de Dados I

para Banco de Dados I

Aula 1

Aula 1

4326: Introdução a banco de dados

4326: Introdução a banco de dados

Banco de Dados SQL Server

Banco de Dados SQL Server

Introdução a linguagem SQL

Introdução a linguagem SQL

2 2

Mercado de Trabalho

Mercado de Trabalho





Profissional da Área de Banco de Dados:

Profissional da Área de Banco de Dados:





Administrador de Banco de Dados jr.

Administrador de Banco de Dados jr.



Salário Médio: R$ 3.865,00Salário Médio: R$ 3.865,00





Administrador de Banco de Dados pleno

Administrador de Banco de Dados pleno



Salário Médio: R$ 5.256,00Salário Médio: R$ 5.256,00





Administrador de Banco de Dados sênior

Administrador de Banco de Dados sênior



Salário Médio: R$ 8.600,00Salário Médio: R$ 8.600,00 Fonte:

Fonte: http://info.abril.com.br/profissional/salarios/http://info.abril.com.br/profissional/salarios/em 30/12/2008em 30/12/2008

Oportunidades

Oportunidades



São Paulo São Paulo --SP SP --10/01/0910/01/09



Analista Programador Jr Analista Programador Jr

A STIPro busca profissionais dinâmicos com perfil abaixo:

A STIPro busca profissionais dinâmicos com perfil abaixo:

Possuir experiência em desenvolvimento de sistemas utilizando

Possuir experiência em desenvolvimento de sistemas utilizando

HTML/CSS,

HTML/CSS,

ASP.Net(C# ou VB.Net),

ASP.Net(C# ou VB.Net), banco de dados SQL Serverbanco de dados SQL Servere e ActionScript.

ActionScript.

Desejável alguma vivência com análise e WebService.

Desejável alguma vivência com análise e WebService. Fonte:

Fonte: http://www.apinfo.com/pesqn4.htmhttp://www.apinfo.com/pesqn4.htm em 15/01/2009

(2)

4 4

Certificações e Exames

Certificações e Exames

SQL Server 2005

SQL Server 2005





MCTS (Microsoft Certified Technology Specialist):

MCTS (Microsoft Certified Technology Specialist):



Implementar e manter bancos de dados usando instruções e Implementar e manter bancos de dados usando instruções e

especificações SQL Server 2005

especificações SQL Server 2005



Conhecimento abrangente do produtoConhecimento abrangente do produto



Uso de Ferramentas e Linguagem TUso de Ferramentas e Linguagem T--SQLSQL



Conhecimento da Interface de usuárioConhecimento da Interface de usuário



Cursos Exigidos:Cursos Exigidos: 

2779: Implementing a Microsoft SQL Server 2005 Database2779: Implementing a Microsoft SQL Server 2005 Database 

2780: Maintaining a Microsoft SQL Server 2005 Database2780: Maintaining a Microsoft SQL Server 2005 Database



Exame: 70Exame: 70--431431



Preço: R$ 1.896,00Preço: R$ 1.896,00 Fonte: KaSolution:

Fonte: KaSolution: http://www.kasolution.com.br/default.asphttp://www.kasolution.com.br/default.aspem 10/01/2009em 10/01/2009

5

5

Conteúdo

Conteúdo





2778: Escrevendo queries usando o Microsoft

2778: Escrevendo queries usando o Microsoft

SQL Server 2005 Transact SQL

SQL Server 2005 Transact SQL





4326: Introdução a banco de dados e Transact

4326: Introdução a banco de dados e Transact

-

-

SQL

SQL

 AvaliaçãoAvaliação

4326: Introdução a banco de

4326: Introdução a banco de

dados

dados

Descrevendo a Arquitetura Cliente/Servidor

Descrevendo a Arquitetura Cliente/Servidor

SQL Server 2005

SQL Server 2005

Componentes SQL Server 2005

(3)

7 7

Descrevendo a arquitetura

Descrevendo a arquitetura

Cliente/Servidor

Cliente/Servidor





Cliente, servidor e elementos de rede;

Cliente, servidor e elementos de rede;





O cliente solicita e o provedor fornece o serviço;

O cliente solicita e o provedor fornece o serviço;





Dados armazenados de maneira centralizada são mais

Dados armazenados de maneira centralizada são mais

integros

integros





Regras de negócio e de segurança são definidas no

Regras de negócio e de segurança são definidas no

servidor

servidor





Otimiza o tráfego na rede

Otimiza o tráfego na rede





Divide a carga de processamento entre cliente e

Divide a carga de processamento entre cliente e

servidor

servidor





Melhor escalabilidade

Melhor escalabilidade



É possível aumentar a quantidade de recursos sem É possível aumentar a quantidade de recursos sem

problemas. problemas. 8 8

SQL Server 2005

SQL Server 2005





SGBDR

SGBDR





Mantem relacionamentos entre tabelas.

Mantem relacionamentos entre tabelas.





Garante regras de integridade.

Garante regras de integridade.





Permite recuperar dados em caso de falha.

Permite recuperar dados em caso de falha.





Usa linguagem T

Usa linguagem T

-

-

SQL

SQL





Permite acesso multi

Permite acesso multi

-

-

usuário

usuário





SQL Server usa arquitetura Cliente/Servidor

SQL Server usa arquitetura Cliente/Servidor





Baseado em padrões ANSI

Baseado em padrões ANSI

-

-

SQL

SQL

Componentes

Componentes

SQL Server 2005

SQL Server 2005





Relational database engine:

Relational database engine:





Motor do banco de dados.

Motor do banco de dados.





Analyses Services (SSAS):

Analyses Services (SSAS):





Usado para servir aplicações OLAP (On

Usado para servir aplicações OLAP (On

-

-

Line

Line

Analyses Processing)

Analyses Processing)





Integration Services (SSIS):

Integration Services (SSIS):





Integração de dados com alta performance;

Integração de dados com alta performance;



(4)

10 10

Componentes

Componentes

SQL Server 2005

SQL Server 2005





Notification Services:

Notification Services:



Envia mensagens instantâneas para uma lista de contatos;Envia mensagens instantâneas para uma lista de contatos;





Reporting Services (SSRS):

Reporting Services (SSRS):



Extrai dados a partir de um servidor e gera relatórios.Extrai dados a partir de um servidor e gera relatórios.





Service Broker:

Service Broker:



Valida, transaciona e troca menssagens entre aplicações.Valida, transaciona e troca menssagens entre aplicações.





Server Agent:

Server Agent:



Automatiza tarefas de administração do banco de dadosAutomatiza tarefas de administração do banco de dados

Introdução a Banco de Dados

Introdução a Banco de Dados

SQL Server

SQL Server

Bancos de Dados Relacionais

Bancos de Dados Relacionais

Normalização

Normalização

Objetos de um banco de dados

Objetos de um banco de dados

Schemas

Schemas

Componente de tabelas de bancos de dados

Componente de tabelas de bancos de dados

12 12

Bancos de dados

Bancos de dados

Relacionais

Relacionais





Entidades

Entidades



Composta por atributos (não chave)Composta por atributos (não chave)





Chaves

Chaves



Identificam registros de maneira única ou estabelecem Identificam registros de maneira única ou estabelecem

relacionamentos relacionamentos





Relacionamentos

Relacionamentos

 Um para umUm para um 

Um para muitosUm para muitos



Muitos para muitosMuitos para muitos





Fisicamente apenas duas tabelas podem estar

Fisicamente apenas duas tabelas podem estar

relacionadas

(5)

13

13

Normalização

Normalização





1ª Forma normal (1FN):

1ª Forma normal (1FN):



Chave primária em todas as tabelasChave primária em todas as tabelas



Cada coluna um dadoCada coluna um dado



Não existe colunas repetidas (Autor1, Autor2, ... Telefone1, Não existe colunas repetidas (Autor1, Autor2, ... Telefone1,

Telefone2, ...)

Telefone2, ...)





2ª Forma normal (2FN):

2ª Forma normal (2FN):



Coluna não chave deve ser dependente funcional TOTAL da Coluna não chave deve ser dependente funcional TOTAL da

chave primária.

chave primária.





3ª Forma normal (3FN):

3ª Forma normal (3FN):



Não pode haver uma coluna nãoNão pode haver uma coluna não--chave que dependa de outra chave que dependa de outra

coluna não

coluna não--chave.chave.

14 14

Processo de

Processo de

Normalização

Normalização



Anomalias de Inserção:Anomalias de Inserção:Preencher o nome do autor mais de Preencher o nome do autor mais de

uma vez, ocupando espaço desnecessário.

uma vez, ocupando espaço desnecessário.



Anomalia de Recuperação:Anomalia de Recuperação:Nome do autor errado = Falhas de Nome do autor errado = Falhas de

recuperação de registro.

recuperação de registro.



Tabela não escalável:Tabela não escalável:Não permite que mais de dois autores Não permite que mais de dois autores

escrevam o mesmo livro.

escrevam o mesmo livro.

McGrawHill McGrawHill 537 537 Administração Administração 8586804770 8586804770 MARAKAS, MARAKAS, George George O’BRIEN, O’BRIEN, James James Administração de SI Administração de SI Érica Érica 262 262 Programação Programação 8571948542 8571948542 MENDES, MENDES, Sandro Sandro MANZANO, MANZANO, José José Delphi7 Delphi7 Editora Editora NPg NPg Area Area ISBN ISBN Autor2 Autor2 Autor1 Autor1 Titulo Titulo

Divisão da tabela

Divisão da tabela

Érica Érica 262 262 Delphi 7 Delphi 7 8571948542 8571948542 Editora Editora Npg Npg Titulo Titulo *ISBN *ISBN Informática Informática 1 1 Area Area *CodArea *CodArea Professor e Professor e consultor. consultor. MANZANO, José MANZANO, José José José MANZANO MANZANO 1 1 Biografia Biografia NomeCompleto NomeCompleto Sobrenome Sobrenome Nome Nome *CodAutor *CodAutor Livro Area Autor

(6)

16 16

Tabelas de

Tabelas de

Relacionamento

Relacionamento

4 4 8586804770 8586804770 2 2 8571948542 8571948542 3 3 8586804770 8586804770 1 1 8571948542 8571948542 *CodAutor *CodAutor *ISBN *ISBN 2 2 8586804770 8586804770 1 1 8586804770 8586804770 1 1 8571948542 8571948542 *CodArea *CodArea *ISBN *ISBN Livro_Autor Livro_Area 17 17

2FN: Dependência

2FN: Dependência

funcional total

funcional total

262 262 Delphi 7 Delphi 7 2 2 8571948542 8571948542 1 1 *Editora *Editora 262 262 Delphi 7 Delphi 7 8571948542 8571948542 Npg Npg Titulo Titulo *ISBN *ISBN McGrowHill McGrowHill 2 2 Érica Érica 1 1 Editora Editora *CodEditora *CodEditora Livro Editora 18 18

3FN: Dependência

3FN: Dependência

funcional parcial

funcional parcial

Professor e Professor e consultor. consultor. MANZANO, José MANZANO, José José José MANZANO MANZANO 1 1 Biografia Biografia NomeCompleto NomeCompleto Sobrenome Sobrenome Nome Nome *CodAutor *CodAutor Autor Professor e Professor e consultor. consultor. José José MANZANO MANZANO 1 1 Biografia Biografia Sobrenome Sobrenome Nome Nome *CodAutor *CodAutor Autor

(7)

19 19

Objetos de um banco de

Objetos de um banco de

dados

dados





Tabelas

Tabelas



Armazena dados de Armazena dados de

entidades distintas.

entidades distintas.





Views

Views



Encapsula uma consulta Encapsula uma consulta

em uma entidade relacional

em uma entidade relacional





Constraints

Constraints



Regras que regulam os Regras que regulam os

valores permitidos,

valores permitidos,

garantem a integridade dos

garantem a integridade dos

dados.

dados.





Indices

Indices



Campo de acesso rápido Campo de acesso rápido

aos dados de uma tabela.

aos dados de uma tabela.





Funções

Funções



Código que retorna um valor Código que retorna um valor

escalar ou uma tabela.

escalar ou uma tabela.





Procedimentos

Procedimentos



Código préCódigo pré--compilado para compilado para

ser executado. Retorna

ser executado. Retorna

parâmetros aos usuários.

parâmetros aos usuários.





Triggers (Gatilhos)

Triggers (Gatilhos)



Procedimentos executados ao Procedimentos executados ao

manipular dados em tabelas

manipular dados em tabelas

(inserir, alterar ou exlcuir)

(inserir, alterar ou exlcuir)

20 20

Schemas

Schemas

 Sintaxe:Sintaxe:

CREATE SCHEMA Nome_Schema CREATE SCHEMA Nome_Schema [<elemento_1>, ..., <elemento_n>] [<elemento_1>, ..., <elemento_n>]



Exemplo:Exemplo:

----Criando esquema MktDep e tabela pertencente ao esquemaCriando esquema MktDep e tabela pertencente ao esquema CREATE SCHEMA MktDep

CREATE SCHEMA MktDep

CREATE TABLE Produto(Codigo INT, Descricao VARCHAR(50)); CREATE TABLE Produto(Codigo INT, Descricao VARCHAR(50)); GO

GO

----Listando dados contidos nos campos da tabelaListando dados contidos nos campos da tabela SELECT * FROM MktDep.Produto; SELECT * FROM MktDep.Produto; GO

GO

----Excluindo a tabela e o esquema criados, respectivamenteExcluindo a tabela e o esquema criados, respectivamente DROP TABLE MktDep.Produto;

DROP TABLE MktDep.Produto; GO

GO

DROP SCHEMA MktDep; DROP SCHEMA MktDep; GO GO

Vantagens do uso de

Vantagens do uso de

Schemas:

Schemas:





Administrar o uso de permissões de objetos;

Administrar o uso de permissões de objetos;





Um Schema pode ser atribuído a muitos usuários;

Um Schema pode ser atribuído a muitos usuários;





Muitos usuários podem ser autorizados ao mesmo

Muitos usuários podem ser autorizados ao mesmo

esquema padrão;

esquema padrão;





Pode

Pode

-

-

se remover o nome ou a regra de um usuário sem

se remover o nome ou a regra de um usuário sem

mudar o nome qualificador dos objetos;

mudar o nome qualificador dos objetos;





Não é preciso armazenar objetos compartilhados em

Não é preciso armazenar objetos compartilhados em

um schema dbo:

um schema dbo:



CriaCria--se um esquema padrão comum para armazenar objetos se um esquema padrão comum para armazenar objetos

compartilhados.

(8)

22 22

Componentes

Componentes

da tabela

da tabela





Tabelas ou Entidades

Tabelas ou Entidades





Campos, Atributos ou Colunas

Campos, Atributos ou Colunas





Tipos de Dados

Tipos de Dados





Chaves primárias e estrangeiras

Chaves primárias e estrangeiras





Restrições (Constraints)

Restrições (Constraints)

Introdução a linguagem

Introdução a linguagem

SQL

SQL

SQL

SQL

ANSI

ANSI

-

-

SQL e T

SQL e T

-

-

SQL

SQL

Categorias do código SQL

Categorias do código SQL

24 24

SQL

SQL





Conceito criado pelo Dr. E.F Codd em 1970

Conceito criado pelo Dr. E.F Codd em 1970





Linguagem de programação não procedural

Linguagem de programação não procedural





Usada para consultar modelos de dados relacionais

Usada para consultar modelos de dados relacionais





Linguagens não

Linguagens não

-

-

procedurais vs linguagens procedurais

procedurais vs linguagens procedurais



Manipula uma lista de dados de uma vez.Manipula uma lista de dados de uma vez.



Permite aplicar operações únicas a cada elemento da lista.Permite aplicar operações únicas a cada elemento da lista.



O processamento do banco de dados determina a melhor O processamento do banco de dados determina a melhor

forma de listar e aplicar as operações aos dados.

forma de listar e aplicar as operações aos dados.



Linguagens procedurais exigem planejamento passo a passo.Linguagens procedurais exigem planejamento passo a passo.





Vantagens das linguagens não

Vantagens das linguagens não

-

-

procedurais

procedurais



Uma consulta exige menos linhas para ser feita.Uma consulta exige menos linhas para ser feita.



(9)

25

25

ANSI

ANSI

-

-

SQL e T

SQL e T

-

-

SQL

SQL





A ANSI define o padrão para a linguagem SQL

A ANSI define o padrão para a linguagem SQL





Diversos bancos de dados usam “dialetos” da

Diversos bancos de dados usam “dialetos” da

Linguagem SQL padrão ANSI

Linguagem SQL padrão ANSI





Quanto mais próximo do padrão ANSI mais portável é

Quanto mais próximo do padrão ANSI mais portável é

o banco de dados.

o banco de dados.





SQL Server 2000 e 2005

SQL Server 2000 e 2005



Implementam recursos do padrão ANSI SQL 92Implementam recursos do padrão ANSI SQL 92



SQL Server 2005 implementa também recursos do padrão SQL Server 2005 implementa também recursos do padrão

ANSI SQL 99 ANSI SQL 99 26 26

Transact

Transact

-

-

SQL

SQL





Implementação da

Implementação da

linguagem SQL pela

linguagem SQL pela

Microsoft;

Microsoft;





Fortemente ligado ao

Fortemente ligado ao

padrão ANSI

padrão ANSI

-

-

SQL;

SQL;





Categorias:

Categorias:



Linguagem de Definição Linguagem de Definição

de Dados (DDL) de Dados (DDL)  CREATECREATE  ALTERALTER  DROPDROP 

Linguagem de Controle Linguagem de Controle

de Dados (DCL) de Dados (DCL)  GRANTGRANT  REVOKEREVOKE  DENYDENY  Linguagem de Linguagem de Manipulação de Dados Manipulação de Dados (DML) (DML)  INSERTINSERT  UPDATEUPDATE  SELECTSELECT  DELETEDELETE

Exemplo DDL1:

Exemplo DDL1:





Criando um novo banco de dados, usando o banco de

Criando um novo banco de dados, usando o banco de

dados novo para criar um schema e uma nova tabela:

dados novo para criar um schema e uma nova tabela:

CREATE DATABASE Biblioteca;

CREATE DATABASE Biblioteca;

GO GO USE Biblioteca; USE Biblioteca; GO GO

CREATE SCHEMA Atendimento

CREATE SCHEMA Atendimento

CREATE TABLE Usuario(

CREATE TABLE Usuario(

CodUsuario INT NOT NULL PRIMARY KEY,

CodUsuario INT NOT NULL PRIMARY KEY,

Nome VARCHAR(50) Nome VARCHAR(50) ); ); GO GO

(10)

28

28

Exemplo DDL2:

Exemplo DDL2:





Criando uma nova tabela no banco de dados e no

Criando uma nova tabela no banco de dados e no

Schema que já foi criado:

Schema que já foi criado:

USE Biblioteca;

USE Biblioteca;

GO

GO

CREATE TABLE Atendimento.Emprestimo(

CREATE TABLE Atendimento.Emprestimo(

CodEmprestimo INT NOT NULL PRIMARY KEY,

CodEmprestimo INT NOT NULL PRIMARY KEY,

DtRetirada DATETIME, DtRetirada DATETIME, DtDevolucao DATETIME DtDevolucao DATETIME ); ); GO GO 29 29

Exemplo DDL3:

Exemplo DDL3:





ALTER: Altera a estrutura de objetos do banco de

ALTER: Altera a estrutura de objetos do banco de

dados:

dados:

USE AdventureWorks; USE AdventureWorks; GO GO

----Exemplo de declaração DDL ALTERExemplo de declaração DDL ALTER

ALTER TABLE Production.TransactionHistoryArchive

ALTER TABLE Production.TransactionHistoryArchive

DROP CONSTRAINT DROP CONSTRAINT PK_TransactionHistoryArchive_TransactionID; PK_TransactionHistoryArchive_TransactionID; GO GO 30 30

Exemplo DCL:

Exemplo DCL:





GRANT: Atribui privilégios de acesso a

GRANT: Atribui privilégios de acesso a

usuários:

usuários:

USE AdventureWorks

USE AdventureWorks

GO

GO

----

Exemplo de declaração DCL GRANT

Exemplo de declaração DCL GRANT

GRANT SELECT

GRANT SELECT

ON Production.Product

ON Production.Product

TO PUBLIC

TO PUBLIC

GO

GO

(11)

31

31

Exemplo DML:

Exemplo DML:





INSERT: Insere dados em tabelas;

INSERT: Insere dados em tabelas;

USE AdventureWorks;

USE AdventureWorks;

GO

GO

----

Exemplo de declaração DML INSERT

Exemplo de declaração DML INSERT

INSERT INTO Production.UnitMeasure

INSERT INTO Production.UnitMeasure

VALUES ('F2', 'Square Feet', GETDATE());

VALUES ('F2', 'Square Feet', GETDATE());

GO

GO

32 32

Comentários

Comentários





De linha (

De linha (

--

--

)

)



Abrange apenas uma linhaAbrange apenas uma linha





Exemplo:

Exemplo:

-- Seleciona todas as colunas e todas as linhas SELECT * FROM HumanResources.Employee; GO





De bloco (/* ... */)

De bloco (/* ... */)



Abrange blocos inteiros de declaraçõesAbrange blocos inteiros de declarações





Exemplo:

Exemplo:

/* Seleciona todas as colunas e todas as linhas a partir da tabela HumanResource.Employee */ SELECT * FROM HumanResources.Employee; GO

Melhores Praticas

Melhores Praticas





Formatação:

Formatação:



Palavras reservadas maiúsculasPalavras reservadas maiúsculas



IdentaçãoIdentação





Nomeando objetos:

Nomeando objetos:



Primeiras letras maiúsculas (DetalhePedido)Primeiras letras maiúsculas (DetalhePedido)



Incluir o nome dos Schemas ao usar tabelas Incluir o nome dos Schemas ao usar tabelas

(

(Vendas.Vendas.Cliente)Cliente)





Ponto e virgula indica o fim da declaração T

Ponto e virgula indica o fim da declaração T

-

-

SQL

SQL





Dar preferência ao uso do padrão ANSI

Dar preferência ao uso do padrão ANSI

-

-

SQL

SQL



Mais confiávelMais confiável



Mais portávelMais portável



Referências

Documentos relacionados

Companhia Editora Nacional “O grande livro dos lobos” “O grande livro das bruxas” Editora Dimensão. “O circo do meio-dia” – Sylvia Manzano

Autodidacta, aos 25 anos publica o primeiro romance Terra do pecado (1947), mesmo ano de nascimento de sua filha, Violante, fruto do primeiro casamento com Ilda Reis – com quem se

Acerca da contribuição do curso na área de monitoramento de mídias sociais, os respondentes citaram: compreensão sobre a importância da informação e do seu tratamento; maior

Apesar dessas limitações, o estudo mostrou que o grupo operativo é efetivo para a melhora das condições de saúde da pessoa com DM2, uma vez que o ensino do cuidado com os pés,

esfregando, cuidadosamente e levemente, com uma escova de nylon; 2-retirar totalmente o detergente e o excesso de água da pele, e passá-lo por um banho numa mistura de álcool

Nirenberg, Positive solutions of nonlinear elliptic equations involving critical.. Sobolev

Memória é onde se guardam as coisas do passado. Há dois tipos de memória: memórias sem vida própria e memórias com vida própria. As memórias sem vida própria são inertes. Não

Dar uma entrada contra um adversário de maneira temerária na disputa da bola - Por numa disputa de bola cometer uma falta temerária em seu adversário. +08:00 1T 10 Daniel Sartori