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
[MySQL] Suggerimento per impostazione struttura tabelle
lunedì 18 aprile 2011 - 10.29
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
MySQL 5.5
|
MySQL 5.1
|
MySQL 5.0
|
MySQL 4.1
|
MySQL 4.0
|
MySQL 2.23
dandi.box
Profilo
| Junior Member
178
messaggi | Data Invio:
lun 18 apr 2011 - 10:29
Ciao a tutti, avrei alcune domande relative a MySQL (dato che sono abituato a creare strutture dati con Sql Server):
- è corretto usare varchar(num_char) per campi di testo e text per campi di testo senza limite (quello che in SQL server sarebbe varchar(MAX)???
- è corretto usare il campo TinyInt(1) per gestire valori boolean
- dato che dovrò sincronizzare le tabelle ho creato un GUID varchar(36), come posso generare automaticamente questo valore ad ogni inserimento di records nelle tabelle
- oltre al mio caso, quando è consigliabile usare un GUID e quando un ID?
- per ogni record vorrei memorizzare la data dell'ultima operazione sul record: voi preferite usare un timestamp oppure un datatime con valore impstato a getdate()??
- no notato che viene spesso usato InnoDB.... per quale motivo??
- per il salvataggio dei trigger è meglio usare una notazione del tipo tr_tabella_azione oppure tr_azione?? in sintesi vorrei capire se il nome utilizzato per una tabella entra in conflitto con quello usato in un'altra oppure no
- come posso cambiare l'ordine della disposizione dei campi di una tabella?? (io uso PhpMyAdmin e Workbech ma non mi sembra possibile)
Grazie infinite!!!
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mar 19 apr 2011 - 10:38
>Ciao a tutti, avrei alcune domande relative a MySQL (dato che
>sono abituato a creare strutture dati con Sql Server):
Ciao
>- è corretto usare varchar(num_char) per campi di testo e text
>per campi di testo senza limite (quello che in SQL server sarebbe
>varchar(MAX)???
leggi qui:
http://dev.mysql.com/doc/refman/5.0/en/blob.html
>- è corretto usare il campo TinyInt(1) per gestire valori boolean
sì, sono sinonimi:
http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html
>- dato che dovrò sincronizzare le tabelle ho creato un GUID varchar(36),
>come posso generare automaticamente questo valore ad ogni inserimento
>di records nelle tabelle
leggi qui:
http://forums.mysql.com/read.php?20
,9430,9695
>- oltre al mio caso, quando è consigliabile usare un GUID e quando un ID?
in generale per ragioni di performance e di occupazione spazio in memoria, se ti basta un progressivo meglio ID Autonumber:
http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html
>- per ogni record vorrei memorizzare la data dell'ultima operazione
>sul record: voi preferite usare un timestamp oppure un datatime
>con valore impstato a getdate()??
per sql server:
http://www.sqlteam.com/article/timestamps-vs-datetime-data-types
per mysql:
http://dev.mysql.com/doc/refman/5.5/en/datetime.html
>- no notato che viene spesso usato InnoDB.... per quale motivo??
innoDB è uno storage engine:
http://dev.mysql.com/doc/refman/5.0/en/innodb-storage-engine.html
uno storage engine è un pattern che esprime il livello di isolamento delle transazioni, il supporto per varie funzionalità del motore, ecc.
Leggi qui per maggiori info:
http://dev.mysql.com/doc/refman/5.6/en/storage-engines.html
>- per il salvataggio dei trigger è meglio usare una notazione
>del tipo tr_tabella_azione oppure tr_azione?? in sintesi vorrei
>capire se il nome utilizzato per una tabella entra in conflitto
>con quello usato in un'altra oppure no
In generale un trigger è legato ad una tabella ma non puoi duplicarne il nome. Almeno su sql server. Puoi ripetere lo stesso nome se cambi schema.
Su mysql credo proprio che sia lo stesso.
>- come posso cambiare l'ordine della disposizione dei campi di
>una tabella?? (io uso PhpMyAdmin e Workbech ma non mi sembra possibile)
L'orine dei campi in tabella non è che un informazione VISUALE. Non conta nulla poi nella struttura della tabella. Di conseguenza, se proprio ti dà noia quello che hai e lo vuoi cambiare, dovrai droppare e ricreare la tabella con tanto di eventuali indici, fk, trigger, ecc. Ah, e ricordati i dati
>Grazie infinite!!!
di nulla!
--
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
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 !