FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation. FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK also includes an excellent UI builder called FLUID that can be used to create applications in minutes. FLTK is provided under the terms of the GNU Library Public License, Version 2 with exceptions that allow for static linking. More informations in http://www.fltk.org.
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
FLTK Summer Course - Part VII - Seventh Impact
1. 1 de 20INTRODUÇÃO AO FAST LIGHT TOOLKIT - FLTK
The Fast Light ToolKit
Curso de Verão – Instituto de Computação & CA Computação
Michel Alves dos Santos - UFAL
Bolsista do Centro de Pesquisa em Matemática Computacional
7º Impacto
2. 2 de 20
Vamos falar um pouco sobre
Banco de Dados ?!
UM BATE-PAPO SOBRE BANCOS DE DADOS
3. 3 de 20HISTÓRICO – BANCO DE DADOS
HISTÓRICO
Início da Computação:
Dados guardados em arquivo texto;
Não havia um padrão de armazenamento muito menos um formato.
Problemas nesse modelo :
Redundância não-controlada de dados;
Aplicações deveriam se preocupar com a forma de armazenamento.
Os primeiros Bancos de dados surgiram no início dos
anos 60 ...
4. 4 de 20BANCO DE DADOS - CONCEITUAÇÃO
O que é um banco de dados ?
Bancos de dados são conjuntos de dados integrados que
tem por objetivo atender a uma aplicação ou uma
“comunidade” de usuários. Possuem como características:
Redundância controlada;
Dados armazenados de forma mais consistente;
Gerenciamento facilitado;
5. 5 de 20SGBD - CONCEITUAÇÃO
O que é um SGBD ?
SGBD: Sistema Gerenciador de Bancos de Dados.
SGBD é um software que incorpora as funções
de definição, recuperação e alteração de dados
em um banco de dados.
Material em
Estoque
Clientes
Fornecedores Folha de Pagamento
SGBD
[Esquema para um SGBD – Gerenciando vários Bancos de Dados]
6. 6 de 20
Exemplos de SGBD
MySQL
Oracle
MS SQL Server
PostgreSQL
SQLite
EXEMPLO DE SISTEMAS GERENCIADORES DE BANCOS DE DADOS
SQL Server®
7. 7 de 20
Bancos de Dados X SGBD
BANCOS DE DADOS VERSUS SGBD
Banco de Dados: um modelo, uma abstração;
SGBD: uma classe de software;
[Esquema para um SGBD – Interface entre aplicações e modelos/abstrações]
8. 8 de 20
Modelos de Dados
MODELOS DE DADOS - TIPOS
Modelo de Dados: descrição formal da estrutura
de um banco de dados. Exemplos :
Modelos Navegacionais
Modelo Orientado a Objetos
Modelo Relacional (mais usado)
Modelo de Entidades e
Relacionamentos (conceitual)
9. 9 de 20
Projeto de Banco de Dados Relacional
PROJETO DE BANCO DE DADOS
Modelo Conceitual
Modelo Entidade-Relacionamento
• Modelo Lógico
Modelo Relacional
• Modelo Físico
Tabelas
10. 10 de 20
Modelo Conceitual
Modelo Entidade-Relacionamento
Entidade: conjunto de objetos da realidade
modelada sobre os quais deseja-se manter
informações no banco de dados;
Relacionamento: conjunto de associações
entre ocorrências de entidades
MODELO ENTIDADE-RELACIONAMENTO
11. 11 de 20
Modelos de Dados - Exemplo
MODELO : ENTIDADE-RELACIONAMENTO (CONCEITUAL)
[Representação do Modelo Entidade-Relacionamento]
12. 12 de 20
Modelo Lógico
MODELO LÓGICO
Modelo Relacional
Primary Key: conjunto mínimo de um ou mais atributos
e relacionamentos cujos valores servem para distinguir
uma ocorrência da entidade das demais ocorrências da
mesma entidade;
Foreign Key: conjunto de um ou mais atributos e
relacionamentos cujos valores aprecem necessariamente
em outra entidade como Primary Key
13. 13 de 20
Projeto de Banco de Dados Relacional - Exemplo
[Representação do Modelo Relacional]
PROJETO DE BANCO DE DADOS - EXEMPLO
14. 14 de 20
Modelo Físico
MODELO FÍSICO
Tabelas - Representação física em uma determinada plataforma de
software (implementação);
[Representação do Modelo Físico]
15. 15 de 20
SQL
STRUCTURED QUERY LANGUAGE
SQL: Structured Query Language (Linguagem
de Consulta Estruturada);
SQL é uma linguagem de pesquisa
declarativa para banco de dados relacional;
É padronizado pela ANSI e ISO;
Possui variações e extensões produzidos
pelos diferentes fabricantes de SGBDs.
16. 16 de 20SQLITE
SQLite
É uma biblioteca C que implementa um banco de dados
SQL embutido. Programas que usam a biblioteca SQLite
podem ter acesso a banco de dados SQL sem executar
um processo RDBMS separado.
SQLite não é uma biblioteca de cliente usada para
conectar com um grande servidor de banco de dados.
SQLite é o servidor. A biblioteca SQLite lê e escreve
diretamente para, e do arquivo do banco de dados no
disco.
17. 17 de 20
Características do SQLite
ALGUMAS CARACTERÍSTICAS DO SQLITE
Free Software e Multiplataforma;
Transações ACID - Atomicidade,
Consistência, Isolamento e
Durabilidade;
Não necessita de instalação,
configuração ou administração;
Implementa a maioria do SQL92;
O Banco é guardado em um único
arquivo;
Suporta bases acima de 2 terabytes;
Sem dependências externas.
[Estrutura do SQLite]