Upload
emmanuel-seziom
View
23
Download
1
Embed Size (px)
Citation preview
2010 Copyright OFICINA DO FUTURO Todos os direitos reservados
1
Solues Corporativas em TISistemas 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 IntelectualTodo 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 contedoh) 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 Data00.01 Verso Inicial Wallace Antony Feres 19/1/200600.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 tercliente, 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 umatupla.
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 em considerao suafuno e as funes de negcio que ele exercer.
O modelo do DB a ser adotado deve ser fortemente analisado antesde 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