Sei sulla pagina 1di 62

2007/2008 2Semestre

RuiGraaRibeiro
Email:ruirib@ua.pt
IEETASala2.03Ext.24121

2008 Rui Ribeiro

Bases de Dados 07/08

13Fevereiro2008

2008 Rui Ribeiro

Bases de Dados 07/08

Avaliao: Avaliao 60%TesteTerico 40%Trabalhoprticofinal:


35%Trabalhoprticofinalerelatrio 5%Apresentaopblicatrabalho

Notas p prticas e apresentao p 2005/2006 e 2006/2007 sero vlidas

de

2008 Rui Ribeiro

Bases de Dados 07/08

OT 2feira,10h3012h00,ANF.V
Serodadosalgunscontedosnodirectamente

deBDnaOT:
ASP.NET2.0,porexemplo RevisodeconceitosdaTPeP

Outrohorrioatendimento
2feira, feira 16h00 18h00, 18h00 IEETA Nestaounoutraaltura,marcarpreviamente

poremail il
2008 Rui Ribeiro Bases de Dados 07/08 4

1. 2. 3. 4. 5. 6. 7 7.

Catherine M. Ricardo, Databases Illuminated", Jones and Bartlett, 2004, ISBN 0-7673-3314-8 C. J. Date, An Introduction to Database Systems, y 8th Edition, Addison-Wesley, 2004, ISBN 0-321-18956-6 R. Elmasri, S. Navathe (2002). Fundamentals of database systems, 3rd edition.Addison-Wesley. ISBN 0-8053-1755-4. Robert Vieira, Professional SQL Server 2005 Programming, Wiley Publishing (Wrox), 2007, ISBN 0-7645-8434-0 Robert Vieira, "Professional SQL Server 2000 Programming", Wiley W Wrox B k 2000, Books, 2000 ISBN 1-861004-48-6 1 861004 48 6 Glenn A. Jackson, "Relational Database Design With MicroComputer Applications", Prentice-Hall Slid Slides d das aulas l t i terico-prticas ti e prticas, ti que sero disponibilizados em http://elearning.ua.pt

2008 Rui Ribeiro

Bases de Dados 07/08

T d omaterial Todo i l das d aulas l disponibilizado: di ibili d


Slides Outro O t material t i l exerccios, i ficheiros fi h i de d bases b d dados, de d d scripts i t

SQL

Avisoseoutra informaorelevante Meiode contacto


Emails geraisenviados apartir dosistema de

elearning Certifiquemseque usamoemail daUA


2008 Rui Ribeiro Bases de Dados 07/08 6

Dado um problema criar um modelo que suporte os requisitos de informao do problema Obter uma estrutura relacional que implemente esse modelo, ndices incluidos Criar a estrutura da BD usando SQL Explorar a BD usando SQL
Queries simples, scripts, stored procedures, triggers,

cursores Optimizar desempenho quer por via de modificaes das queries, quer por via do uso de ndices
2008 Rui Ribeiro Bases de Dados 07/08 7

2008 Rui Ribeiro

Bases de Dados 07/08

Base de Dados e Sistema de Base de Dados


Um sistema de base de dados um sistema computacional para

armazenamento de dados, em que os dados mantidos no sistema podem ser partilhados. Isto significa que os dados esto organizados de forma a poderem ser utilizados por vrias aplicaes e no apenas por uma dados, armazenado sob a forma de um ou mais ficheiros

A base de dados propriamente dita pode ser vista como um repositrio de

O sistema proprociona ao utilizador um conjunto de facilidades que

permitem acesso e gesto dos dados armazenados: adicionar, consultar, alterar ou remover dados

2008 Rui Ribeiro

Bases de Dados 07/08

Sistema de Gesto de Bases de Dados (SGBD) Aplicao

Aplicao

Base de Dados

Aplicao

2008 Rui Ribeiro

Bases de Dados 07/08

10

Dados
Basededadosnicaouvrias Integrao Integrao de vrios ficheiros de dados, dados com redundncia total ou parcialmente eliminada Partilha Acesso simultneo de vrios utilizadores aos items individuais de dados armazenados

2008 Rui Ribeiro

Bases de Dados 07/08

11

Hardware:
Hardware

de armazenamento, , usado p para armazenar os dados Processador e memria que suportam o software do sistema de bases de dados

2008 Rui Ribeiro

Bases de Dados 07/08

12

Software:
Camada de software entre os utilizadores e a base de

dados: Sistema de Gesto de Bases de Dados (SGBD) (DataBase Management System DBMS) Todo T d o acesso aos dados d d mantidos tid na base b d dados de d d intermediado pelo SGBD Uma funo muito importante que o SGDB proporciona a transparncia em relao aos detalhes ao nvel do hardware

2008 Rui Ribeiro

Bases de Dados 07/08

13

Utilizadores:
Programadores: desenvolvem programas que utilizam a base de

dados, em vrias linguagens. dados linguagens Esses programas interagem com o SGBD para aceder aos dados mantidos na base de dados
Utilizadores finais: aqueles que usam o sistema, atravs de aplicaes

desenvolvidas pelos programadores ou ferramentas de acesso ao sistema de bases de dados fornecidas p pelo fabricante do sistema
Administrador da base de dados: utilizador que cria a base de dados e

implementa i l os mecanismos i necessrios i para que a base b d dados de d d possa desempenhar o papel que lhe cabe na organizao; assegura que o sistema tem o desempenho adequado
2008 Rui Ribeiro Bases de Dados 07/08 14

Sistema esconde pormenores de implementao das estruturas de dados


Desconhecese

completamente qual a estrutura fsica armazamento dos dados e da informao associada aos dados

de

Maioreficincia

2008 Rui Ribeiro

Bases de Dados 07/08

15

Nvel exterior Vista 1 Vista 2

...

Vista n

Nvel conceptual

Nvel fsico

2008 Rui Ribeiro

Bases de Dados 07/08

ABSTRA ACO
16

P tilh facilitada Partilha f ilit d da d informao i f


SGBD concebido para essa tarefa e com mecanismos para

a facilitar

Controloda redundncia Consistnciados dados Melhorsegurana dosdados


Mecanismosdiversificados decontrolo deacesso Encriptao E i de d informao i f Possibilidade de estabelecimento de polticas adequadas

de bac backup up e recuperao ecupe ao

2008 Rui Ribeiro

Bases de Dados 07/08

17

Melhoriadaintegridadedosdados
Restries deintegridade g avriosnveis( (domnio, ,

referencial,outrosnveis) A integridade de enorme importncia para assegurar a qualidade dos dados e da informao que deles se pode retirar

Acessibilidadefacilitadaaosdados
Uso U d deli linguagensstandard t d d interfacesgrficas

2008 Rui Ribeiro

Bases de Dados 07/08

18

M lh Controlo Melhor C t l de d Concorrncia C i


Mecanismosadequados dedeteco eresoluo de

conflitos resultantesdo acessoconcorrente

Padresde dadosestabelecidos paratoda a organizao


Representaode dadosuniforme

Desenvolvimentomais rpidode novasaplicaes Economiasde escala


Uma nica plataforma, geral, para manuteno dos dados

para a organizao g relevantes p

2008 Rui Ribeiro

Bases de Dados 07/08

19

C Custo do d SGBD
OsSGBDde dimensoempresarial tmcustos

elevados l d

Custode hardware
Dependendo D d d da d dimenso di do d SGBD, SGBD o hardware h d

necessrio pode ser caro, embora hoje o custo no seja to relevante

A centralizao de recursos pode levar a uma maior vulnerabilidade


combatida via redundncia de hardware e software

custa de um custo adicional, , claro


2008 Rui Ribeiro Bases de Dados 07/08 20

A i Arquitectura genrica i ANSI/SPARC


nonica alguns sistemas no suportam toda a arquitectura

3nveis
nvelexterno(vistasindividuais) nvelconceptual(vistaglobal) nvelfsico(comoestoosdadosarmazenados)

2008 Rui Ribeiro

Bases de Dados 07/08

21

Nvel externo Vista 1 Vista 2

...

Vista n

Nvel conceptual

Nvel fsico

2008 Rui Ribeiro

Bases de Dados 07/08

ABSTRA ACO
22

Nvel Externo nvel do utilizador, onde se descreve a parte da base de d d que a ele dados l lhe lh interessa i t Pode haver inmeras vistas externas, correspondendo s necessidades de cada utilizador Vista 1: Form1, C#, DML, Vista 2: 2 Form2, Form2 Java, Java DML Vista 3: DML interactivo aplicao externa ou ferramenta do SGBD

2008 Rui Ribeiro

Bases de Dados 07/08

23

Inclui toda a estrutura da base de dados, tal qual vista pelo administrador:
Entidades,

com atributos e relaes propriedades e associaes) Inclui todas as restries sobre os dados

(objectos,

Suporta todas as vistas externas:


Tm de poder ser derivveis a partir deste

Modelo lgico: corao da BD


Derivado a partir do modelo conceptual A obteno de um modelo conceptual a tarefa mais

dif il no desenvolvimento difcil d l i d uma BD de


2008 Rui Ribeiro Bases de Dados 07/08 24

ImplementaofsicadaBD determinado, ,g grossomodo, , p peloSGBD


Podeserespecificado,emparte,porquem

desenhaaBD

No nvel interno, um registo (estudante, empregado nvel lgico) reside numa localizao especfica do disco

2008 Rui Ribeiro

Bases de Dados 07/08

25

Asbasesdedadosmudamcomotempo,medida queseinseremeremovemdados
Instncia
Designaoquerepresentaoconjuntodedadosarmazenados numdeterminadoinstantenabasededados

Esquema
estruturadabasededados
esquemafsico esquema q conceptual p subesquema(vistas/aplicaes)

2008 Rui Ribeiro

Bases de Dados 07/08

26

Capacidade de modificar um esquema num nvel sem alterar o esquema do nvel seguinte acima
Resulta da arquitectura ANSI / SPARC

independncia ao nvel fsico


capacidade de mudar a estrutura fsica sem haver repercusses ao nvel conceptual (sem necessidade de alterar o modelo da base de dados) permite modificar a estrutura fsica, fsica para aumento do desempenho, sem consequncias negativas ao nvel conceptual

independncia p ao nvel lgico g


capacidade de mudar a estrutura conceptual sem haver necessidade de reescrever as aplicaes (ex: introduzir contas extracto na base de dados de um banco) mais difcil, difcil mas tambem se faz, a menos que haja eliminao de parte da estrutura
2008 Rui Ribeiro Bases de Dados 07/08 27

Definio f daestruturadabasededados instruesDDL


Definiodastabelasecamposrespectivos estabelecer os limites a que certos campos tm de cumprir

restries de integridade

Modificaodaestruturadabasededados
Para suportar novos dados, modificaes, ou para optimizar

desempenho

Definio de restrues de acesso aos diferentes utilizadores


Eventual uso de vistas, embora nem sempre a respectiva definio

seja necessria

2008 Rui Ribeiro

Bases de Dados 07/08

28

Utilizador 1 Utilizador 2 Utilizador 3 * Vista ext. 1 * Vista ext. 2

Utilizador 5

Nvel conceptual p Adm Adm. BD

Sistema de Gesto de Bases de Dados (SGBD)

Nvel fsico
Bases de Dados 07/08

*Interface de Utilizador
29

2008 Rui Ribeiro

2008 Rui Ribeiro

Bases de Dados 07/08

30

1nvel Omundoreal
Organizao g p para a q qual a base de dados ser

desenvolvida Esta uma organizao complexa, complexa demasiado complexa, cuja realidade tem de ser simplificada
Registamse, se desta realidade, realidade apenas os dados que so relevantes para a tomada de deciso o universo de discurso

Universo de discurso a parte do mundo real que

ser representada na base de dados


2008 Rui Ribeiro Bases de Dados 07/08 31

Representaouniversodediscurso
Identificamse entidades ou objectos que representam

pessoas, lugares, conceitos, para os quais queremos registar dados Cada C d entidade tid d (objecto ( bj t / conceito) it ) representado t d por atributos

O modelo tem de representar:


Os conceitos relevantes do universo de discurso Relaes entre esses conceitos relevantes (associaes ou

relaes)

O modelo deve ser um espelho da realidade


Bases de Dados 07/08 32

2008 Rui Ribeiro

O modelo lgico representa a estrutura da base de dados Para cada entidade (objecto / conceito) no modelo conceptual temos um tipo de registo no modelo lgico Para cada tipo de registo, registo existem um ou mais tipos de itens de dados, que correspondem aos atributos das entidades j / conceitos) (objectos

2008 Rui Ribeiro Bases de Dados 07/08 33

A estrutura da base de dados mantida pelo SGBD num dicionrio de dados Este dicionrio mantm a informao sobre todos os elementos dessa estrutura:

Tipos de registo (tabelas no modelo relacional) Tipos de d itens de d dados d d (campos) Outra informao relevante sobre estrutura

2008 Rui Ribeiro

Bases de Dados 07/08

34

A base de dados conter instncias ou ocorrncias A cada entidade (objecto) no mundo real, corresponder a ocorrncia de um registo na base de dados Cada registo inclui valores para os diferentes campos que o compem

2008 Rui Ribeiro

Bases de Dados 07/08

35

Oconceito it de d modelo d l de d dados d d subjacente bj t estrutura t t d da base dedados:


Permitedescrever aestrutura deuma basede dados

dados,semntica dosdados,relaes entredados,restries

Vriosmodelos dedados propostos:


Modeloslgicos baseadosem objectos: objectos Descrevemos dadosnos nveis2e3.Vriosmodelos,dos quaisalguns dos mais conhecidosso:
ModeloEntidadeAssociao ModeloOrientado aObjectos

Modeloslgicos baseadosem registos: Nvel N l3 Visolgica ede descriode maisalto nvelda implementao

2008 Rui Ribeiro

Bases de Dados 07/08

36

Modelobaseadoemobjectos(entidades) Baseado numa percepo do mundo constitudo por entidades e por relaes entre elas Cada entidade distinguese de outra por um conjunto especfico de atributos
Ex:(nmero,saldo)caracterizamumacontabancria

Associao Representa uma relao entre entidades


Bases de Dados 07/08 37

2008 Rui Ribeiro

Conjunto de entidades

Atributos

Associaes entre entidades

Ligaes

nome

rua

cidade nmero saldo

Cliente

ClienteConta

Conta

2008 Rui Ribeiro

Bases de Dados 07/08

38

2008 Rui Ribeiro

Bases de Dados 07/08

39

Aviao -referencia -marca -modelo modelo

Aeroporto

Aterra 0..* 0..*

-codigo -nome -cidade -pais

1
Mercadorias -tipo carga Passageiros -n passageiros

0..*
Voo -companhia aerea -n -dias da semana Etapa -n etapa

1..*

2008 Rui Ribeiro

Bases de Dados 07/08

Aeroporto Chega ada

Aeroporto Partida

0..* 0..

40

Descrio D i dos d dados d d aos nveis i lgico l i e nvel l externo Especificam estrutura implementao lgica e

Base de dados organizada num conjunto de g de formato fixo de vrios tipos registos

2008 Rui Ribeiro

Bases de Dados 07/08

41

CLIENTE
nome Antnio C l Carlos Carlos Jlio Jlio rua Joo I C Cega Cega Liberdade Liberdade cidade Aveiro C i b Coimbra Coimbra Porto Porto nmero 900 556 647 801 647

CONTA
nmero 900 556 647 801 saldo 20000 17500 350000 72500

2008 Rui Ribeiro

Bases de Dados 07/08

42

dados d d representados d porconjuntode d records d relaesrepresentadasporligaes(ponteiros) b de base d d dados d organizada i d emrvore

Antnio

Joo I

Aveiro

Jlio

Liberdade

Porto

Carlos

Cega g

Coimbra

556 900 20000

17500

647

350000 647 350000 801 725000

2008 Rui Ribeiro

Bases de Dados 07/08

43

dadossorepresentadosporconjuntoderecords relaesrepresentadasporligaes(ponteiros) basededadosorganizadacomoumconjuntode grafos


Antnio Joo I Aveiro 900 20000

556 Carlos Cega Coimbra 647

17500

350000

Jlio

Liberdade

Porto

801

725000

2008 Rui Ribeiro

Bases de Dados 07/08

44

Proporciona um modelo com suporte terico , suporte p matemtico formal slido, No usa ponteiros ou links, links ao contrrio do que acontece com os modelos de rede e hierrquico que o que possibilita o tal hierrquico, suporte formal

2008 Rui Ribeiro

Bases de Dados 07/08

45

1.

Anlise detalhada do mundo real


determinao das necessidades funcionais dos

utilizadores determinao das necessidades de informao subjacentes


2 2. 3.

Obteno de um modelo conceptual


independente da plataforma de implementao

E lh de Escolha d um SGBD

2008 Rui Ribeiro

Bases de Dados 07/08

46

Mapeamento do modelo conceptual no pelo SGBD modelo de dados usado p 5. Desenvolvimento de um modelo fsico
4.

Organizao dos dados considerando as estruturas do SGBD a usar e os recursos de hardware e software

Implementao do modelo fsico (uso de DDL) 7. Explorao da BD 8. Avaliao e optimizao de desempenho


6.
2008 Rui Ribeiro Bases de Dados 07/08 47

Odesenvolvimentoiterativo Nemsempre p humadistino toclaraentre ospassos


comumhaveralgumafuso fuso entrepassos4e5 Passo8podesurgirantes

2008 Rui Ribeiro

Bases de Dados 07/08

48

2008 Rui Ribeiro

Bases de Dados 07/08

49

O modelo relacional pode ser visto como partes importantes p tendo 3 p


objectos integridade operadores

Acomponenteobjectos: j
relao, tuplo, cardinalidade, grau, domnio e

chave primria
2008 Rui Ribeiro Bases de Dados 07/08 50

Relao corresponde, aproximadamente, ao conceito de tabela Tuplo uma linha da tabela. O n de tuplos a cardinalidade Atributo uma coluna da tabela. O n de atributos o grau Chave primria Ch i i um identificador id ifi d nico i para a tabela. Uma coluna ou um conj. de colunas Domnio D i um conj. j de d valores, l d onde de d um atributo t ib t de uma dada relao retira os seus valores

2008 Rui Ribeiro

Bases de Dados 07/08

51

Termo Relacional relao atributo tuplo grau g cardinalidade chave primria domnio
2008 Rui Ribeiro

Significado tabela coluna linha ou registo n de colunas n de linhas identificador nico conj. de valores
Bases de Dados 07/08 52

Definio(Codd,CACM13,n6,Junho70) UmaBDrelacional umaBDquevista peloutilizadorcomoumacolecode relaesnormalizadas* comvriosgraus. graus

2008 Rui Ribeiro

Bases de Dados 07/08

53

Visoumpoucomenosformal:
Osdadossovistosp pelosutilizadorescomo

tabelas(eapenastabelas) Os operadores disposio dos utilizadores geram tabelas a partir das existentes usando alguns operadores relacionais

2008 Rui Ribeiro

Bases de Dados 07/08

54

Chave Primria

Nmero

Texto

Cidade

Domnios

Fornecedor

Cd For Nome_F Cd_For Nome F Cidade_F Cidade F


Relao 1 2 3 4 Silva Pereira Castro Antunes Atributos Grau
2008 Rui Ribeiro Bases de Dados 07/08

Cardina alidade

Porto Aveiro Sta Joana Esgueira

55

Descrevemrelaes entreconjuntos Tiposde cardinalidade dasassociaes:


Um para um: uma instncia em A est associada no

mx. com uma instncia em B e viceversa.


A a1 a2 a3 B b1 b2 b3

2008 Rui Ribeiro

Bases de Dados 07/08

56

Um para muitos: uma instncia em A est associada

com qualquer n de instncias em B, B contudo uma instncia em B est no mx. associada com uma instncia em A.
B A a1 a2 a3 b1 b2 b3 b4

2008 Rui Ribeiro

Bases de Dados 07/08

57

Muitos para muitos: uma instncia em A est

associada com qualquer n de instncias em B e uma instncia em B est associada com qualquer n de instncias em A.
A a1 a2 a3 3 a4 a5 B b1 b2 b3 b4

2008 Rui Ribeiro

Bases de Dados 07/08

58

Chave Primria

Text(3)

Text

Text

Domnios

Fornecedor

Cd For Nome_F Cd_For Nome F Cidade_F Cidade F


Relao s1 s2 s3 s4 Silva Pereira Castro Antunes Atributos Grau
2008 Rui Ribeiro Bases de Dados 07/08

Cardina alidade

Porto Aveiro Sta Joana Esgueira

59

Domnio conjunto, com um nome, de valores l atmicos todos d do d mesmo tipo


Assim, , os domnios p podem ser vistos como os

conjuntos de todos os valores possveis que podem ser assumidos p p por cada atributo Valores dos atributos so retirados dos domnios

2008 Rui Ribeiro

Bases de Dados 07/08

60

Definio de restries que asseguram a integridade dos dados mantidos na base de dados Restriesnascomparaesdedados
Ex.

ALUNO.RefCdCurso=CURSO.CdCurso Emprincpiopodemosdizerquesfazsentidocomparar atributosdefinidosparaomesmodomnio Usadoemqueries,joins,etc.

Osdomniosso,assim,tipos dedados
Bases de Dados 07/08 61

2008 Rui Ribeiro

NomesdeDomniossonicosnaBD NomesderelaessonicosnaBD Nomes de atributos so nicos dentro da relao em que esto inseridos

2008 Rui Ribeiro

Bases de Dados 07/08

62

Potrebbero piacerti anche