Dúvida com banco de dados
Olá amigos, gostaria de saber se eu preciso criar views, roles e domains se tem necessidade ou eu criando o banco de dados e as tabelas dá pra desenvolver um sistema em delphi e criar as consultas no próprio delphi?
Cláudiogyn
Curtidas 0
Respostas
Vinicius2k
17/06/2004
Colega,
Vc pode criar os objetos apenas q forem necessários à sua aplicação... eu por exemplo uso muito roles, algumas views e não uso domains... muitas triggers e pouquissimas Stored Procedures... vai realmente ser de acordo com suas necessitades...
T+
Vc pode criar os objetos apenas q forem necessários à sua aplicação... eu por exemplo uso muito roles, algumas views e não uso domains... muitas triggers e pouquissimas Stored Procedures... vai realmente ser de acordo com suas necessitades...
T+
GOSTEI 0
Cláudiogyn
17/06/2004
Quando eu devo usar roles???? Vc pode me dar um exemplo prático do uso de roles????
GOSTEI 0
Vinicius2k
17/06/2004
Colega,
Basicamente eu uso roles para determinar níveis de acesso aos objetos do banco de dados e consequentemente aos módulos e telas da aplicação, por exemplo, crio as roles :
OperadorVendas c/ os GRANTS inerentes às operações básicas de vendas.
SecretariaVendas c/ os GRANTS inerentes à Role OperadorVendas + às operações Inerentes à Secretaria.
GerenteVendas c/ os GRANTS inerentes à todas as operações com o módulo de vendas.
Quando é efetuado o cadastro de algum usuário no SGBD são atribuídas à ele as roles às quais ele tem direito...
Como vc pode perceber as roles servem para dar direitos em massa para determinado usuário, porque seria muito trabalhoso, em sistemas com muitos usuários, atribuir os direitos aos objetos que lhe dizem respeito à cada usuário...
Um exemplo de View associado a isso é que, supondo que exista uma coluna ´PrecoCusto´ na sua tabela ´Produtos´, a Role OperadorVendas precisa acessar a tabela Produtos, isso é basico, mas vc não quer que ele veja a coluna ´PrecoCusto´, então vc cria uma View sem esta coluna e dá direito à Role OperadorVendas sobre a View_Produtos e não sobre a Tabela produtos...
Bem, a realidade para que vc possa usar destes recursos vc trabalhar como eu : segurança à nivel de SGDB... se vc usar na sua conexão o usuário SYSDBA e o controle de acessos for através da aplicação, tudo isso não lhe serve para nada... o SYSDBA pode fazer qualquer coisa mesmo...
Penso que esta seja uma questão que deveria ser mais discutida e com mais material dicas, artigos e etc, pois a maioria dos desenvolvedores não usam nenhuma técnica de segurança... nem mesmo trocam a senha do SYSDBA... um usuário de nível um pouco mais alto pode simplesmente baixar o IBExpert na sua estação e fazer o que quiser no Banco de Dados... até dar um DROP...
Espero ter ajudado...
T+
Basicamente eu uso roles para determinar níveis de acesso aos objetos do banco de dados e consequentemente aos módulos e telas da aplicação, por exemplo, crio as roles :
OperadorVendas c/ os GRANTS inerentes às operações básicas de vendas.
SecretariaVendas c/ os GRANTS inerentes à Role OperadorVendas + às operações Inerentes à Secretaria.
GerenteVendas c/ os GRANTS inerentes à todas as operações com o módulo de vendas.
Quando é efetuado o cadastro de algum usuário no SGBD são atribuídas à ele as roles às quais ele tem direito...
Como vc pode perceber as roles servem para dar direitos em massa para determinado usuário, porque seria muito trabalhoso, em sistemas com muitos usuários, atribuir os direitos aos objetos que lhe dizem respeito à cada usuário...
Um exemplo de View associado a isso é que, supondo que exista uma coluna ´PrecoCusto´ na sua tabela ´Produtos´, a Role OperadorVendas precisa acessar a tabela Produtos, isso é basico, mas vc não quer que ele veja a coluna ´PrecoCusto´, então vc cria uma View sem esta coluna e dá direito à Role OperadorVendas sobre a View_Produtos e não sobre a Tabela produtos...
Bem, a realidade para que vc possa usar destes recursos vc trabalhar como eu : segurança à nivel de SGDB... se vc usar na sua conexão o usuário SYSDBA e o controle de acessos for através da aplicação, tudo isso não lhe serve para nada... o SYSDBA pode fazer qualquer coisa mesmo...
Penso que esta seja uma questão que deveria ser mais discutida e com mais material dicas, artigos e etc, pois a maioria dos desenvolvedores não usam nenhuma técnica de segurança... nem mesmo trocam a senha do SYSDBA... um usuário de nível um pouco mais alto pode simplesmente baixar o IBExpert na sua estação e fazer o que quiser no Banco de Dados... até dar um DROP...
Espero ter ajudado...
T+
GOSTEI 0