Sistemas Gerenciadores de Banco de Dados (SGBD)

Um SGBD é um conjunto de dados associados a programas que permitem o acesso e a manipulação dessas informações.

Funções

  • Armazenar dados em disco de forma estruturada
  • Fornecer mecanismos de criação/alteração de definições
  • Manter a localização de cada elemento

Estrutura e Processamento

flowchart TD subgraph SGBD DML["Compilador DML"] DDL["Interpretador DDL"] ARMAZENAMENTO["Gerenciamento de Armazenamento"] DADOS["Dados Físicos"] end DML -->|"Comandos de Manipulação"| ARMAZENAMENTO DDL -->|"Definição de Estruturas"| ARMAZENAMENTO ARMAZENAMENTO --> DADOS DADOS -->|"Metadados, índices, estatísticas"| ARMAZENAMENTO

Arquitetura do Postgresql

Arquitetura do Oracle

Exemplo de Estrutura Técnica: PostgreSQL

-- Criação de um banco de dados
CREATE DATABASE escola;

-- Criação de uma tabela
CREATE TABLE alunos (
  id SERIAL PRIMARY KEY,
  nome VARCHAR(100),
  matricula VARCHAR(20) UNIQUE,
  data_nascimento DATE
);

-- Criação de um índice
CREATE INDEX idx_nome_aluno ON alunos(nome);

-- Exemplo de view
CREATE VIEW alunos_maiores AS
  SELECT nome, matricula FROM alunos WHERE data_nascimento < '2008-01-01';

Exemplo de Estrutura Técnica: Oracle

-- Criação de tablespace (Oracle)
CREATE TABLESPACE escola_ts DATAFILE 'escola01.dbf' SIZE 10M;

-- Criação de usuário e concessão de privilégios
CREATE USER escola IDENTIFIED BY senha DEFAULT TABLESPACE escola_ts;
GRANT CONNECT, RESOURCE TO escola;

-- Criação de tabela
CREATE TABLE escola.alunos (
  id NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
  nome VARCHAR2(100),
  matricula VARCHAR2(20) UNIQUE,
  data_nascimento DATE
);

-- Criação de índice
CREATE INDEX idx_nome_aluno ON escola.alunos(nome);

-- Exemplo de view
CREATE OR REPLACE VIEW escola.alunos_maiores AS
  SELECT nome, matricula FROM escola.alunos WHERE data_nascimento < TO_DATE('2008-01-01','YYYY-MM-DD');