SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de...

62
GBC043–Sistemas de Banco de Dados (SBD) Plano de Ensino (Versão Preliminar) 2020/3.AARE.Etapa 1 Ilmério Reis da Silva ilmerio arroba ufu.br www.facom.ufu.br/~ilmerio/GBC043 MS Teams: GBC043.2020/3.T1 UFU/FACOM

Transcript of SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de...

Page 1: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

GBC043–Sistemas de Banco de Dados (SBD)

Plano de Ensino (Versão Preliminar)

2020/3.AARE.Etapa 1

Ilmério Reis da Silvailmerio arroba ufu.brwww.facom.ufu.br/~ilmerio/GBC043MS Teams: GBC043.2020/3.T1UFU/FACOM

Page 2: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:2

Motivação (Justificativa)

Por que…

…SBD é essencial para qualquer organização;

Page 3: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:3

Motivação (Justificativa)

Por que…

…SBD é essencial para qualquer organização;

...o conteúdo da disciplina é fundamental para a Formação Tecnológica na área de Computação e Informática; e

Page 4: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:4

Motivação (Justificativa)

Por que…

…SBD é essencial para qualquer organização;

...o conteúdo da disciplina é fundamental para a Formação Tecnológica na área de Computação e Informática; e

...as técnicas e formalismos apresentados são importantes no desenvolvimento profissional e na atuação do egresso.

Page 5: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:5

Objetivo Geral

Para...

...Capacitar o aluno a utilizar princípios e ferramentas teóricas para modelar a semântica de uma aplicação com abordagem de banco de dados; e

Page 6: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:6

Objetivo Geral

Para...

...Capacitar o aluno a utilizar princípios e ferramentas teóricas para modelar a semântica de uma aplicação com abordagem de banco de dados; e

...Capacitar o aluno a implementar sistemas de informação utilizando um

Sistema Gerenciador de Banco de Dados-SGBD.

Page 7: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:7

Objetivos EspecíficosPara capacitar o aluno a:

1 interagir com um SGBD instalado em um servidor, aplicando os conceitos de arquitetura de SGBD;

Page 8: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:8

Objetivos EspecíficosPara capacitar o aluno a:

1 interagir com um SGBD instalado em um servidor, aplicando os conceitos de arquitetura de SGBD;

2 projetar um esquema de banco de dados e implantar um banco de dados em um servidor;

Page 9: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:9

Objetivos EspecíficosPara capacitar o aluno a:

1 interagir com um SGBD instalado em um servidor, aplicando os conceitos de arquitetura de SGBD;

2 projetar um esquema de banco de dados e implantar um banco de dados em um servidor;

3 usar uma linguagem de manipulação de dados para inserção, consultas e atualização do banco de dados;

Page 10: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:10

Objetivos EspecíficosPara capacitar o aluno a:

1 interagir com um SGBD instalado em um servidor, aplicando os conceitos de arquitetura de SGBD;

2 projetar um esquema de banco de dados e implantar um banco de dados em um servidor;

3 usar uma linguagem de manipulação de dados para inserção, consultas e atualização do banco de dados;

4 implementar visões lógicas do banco de dados;

Page 11: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:11

Objetivos EspecíficosPara capacitar o aluno a:

1 interagir com um SGBD instalado em um servidor, aplicando os conceitos de arquitetura de SGBD;

2 projetar um esquema de banco de dados e implantar um banco de dados em um servidor;

3 usar uma linguagem de manipulação de dados para inserção, consultas e atualização do banco de dados;

4 implementar visões lógicas do banco de dados;

5 usar uma linguagem de manipulação de dados embutida em uma linguagens de desenvolvimento de aplicações;

Page 12: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:12

Objetivos EspecíficosPara capacitar o aluno a:

1 interagir com um SGBD instalado em um servidor, aplicando os conceitos de arquitetura de SGBD;

2 projetar um esquema de banco de dados e implantar um banco de dados em um servidor;

3 usar uma linguagem de manipulação de dados para inserção, consultas e atualização do banco de dados;

4 implementar visões lógicas do banco de dados;

5 usar uma linguagem de manipulação de dados embutida em uma linguagens de desenvolvimento de aplicações;

6 usar uma linguagem procedural que executa no servidor por meio de funções;

Page 13: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:13

Objetivos EspecíficosPara capacitar o aluno a:

1 interagir com um SGBD instalado em um servidor, aplicando os conceitos de arquitetura de SGBD;

2 projetar um esquema de banco de dados e implantar um banco de dados em um servidor;

3 usar uma linguagem de manipulação de dados para inserção, consultas e atualização do banco de dados;

4 implementar visões lógicas do banco de dados;

5 usar uma linguagem de manipulação de dados embutida em uma linguagens de desenvolvimento de aplicações;

6 usar uma linguagem procedural que executa no servidor por meio de funções;

7 usar uma linguagem procedural no servidor para implementar regras ativas (gatilhos);

Page 14: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:14

Objetivos EspecíficosPara capacitar o aluno a:

1 interagir com um SGBD instalado em um servidor, aplicando os conceitos de arquitetura de SGBD;

2 projetar um esquema de banco de dados e implantar um banco de dados em um servidor;

3 usar uma linguagem de manipulação de dados para inserção, consultas e atualização do banco de dados;

4 implementar visões lógicas do banco de dados;

5 usar uma linguagem de manipulação de dados embutida em uma linguagens de desenvolvimento de aplicações;

6 usar uma linguagem procedural que executa no servidor por meio de funções;

7 usar uma linguagem procedural no servidor para implementar regras ativas (gatilhos);

8 implementar controles de segurança e acesso aos dados do banco de dados; e

Page 15: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:15

Objetivos EspecíficosPara capacitar o aluno a:

1 interagir com um SGBD instalado em um servidor, aplicando os conceitos de arquitetura de SGBD;

2 projetar um esquema de banco de dados e implantar um banco de dados em um servidor;

3 usar uma linguagem de manipulação de dados para inserção, consultas e atualização do banco de dados;

4 implementar visões lógicas do banco de dados;

5 usar uma linguagem de manipulação de dados embutida em uma linguagens de desenvolvimento de aplicações;

6 usar uma linguagem procedural que executa no servidor por meio de funções;

7 usar uma linguagem procedural no servidor para implementar regras ativas (gatilhos);

8 implementar controles de segurança e acesso aos dados do banco de dados; e

9 implementar objetos complexos armazenados em um SGBD e a definir estratégias e recursos necessários para implementação de banco de dados distribuídos.

Page 16: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:16

Ementa

Arquitetura de um Sistema de Banco de Dados. Modelo Conceitual de Entidades e Relacionamentos. Modelo Relacional. Linguagem de Definição de Dados. Linguagens de Manipulação de Dados. Projeto de Banco de Dados: dependência funcional, chaves, normalização, visões. Transações, controle de concorrência e recuperação de falhas. Implementação de Aplicações usando Sistemas de Gerenciamento de Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco de dados, linguagem SQL embutida em linguagens de programação. Comunicação entre aplicação ("front-end") e o SGBD. Introdução a Modelo de Dados Orientado a Objetos. Introdução a Banco de Dados Distribuídos.

Page 17: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:17

Programa Teórico – Visão Panorâmica

I) Sistemas de BD, Modelos de Dados e Projeto de BD;

Page 18: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:18

Programa Teórico – Visão Panorâmica

I) Sistemas de BD, Modelos de Dados e Projeto de BD;

II) Manipulação de Dados;

Page 19: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:19

Programa Teórico – Visão Panorâmica

I) Sistemas de BD, Modelos de Dados e Projeto de BD;

II) Manipulação de Dados;

III) Linguagem Procedural no Servidor, Transações e

Controle de Concorrência; e

Page 20: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:20

Programa Teórico – Visão Panorâmica

I) Sistemas de BD, Modelos de Dados e Projeto de BD;

II) Manipulação de Dados;

III) Linguagem Procedural no Servidor, Transações e

Controle de Concorrência; e

IV) Tópicos em BD.

Page 21: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:21

Programa Prático – Visão Panorâmica

V) Projeto e implementação de Sistemas de Banco de Dados.

Page 22: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:22

Ia) Introdução a Sistemas de BD

Conceitos em SBD:

Modelos, esquemas e instâncias;

Page 23: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:23

Ia) Introdução a Sistemas de BD

Conceitos em SBD:

Modelos, esquemas e instâncias; Níveis de abstração;

Page 24: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:24

Ia) Introdução a Sistemas de BD

Conceitos em SBD:

Modelos, esquemas e instâncias; Níveis de abstração; Linguagens deDescrição de Dados (DDL);

Page 25: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:25

Ia) Introdução a Sistemas de BD

Conceitos em SBD:

Modelos, esquemas e instâncias; Níveis de abstração; Linguagem de Descrição de Dados (DDL); Linguagem de Manipulação de Dados (DML); e

Page 26: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:26

Ia) Introdução a Sistemas de BD

Conceitos em SBD:

Modelos, esquemas e instâncias; Níveis de abstração; Linguagem de Descrição de Dados (DDL); Linguagem de Manipulação de Dados (DML); e Arquitetura de um SBD.

Page 27: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:27

Ib) Modelagem

• Modelo Conceitual: Modelo de Entidade e Relacionamento (ER) e ER estendido (EER);

Page 28: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:28

Ib) Modelagem

• Modelo Conceitual: Modelo de Entidade e Relacionamento (ER) e ER estendido (EER);

• Modelo Lógico: Modelo Relacional; e

Page 29: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:29

Ib) Modelagem

• Modelo Conceitual: Modelo de Entidade e Relacionamento (ER) e ER estendido (EER);

• Modelo Lógico: Modelo Relacional; e• Mapeamento ER, EER para Modelo Relacional;

Page 30: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:30

Ic) Projeto de BD

• Teoria de Dependências e Formas Normais;

Page 31: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:31

Ic) Projeto de BD

• Teoria de Dependências e Formas Normais;• Projeto Físico;

Page 32: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:32

Ic) Projeto de BD

• Teoria de Dependências e Formas Normais;• Projeto Físico;• Linguagem de Descrição de Dados – SQL/DDL – Parte 1• (Comandos de criação, alteração e remoção de tabelas); e

Page 33: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:33

Ic) Projeto de BD

• Teoria de Dependências e Formas Normais;• Projeto Físico;• Linguagem de Descrição de Dados – SQL/DDL – Parte 1;• (Comandos de criação, alteração e remoção de tabelas); e• (Algoritmos de projeto de BD)

Page 34: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:34

IIa) SQL

Linguagem de Manipulação de Dados – SQL/DML:– Comandos de inserção de tuplas em tabelas;– Comandos de alteração e remoção de tuplas; e– Comandos de consulta (simples, aninhadas junção,

agregação e consultas recursivas).; e

Page 35: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:35

IIa) SQL

Linguagem de Manipulação de Dados - SQL/DML– Comandos de inserção de tuplas em tabelas;– Comandos de alteração e remoção de tuplas; e– Comandos de consulta (simples, aninhadas,

junção, agregação e consultas recursivas).e;

Linguagem SQL/DDL – Parte 2– Definição de visões;– Especificação de restrições em bancos de dados; e– Evolução de esquemas de banco de dados.

Page 36: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:36

IIb) Manipulação de Dados no Modelo R

• Álgebra Relacional; e

Page 37: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:37

IIb) Manipulação de Dados no Modelo R

• Álgebra Relacional; e

• (Cálculo Relacional).

Page 38: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:38

IIIa) Linguagem procedural no servidor

Funções em PL/pgSQL; e

Page 39: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:39

IIIa) Linguagem procedural no servidor

Funções em PL/pgSQL; e

Gatilhos em PL/pgSQL.

Page 40: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:40

IIIb) Transações e Controle de Concorrência

Conceito de transação/ propriedade ACID;

Page 41: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:41

IIIb) Transações e Controle de Concorrência

Conceito de transação/ propriedade ACID; Controle de concorrência: conceito; bloqueio e deadlock;

escalonamentos; serialização; e protocolos; e

Page 42: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:42

IIIb) Transações e Controle de Concorrência

Conceito de transação/ propriedade ACID; Controle de concorrência: conceito; bloqueio e deadlock;

escalonamentos; serialização; e protocolos; e Processo de recuperação de falhas.

Page 43: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:43

IIIc) Tópicos em BD

(Banco de dados de objeto e objeto-relacional)

(Banco de dados distribuído)

Page 44: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:44

V) Programa Prático

Modelagem de Dados e implementação em um SGBD Especificação de uma aplicação a ser implementada por

intermédio de um SGBD;

Page 45: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:45

V) Programa Prático

Modelagem de Dados e implementação em um SGBD Especificação de uma aplicação a ser implementada por

intermédio de um SGBD; Projeto conceitual (Modelo ER e EER);

Page 46: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:46

V) Programa Prático

Modelagem de Dados e implementação em um SGBD Especificação de uma aplicação a ser implementada por

intermédio de um SGBD; Projeto conceitual (Modelo ER e EER); Projeto lógico (MR);

Page 47: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:47

V) Programa Prático

Modelagem de Dados e implementação em um SGBD Especificação de uma aplicação a ser implementada por

intermédio de um SGBD; Projeto conceitual (Modelo ER e EER); Projeto lógico (MR); Implementação do MR usando um SGBD (PostgreSQL);

Page 48: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:48

V) Programa Prático

Modelagem de Dados e implementação em um SGBD Especificação de uma aplicação a ser implementada por

intermédio de um SGBD; Projeto conceitual (Modelo ER e EER); Projeto lógico (MR); Implementação do MR usando um SGBD (PostgreSQL); Implementação de consultas em um SGBD (PostgreSQL);

Page 49: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:49

V) Programa Prático

Modelagem de Dados e implementação em um SGBD Especificação de uma aplicação a ser implementada por

intermédio de um SGBD; Projeto conceitual (Modelo ER e EER); Projeto lógico (MR); Implementação do MR usando um SGBD (PostgreSQL); Implementação de consultas em um SGBD (PostgreSQL); Implementação de SQL embutida em linguagem hospedeira;

Page 50: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:50

V) Programa Prático

Modelagem de Dados e implementação em um SGBD Especificação de uma aplicação a ser implementada por

intermédio de um SGBD; Projeto conceitual (Modelo ER e EER); Projeto lógico (MR); Implementação do MR usando um SGBD (PostgreSQL); Implementação de consultas em um SGBD (PostgreSQL); Implementação de SQL embutida em linguagem hospedeira; Implementação de Funções e Gatilhos em um SGBD

(PostgreSQL); e

Page 51: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:51

V) Programa Prático

Modelagem de Dados e implementação em um SGBD Especificação de uma aplicação a ser implementada por

intermédio de um SGBD; Projeto conceitual (Modelo ER e EER); Projeto lógico (MR); Implementação do MR usando um SGBD (PostgreSQL); Implementação de consultas em um SGBD (PostgreSQL); Implementação de SQL embutida em linguagem hospedeira; Implementação de Funções e Gatilhos em um SGBD

(PostgreSQL); e Execução de transações, controle de concorrência e

recuperação de falhas em um SGBD.

Page 52: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:52

Metodologia

• Aulas expositivas síncronas por meio de reuniões virtuais (cerca de 50% da CH de 90h), incluindo exemplos e exercícios, sendo as implementações no PostgreSQL;

Page 53: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:53

Metodologia

• Aulas expositivas síncronas por meio de reuniões virtuais (cerca de 50% da CH de 90h), incluindo exemplos e exercícios, sendo as implementações no PostgreSQL;

• Vídeos, roteiros e listas de exercícios como atividades assíncronas; e

Page 54: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:54

Metodologia

• Aulas expositivas síncronas por meio de reuniões virtuais (cerca de 50% da CH de 90h), incluindo exemplos e exercícios, sendo as implementações no PostgreSQL;

• Vídeos, roteiros e listas de exercícios como atividades assíncronas; e

• Projeto e implementação de um protótipo de aplicação transacional, usando um SGBD e linguagem com SQL Embutida;

Page 55: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:55

Horário de Atendimento

• Horário preferencial de atendimento virtual, individual ou em grupo:

4ª-feira: 14h50 – 16h30;

OBS:  solicitar agendamento, enviando e-mail ao professor até o

final do dia anterior, incluindo o assunto; e havendo impedimento no horário acima, solicitar

atendimento em outro horário, desde que acompanhado de justificativa.

Page 56: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:56

Avaliações – Notas Parciais

SEJAM:

• ne  : soma de notas de exercícios e laboratórios, ne<=25

• ni  : nota de implementação de trabalho semestral, n

i<=25

• np : nota parcial prática, onde

np = ne + ni , logo np<=50 

• n1, n2 e n3 : notas da 1ª, 2ª e 3ª provas, n1, n2 e n3 <= 25

• nt :  nota parcial teórica, onde 

nt = n1 + n2 + n3 - mínimo (n1, n2, n3), logo nt<=50 

Page 57: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:57

Avaliações – Nota Final

NOTA_FINAL(nt, np) RETURN INT:  

           IF  (nt >= 25  AND np >= 25)                   THEN  nf := nt+np;                   ELSE WITH tnotas(nota) AS (SELECT 59 UNION SELECT (nt + np))                                             SELECT MIN (nota) FROM tnotas INTO nf;            END IF;

           RETURN nf;

Page 58: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:58

Avaliações – Situação Final

SITUAÇÃO_FINAL(faltas ,nt ,np) RETURN TEXT:

nf ::= NOTA_FINAL(nt ,np)

IF ( faltas < 28)     THEN IF (nf >= 60) THEN sf:=''Aprovado'' ;                                    ELSE sf:=''Reprovado'';               END IF;    ELSE  sf:=''Reprovado por Frequência''; END IF;

RETURN sf;

Page 59: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:59

Bibliografia - Livros

[EN] R. Elmasri/ S. B. Navathe: Sistemas de Banco de Dados – Fundamentos e aplicações, tradução da 6a. ed. [por] Daniel Vieira, São Paulo, Pearson Addison Wesley, 2011.

[RG] R. Ramakrishnan/ J. Gehrke: Sistema de Gerenciamento de Banco de Dados. Tradução da 3a. ed. [por] P Fernandes et. al., São Paulo, McGraw-Hill, 2008.

[SK] A. Silberschatz/ H. F. Korth/ S. Sudarshan: Sistema de Banco de Dados, tradução da 6a. ed. [por] Daniel Vieira, Rio de Janeiro, Elsevier, 2012.

Page 60: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:60

Bibliografia - Sítios conteúdo Teórico

[ER] ER Diagram Tutorial in DBMS, https://www.guru99.com/er-diagram-tutorial-dbms.html, Acesso 2020

[SQL] SQL Tutorial, https://www.w3schools.com/sql/default.asp, Acesso 2020

[RDBMS] RDBMS QUESTIONS, https://www.sanfoundry.com/1000-rdbms-questions-answers, Acesso 2020

[GBC043] Sistemas de Banco de Dados, http://www.facom.ufu.br/~ilmerio/GBC043/, Acesso 2020

Page 61: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:61

Bibliografia - Sítios conteúdo Prático

[PG] PostgreSQL global development group (Manuais), http://www.postgresql.org/docs, Acesso 2020 

(A versão do servidor PostgreSQL no laboratório da FACOM é a 9.6.13 rodando sob o Linux, 64-bit, mas o acesso pode ser feito por meio de cliente em Windows ou Linux, por exemplo PgAdmin IV)

[GBC043] Sistemas de Banco de Dados, http://www.facom.ufu.br/~ilmerio/GBC043/, Acesso 2020

Page 62: SISTEMAS DE BANCO DE DADOS - SBDilmerio/GBC043/notasdeaula/bccSbd0... · 2020-03-12 · Banco de Dados: definição e manipulação de dados; linguagem procedural no servidor de banco

Página:62

FIM – Plano de Curso