bases de dados parte i introdução: conceitos básicosfds/aulas/bd/1617/slides/partei.pdf ·...

16
Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: Conceitos Básicos 1 Bases de Dados Parte I Introdução: conceitos básicos (Estes slides são a continuidade evolutiva dos slides de Ricardo Rocha (2005-2014) e de Fernando Silva (1995-2000), e são baseados no livro de Elmasri & Navathe)

Upload: lylien

Post on 06-Oct-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bases de Dados Parte I Introdução: conceitos básicosfds/aulas/BD/1617/Slides/parteI.pdf · Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: ... Conceitos Básicos 7 ... Conceitos

Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: Conceitos Básicos 1

Bases de Dados

Parte I

Introdução: conceitos básicos

(Estes slides são a continuidade evolutiva dos slides de Ricardo Rocha (2005-2014) e de Fernando Silva (1995-2000), e são baseados no livro de Elmasri & Navathe)

Page 2: Bases de Dados Parte I Introdução: conceitos básicosfds/aulas/BD/1617/Slides/parteI.pdf · Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: ... Conceitos Básicos 7 ... Conceitos

Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: Conceitos Básicos 2

Alguns Conceitos

§  Basededados(BD):conjuntodedadosqueserelacionamentresi.

§  Dados:factosconhecidosquetêmalgumsignificadoequepodemserguardados.

§  Universo: parte domundo real sobre o qual os dados guardados nabasededadosdizemrespeito.«  Empresa:empregados,departamentos,projetos,...«  Universidade:alunos,professores,unidadescurriculares,inscrições,horários,...«  Contactos:nomes,endereços,telefones,...«  Bancos:clientes,contas,movimentos,todasastransações,...«  CompanhiaAérea:reservas,horários,frota,...«  Vendas:clientes,produtos,compras,...

Page 3: Bases de Dados Parte I Introdução: conceitos básicosfds/aulas/BD/1617/Slides/parteI.pdf · Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: ... Conceitos Básicos 7 ... Conceitos

Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: Conceitos Básicos 3

Sistemas de Gestão de Bases de Dados (SGBDs)

So<warequepermitecriaremanipularumabasededados.«  Coleçãodedadosinter-relacionados(basededados)

«  Conjuntodeprogramasparaacederaosdados

«  AmbientedeuElizaçãoconvenienteeeficiente.

«  e.g.MySQL,MariaDB,SQLite,PostGreSQL,Oracle,SQL-Server,...

§  OsSGDBsvisamultrapassarosinconvenientesderepresentarumaBDs

diretamentesobreosistemasdeficheiros,comosejam:§  MulEplicidadedeficheiroseformatos

§  Atomicidadedasalterações

§  AcessosconcorrentesdemúlEplosuElizadores

§  Problemasdesegurança

Page 4: Bases de Dados Parte I Introdução: conceitos básicosfds/aulas/BD/1617/Slides/parteI.pdf · Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: ... Conceitos Básicos 7 ... Conceitos

Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: Conceitos Básicos 4

Sistema de Base de Dados

SGBD Software para processar

consultas/programas

Software para acesso aos dados

Dados Catálogo

Sistema de Base de Dados

Aplicações do utilizador consultas/programas

Page 5: Bases de Dados Parte I Introdução: conceitos básicosfds/aulas/BD/1617/Slides/parteI.pdf · Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: ... Conceitos Básicos 7 ... Conceitos

Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: Conceitos Básicos 5

Características de um Sistema de Base de Dados

§  Abstraçãodosdados«  Num sistema tradicional de ficheiros, a estrutura do ficheiro de dados está espelhada

(inserida)nosprogramasquemanipulamessesficheiros.«  Dificuldade em alterar a organização dos dados. A alteração de um ficheiro de dados,

obrigaàalteraçãodetodososprogramasquemanipulamesseficheiro.«  Num sistema de BD, a estrutura dos ficheiros está no catálogo do SGBD e portanto

separadadosprogramasdeacesso.Conduzàindependênciadados/programa.

§  Independênciadosdados«  OcatálogodosistemaguardaadescriçãodaBD(osmeta-dados).

¡  EstruturadecadaficheirousadoparaaBD.¡  Tipoeformatodecadaitemdedados.¡  Restriçõessobreosdados.

«  TornaoSGBDindependentedaBD.«  PermitequeoSGBDfuncionecomdiferentesBDs.

Page 6: Bases de Dados Parte I Introdução: conceitos básicosfds/aulas/BD/1617/Slides/parteI.pdf · Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: ... Conceitos Básicos 7 ... Conceitos

Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: Conceitos Básicos 6

Características de um Sistema de Base de Dados

§  SuportedevisõesmúlKplasdosdados«  Permite fornecer diferentes perspecEvas (visões) dos dados para diferentes

uElizadores.

«  Uma visão pode ser um subconjunto de dados da BD, ou um subconjunto dedados(virtuais)derivadosaparErdedadosdaBD.

§  ParKlhadedadoseacessomulKuKlizador«  OSGBDtemdegaranErquecadatransaçãoouéexecutadacorretamenteoué

abortadaporcompleto.¡  Restaurar o estado da BD quando ocorrem falhas durante a execução de umatransação.

«  ControlarconcorrênciaparagaranErconsistênciaecorreçãonasatualizaçõesdaBD.

¡  Váriosagentesdeviagensa tentaremreservarum lugarnummesmoavião.OSGBDtemdegaranErquecadalugarsópodeserreservadoporapenasumagente.

Page 7: Bases de Dados Parte I Introdução: conceitos básicosfds/aulas/BD/1617/Slides/parteI.pdf · Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: ... Conceitos Básicos 7 ... Conceitos

Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: Conceitos Básicos 7

Níveis de Abstração

§  NívelPsico:«  Descreve como um reg i s to é

armazenado.

§  Nívellógico:«  Descreve os dados armazenados na

BDs, assim comoas relações entre osdados.

§  Níveldasvistas:«  Fornecem uma “visão” dos dados,

possivelmente ocultando algumainformação.

view 1 view 2 view n

view level

logical level

physical level

Page 8: Bases de Dados Parte I Introdução: conceitos básicosfds/aulas/BD/1617/Slides/parteI.pdf · Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: ... Conceitos Básicos 7 ... Conceitos

Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: Conceitos Básicos 8

Instâncias e Esquemas

§  Instância–refere-seaoconteúdodeumaBDsnumdadoinstante.«  Análogoaumaatribuiçãodevalordeumavariável.

§  Esquema:«  DescreveosdadosarmazenadosnaBDs,assimcomoasrelaçõesentreosdados.

§  Níveldasvistas:«  Fornecemuma“visão”dosdados,possivelmenteocultandoalgumainformação.

Page 9: Bases de Dados Parte I Introdução: conceitos básicosfds/aulas/BD/1617/Slides/parteI.pdf · Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: ... Conceitos Básicos 7 ... Conceitos

Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: Conceitos Básicos 9

Exemplo de uma Base de Dados

ALUNO NumMec Nome Curso 798764544 João Pinto CC 345673451 Carlos Semedo ERSI 487563546 Maria Silva EG 452212348 Pedro Costa MAT

INSCRIÇÃO NumMec CodCad 798764544 12347 345673451 12347 798764544 34248 452212348 32439

CADEIRA CodCad Nome Docente 12347 Bases de Dados José Aguiar Mota 34248 Álgebra Maria das Dores 32439 Introdução aos Computadores Carlos Duarte

Page 10: Bases de Dados Parte I Introdução: conceitos básicosfds/aulas/BD/1617/Slides/parteI.pdf · Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: ... Conceitos Básicos 7 ... Conceitos

Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: Conceitos Básicos 10

Funcionalidades Típicas de um SGBD §  Definição:Epodedados,Epoderelaçõeseconjuntoderestrições.§  Manipulação: inserir dados, apagar dados, alterar dados, fazer consultas, garanEr a

saEsfaçãodasrestriçõesdeintegridade.§  Construção:representaçãosimpleseeficientesderelaçõescomplexasentreosdados,

guardarosdadosnumlocalcontroladopelopróprioSGBD,persistênciadosdados.§  Rentabilidade: minimizar o esforço de desenvolvimento emanutenção, controlar a

redundâncianosdados,mecanismoseficientesparaprocessamentodeconsultas.§  ConcorrênciaeparKlha:permiErqueváriosuElizadorese/ouprogramasacedamem

simultâneoàbasededados,mantendoaconsistênciadosdados.§  Proteção:mecanismosdebackuperecuperaçãoparaprevenirsituaçõesdeavariado

hardwaree/oudosodware.§  Segurança: mecanismos para prevenir acessos não autorizados (passwords,

permissões,diferentesníveisdeacesso).§  Visualização:ferramentasgráficasparaoperaçõesmaiscomuns.§  Interaçãocomoutrasaplicações:providenciarmúlEplasinterfacescomouElizador.

Page 11: Bases de Dados Parte I Introdução: conceitos básicosfds/aulas/BD/1617/Slides/parteI.pdf · Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: ... Conceitos Básicos 7 ... Conceitos

Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: Conceitos Básicos 11

Modelos de Dados

§  ModelodeDados«  ConjuntodeconceitosquedescrevemaestruturadaBD.

¡  relaçõesentredados¡  semânEcadosdados

«  ConjuntoderestriçõesqueaBDdeveobedecer.¡  Restriçõesdosdados

§  Exemplos:«  ModelosEnEdade-Relações«  ModeloRelacional«  Modelodedadosbaseadoemobjectos

«  Modelodedadossemi-estruturados(XML)«  Outrosmodelos:hierárquico,rede,etc.

Page 12: Bases de Dados Parte I Introdução: conceitos básicosfds/aulas/BD/1617/Slides/parteI.pdf · Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: ... Conceitos Básicos 7 ... Conceitos

Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: Conceitos Básicos 12

Modelos de Dados (cont.)

§  ModeloConceptual:permitequeosuElizadorespercebammelhorosdados, envolvem conceitos como enEdades, atr ibutos ,relacionamentos.«  ModelosER,EER,ODL,UML.

§  ModeloLógico:EpodemodelonormalmenteuElizadopelosSGBDs.«  Modelosrelacional,hierárquico,rede.

§  Modelo Físico: Epo de modelo que descreve como os dados estãoorganizadoseguardadosnocomputador.«  Formatodosregistos,ordemdosregistos,caminhosparaacessoaosdados.

Page 13: Bases de Dados Parte I Introdução: conceitos básicosfds/aulas/BD/1617/Slides/parteI.pdf · Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: ... Conceitos Básicos 7 ... Conceitos

Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: Conceitos Básicos 13

Desenho de uma Base de Dados §  FaseI:Requisitoseanálise

«  EntrevistascomospotenciaisuElizadoresdaBD.«  Compreenderedocumentarosseusrequisitos.

§  FaseII:Desenhoconceptual(oumodelação)«  Definirummodelodedadosconceptualque incluaadescriçãodasenEdadesda

BD, dos atributos das enEdades, dos relacionamentos entre enEdades e daspossíveisrestrições.

«  Evitardetalhesdeimplementação.

§  FaseIII:Desenhológico(ouimplementação)«  Mapearomodelodedadosconceptualnomodelodedadoslógicoconcreto.«  ImplementaçãodaBDusandoumSGBD.

§  FaseIV:DesenhoPsico«  Mapearomodelodedadoslógiconomodelodedadoshsico.

«  EstruturasemmemóriaeorganizaçãodosficheirosdaBD(ficheirosdeíndices).

Page 14: Bases de Dados Parte I Introdução: conceitos básicosfds/aulas/BD/1617/Slides/parteI.pdf · Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: ... Conceitos Básicos 7 ... Conceitos

Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: Conceitos Básicos 14

Desenho de uma Base de Dados

§  IndependentedoSGBD«  FaseI:Requisitoseanálise«  FaseII:Desenhoconceptual«  FaseIII:Desenhológico

§  DependentedoSGBD«  FaseIII:Desenhológico«  FaseIV:Desenhohsico

Fase I

Fase II

Fase III

Fase IV

Requisitos

Modelo conceptual

Modelo lógico

Modelo físico

Implementação no SGBD

Page 15: Bases de Dados Parte I Introdução: conceitos básicosfds/aulas/BD/1617/Slides/parteI.pdf · Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: ... Conceitos Básicos 7 ... Conceitos

Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: Conceitos Básicos 15

Porquê a Fase de Modelação?

§  Para ponderar umaboa estrutura da BDs antes de se enveredar porumaimplementação.«  Facilitaoentendimentodosdadosporpartedenão-especialistas.«  Facilitaadetecçãodeconflitos.«  Simplificaeventuaiscorreçõesafazer.«  Simplificaaposteriorimplementação.

§  Maior ênfase na especificação das propriedades dos dados, menosênfasenosdetalhesdecomoosdadosdevemserguardados.

§  Envolvedeterminar:«  QuaisasenEdadesamodelar«  ComoéqueasenEdadesserelacionamentresi«  Querestriçõesexistemnodomínio«  Comoconseguirumbommodelodedados

Page 16: Bases de Dados Parte I Introdução: conceitos básicosfds/aulas/BD/1617/Slides/parteI.pdf · Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: ... Conceitos Básicos 7 ... Conceitos

Fernando Silva DCC-FCUP Bases de Dados 16/17 Parte I: Conceitos Básicos 16

Arquitecturas de Aplicação de BDs

§  Arquitecturade2camadas:«  aaplicaçãoacedediretamenteàcamadadedadosdaBDs.

§  Arquitecturade3camadas:«  umacamadalógicamedeiaainteraçãoentreaaplicaçãoclienteeaBDs,possibilitando,em

princípio,alteraraBDssemafectargrandementeaaplicação.

user

application

database system

network

(a) Two-tier architecture

client

server

user

application client

database system

network

application server

(b) Three-tier architecture