Você está na página 1de 11

SEGURANÇA DE SISTEMAS DE BANCO DE DADOS

MNBF

RELATÓRIO DE AULA PRÁTICA


MNBF

RELATÓRIO DE AULA PRÁTICA

Trabalho textual apresentado como requisito parcial para


a obtenção de média semestral.
SUMÁRIO

1 INTRODUÇÃO......................................................................................................3
2 DESENVOLVIMENTO..........................................................................................4
2.1 Tarefa 1.............................................................................................................4
2.2 Tarefa 2.............................................................................................................6
2.3 Tarefa 3.............................................................................................................7
3 CONCLUSÃO.......................................................................................................9
Referência................................................................................................................. 10
3

1 INTRODUÇÃO

Este relatório de aula prática tem por objetivo a fixação do


aprendizado de comandos SQL. Será criado um banco de dados com o nome de
Estoque, e nele será inserido tabelas e usuários seguindo padrões de segurança em
banco de dados.
4

2 DESENVOLVIMENTO

O projeto será desenvolvido na plataforma Microsoft SQL SERVER juntamente com


o AZURE DATA STUDIO.

2.1 TAREFA 1

Crie uma base de dados chamada "Estoque" com o MySQL Server por meio do software Azure Data
Studio. Adicione as estruturas de dados neste banco, utilizando os comandos de definição de dados
(DDL) da linguagem SQL.

Foi criado o banco de dados e efetuado o comando para começar a usar o mesmo.

--CRIAÇÃO DO BANCO DE DADOS


IF OBJECT_ID ('Estoque', 'U') IS NULL CREATE DATABASE Estoque;

--SELECIONA O BANCO DE DADOS A SER USADO


USE Estoque;
5

Na criação do banco de dados da figura, respeite as seguintes regras:


• • As chaves primárias devem ser colocadas todas como autoincremento.
• • Respeite os relacionamentos, tipos, precisões e restrições de não nulo.

--CRIAÇÃO DA TABELA MERCADORIAPRECOHISTORICO SE ELA NÃO EXISTIR


IF OBJECT_ID ('MercadoriaPrecoHistorico', 'U') IS NULL
CREATE TABLE MercadoriaPrecoHistorico
(
ID INT PRIMARY KEY NOT NULL IDENTITY(1,1),
MercadoriaID INT NOT NULL,
DtGeracao DATETIME NOT NULL,
ValorAnterior DECIMAL(18,2),
ValorAtual DECIMAL(18,2)
);
6

--CRIAÇÃO DA TABELA MERCADORIA SE ELA NÃO EXISTIR


IF OBJECT_ID('Mercadoria') IS NULL
CREATE TABLE Mercadoria
(
ID INT PRIMARY KEY NOT NULL IDENTITY(1,1),
FabricanteID INT NOT NULL,
Nome VARCHAR(50),
QtdeEstoque DECIMAL(18,2) NOT NULL,
Preco DECIMAL(18,2)
FOREIGN KEY (ID) REFERENCES MercadoriaPrecoHistorico(ID));

Foi efetuado a criação das tabelas conforme descrito acima,


utilizando a linguagem Sql.

2.2 TAREFA 2

Crie seis usuários chamados “marcos_adm”, “jose_estoque”, “maria_estoque”, “ana_vend”,


“Miguel_vend” e “lucas_vend”.
Para criar os usuários corretamente, você deve utilizar os comandos
CREATE LOGIN e CREATE USER. Para isso, consulte os links a seguir para aprender
como utilizá-los corretamente a fim de dar procedimento à atividade:
--CRIAÇÃO DE LOGIN E USUARIOS
CREATE LOGIN marcos_adm WITH PASSWORD = '1234';
CREATE USER Marcos FOR LOGIN marcos_adm;

CREATE LOGIN jose_estoque WITH PASSWORD = '5678';


CREATE USER Jose FOR LOGIN jose_estoque;

CREATE LOGIN maria_estoque WITH PASSWORD = '9012';


7

CREATE USER Maria FOR LOGIN maria_estoque;

CREATE LOGIN ana_vend WITH PASSWORD = '3456';


CREATE USER Ana FOR LOGIN ana_vend;

CREATE LOGIN miguel_vend WITH PASSWORD = '7890';


CREATE USER Miguel FOR LOGIN miguel_vend;

CREATE LOGIN lucas_vend WITH PASSWORD = '1234';


CREATE USER Lucas FOR LOGIN lucas_vend;

2.3 TAREFA 3

Com os usuários criados, faça as seguintes atividades:


• Crie um ROLE (papel) chamado “estoquistas” pertencente ao usuário Marcos
(administrador), insira os usuários José e Maria a esse papel, e permita que os componentes desse
papel possam realizar consultas, inserções, alterações e remoções à tabela “Mercadoria”.
• Crie um ROLE (papel) chamado “vendedores” pertencente ao usuário Marcos, insira os
usuários Ana, Miguel e Lucas a esse papel, e permita que os componentes desse papel possam
realizar consultas à toda tabela “Mercadoria”, mas que possam alterar somente o campo
“QtdeEstoque” da tabela “Mercadoria”.

--CRIAÇÃO DOS ROLES E SEUS MEMBROS E SUAS PERMIÇÕES


8

CREATE ROLE Estoquistas;


ALTER ROLE Estoquistas ADD MEMBER Maria;
ALTER ROLE Estoquistas ADD MEMBER Jose;
GRANT SELECT, INSERT, UPDATE, DELETE ON Mercadoria TO Estoquistas;

CREATE ROLE Vendedores;


ALTER ROLE Vendedores ADD MEMBER Ana;
ALTER ROLE Vendedores ADD MEMBER Miguel;
ALTER ROLE Vendedores ADD MEMBER Lucas;
GRANT SELECT ON Mercadoria TO Vendedores;
GRANT UPDATE ON Mercadoria(QtdeEstoque) TO Vendedores;
9

3 CONCLUSÃO

Foi efetuado a criação do banco de dados com a aplicação Azure


Data Studio e o Sql Server.
Com essa atividade foi possível compreender um pouco do
funcionamento de um banco de dados e suas permissões e suas funcionalidades.
Logo abaixo segue o código completo.
--CRIAÇÃO DO BANCO DE DADOS
IF OBJECT_ID ('Estoque', 'U') IS NULL CREATE DATABASE Estoque;

--SELECIONA O BANCO DE DADOS A SER USADO


USE Estoque;

--CRIAÇÃO DA TABELA MERCADORIAPRECOHISTORICO SE ELA NÃO EXISTIR


IF OBJECT_ID ('MercadoriaPrecoHistorico', 'U') IS NULL
CREATE TABLE MercadoriaPrecoHistorico
(
ID INT PRIMARY KEY NOT NULL IDENTITY(1,1),
MercadoriaID INT NOT NULL,
DtGeracao DATETIME NOT NULL,
ValorAnterior DECIMAL(18,2),
ValorAtual DECIMAL(18,2)
);

--CRIAÇÃO DA TABELA MERCADORIA SE ELA NÃO EXISTIR


IF OBJECT_ID('Mercadoria') IS NULL
CREATE TABLE Mercadoria
(
ID INT PRIMARY KEY NOT NULL IDENTITY(1,1),
FabricanteID INT NOT NULL,
Nome VARCHAR(50),
QtdeEstoque DECIMAL(18,2) NOT NULL,
Preco DECIMAL(18,2)
FOREIGN KEY (ID) REFERENCES MercadoriaPrecoHistorico(ID)
);

--CRIAÇÃO DE LOGIN E USUARIOS


CREATE LOGIN marcos_adm WITH PASSWORD = '1234';
CREATE USER Marcos FOR LOGIN marcos_adm;

CREATE LOGIN jose_estoque WITH PASSWORD = '5678';


CREATE USER Jose FOR LOGIN jose_estoque;

CREATE LOGIN maria_estoque WITH PASSWORD = '9012';


CREATE USER Maria FOR LOGIN maria_estoque;

CREATE LOGIN ana_vend WITH PASSWORD = '3456';


CREATE USER Ana FOR LOGIN ana_vend;
10

CREATE LOGIN miguel_vend WITH PASSWORD = '7890';


CREATE USER Miguel FOR LOGIN miguel_vend;

CREATE LOGIN lucas_vend WITH PASSWORD = '1234';


CREATE USER Lucas FOR LOGIN lucas_vend;

--CRIAÇÃO DOS ROLES E SEUS MEMBROS E SUAS PERMIÇÕES


CREATE ROLE Estoquistas;
ALTER ROLE Estoquistas ADD MEMBER Maria;
ALTER ROLE Estoquistas ADD MEMBER Jose;
GRANT SELECT, INSERT, UPDATE, DELETE ON Mercadoria TO Estoquistas;

CREATE ROLE Vendedores;


ALTER ROLE Vendedores ADD MEMBER Ana;
ALTER ROLE Vendedores ADD MEMBER Miguel;
ALTER ROLE Vendedores ADD MEMBER Lucas;
GRANT SELECT ON Mercadoria TO Vendedores;
GRANT UPDATE ON Mercadoria(QtdeEstoque) TO Vendedores;

REFERÊNCIAS
Transact-SQL Reference (Database Engine)

Disponivel em: https://learn.microsoft.com/pt-br/sql/t-sql/language-


reference?view=sql-server-ver16

Você também pode gostar