Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Crezione tabelle per segnalazioni
venerdì 18 dicembre 2009 - 12.37
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Ely84
Profilo
| Newbie
2
messaggi | Data Invio:
ven 18 dic 2009 - 12:37
Ciao a tutti, devo costruire un database. Vi spiego concettualmente cosa devo realizzare.
Vorrei gestire l'invio e le risposte delle segnalazioni di problema dei siti che realizzo.
I clienti hanno accesso al mio DB attraverso una pagina asp.net del loro sito.
Vi faccio un esempio:
Cliente: Non funziona il bottone X.
Admin: Si ci sto lavorando.
Cliente: Ancora non funziona.
Admin: Adesso si
Cliente: Hai ragione, grazie e ciao.[chiusa segnalazione]
Cliente2: Non mi stampa il report
Admin: Prova ora
Cliente2: tutto ok [chiusa segnalazione]
Cliente3: Vorrei aqua come colore di sfondo
Cliente3: Presto!!!
Admin: Fatto
Cliente3: Ancora non lo hai fatto! [segnalazione pending]
Praticamente il cliente nella sua pagina vedrà una tabella (gridview) con
delle righe dove la prima riga è la sua segnalazione, la seconda sarà la mia
risposta e cosi via.
E deve avere la possibilità di chiudere la propria segnalazione, oppure di
inserire un ulteriore commento.. es:
Domanda 1) Voglio il colore di sfondo
Domanda 2) dimenticavo, lo voglio marrone
Nel mio pannello di amministrazione dovrò vedere tutte le segnalazioni poi
discriminerò io lo stato.
I campi secondo me necessari alla domanda saranno:
USE TEMPDB
GO
CREATE TABLE Anagrafica_Clienti
(
Id_Cliente int identity primary key,
Ragione_Sociale nvarchar(120) not null
)
CREATE TABLE Segnalazioni
(
Id_Segnalazione int identity primary key,
Id_Ticket int not null,
Id_Cliente int not null references Anagrafica_Clienti(Id_Cliente),
Data_Segnalazione datetime not null,
Urgenza varchar(10) not null,
Tipologia varchar(30) not null, --Errore Sito, Errore Content, Richiesta Modifica, Richiesta inserimento contenuti.
Parte varchar(20) not null, -- Domanda Iniziale ; ReplyByAdmin; ReplyByCustomer
Descrizione nvarchar(max) not null,
Stato_Segnalazione binary CONSTRAINT DF_Stato_Segnalazione DEFAULT ((0)) -- 0 = aperta, 1 = chiusa;
)
Cosi come l'ho pensata in un'unica tabella vi sono raccolte tutti i tipi di segnalazione o risposta:
-Domanda Iniziale
-ReplyByAdmin
-ReplyByCustomer
La logica è questa:
Quando viene creato una entry viene dato un Id_Segnalazione univoco che incrementa.
Viene però generato anche un Id_Ticket a cui faranno seguito tutte le varie reply.
Quindi se il cliente prolunga la cosa si verrà a creare questa situazione (semplifico)
ID - Ticket - Descrizione
1 1 NON VA
2 1 SICURO?????
3 1 No Ora VA
4 1 Bene Ciao!!
5 2 Non vedo le news
6 2 PremiF5!!!
7 2 Perfetto! Tnx
Il problema è che, quando l'utente inserisce la domanda il numero del ticket non è stato ancora creato...
Voi direte, fai un select MAX e prendi il Ticket ID successivo, ma cosa succederebbe se nel mentre anche un altro cliente sta aprendo una segnalazione ed entrambi hanno fatto la stessa select, quindi hanno lo stesso Ticket_ID?
Beh, ho scritto tanto e forse troppo, se secondo la vostra opinione la strada giusta è questa devo solo cercare di risolvere il problema del ID_Ticket, altrimenti sono tutta orecchie per
eventuali nuove strade!
Grazie molte per il vostro eventuale prezioso aiuto.
Ely
ma_di
Profilo
| Junior Member
163
messaggi | Data Invio:
ven 18 dic 2009 - 13:11
Ciao.
Se il problema è quello di avere un id univoco dai un'occhiata a
NEWID()
Creates a unique value of type uniqueidentifier.
nel SQL Server 2005 Books Online.
Ciao.
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 18 dic 2009 - 14:58
>Ciao a tutti,
Ciao
Ma fare la colonna come identity non ti basta?
Detto questo, non potresti pensare ad un bug tracking già fatto?
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Ely84
Profilo
| Newbie
2
messaggi | Data Invio:
ven 18 dic 2009 - 15:30
Ciao Ma_DI
L'id deve essere di tipo Intero, perchè immaginati questa situazione:
Cliente: Ho aperto un ticket,
Admin: Dammi ID
Cliente: 12
Altrimenti con gli uniqueidentifier diventerebbe:
Dammi ID: c81c2318-1157-472f-8528-f23a59cd6886
-------------------------------------------------------------------------------------------------------
Ho suddiviso il problema in 2 tabelle (+quella dei clienti ma non c'entra con il punto del discorso)
-------------------------------------------------------------------------------------------------------------
CREATE TABLE Anagrafica_Clienti
(
Id_Cliente int identity primary key,
Ragione_Sociale nvarchar(120) not null
)
CREATE TABLE Segnalazioni
(
Id_Segnalazione int identity primary key,
Id_Cliente int not null references Anagrafica_Clienti(Id_Cliente),
Stato_Segnalazione binary CONSTRAINT DF_Stato_Segnalazione DEFAULT ((0)),
Urgenza varchar(10) not null,
Tipologia varchar(30) not null --Errore Sito, Errore Content, Richiesta Modifica, Richiesta inserimento contenuti.
)
CREATE TABLE Ticket
(
Id_Ticket int identity primary key,
Id_Segnalazione int not null references Segnalazioni(Id_Segnalazione),
Data_Segnalazione datetime not null,
Parte varchar(20) not null, --Topic-Domanda-Aggiunta commento-risposta.
Descrizione nvarchar(max) not null
)
-------------------------------------------------------------------------------------------------------
Cosi facendo L'id della segnalazione sarà ID_Segnalazione.
E verrà assegnato una volta che tutti i campi sono stati inseriti.
Dovrò fare 2 query da codice per inserire la segnalazione, una che crea la riga sulla tabella Madre(Segnalazioni) e uno che crea i Figli(Ticket)
Quando verrà aggiunto un reply dovrò (sempre tramite codice) prelevare l'ID al quale aggangiarsi e scrivere la risposta nella tabella Ticket.
Inoltre, in caso che il cliente cancelli la segnalazione perchè ritenuta errata, dovrò da codice andare a cancellare dalla tabella Ticket le righe con l'id della tabella segnalazioni.
Direi che può andare, che ne dite?
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !