Banco de Dados I - Aula 1
Banco de Dados I - Aula 1
Banco de Dados I - Aula 1
Banco de Dados I
(Introduo)
unesp
Objetivos da Disciplina
Propiciar ao aluno conhecimento abrangente
de um Sistema de Gerncia de Banco de Dados Propiciar um estudo aprofundado de diferentes modelos de dados dentre eles os modelos Entidade-Relacionamento e Relacional Utilizar softwares para anlise e prtica de conceitos Estudados Definir e implementar um esquema de um banco de dados para uma determinada aplicao.
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br
unesp
Avaliaes
Avaliao escrita englobando todo contedo
programtico Implementao de um projeto em um SGBD Relacional. Consiste nas seguintes etapas:
Descrio do problema: descrio geral do ambiente a ser modelado, objetivos, funcionalidades e relatrios esperados ; Definio do modelo E/R em alguma notao Implementao em um SGBD Relacional
Seminrios
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br
unesp
Avaliaes - Critrios
As notas de todas as atividades iro variar de 0 (zero) a 10,0 (dez) As notas das atividades em grupo sero atribudas individualmente A mdia final ser calculada da seguinte maneira:
MF = (Mb1 + Mb2)/2 Mbn = (Pbn * Coefn) Coefn = 0,8 + (0,4 * NTn / 10) Onde: MF = Mdia Final Mb = Mdia Bimestral Coefn = Coeficiente multiplicativo, que varia de 0,8 a 1,2. NTn = Mdia das notas das atividades prticas do bimestre Vale observar que as mdias bimestrais podem assumir valores entre ZERO e DEZ. Caso o aluno no obtenha a nota mnima para aprovao, ser oferecida uma terceira avaliao (EXAME) e a Mdia Final passa a ser obtida pela expresso: MFnova = (MFanterior + EXAME)/2
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br
unesp
Bibliografia
SILBERSCHATZ, A., e KORTH, S. e
SUDARSHAN, S. Sistema de Banco de Dados, 5a edio, Editora Campus, 2006. NAVATHE, S. e ELMASRI, R. Fundamentals of Database Systems, 4a edio, Addison Wesley, 2004. DATE, C. Introduo a Sistemas de Banco de Dados, Campus, 2000.
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br
unesp
Conceitos
Diferena entre Informao e Dado
Informao: qualquer fato ou conhecimento do mundo real e que pode ou no ser registrado /armazenado Dado: a representao da informao, que pode estar registrado em papel, num quadro de aviso ou no disco rgido do computador Exemplo:
Informao: Est muito quente hoje Dado: A tempera hoje de 38 graus Celsius
unesp
Conceitos
Banco de Dados:
uma coleo de dados relacionados O uso do termo mais restrito em virtude das seguintes caractersticas:
Um BD representa algum aspecto do mundo real, o qual
Banco
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br
Conceitos
Terminologia Bsica
unesp
tupla registro
Campo: unidade bsica de informao mnima com significado Registro: conjunto de campos Arquivo: conjunto de registros Banco de Dados (BD): conjunto de arquivos e as formas de manipulao Campo: atributo Registro: tupla Arquivo: tabela ou relao Domnio: contedo da relao
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br
Terminologia Relacioal
campos atributo
unesp
Conceitos
Sistema Gerenciador de Banco de Dados (SGBD)
uma coleo de programas que permite aos usurios criar e manter um banco de dados um sistema de sofware que facilita os processos de definio, construo, manipulao e compartilhamento de bancos de dados entre vrios usurios e aplicaes
Definio: Especificao dos tipos de dados, das estruturas das
tabelas e das restries que devem ser impostas aos dados que sero armazenados Construo: Processo de acumular os dados num meio de armazenamento controlado pelo SGBD Manipulao: Operaes como atualizao do banco de dados (incluso, excluso e alterao de registros) e extrao de dados, como consultas e relatrios impressos Compartilhamento: Permite aos mltiplos usurios e programas acessar, de forma concorrente, o banco de dados
Ex: Oracle, SQL Server, PostgreSQL, MYSQL, Interbase, Sybase, Firebird, etc..
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br
unesp
Conceitos
Comparao com o Processamento Tradicional de Arquivos
No processamento tradicional de arquivos os usurios definem os arquivos necessrios para cada aplicao especfica, resultando em redundncia e desperdicio de espao de armazenamento No enfoque de BD no armazenado somente o banco em si, mas sim a estrutura do banco de dados e uma descrio completa (Catalogo do Sistema) Acesso no requer conhecimento destas estruturas (Independncia dos Dados)
Quando houver alterao na estrutura de dados os
unesp
Conceitos
Consistncia de Dados
o estado ou carter do que coerente, do que tem solidez, veracidade, credibilidade, estabilidade, realidade Consistncia: sempre que a mesma informao armazenada, mesmo que em locais diferentes (redundncia), ela tem o mesmo valor Quando os dados se encontram em um estado inconsistente, informaes incorretas ou contraditrias podem ser fornecidas aos usurios
unesp
Conceitos
Consistncia de Dados
unesp
Vantagens de Utilizar um SGBD
Independncia entre programas e dados
Catalogo que consiste de metadados dados sobre os dados Funes / procedimentos de manipulao dos dados armazenados tambm fazem parte do BD Controle de acesso mais especializado Mesmo conjunto de dados pode ser apresentado a usurios diferentes de forma distinta
Segurana
Suporte a Vises
Baseadas em Menus e formulrios (GUIs Graphical USer Interface) Linguagens de consulta e interfaces de linguagem de programao
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br
unesp
Aplicaes de Banco de Dados
Banco: todas as transaes Linhas areas: reservas, horrios Universidades: matrculas, registros, notas Vendas: clientes, produtos, compras Revendedores on-line: acompanhamento de pedidos,
recomendaes personalizadas Indstria: produo, estoque, pedidos, cadeia de suprimento Recursos humanos: registros de empregados, salrios, dedues de impostos
unesp
Profissionais envolvidos:
DBA (Administrador de Banco de Dados)
Responsvel por autorizar o acesso, coordenar e monitorar seu uso, e por adquirir recursos de software e hardware Avaliar o desempenho e problemas de segurana do sistema Responsvel por escolher as estruturas para representar e armazenar dados e vises Aplicaes de BD: usurios leigos Linguagens de BD: usurios casuais a sofisticados Determinam as necessidades dos usurios finais e implementam as aplicaes Projetam e implementam os mdulos e interfaces do SGBD, como um pacote Programas que facilitam o projeto e uso de um sistema de banco de dados, aprimorando seu desempenho
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br
Projetista do BD:
Projetistas do SGBD
Desenvolvedores de Ferramentas:
unesp
Profissionais envolvidos:
DBA (Administrador de Banco de Dados)
Responsvel por autorizar o acesso, coordenar e monitorar seu uso, e por adquirir recursos de software e hardware Avaliar o desempenho e problemas de segurana do sistema Responsvel por escolher as estruturas para representar e armazenar dados e vises Aplicaes de BD: usurios leigos Linguagens de BD: usurios casuais a sofisticados Determinam as necessidades dos usurios finais e implementam as aplicaes Projetam e implementam os mdulos e interfaces do SGBD, como um pacote Programas que facilitam o projeto e uso de um sistema de banco de dados, aprimorando seu desempenho
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br
Projetista do BD:
Projetistas do SGBD
Desenvolvedores de Ferramentas:
unesp
Sistema de Banco de Dados
um ambiente de hardware e de software composto por
dados armazenados em um banco de dados (BD), pelo software de gerncia do banco de dados (SGBD) e os programas de aplicao Configurao de um Sistema de Banco Simplificado
unesp
Modelo de Dados
Uma coletnea de conceitos que podem ser utilizados
para descrever a estrutura de um banco de dados (tipos de dados, relacionamentos e restries) e tambm um conjunto de operaes bsicas para especificar recuperaes e atualizaes no banco de dados Modelo de Dados - Categorias:
computador
Modelos lgicos baseados em registros
computador
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br
unesp
Sistema de Banco de Dados
Em qualquer modelo de dados importante distinguir
entre a descrio do banco de dados e o banco de dados de fato Esquema
a descrio do banco de dados definido durante o projeto do banco de dados e no se espera que seja alterado frequentemente Em linguagem de programao equivalente a definio de um tipo de dados o banco de dados em si Em uma linguagem de programao, isto equivalente a uma declarao de uma varivel do tipo definido e o seu valor
Instncia
unesp
Arquitetura de Trs Esquemas
Esquemas podem ser definidos em Trs-nveis
Descreve a estrutura de armazenamento fsico do banco de dados Utiliza um modelo de dados fsico Descreve a estrutura da base de dados sem detalhes de estrutura de armazenamento fsico Que dados esto armazenados e como esto relacionados Descreve as vises dos usurios: a parte da base de dados em que cada grupo de usurios tem interesse Descrio de sub-esquemas
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br
10
unesp
Sistema de Banco de Dados
Arquitetura de Trs-nveis (ou trs-esquemas)
NVEL EXTERNO
Mapeamento externo/conceitual
Viso 1
Viso 2
Viso 3
NVEL CONCEITUAL
Mapeamento conceitual/interno
Esquema Conceitual
Fsica
NVEL INTERNO
unesp
Sistema de Banco de Dados
Independncia de Dados
a capacidade de mudar o esquema em um nvel do sistema de banco de dados sem que ocorram alteraes do esquema no prximo nvel mais alto Independncia de dados lgica
Refere-se a capacidade de modificar o esquema lgico sem que, com
O conceito de independncia de dados de vrias formas similar ao conceito de tipo abstrato de dados empregado nas linguagens de programao
11
12
unesp
Sistema de Banco de Dados
Projeto Conceitual
Independente de SGBD Modelo Conceitual MER Esquema Lgico Mapeamento do Modelo Conceitual para modelo do SGBD Ex: Modelo Relacional Estruturas Fsicas de Armazenamento
Organizao de registros fsicos ndices
Projeto Lgico
Projeto Fsico
Critrios
Tempo de resposta Espao utilizado Nmero de transaes
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br
13
unesp
Linguagens de Banco de Dados
Linguagem de Definio de Dados (DDL)
Permite especificar o esquema do banco de dados, atravs de um conjunto de definies de dados O compilador DDL do SGBD processa e identifica os os comandos, que so armazenados no catlogo (metadados) Permite ao usurio acessar ou manipular os dados Uma consulta (query) um comando que requisita uma recuperao de informao A parte de uma DML que envolve recuperao de informao chamada linguagem consulta DMLs procedurais: exigem que o usurio especifique quais dados so necessrios, e como obt-los
Algebra Relacional SQL
DMLs no procedurais: exigem que o usurio especifique quais dados so necessrios, sem especificar como obt-los
Clculo Relacional
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br
Componentes de um SGDB
unesp
14
unesp
Componentes de um SGDB
Processador de Consultas
Compilador DML
Analisa sintaticamente e semanticamente comandos DML
Pr-Compilador DML
Inseridos em programas de aplicao, traduz comandos DML em
Interpretador DDL
Interpreta comandos DDL e os armazena no catlogo Tabelas contendo meta-dados Descrio do banco de dados Esquema
Mecanismo de Consultas
Responsvel pela otimizao e gerao de planos de execuo
de consultas
Executam instrues geradas pelo compilador DML
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br
unesp
Componentes de um SGDB
Sistema de Armazenamento
Gerenciador de transaes
Controle de concorrncia Recuperao do banco de dados aps falha (estado
consistente)
Gerenciador de buffer
Responsvel para recuperar objetos em disco e carreg-los
Mapeamento: Bloco
(disco)
15
unesp
Componentes de um SGDB
Arquivos de dados + ndices + Catlogo
Arquivo de dados
Armazena o prprio banco de dados
ndices
Estruturas de ndices para os arquivos de dados Proporcionam acesso rpido aos itens de dados
Catlogo
Armazena esquema do banco de dados (meta-dados)
Nomes das tabelas Atributos de cada tabela Definio de ndice para uma tabela, etc
Dados Estatsticos
Informaes utilizadas pelo processador de consultas para seleo de
unesp
Arquiteturas do Banco de Dados
A arquitetura de um sistema de banco
de dados bastante influenciada pelo sistema de computador subjacente em que o sistema de banco de dados executado:
16
unesp
Arquiteturas do Banco de Dados
As aplicaes so particionadas em duas ou trs partes
unesp
Modelos Lgicos baseados em registros
Descrio dos dados nos nveis conceitual e externo O banco de dados estruturado em registros de
formatos fixos, de diversos tipos Cada tipo de registro tem sua coleo de campos ou atributos, de tamanho fixo H linguagens para expressar consultas e atualizaes no banco de dados Os trs modelos mais comumente utilizados so:
17
unesp
Modelo Relacional
Utiliza um conjunto de tabelas para representar tanto os dados como a relao entre eles Cada tabela possui mltiplas colunas e cada uma possui um nome nico Conjunto de operadores
Restries de Integridade
Nome
Jos Maria Jos
Rua
Rua das Flores Rua Linda Rua das Flores
Cidade
So Paulo Bauru So Paulo
Nr_Conta
5418-7 4876-9 8745-6
Nr_Conta
5418-7 4876-9 8745-6
Saldo
541,20 145,00 235,90
unesp
Modelo Rede
Os dados so representados por um conjunto de
registros Cada registro uma coleo de campos (atributos), cada qual contendo somente um valor As relaes entre os registros so representados por links (ligaes) Um link uma ssociao entre dois registros
Nome
Jos
CPF
015425446
Rua
Rua das Flores Rua Linda
Cidade
So Paulo
Nr_Conta
5418-7
Saldo
541,20 145,00 235,90
Maria
154879984
Bauru
4876-9 8745-6
18
unesp
Modelo Hierrquico
similar ao modelo em rede, pois os dados e suas relaes so representados, respectivamente, por registros e links A diferena que os registros esto organizados em rvores
Jos 015425446 ........... Maria 154879984 ...........
5418-7
541,20
8745-6
235,90
4876-9
145,00
unesp
Histria dos Sistemas de Banco de Dados
Dcada de 1950 e incio da dcada de 1960:
Processamento de dados usando fitas magnticas para armazenamento
Fitas fornecem apenas acesso seqencial
19
unesp
Histria dos Sistemas de Banco de Dados
Dcada de 1980:
Prottipos relacionais de pesquisa evoluem para sistemas comerciais
SQL se torna o padro do setor
Sistemas de banco de dados paralelos e distribudos Sistemas de banco de dados orientados a objeto
Dcada de 1990:
Grandes aplicaes de suporte a deciso e explorao de dados Grandes data warehouses de vrios terabytes Surgimento do comrcio Web
Dcada de 2000:
Padres XML e XQuery Administrao de banco de dados automatizada
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br
unesp
Exerccios
O que voc entende por Banco de Dados? E SGBD? Explique cada um dos nveis de abstrao de um BD definido
pelo ANSI/SPARC.
20