quinta-feira, 19 de maio de 2011

Sistema de Ordem de Serviço em C# - SQL Server e Crystal Reports Parte II


Olá a Todos! É Com enorme prazer que venho iniciar o nosso projeto e com certeza ira proporcionar a vocês um melhor conhecimento na linguagem de C#, SQL Server e Crystal Reports.

Antes de Começar primeiro temos que saber a Regra de Negocio que é a base de desenvolvimento do sistema.

Regra de Negocio

O Sistema deve proporcionar cadastro de Clientes, Serviços e Controle de Acesso
O Sistema deve proporcionar relatório contendo todos os Clientes, Serviços e Ordem de Serviços
O Sistema deve proporcionar Cadastro de Ordem de Serviço.


OK! Sabemos agora como o sistema deve ser desenvolvido.

Entre no SQL Server e digite a string a seguir:


/*Cria o banco de dados*/
create database Servico

/*Limpe a Query ou Instrução agora*/

/*Coloca em uso o banco de dados Servico*/
use Servico


/*Cria a tabela tbCliente*/
create table tbCliente
(
idCliente int primary key not null,
nome varchar(80) not null,
cpf char(14) not null,
telefone char(13),
endereco varchar(max),
bairro varchar(100),
cidade varchar(100),
estado varchar(100),
dataDia varchar(50),
cadastradoPor varchar(50)
)


/*Cria a tabela tbServico*/
create table tbServico
(
idServico int primary key not null,
nome varchar(80) not null,
descricao varchar(max),
observacao varchar(max),
valor decimal(10,2),
dataDia varchar(50),
cadastradoPor varchar(50)
)


/*Cria a tabela tbOrdemServico*/
create table tbOrdemServico
(
idOrdem int primary key not null,
idCliente int not null,
idServico int not null,
dataDia varchar(50),
cadastradorPor varchar(50),

/*Chave estrangeira idCliente*/
CONSTRAINT FK_tbOrdemServico_tbCliente_idCliente FOREIGN KEY(idCliente) REFERENCES tbCliente(idCliente),
/*Chave estrangeira idServico*/
CONSTRAINT FK_tbOrdemServico_tbServico_idServico FOREIGN KEY(idServico) REFERENCES tbServico(idServico)

)

/*Cria a tabela tbUsuario*/
create table tbUsuario(
idUsuario int primary key not null,
usuario varchar(50) not null,
senha varchar(50) not null,
repitaSenha varchar(50) not null,
nivelAcesso varchar(50) not null,
dataDia varchar(50),
cadastradorPor varchar(50)
)



No Próximo Post estaremos criando o Projeto do Sistema no Microsoft Visual Studio.

By: Natanael


8 comentários:

  1. Ola natanael estou aprendo C# e fazendo esse seu projeto mas estou garrando nesse codigo.
    /*Chave estrangeira idCliente*/
    CONSTRAINT FK_tbOrdemServico_tbCliente_idCliente FOREIGN KEY(idCliente) REFERENCES tbCliente(idCliente),
    /*Chave estrangeira idServico*/
    CONSTRAINT FK_tbOrdemServico_tbServico_idServico FOREIGN KEY(idServico) REFERENCES tbServico(idServico)
    quando executo da a seguinte mensagem "Incorrect syntax near the keyword 'CONSTRAINT'."

    tem uma sugestão ai.

    washington de itaobim minas gerais
    wasjr2009@hotmail.com

    ResponderExcluir
    Respostas
    1. Boa tarde eu tambem estou agarrado nessa parte o que você fez para resolver vlw....

      Excluir
    2. Boa tarde eu tambem estou agarrado nessa parte o que você fez para resolver vlw....

      Excluir
    3. Este comentário foi removido pelo autor.

      Excluir
    4. você precisa alterar a tabela cuja você quer adicionar a chave estrangeira com comando ALTER TABLE
      e coloque "add" no inicio da linha
      assim : ADD CONSTRAINT FK_tbOrdemServico_tbCliente_idCliente FOREIGN KEY(idCliente)

      Excluir
  2. E ai natanael td tranquilo ??
    Seguinte estou querendo fazer umas mudanças no banco de dados, mas como estou iniciando no sql server ainda, nao manjo mto a parte das chaves estrangeiras, gostaria que desse uma olhada no novo modelo de banco de dados, e me dissesse se esta certo a construção do banco ou se precisa mudar algo. tbm a parte das chaves estrangeiras, se esta certo ou nao.

    /*Cria o banco de dados*/
    create database Servico

    /*Limpe a Query ou Instrução agora*/

    /*Coloca em uso o banco de dados Servico*/
    use Servico


    /*Cria a tabela tbCliente*/
    create table tbCliente
    (
    idCliente int primary key not null,
    nome_Cliente varchar(80) not null,
    cpf char(14) not null,
    telefone1 char(13),
    telefone2 char(13),
    endereco varchar(max),
    bairro varchar(100),
    cidade varchar(100),
    estado varchar(100),
    dataDia varchar(50),
    cadastradoPor varchar(50)
    )


    /*Cria a tabela tbServico*/
    create table tbServico
    (
    idServico int primary key not null,
    nome_Servico varchar(80) not null,
    descricao varchar(max),
    valor decimal(10,2),
    dataDia varchar(50),
    cadastradoPor varchar(50)
    )


    /*Cria a tabela tbOrdemServico*/
    create table tbOrdemServico
    (
    idOrdem int primary key not null,
    nome_Cliente varchar(80) not null,
    nome_Servico varchar(80) not null,
    observacao varchar(max),
    dataDia varchar(50),
    cadastradorPor varchar(50),

    /*Chave estrangeira idCliente*/
    CONSTRAINT FK_tbOrdemServico_tbCliente_nome_Cliente FOREIGN KEY(nome_Cliente) REFERENCES tbCliente(nome_Cliente),
    /*Chave estrangeira idServico*/
    CONSTRAINT FK_tbOrdemServico_tbServico_nome_Servico FOREIGN KEY(nome_Servico) REFERENCES tbServico(nome_Servico)

    )

    /*Cria a tabela tbUsuario*/
    create table tbUsuario(
    idUsuario int primary key not null,
    nome varchar(80) not null,
    usuario varchar(50) not null,
    senha varchar(50) not null,
    repitaSenha varchar(50) not null,
    nivelAcesso varchar(50) not null,
    dataDia varchar(50),
    cadastradorPor varchar(50)
    )

    ResponderExcluir
  3. Nano entendo programacao quero entender o oque faço gente?

    ResponderExcluir
  4. Apenas sou IT Essencial formado na Cisco Academia em Redes de PC e de Sistemas.


    J estou a me apaixounar pela programação.
    Ajuda pessoal quais são os melhores caminhos para apreendizagens?

    ResponderExcluir