Vous êtes sur la page 1sur 25

2010 Copyright OFICINA DO FUTURO Todos os direitos reservados

1
Solues Corporativas emTI
Sistemas Distribudos:
Banco de Dados Relacional
MS SQL SERVER
O Projeto Oficina do Futuro uma iniciativa conjunta
do Instituto Eldorado, IBM e Flextronics (antiga Solectron),
desenvolvido em parceria desde 2004.
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
2
Aviso de Propriedade Intelectual
Todo o contedo desta obra intelectual de propriedade intelectual nica e exclusiva do Instituto Eldorado, IBM e Flextronics.
Esta obra intelectual destina-se nica e exclusivamente a ser utilizada por instrutores e alunos de projetos cientficos, culturais e educacionais que o
Instituto Eldorado, IBM e Flextronics promovam, em conjunto ou separados, e em consonncia com o objetivo desses projetos. Qualquer outra forma
de uso estritamente proibida.
Dependem de prvia e expressa autorizao dos proprietrios, por escrito, usos que impliquem em:
a) Reproduo parcial ou integral desta obra intelectual;
b) Edio desta obra intelectual;
c) Adaptao e quaisquer outras transformaes desta obra intelectual;
d) Traduo desta obra intelectual para qualquer idioma;
e) Incluso desta obra intelectual em fonograma ou produo audiovisual;
f) Distribuio desta obra intelectual, independentemente do meio utilizado;
g) A incluso desta obra em base de dados, sistema de armazenamento em computador, microfilme e demais formas de arquivamento do gnero.
Licena de uso especial para instrutores: a fim de disseminar o conhecimento contido nesta obra intelectual a terceiros, os instrutores que fizerem
parte dos Projetos realizados pelo Instituto Eldorado, IBM e Flextronics tero direito a uma licena de uso especial, nos seguintes termos:
a) A licena concedida por prazo indeterminado e em abrangncia mundial.
b) A licena permite aos instrutores utilizar o contedo desta obra intelectual, no todo ou em parte, nas suas apresentaes e aulas expositivas,
sncronas ou assncronas, tenham elas ou no finalidade lucrativa.
c) A licena no permite a excluso de quaisquer avisos de propriedade intelectual, direitos autorais, copyright e afins.
d) A licena no permite aos instrutores modificar o contedo desta obra intelectual, no todo ou em parte, qualquer que seja o motivo.
e) A licena no permite:
i. A edio desta obra intelectual;
ii. A adaptao ou transformao desta obra intelectual;
iii. A traduo desta obra intelectual para qualquer idioma;
iv. A incluso desta obra intelectual em fonograma ou produo audiovisual;
v. A distribuio desta obra intelectual, independentemente do meio utilizado;
vi. A incluso desta obra em base de dados, sistema de armazenamento em computador, microfilme e demais formas de arquivamento do gnero,
para propsitos diversos daqueles autorizados pela licena.
f) A licena no pode ser transferida a terceiros.
g) Sempre que houver o uso desta obra intelectual, dever ser feita uma meno ao Projeto pelo qual o instrutor obteve o seu contedo
h) Sempre que houver o uso desta obra intelectual, dever ser feita uma meno aos direitos de propriedade intelectual do Instituto Eldorado, IBM e
Flextronics.
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
3
Reviso Descrio Responsvel Data
00.01 Verso Inicial Wallace Antony Feres 19/1/2006
00.02 Incluso de Aviso, Copyright e Correo. Marcelo dos Santos Draetta 28/5/2010
Histrico de Reviso
Banco de Dados Relacional MS SQL SERVER
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
4
Banco de Dados Relacional MS SQL SERVER
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
5
Definio : Uma base de dados um local para se armazenar e
recuperar dados pertinentes um determinado objetivo. Por ex.:
Informaes sobre funcionrios.
Uma base de dados se compem de objetos, ou seja, tabelas,
ndices, constraints, views, stored procedures, etc.
Para que seja possvel se conectar base de dados necessrio
que exista um login. Mesmo que um determinado usurio possua
um login, ainda ser necessrio que ele possua permisses sobre
os objetos que compem o banco de dados, isso determina a
segurana das informaes.
Viso Geral
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
6
Descrio : O modelo E-R (Entidade-Relacionamento) tem por
objetivo estruturar uma base de dados para que seja possvel a
garantia da integridade de dados de forma independente da
aplicao. Isto importante, pois, mesmo que sejam realizados
acessos por fora da aplicao, os dados no estaro vulnerveis.
Um bom exemplo de uma estrutura E-R um pedido, ele ter
cliente, endereo, nmero de pedido e item do pedido, que se
relacionaro da seguinte forma:
Um endereo no poder existir sem um cliente
Um pedido no poder existir sem um cliente
Um item de pedido no poder existir sem um pedido
Modelo E-R
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
7
Para que tenhamos um bom modelo E-R em bases de dados
transacionais, utilizamos os principios de NORMALIZAO
As formas normais mais popularizadas so as chamadas : Primeira
Forma Normal, Segunda Forma Normal e Terceira Forma
Normal
Definio :
1a. FN : Cada campo de uma tabela precisa conter somente um nico
valor, e cada parcela de dado deve ser armazenado em somente um
lugar. Essa exigncia algumas vezes expressa como uma exigncia
de dados atmicos, ou seja, cada campo indivisvel.
2a. FN : Cada registro deve conter dados sobre uma e somente uma
tupla.
3a. FN : Todos os campos no-chave, precisam depender diretamente
da chave primria.
Normalizao
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
8
Existe ainda outras 3 formas normais conhecidas
Boyce-Codd: algumas vezes chamada de BCNF que adiciona a
restrio de que cada coluna que no esteja na chave primria deve
depender de toda a chave primria.
4a. FN : Esta forma trata das questes de dependncias de conjuntos de tuplas.
Para obter a 4a. FN, pode-se dividir essa a tabela em duas, uma para cada tipo
de relacionamento.
5a. FN : Esta forma considera um problema que ocorre quando uma tabela no
puder ser decomposta em duas sem perder informao, mas pode ser
decomposta em mais de duas tabelas. Esta forma mais uma noo acadmica e
no um projeto de base de dados prtico, sendo assim no ser tentado
demonstrar sua utilizao.
Normalizao
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
9
Assim como a normalizao tem por objetivo organizar os dados de
uma forma que permita fazer alteraes sem redundncia, a
denormalizao visa permitir a existncia de duplicidade de
registros. Algumas vezes podemos efetuar uma denormalizao de
uma tabela objetivando um melhor desempenho.
Denormalizao
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
10
A Primary Key ou chave primria tem por objetivo garantir a
unicidade de uma linha. Ela deve ser composta pelo menor nmero
de colunas que permitam atingir este objetivo.
A Foreign Key ou chave estrangeira tem por objetivo garantir a
existncia da dependencia entre duas tabelas, desta forma
conseguiremos garantir a integridade dos dados armazenados.
Uma foreign key deve sempre referenciar uma primary key.
Nenhum registro que possua uma foreign key referenciando poder ser
apagado antes que sua dependncia seja apagada.
Uma tabela pode ter uma FK apontando para ela mesma, isso se
chama auto relacionamento.
Primary Keys e Foreign Keys
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
11
Exerccio.
Faa o modelo de uma entrada de pedido.
Modelo E-R
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
12
Para que uma base de dados possa armazenar dados, ela utiliza a
seguinte distribuio:
Data File : Arquivo ou arquivos que contm os dados
Log File : Arquivo ou arquivos que contm os dados antes que os
mesmo sejam armazenados no Data File ou descartados.
Temporary Area : Objeto que ser utilizado para o armazenamento de
dados de forma temporria, como uma ordenao de dados ou uma
tabela temporria.
Uma base de dados est dividida em blocos, pginas e extents
Os blocos de dados (data blocks) so as menores unidades de
armazenamento.
Alguns RDBMS, como o MS SQL Server, no fazem uso de data
blocks, portanto sua menor unidade de armazenamento so as pginas
Armazenamento de dados
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
13
Uma pgina de dados no MS SQL Server possui um tamanho de 8Kb,
ou seja, 8192 bytes, porm o mximo que ela pode armazenar so
8096 bytes, pois 96 bytes so utilizados para fins de cabealho.
Uma extent um conjunto de 8 pginas contguas de dados, evitando
assim que a base de dados fique fragmentada, ou seja, possua
pedaos em diferentes setores dos discos. Existem 2 tipos de extents :
Uniformes e mistas.
Extents uniformes so aquelas que pertencem totalmente a um
nico objeto.
Extents mistas so aquelas usadas por objetos pequenos demais
para ocupar as 8 pginas sozinho. Assim uma extent mista contm
mais de um objeto.
Armazenamento de dados
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
14
Uma base de dados pode conter os seguintes objetos.
Logins
Tabelas
ndices
Constraints
Views
Triggers
Stored Procedures
Funces
Tipos de dados
Objetos de uma base de dados
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
15
O MS SQL Server possui uma interface bastante amigvel, atravs
da qual o usurio pode realizar todas as atividades relativas ao
RDBMS. Esta interface chama-se ENTERPRISE MANAGER.
Atravs dela podemos criar logins, bases de dados, tabelas, etc.
A Interface do MS SQL Server
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
16
O login uma parte extremamente importante para que possamos
tornar os dados disponveis a um ou mais usurios.
O login composto de :
Nome, que nico.
Senha, caso no seja desejado que exista uma relao de confiana
entre o MS SQL Server e o Windows.
Database default : qual a base de dados que o usurio ir se conectar
ao iniciar uma conexo com o SQL Server, desde que no seja
informado nenhum outro no momento da conexo.
Server roles : so permisses pr-definidas pelos RDBMS.
Database access : quais as bases de dados que o usurio poder ter
acesso e qual ser sua permisso.
Logins
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
17
Os ndices tem por objetivo melhorar a performance das consultas
que sero realizadas em uma tabela.
Podem existir dois tipos de ndices no MS SQL Server:
Clustered : onde a tabela estar fsicamente ordenada por ele, por este
motivo cada tabela somente poder possuir 1 nico ndice
CLUSTERED.
NonClustered : sero ndices que auxiliaram na busca durante uma
consulta, como este tipo de ndice NO ordenar a tabela fsicamente,
podero existir at 255 ndices deste tipo.
Porm vale lembrar que da mesma forma que um ndice melhora a
performance durante uma consulta, ele tambm trar impactos
negativos durante as operaes de gravao, pois sero pontos
adicionais que necessitaro ser atualizados.
ndices
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
18
ndices
Vdeo:
ELD_OFI_DSDBA_VIDEO_MS_SQL_SERVER_BASICO_0510191
6_PT.AVI
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
19
Quando criamos um DB devemos levar emconsiderao sua
funo e as funes de negcio que ele exercer.
O modelo do DB a ser adotado deve ser fortemente analisado antes
de sua implementao pois muito dispendioso alter-lo depois.
Criao de database
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
20
CREATE DATABASE database_name
[ ON
[ < filespec > [ ,...n ] ]
[ , < filegroup > [ ,...n ] ]
]
[ LOG ON {< filespec > [ ,...n ] }]
[ COLLATE collation_name ]
[ FOR LOAD | FOR ATTACH ]
< filespec > ::=
[ PRIMARY ]
( [ NAME = logical_file_name , ]
FILENAME = 'os_file_name'
[ , SIZE = size ]
[ , MAXSIZE = {max_size | UNLIMITED }]
[ , FILEGROWTH = growth_increment ] ) [ ,...n ]
< filegroup > ::=
FILEGROUP filegroup_name < filespec > [ ,...n ]
Criao de database
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
21
So os objetos em uma base de dados que realmente armazenam
os dados. Todos os outros objetos da base de dados dependem da
sua existncia.
Os dados em uma tabela so armazenados em linhas e colunas.
Cada uma das colunas s pode conter um tipo de dado, tais como
carateres, nmeros, imagens, etc.
Uma vez criada uma tabela na base de dados, voc poder
comear a criar os outros objetos que dependem dela.
Tabelas
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
22
Constraints so regras criadas de forma a
manter a integridade lgica dos dados.
O SQL Server 2000 suporta 5 classes de
constraints:
NOT NULL
CHECK
UNIQUE
Primary Key
Foreign Key
Constraints de Tabela X constraints de coluna
Constraints
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
23
Views so criadas para facilitar a vida do usurio, eliminando a
necessidade de queries complexas.
Views tambm podem ser usadas no controle de segurana.
CREATE VIEW [< owner > . ] view_name [ ( column [ ,...n ] ) ]
[ WITH < view_attribute > [ ,...n ] ]
AS
select_statement
[ WITH CHECK OPTION ]
< view_attribute > ::=
{ENCRYPTION | SCHEMABINDING | VIEW_METADATA }
Views
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
24
Uma stored procedure nada mais do que um conjunto de instrues
Transact-SQL contidas dentro de um nico bloco.
O SQL Server 2000 retorna dados em quatro tipos diferentes:
Output parameters
Return codes
Result set
Global cursor
CREATE PROC [ EDURE ] [ owner. ] procedure_name [ ; number ]
[ {@parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
[ WITH
{RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION }]
[ FOR REPLICATION ]
AS sql_statement [ ...n ]
Stored Procedures
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
25
Transaes
Vdeo:
ELD_OFI_DSDBA_VIDEO_MS_SQL_SERVER_BASICO_0510191
7_PT.AVI

Vous aimerez peut-être aussi