Banco de Dados 1 - Aula1
Banco de Dados 1 - Aula1
Banco de Dados 1 - Aula1
Remis Balaniuk
Introduo
Plano de ensino Material:
ftp://[email protected] Pasta BD1
Contato:
[email protected]
Objetivos da disciplina
Conhecer conceitos relativos tecnologia de banco de dados, aos aspectos de projeto e implementao e aos sistemas de gerenciamento de bancos de dados (SGBDs) Entender modelos de dados utilizados na representao de banco de dados Utilizar ferramentas CASE para projetar bancos de dados Introduo linguagem de definio e manipulao de bancos de dados (SQL)
Objetivos especficos
Definir bancos de dados, suas propriedades e seus usurios Entender o funcionamento dos SGBDs Distinguir modelos utilizados em projeto de BDs Utilizar o modelo entidade-relacionamento para definir uma viso conceitual dos dados Entender conceitos do modelo relacional bem como suas operaes Traduzir representao de banco de dados do modelo entidade relacionamento para o modelo relacional
Dados e matemtica
A noo de dado e informao tem origem nos conceitos matemticos de conjunto e relao O matemtico George Cantor em 1895 props a teoria dos conjuntos, que deu incio a uma nova vertente dentro da matemtica que muito influenciou o nascimento e maturao da computao
Dados e matemtica
Na teoria de Cantor a noo mais primria, que engloba todas as outras, o conjunto Um conjunto contm elementos Sua definio, que pode ser feita matematicamente ou de forma abstrata, deve permitir que se distingua quais elementos fazem parte dele O conjunto o conceito precursor do que hoje consideramos o tipo do dado Os elementos de um conjunto correspondem ao que hoje tratamos como dados Os dados possuem uma srie de propriedades do tipo ao qual pertencem, que correspondem s definies que devem ter um conjunto
Dados e matemtica
Exemplo:
O que significa A enquanto dado? Se estivermos falando do tipo (conjunto) alfabeto se trata da sua primeira letra Se estivermos falando do conjunto de nmeros inteiros representados em hexadecimal se trata do nmero inteiro 10 Se estivermos falando de um conjunto ordenado de notas (A-E) se trata da maior nota.
Dados e matemtica
Ento o dado s faz sentido se soubermos a qual tipo (conjunto) ele pertence e conhecermos as propriedades desse tipo de dado Os conjuntos e seus elementos introduziram na matemtica a possibilidade de se calcular em cima de dados no numricos (algebra dos conjuntos), que o que faz um computador
Dados e matemtica
Da mesma teoria surgiu a noo de relao Um relao uma ligao entre os elementos de conjuntos diferentes formando as tuplas Exemplo:
A={a,b,c,d,e} B={1,2,3,4,5} R={(a,2),(b,1),(d,5)}
A tupla correspondem noo de informao Uma relao tambm um conjunto, logo ela precisa ser definida enquanto tal
quais conjuntos ela liga e quais elementos se ligam a quais outros
Dados e matemtica
Das relaes n-rias surgiu a lgebra relacional Das operaes de conjunto (pois relaes so conjuntos) surgiram as linguagens de bancos de dados
Exemplo
Contexto (minimundo):
Universidade
Relaes (relacionamentos)
Exemplo
Evoluo histrica
Arquivos Sistemas de arquivos Bancos de dados
Evoluo histrica
Evoluo histrica
Evoluo histrica
Aplicativos
Dados (arquivos)
Aplicativos
SGBD
Dados (arquivos)
O acesso/gerenciamento aos/dos dados feito pelo SGBD. O SGBD funciona como uma interface entre o BD e os programas aplicativos.
Sistema de Arquivos
Primeira arquitetura de sistemas para armazenamento e manipulao de dados e gerao de informao.
Arquivos e programas de um mesmo sistema so desenvolvidos de forma isolada por diferentes programadores e at mesmo em linguagens diferentes. Inconsistncia, redundncia, dificuldade de acesso, isolamento de dados e problemas com segurana. Falta de gerenciamento para acessos concorrentes aos dados e recuperao de dados.
Isolamento de dados:
Os dados esto armazenados em arquivos distintos, que no possuem qualquer tipo de relacionamento direto, e ainda podem conter diferentes formatos para o mesmo dado.
Problemas de atomicidade:
Algumas operaes em um sistema devem ser atmicas (indivisveis). Ou essas operaes so, em seu conjunto, executadas at o fim, ou nenhuma delas deve ser executada.
Problemas de segurana:
Nem todos os usurios do sistema devem estar autorizados a ver/acessar todos os dados armazenados. Uma vez que os programas de aplicao so inseridos no sistema como um todo, difcil implementar e garantir a efetividade de regras de segurana.
Definies ...
Dados: so fatos que podem ser gravados e que possuem um significado implcito. Banco de Dados (BD): uma coleo de dados relacionados:
Representa aspectos do mundo real (minimundo ou universo de discurso) e mudanas no mundo real devem ser refletidas no BD. uma coleo lgica e coerente de dados com algum significado inerente. Uma organizao randmica de dados no pode ser considerada um BD. Um BD construdo em atendimento a uma proposta especfica.
Definies ....
Um 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 software de propsito geral que facilita os processos de definio, construo, manipulao e compartilhamento de bancos de dados entre vrios usurios e aplicaes.
Usurios/Programadores
Isolamento entre programas e os dados, e a abstrao de dados; Suporte para as mltiplas vises dos dados; Compatilhamento de dados e processamento de transaes de multiusurios.
Concorrncia
A eficincia da recuperao de informaes est relacionada forma como as estruturas de representao so projetadas e, dado a complexidade e importncia destas representaes, elas devem ser protegidas em nveis de abstraes.
Estes nveis facilitam a manuteno do sistema e a interao dos usurios com os sistemas. So eles:
Nvel fsico: como os dados esto, de fato, armazenados (descrio em detalhes das estruturas de dados). Mais baixo nvel de abstrao. Administradores de banco de dados devem ter noes da organizao deste nvel. Nvel lgico: quais dados esto armazenados e quais so os inter-relacionamentos existentes entre eles. Usado pelos administradores de banco de dados e programadores. Nvel de viso: O mais alto nvel de abstrao. Proporciona uma viso parcial do banco de dados. Diferentes vises so usados por diferentes usurios.
Nvel de viso
Viso 1
Viso 2
...... Viso n
Nvel lgico
quais
Nvel fsico
0 1 1 como
Nveis de abstrao
Nvel fsico: um registro de dado pode ser descrito como um bloco consecutivo de memria (por exemplo, palavras ou bytes). Nvel lgico: um registro de dado descrito por um tipo definido (como um tipo em linguagem de programao) e as inter-relaes entre dados so definidas. Nvel de viso: sub-conjunto de dados que podem existir apenas durante a execuo de uma operao (uma consulta ao banco de dados, por exemplo).