A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Módulo III Capítulo 2: SQLite

Apresentações semelhantes


Apresentação em tema: "Módulo III Capítulo 2: SQLite"— Transcrição da apresentação:

1 Módulo III Capítulo 2: SQLite
William Ivanski Curso de Programação C# Módulo III Capítulo 2: SQLite

2 Sumário Primeiro Banco de Dados em Excel Modelo Relacional DER
Representação Algébrica Modelagem de Bancos de Dados SQLite SQLite Studio SQLiteman

3 Sumário OmniDB Tabela Chave Primária Chaves Estrangeiras

4 Primeiro Banco de Dados em Excel
Excel para armazenar banco de dados? O que é banco de dados? É uma representação dos dados de forma estruturada Cada planilha representa uma "categoria" de informação Pode até haver relacionamento (hipotético) entre as planilhas Aos poucos estamos aprendendo sobre Modelo Relacional

5 Modelo Relacional Modelo adjacente a um banco de dados gerenciado por um SGBD Baseia-se no princípio de que todos os dados são armazenados em tabelas O Modelo Relacional é uma estrutura conceitual que pode ser representada por: DER Forma algébrica Banco de dados relacional

6 DER DER = Diagrama Entidade-Relacionamento
Entidade: Qualquer coisa real ou abstrata sobre a qual precisamos guardar informações Tipos de Entidade: Primária: Existe por si mesma, pode ser identificada por seus próprios atributos Fraca ou Dependente: Depende dos atributos de outra entidade Associativa: Depende dos atributos de duas ou mais entidades

7 DER Relacionamento: Associação entre duas entidades ou entre uma entidade e ela mesma Cardinalidade de um Relacionamento: Quantos registros de uma entidade participam de um relacionamento

8 DER

9 Representação Algébrica
Apresenta o modelo relacional na forma de texto Não mostra relacionamentos, mas é possível identificar se nomes de colunas forem bem definidos Exemplo: PAISES (Codigo, Nome) ESTADOS (Codigo, Sigla, Nome) MUNICIPIOS (CodigoEstado, CodigoMunicipio, Nome)

10 Modelagem de Bancos de Dados
Modelagem é o processo de construir o Modelo Relacional que será representado pelo banco de dados no SGBD Consiste em projetar a estrutura do banco de dados do sistema Objetivos: Representar o ambiente observado Documentar e normalizar Fornecer processos de validação Observar processos de relacionamentos entre objetos

11 Modelagem de Bancos de Dados
Exemplo: Uma fábrica tem um almoxarifado exclusivo para instrumentos de medição. Cada instrumento é identificado por um código de barras e possui uma marca, modelo, unidade de medida, escala e precisão. Cada operário é identificado por um código de barras e é identificado pelo seu nome, CPF e cargo dentro da fábrica. Qualquer operário pode, a qualquer momento, emprestar um instrumento de medição do almoxarifado. O sistema deve registrar este empréstimo, indicando que o instrumento está indisponível. No momento em que o operário devolver o instrumento, o almoxarifado deve registrar a baixa do empréstimo.

12 Modelagem de Bancos de Dados

13 SQLite Agora que estudamos Modelo Relacional e vimos como projetar através de modelagem... Vamos criar nosso primeiro banco de dados? Em um SGBD de verdade?? SQLite SGBD bem simples que não precisa de instalação Muito usado no mundo inteiro Pode ser usado para aplicações de pequeno e médio porte, e para smartphones Banco de dados é um único arquivo .db

14 SQLite Transação: uma única operação lógica no SGBD ACID
Atomicidade: uma transação é "tudo ou nada" Consistência: cada transação modificará o banco de um estado válido para outro Isolamento: transações paralelas são executadas como se fossem seriais Durabilidade: uma vez que uma transação foi salva no banco, permanece dessa forma, mesmo que em seguida ocorra um erro ou queda na energia

15 SQLite Por esse motivo, além de relacional, SQLite também é transacional Todas as mudanças feitas por uma única transação ocorrerão completamente ou não ocorrerão, mesmo que haja um erro no programa, no sistema operacional ou queda na energia E agora... Como trabalhar com SQLite?

16 SQLite Studio

17 Sqliteman

18 OmniDB

19 OmniDB http://www.omnidb.com.br
Ferramenta web, escrito em C# e ASP.NET Utiliza biblioteca Spartacus Suporte a múltiplos SGBDs: Access Firebird MySQL Oracle PostgreSQL SQLite SQL Server

20 Tabela Qualquer coisa do mundo real ou imaginário, abstrata ou concreta, sobre a qual se deseja armazenar informações Pode ser chamada de: Entidade (DER) Relação (Representação Algébrica) Tabela (SGBD) Exemplos: Clientes, Produtos, Contratos, Vendas, etc

21 Tabela Atributos (colunas ou campos) são todas as coisas que podem ser propriedades de uma Entidade Exemplos: Código do Produto, Nome do Cliente Domínio é o conjunto de todos os possíveis valores de um atributo Tipo do Atributo (ou tipo da coluna ou tipo do campo) é um domínio pré-definido Os atributos podem ser obrigatórios ou opcionais

22 Tabela Objetos (linhas, registros, tuplas ou ocorrências) são todas as coisas que fazem parte de uma mesma Entidade Exemplos: Produto A e Produto B (da Entidade Produtos) Espere um pouco: Uma tabela é um conjunto de Objetos que possuem Atributos? Exatamente! No C#, é como se fosse um vetor de uma determinada classe.

23 Tabela

24 Chave Primária Atributo(s) identificador(es) de uma Entidade
Deve identificar exclusivamente cada Objeto de uma Entidade Também chamada de Primary Key ou PK Não pode haver duas ocorrências em uma tabela com o mesmo conteúdo na Chave Primária

25 Chave Primária Não pode ser composta por atributo opcional
Deve ser o conjunto mínimo que possa identificar cada linha Recomenda-se não usar informações sobre as quais você não tem controle (ex.: CPF) Deve possuir um tamanho reduzido Não deve conter informação volátil Em alguns SGBDs, PK já garante auto-incremento

26 Chaves Estrangeiras Relacionamento no DER:
Associação entre duas entidades ou uma entidade e ela mesma Uma Chave Estrangeira (Foreign Key ou FK) representa um relacionamento entre duas tabelas (ou ela mesma) Um campo (ou mais) que aponta para a PK de outra tabela (ou dela mesma) Toda FK de uma tabela deve apontar para uma PK de outra tabela (ou dela mesma)

27 Chaves Estrangeiras Objetivo: Garantir a integridade dos dados referenciais Não permite a inserção ou alteração nos dados da tabela com FK se não existir PK correspondente na outra tabela Não permite a remoção dos dados da tabela com PK se houver FK correspondente na outra tabela Para permitir os itens acima, requer opções especiais, como CASCADE Limitação do SQLite: não valida FKs


Carregar ppt "Módulo III Capítulo 2: SQLite"

Apresentações semelhantes


Anúncios Google