Hola Rogeliomx:
No me queda claro cuál es tu duda con respecto a las restricciones que puedes hacer... las restricciones pueden ser tan complejas como necesites, lo único que es necesario es que sean expresiones LÓGICAS, es decir que al evaluarse el resultado sea obtenga como resultado un TRUE o un FALSE. sería necesario que seas más específico con respecto a lo que quieres hacer y con gusto te ayudamos a crear una expresión lógica que cumpla con todos los requerimientos que tengas.
Con respecto a los paréntesis... al igual que en matemáticas, estos sirven para cambiar el orden en que se evalua la expresión lógica... esto viene de la mano con la JERARQUÍA DE OPERADORES. Si recuerdas tus clases de matemáricas no es lo mismo poner 2 + 3 * 5 a (2+3) * 5...
Código:
2 + 3 * 5 = 17 (2 * 3) * 5 = 25
de la misma manera, hablando de expresiones lógicas, no es lo mismo poner
Código:
campo1 = 'algo' or campo1 = 'nada' and campo3 = 'todo'
a poner
Código:
(campo1 = 'algo' or campo1 = 'nada') and campo3 = 'todo'
checa esta liga para que observes la jerarquía de los operadores lógicos.
http://dev.mysql.com/doc/refman/5.0/...recedence.html
Ahí podrás observar que el operador AND TIENE MÁS JERARQUÍA QUE EL OPERADOR OR, POR LO TANTO SE EVALUA PRIMERO.
Si continuas con dudas trata de ser más específico con en tus posts, no dejes tan abiertos los temas, pues así es casi imposible darte una respuesta puntual.
Saludos
Leo.