0% acharam este documento útil (0 voto)
50 visualizações43 páginas

CH Total: 74 Horas - Conteúdo

Este documento descreve um curso de banco de dados de 74 horas que aborda sistemas de gerenciamento de banco de dados SQL, administração de banco de dados, metodologia de ensino e avaliações. O curso ensina conceitos e habilidades importantes de banco de dados.

Enviado por

Bruno Batista
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
50 visualizações43 páginas

CH Total: 74 Horas - Conteúdo

Este documento descreve um curso de banco de dados de 74 horas que aborda sistemas de gerenciamento de banco de dados SQL, administração de banco de dados, metodologia de ensino e avaliações. O curso ensina conceitos e habilidades importantes de banco de dados.

Enviado por

Bruno Batista
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 43

Banco de Dados

• CH TOTAL: 74 HORAS

• Conteúdo:
• Sistemas de Gerenciamento de Banco de Dados (SGBD) SQL: DDL, DML,
Selects, JOINS, consultas básicas e avançadas na base dados, definição de
restrições, Views, Stored Procedures, Triggers e Functions Calls.

• Administração do Banco de Dados: Arquitetura, estratégias de backup,


integridade, concorrência, recuperação após falha, gerência de usuário,
permissões e segurança, restrições de integridade, controle de transações, e
criação de índices e cursores.
Banco de Dados

• Metodologia:
• Aulas expositivas dialogadas, com apresentação de slides, explicação dos conteúdos,
desenvolvimento de atividades individuais e/ou em grupo, analise de situações-
problema e esclarecimento de dúvidas.

• Atendimento:
• Presencialmente e por email institucional;

• Chat e fórum no ambiente virtual de aprendizagem (Moodle)


Banco de Dados

• Avaliações:
• Atividades: 5,0 pontos

• Prova 1: 2,0 pontos

• Prova 2: 3,0 pontos

• Nota Final = Atividades + Prova 1 + Prova 2

• AVALIAÇÃO FINAL: Avaliação objetiva e/ou dissertativa e/ou prática


10,0 pontos ( abrangendo no mínimo 75% de todo o conteúdo)
Avaliação Final

• Disponível para alunos com notas:


• >=3,0 e <6

• Avaliação com todo o conteúdo abordado no semestre.

• Média Final = (NF + NAF)/2


• NF: Nota final

• NAF: Nota Avaliação Final


Banco de Dados

• Referências:

• CARDOSO, V.; CARDOSO, G. Linguagem SQL: Fundamentos e práticas.


1. ed., Editora Saraiva, 2013.

• DAMAS, Luis. SQL: Structured Query Language. 6. ed. São Paulo: LTC,
2007.

• RAMAKRISHNAN, R.; GEHRKE, J. Sistemas de gerenciamento de banco


de dados. São Paulo: McGraw-Hill, 2008.
Banco de Dados
Prof.: Reidner Santos
Revisando..
O que é um banco de dados?

• Um banco de dados (BD) é uma coleção de dados relacionados.

• Permite a organização, o armazenamento, a gestão e a


distribuição dessas informações.

• Agilidade, uniformidade, segurança e consistência de


dados.

• Evitar redundância de informações


Dados

ABSTRAÇÃO
Níveis de
abstração –
Projeto de
BD
Exemplo Modelo Conceitual
Exemplo Modelo Relacional

• Pessoa(codPessoa, nomePessoa)

• Armario(codArmario,local,codPessoa)

• Livro(codLivro, titulo,codPessoa,codEstante)

• Estante(codEstante, local)

• Categoria(codCategoria, descrição)

• CategoriaLivro(codLivro, codCategoria)

• Telefone(codPessoa,telefone)
Introdução ao SQL

REIDNER SANTOS CAVALCANTE


PROFESSOR
O que é SQL?

• SQL significa Structured Query Language, ou, Linguagem de Consulta


Estruturada

• É uma linguagem para acesso e manipulação de banco de dados


relacionais.
Subdivisões
da
linguagem
SQL
DDL
•DDL - Linguagem de Definição de Dados

• Define os comandos utilizados para criação (CREATE) de tabelas, views, índices,


atualização dessas estruturas (ALTER), assim como a remoção (DROP).

• Exemplo:

• Create database / Create table

• Alter database / Alter table

• Drop database / Drop table


CREATE database

• Utilizado para criação de um banco de dados. Dentro da estrutura do Banco de


Dados que são criadas as tabelas.

• Sintaxe:
• CREATE DATABASE nome_database
ALTER database

• Permite alterar algumas propriedades do banco de dados.

• Sintaxe:

• ALTER DATABASE nome_database SET propriedade


DROP database

• Permite apagar todo banco de dados do sistema

• Sintaxe:

• DROP DATABASE nome_database


CREATE table

• Permite criar a estrutura de uma tabela definindo as colunas, seus tipos, restrições, chaves
primárias e chaves estrangeiras existentes.

• Sintaxe:

CREATE TABLE nome_tabela(


coluna1 tipo_dados constraint,
coluna2 tipo_dados constraint,
coluna3 tipo_dados constraint,
PRIMARY KEY (coluna)
);
Exemplo

• Criar a tabela “usuario”

CREATE TABLE usuario(


id int NOT NULL,
Nome varchar(80),
nivel_acesso int,
PRIMARY KEY (id)
);
ALTER table

Permite alterar a estrutura de uma tabela do BD.

Sintaxe:

ALTER TABLE nome_tabela DROP COLUMN coluna

ALTER TABLE nome_tabela ADD coluna tipo_dados constraint

ALTER TABLE nome_tabela RENAME COLUMN colunaA TO colunaB

ALTER TABLE nome_tabela MODIFY coluna tipo_dados constraint


ALTER table

Sintaxe:

ALTER TABLE nome_tabela ADD PRIMARY KEY nome_coluna

ALTER TABLE nome_tabela DROP PRIMARY KEY

ALTER TABLE nome_tabela ADD FOREIGN KEY nome_coluna_chave_estrangeira REFERENCES


(nome_tabela_pai) ON DELETE [RESTRICT][CASCADE][SET NULL]

ALTER TABLE nome_tabela DROP CONSTRAINT nome_constraint


Exemplo

ALTER TABLE usuario RENAME COLUMN nome TO nomeUsuario

ALTER TABLE usuario ADD setor varchar(4);


DROP table

Excluir a estrutura e os dados existentes em uma tabela.


Após a execução deste comando estarão excluídos todos os dados,
estrutura e índices de acessos que estejam a ela associados.

Exemplo:

DROP TABLE usuário;


Tipos de dados disponíveis no SQLite

Example Typenames From The


CREATE TABLE Statement Resulting Affinity
or CAST Expression
INT
INTEGER
TINYINT
SMALLINT
MEDIUMINT INTEGER
BIGINT
UNSIGNED BIG INT
INT2
INT8

CHARACTER(20)
VARCHAR(255)
VARYING CHARACTER(255)
NCHAR(55)
TEXT
NATIVE CHARACTER(70)
NVARCHAR(100)
TEXT
CLOB
Tipos de dados disponíveis no SQLite

Example Typenames From The


CREATE TABLE Statement Resulting Affinity
or CAST Expression

BLOB
BLOB
no datatype specified

REAL
DOUBLE
REAL
DOUBLE PRECISION
FLOAT
NUMERIC
DECIMAL(10,5)
BOOLEAN NUMERIC
DATE
DATETIME
Exemplo
• Criar os scripts DDL para o modelo relacional a seguir. Definir a chave
primária de cada tabela.
Ambulatorio(nroAmb, andar, capacidadeTotal)

Medico(codM, CPF, nomeM, idade, cidade, especialidade, nroAmb)

Paciente(codP, CPF, nomeP, idade, cidade, doenca)

Consulta(codM, codP, data, hora)

Funcionario(codF, CPF, nomeF, idade, cidade, salario)

Após criar a estrutura, adicione 1 nova coluna para cada tabela – Ambulatorio: localização; Medico:
endereco; Paciente: endereco; Consulta: nroAmb; Funcionario: telefone.

Renomeie os campos nomeM, nomeP, nome para nome_medico, nome_paciente e


nome_funcionário.
DML - Linguagem de manipulação de dados

Linguagem de Manipulação de Dados (ou DML, Data Manipulation Language) é uma família de linguagens de
computador utilizadas para a recuperação, inclusão, remoção e modificação de informações em bancos de
dados.

Comandos:

● INSERT - Instrução utilizada para incluir uma nova tupla na relação.


● UPDATE - Esta operação modifica os valores de um ou mais atributos de uma tupla de uma certa relação.
● DELETE - Esta operação promove a remoção de uma ou mais tuplas
INSERT

Usado para adicionar uma nova tupla (linha) a uma relação (tabela).

A sentença INSERT é composta basicamente de duas cláusulas: INSERT INTO

e VALUES.

● INSERT INTO – Define o nome da relação a ser inserido a informação.


● VALUES – Lista de valores que serão inseridos na tupla.

Os valores devem ser especificados na mesma ordem em que os atributos


correspondentes foram especificados no comando CREATE TABLE.
INSERT – Violação de Integridade

A operação INSERT, pode violar as quatro restrições de integridade:


● Domínio - O valor informado não está de acordo com o tipo de dados definido para
uma determinada coluna;
● Chave - O valor informado para a chave está de com os conceitos de chave primária;
● Integridade de entidade - Não é informado todos os valores obrigatórios e/ou valor de
chave primária como NULL
● Integridade referencial - O valor informado para chave estrangeira não está de acordo
com sua referência.
Quando qualquer uma dessas violações ocorre, a inserção da nova tupla será rejeitada.
Exemplo

INSERT INTO <nome da tabela> (<lista de atributos>) VALUES (<lista de


valores>);

INSERT INTO usuario(id , nomeusuario, nivel_acesso, setor)


VALUES(0,'Reidner', 1, 'AB10');
Exemplo

Caso seja informado dados de todas as colunas definidas no CREATE TABLE,


utilizando a mesma ordem da criação, a lista de atributos pode ser omitida.

Exemplo:

INSERT INTO usuario VALUES(1,'Reidner', 1, 'AB10');


DELETE

• O comando DELETE remove tuplas (linhas) de uma relação de acordo as condições


associadas a determinados atributos da relação.
• Faz-se necessário o uso da cláusula WHERE.

• As tuplas são excluídas apenas de uma tabela por vez. Porém, a exclusão pode propagar
para as tuplas em outras relações.

• Dependendo da condição associada ao comando DELETE, zero, uma ou várias tuplas


podem ser excluídas por um único comando.
DELETE

Restrição de Integridade

Quando executada, a operação DELETE pode violar a restrição de integridade referencial.

Caso ocorra:
A operação de remoção é rejeitada
OU
Propagada por meio da remoção das tuplas que referenciam a tupla inicialmente
removida.
DELETE

Sintaxe:

DELETE FROM nome_tabela WHERE <condição 1>, <condição 2>;

DELETE FROM usuario WHERE id = 1;


DELETE FROM usuario WHERE nomeUsuario=“Reidner”;
UPDATE

• O comando UPDATE é usado para modificar valores de atributos de


uma ou mais tuplas selecionadas.

• As tuplas que sofrerão as modificações são especificadas por meio de


condições associadas a determinados atributos da relação.

• Também é necessário utilizar a cláusula WHERE.


UPDATE

• Violação de integridade

• Como acontece na operação INSERT, a operação UPDATE também pode violar as


quatro restrições de integridade: domínio, chave, integridade de entidade e de
integridade referencial.
● Domínio - O valor informado não está de acordo com o tipo de dados definido para uma

determinada coluna;
● Chave - O valor informado para a chave está de com os conceitos de chave primária;

● Integridade de entidade - Não é informado todos os valores obrigatórios e/ou valor de

chave primária como NULL


● Integridade referencial - O valor informado para chave estrangeira não está de acordo com
UPDATE

UPDATE é composto por três cláusulas: UPDATE, SET e WHERE.

● A cláusula UPDATE é responsável pela definição do nome da tabela alvo.


● A cláusula SET define qual atributo sofrerá alteração bem como seu novo valor.
Pode ser uma lista de atributos.
● A cláusula WHERE define a condição para que a alteração ocorra.

UPDATE <nome da tabela> SET coluna1 = <novo valor>, coluna2 = <novo valor>, …
UPDATE

Sintaxe:

UPDATE nome_tabela SET coluna1 = <novo_valor>, coluna2 = <novo_valor>, …


WHERE <condição 1>, <condição 2>, …
UPDATE

Exemplo:

UPDATE usuario SET nomeUsuario=“Rei” WHERE id=0;

UPDATE usuário SET nível_acesso=10 WHERE nomeUsuario=“Rei”;


Exemplo

• Insira pelo menos 3 registros em cada tabela

• Exclua todos os registros da tabela CONSULTA.

• Atualize o nome dos funcionários.

Você também pode gostar