Post on 06-Oct-2018
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)
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,...
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
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
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.
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.
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
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.
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
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.
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.
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.
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).
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
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
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