Non ho mai utilizzato database che non siano sql server ed onestamente ora stavo utilizzando sql compact ce 4.0...ma la mole di dati sarà in futuro spero molta...il server remoto sono quelli di aruba perchè l'applicazione web girerà lì sopra...Te mi consigli il full text ma non l'ho mai utilizzato...che tipo di database dovrei mettere su, va ben sql ce 4.0 per iniziare e poi se la mole diventa elevata passo ad un sql server express 2008 o 2012 o sql server proprio...
Dammi se puoi qualche consiglio perchè il progetto sta partendo adesso e non vorrei fare qualche cavolata...semmai qualche esempio anche di full text
leggevo questa pagina:
http://www.webem-lab.it/programmazione/ricerca-fulltext-su-sql-server-2008-un-esempio-pratico
se non mi sbaglio forse a me serve utilizzare il metodo CONTAINS
anche se non ho capito molto la funzione del metodo: FREETEXT
e poi avendo a disposizione lo spazio che aruba mi da quando attivo un dominio mi sto spaventando quanto cita:
Domanda per me serve che su un campo, l'operatore scrive una parola e avviene la ricerca sia nella colonna nominativo, che nella colonna azienda che nella colonna categoria.....
1)Quindi dovrei creare 3 query full text per ogni colonna?
2)Il cliete può scrivere per esempio "avvocato" oppure "avv." oppure "avvocati" e la query deve ricercare tutti i record dove ci siano le parole che iniziano con 'avv' dato che è il minimo di ricerca
Il discorso è semplice io ho una tabella utenti la quale è in sostanza una tabella che funzionerà da rubrica...l'utente si registra e mette i classici dati..poi un altro utente può scegliere di ricercare in rubrica per nominativo o azienda o categoria o citta...tale parola da ricercare deve essere inserita in un'unico campo text al massimo posso utilizzare due campi text dove nel secondo ci indico la città....
adesso io ed il mio cliente speriamo che i record ossia gli utenti che si registrano siano migliaia, quindi se fossero 10.000 record sarei l'uomo è+ felice di sto mondo ma è possibile molto meno ma anche moltissimi di +...pertanto avendo descritto in questo post la mia situazione, è possibile che per ora posso appoggiarmi ai classici like sql e poi se un giorno dovessere i record aumentare allora passare al full text con un server privato...
ecco la mia tabella:
CREATE TABLE [Tab_utenti] (
[Id] int NOT NULL IDENTITY (1,1)
, [Nominativo] nvarchar(100) NULL
, [azienda] nvarchar(100) NULL
, [Idcategoria] smallint NULL
, [Categoria] nvarchar(100) NULL
, [Idsubcategoria] smallint NULL
, [Subcategoria] nvarchar(100) NULL
, [Idregione] tinyint NULL
, [Idprovincia] tinyint NULL
, [Idcomune] smallint NULL
, [Indirizzo] nvarchar(150) NULL
, [Datanascita] datetime NULL
, [Telufficio] nvarchar(15) NULL
, [Faxufficio] nvarchar(15) NULL
, [Cellulare] nvarchar(15) NULL
, [Email] nvarchar(100) NULL
, [Website] nvarchar(100) NULL
, [Piva] nvarchar(11) NULL
, [Codfiscale] nvarchar(16) NULL
, [Facebook] nvarchar(100) NULL
, [Twitter] nvarchar(100) NULL
, [Skype] nvarchar(100) NULL
, [Google] nvarchar(100) NULL
, [Linkedin] nvarchar(100) NULL
, [note] nvarchar(300) NULL
, [Imageprofile] nvarchar(100) NULL
, [Imageazienda] nvarchar(100) NULL
, [Imagebackgroundcard] nvarchar(100) NULL
, [Username] nvarchar(30) NULL
, [password] nvarchar(30) NULL
);
GO
ALTER TABLE [Tab_utenti] ADD CONSTRAINT [PK_Tab_utenti] PRIMARY KEY ([Id]);
GO
CREATE INDEX [Keyricerca] ON [Tab_utenti] ([Nominativo] ASC);
GO
CREATE INDEX [Keyricerca1] ON [Tab_utenti] ([Denominazione_azienda] ASC);
GO
CREATE UNIQUE INDEX [Keyricerca10] ON [Tab_utenti] ([Username] ASC,[password] ASC);
GO
CREATE INDEX [Keyricerca2] ON [Tab_utenti] ([Categoria] ASC);
GO
CREATE INDEX [Keyricerca3] ON [Tab_utenti] ([Subcategoria] ASC);
GO
CREATE INDEX [Keyricerca4] ON [Tab_utenti] ([Categoria] ASC,[Subcategoria] ASC);
GO
CREATE INDEX [Keyricerca5] ON [Tab_utenti] ([Idregione] ASC);
GO
CREATE INDEX [Keyricerca6] ON [Tab_utenti] ([Idprovincia] ASC);
GO
CREATE INDEX [Keyricerca7] ON [Tab_utenti] ([Idcomune] ASC);
GO
CREATE INDEX [Keyricerca8] ON [Tab_utenti] ([Idregione] ASC,[Idprovincia] ASC,[Idcomune] ASC);
GO
CREATE INDEX [Keyricerca9] ON [Tab_utenti] ([Email] ASC);
GO
CREATE UNIQUE INDEX [UQ__Tab_utenti__0000000000000310] ON [Tab_utenti] ([Id] ASC);
GO
Ciao e grazie
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com