¿Microsoft Access 2003 contiene juegos o conjuntos múltiples?
-
19-09-2019 - |
Pregunta
Estoy tratando de confirmar o negar si se puede definir una columna de la tabla en MS Access 2003 como un conjunto. Parece que este es implementado en Office 2007 - se puede definir una columna para tener una 'selección múltiple lista' en la consulta / de búsqueda, pero esta característica parece ser única para el nuevo formato de archivo de Access 2007 por lo que yo puedo determinar.
redactada de otra manera, no MS Access 2003 tiene el equivalente a la instrucción SQL:
CREATE TABLE mytable (foo VARCHAR(10), bar VARCHAR(5) MULTISET);
O hay una solución inteligente para lograr algo similar? Yo aceptaría una respuesta proporcionando información sobre cualquier constructores de recogida en Access 2003.
Solución
¿Se refiere al de valores múltiples tipos de datos del motor de base de datos Access ? Si es así, entonces sí, estos son nuevos en el ACE (2007) versión del motor y no están disponibles en Jet 4.0 es la versión de Access2003 del motor.
Fwiw Probé su SQL en Access2007 usando modo de consulta ANSI-92 (OLE DB, tipo de motor = 5) y la palabra clave MULTISET no fue reconocido.
Tenga en cuenta que puede que no necesite ni desee tipos de valores múltiples. Una de las críticas en particular es que la base de datos de acceso SQL DML servicio de expresiones no ha sido modificado para tener en cuenta los tipos de valores múltiples. Además, vea este artículo tipos de datos con varios valores considerados perjudiciales :
tanto Suraj [Poozhiyil, el MS Access Gerente del Programa] y estoy de acuerdo de todo corazón que los desarrolladores no lo hacen necesitará utilizar campos de varios valores. La gente que entiende las bases de datos ya tienen una buena manera de la implementación de muchos a muchos relaciones y va a obtener ningún beneficio de los campos de varios valores.
Por lo tanto, mi consejo claro y seguro a los desarrolladores no es utilizar varios valores campos. No tienen nada que ofrecernos excepto el dolor potencial.
ACTUALIZACIÓN:
MULTISET es un nuevo tipo de datos oficial A partir de SQL: 2003, así que estoy adivinando parte de la razón para la adición en Access 2007 es estar completamente compatible con el estándar SQL
Eso es casi divertido. El equipo de acceso no han mostrado interés en la adición de sintaxis SQL que es compatible con cualquier estándar SQL.
[Cuando el equipo de SQL Server modificaban Avión su lanzamiento 4.0 querían alcanzar SQL-92 cumplimiento, pero fueron impedidos de hacerlo por el equipo de Windows cuyos componentes eran dependientes de algunas de las características restantes no conforme ... pero eso es otra historia. El Equipo de Acceso tener su propia gente privada de la base de código así que han hay tal excusa ... a menos que el equipo de SharePoint ahora tiene una influencia indebida? Estoy divagando ...]
Considere esta cita del documento sobre el estándar SQL2003:
valores de un tipo
MULTISET
pueden ser creado ya sea mediante la enumeración de la elementos individuales o suministrando los elementos a través de una consulta expresión; por ejemplo.,
MULTISET[1, 2, 3, 4]
o
MULTISET(
SELECT grades
FROM courses
)
... Por el contrario, un valor conjunto múltiple puede ser utilizado como referencia mesa en el
FROM
cláusula usando el operadorUNNEST
.
El equipo de acceso no ha añadido nuevas expresiones ni ningún operador a la sintaxis SQL DML ACE. Así que no, esto no tiene nada que ver con las normas SQL y todo que ver con SharePoint.
David W. Fenton: No, [apoyo a tipos de valores múltiples] se añadió en el ACCDB formato (no la ACE, como @onedaywhen dice ...)
Considere esta cita de propio blog del Equipo de Acceso :
La característica principal hemos añadido a la nueva motor de acceso es el soporte para “compleja datos”.
En definitiva, es una característica del motor!