La implementación de la base de datos de Sybase - Parte 5 División 4 Introducción Esto es parte de mi serie 5, implementación de la base de datos de Sybase. Esta serie forma parte de la cuarta división de mi serie de mayor tamaño, la base de datos. Supongo que ha leído todas las diferentes partes de la gran serie (o tutoriales equivalentes de otros lugares) hasta este punto. En esta parte de la serie, nos fijamos en los puntos importantes en el Sybase SQL Anywhere 12 CREATE TABLE. Crearemos también las tablas del ejemplo.
Nota: Si no puede ver el código o si cree que falta algo (enlace roto, la imagen ausente), simplemente en contacto conmigo en [email protected]. Es decir, en contacto conmigo para el más mínimo problema que tenga acerca de lo que está leyendo. CREAR sintaxis de la sentencia SQL TABLA primera vez que te daré la sintaxis completa. Cuando lo lees es probable que no lo entiendo. Voy a explicar los puntos importantes a continuación. La sintaxis comienza con: [. Dueño] CREAR [GLOBAL TEMPORAL] TABLE [IF NOT EXISTS] nombre-tabla ({columna definición | Mesa-restricción | pctfree}, ...
) [{EN | EN} dbspace-name] [ENCRYPTED] [ON COMMIT {DELETE | PRESERVAR} FILAS | NO TRANSACCIONAL] [AT ubicación cuerdas] [COMPARTIR POR TODO] En la sintaxis, cualquier cosa que se encuentre en un corchete es opcional. En la sintaxis, | medios y /o, es decir que usted puede escribir lo que está en su izquierda y, o lo que es su derecho. Los paréntesis en la sintaxis deben escribirse.
La sintaxis de la columna definición es: nombre-columna de tipo de datos [COMPRIMIDO] [INLINE {línea de longitud | USO DEFAULT}] [{PREFIJO prefijo de longitud | USO DEFAULT}] [[NO] INDICE] [[NO] NULL] [DEFAULT default-valor | IDENTIDAD] [columna en restricciones ...] La sintaxis de default-valor en la columna definición es:-valor especial | cuerda | variable global | [-] Número | (Constante-expresión) | built-in-función (constante-expresión) | AutoIncrement | Base de datos actual | USUARIO REMOTO ACTUAL | UTC CURRENT TIMESTAMP | GLOBAL AutoIncrement [(partición de tamaño)] | NULL | TIMESTAMP | UTC TIMESTAMP | ÚLTIMA USUARIO La sintaxis del valor especial en default-valor es: {FECHA ACTUAL | TIEMPO | TIMESTAMP | USUARIO | EDITORIAL | BASE DE DATOS | USUARIO REMOTO | UTC TIMESTAMP} | USUARIO La sintaxis de la columna en restricciones en la columna de definición es: [CONSTRAINT nombre-restricción] {ÚNICA [CLUSTERED] | PRIMARY KEY [CLUSTERED] [ASC | DESC] | Referencias nombre-tabla [(nombre-columna)] [PARTIDO [ÚNICA] {SIMPLE | COMPLETO}] [acción-list] [CLUSTERED] | CHECK (condición)} | CÓMPUTO (expresión) La tabla en restricciones en la sintaxis principal es: [CONSTRAINT nombre-restricción] {ÚNICA [CLUSTERED] (nombre-columna [ASC | DESC], .
..) | PRIMARY KEY [CLUSTERED] (nombre-columna [ASC | DESC], ...) | CHECK (condición) | -key-restricción extranjera} La sintaxis de la tecla-restricción externa en la tabla-restricción es: [NOT NULL] FOREIGN KEY [role-name] [(nombre-columna [ASC | DESC], ...)] Referencias nombre-tabla [(nombre-columna, ...
)] [PARTIDO [ÚNICA] {SIMPLE | COMPLETO}] [acción-list] [COMPROBAR EN COMMIT] [CLUSTERED] [PARA OLAP CARGA DE TRABAJO] La sintaxis de la acción-lista de la tecla-restricción extranjera es: [ON acción ACTUALIZACIÓN] [ON acción DELETE] La sintaxis de la acción en la acción-lista es: CASCADE | SET NULL | SET DEFAULT | RESTRINGEN La sintaxis de la ubicación cuerdas en la sintaxis principal es: a distancia-nombre-servidor [db-name] [propietario] .object nombre. |.
remote-nombre-servidor; [db-name]; [el propietario]; nombre-objeto La sintaxis de pctfree en la sintaxis principal es: PCTFREE por ciento libres de espacio La sintaxis de ciento libre espacio en pctfree es: Entero Tenemos acabo de ver la sintaxis completa. Es probable que no haya entendido. Voy a explicar sólo los puntos importantes. Consulte a algún otro documento de los otros puntos. Integridad referencial La integridad referencial es impuesta por la línea de clave externa completa en la sentencia SQL al crear la tabla.
La columna de la clave externa hace referencia en la otra tabla tiene que ser una clave principal o una columna única. La restricción CHECK La restricción CHECK cuya sintaxis es: CHECK (condición) se utiliza para restringir los valores de una columna dentro de un grupo particular. Por ejemplo, se puede utilizar para insistir en que hay entrada de precio en la columna de precio debe ser menor que cero. La restricción CHECK está codificada dentro de la instrucción SQL. En la siguiente parte de la serie vamos a aprender a escribir la condición en la sintaxis, "CHECK (condición)".
La restricción CHECK se puede implementar en la columna definición o en la sección de la tabla en restricciones de la sintaxis SQL completa. Comentario Usted puede escribir un comentario en la instrucción SQL. Un comentario se utiliza para ayudarle a recordar lo que han codificado. Comienza con dos guiones consecutivos, es decir -, hasta que pulse la tecla Enter.
He aquí un ejemplo que me dieron en el manual: CREATE TABLE Orders (order_num INTEGER NOT NULL PRIMARY KEY, FECHA date_ordered, nombre CHAR (80)); CREATE TABLE Order_item (INTEGER order_num NOT NULL, item_num NO smallint NULL, PRIMARY KEY (order_num, item_num), - Cuando se elimina una orden, eliminar todos sus -. Artículos FOREIGN KEY (order_num) REFERENCIAS Órdenes (order_num) ON DELETE CASCADA ); Hay dos sentencias SQL aquí. La segunda sentencia SQL tiene dos líneas de comentarios, donde una frase comienza en una línea de comentario y termina en la otra línea de comentario.
Índices de las directrices para la creación de índices en una tabla son: - Definir un índice único en una clave principal. - Índice de todas las claves externas. - ¿Quieres que insistir en los valores únicos de una columna, el índice de esa columna. - Índice de frecuencia buscó columnas. - Índice de columnas que determinan con frecuencia el orden de clasificación. - Cuanto más larga sea la tabla, la probabilidad de que debería tener índices.
Por la forma de Sybase SQL Anywhere 12 está diseñado, los primeros dos puntos anteriores son atendidos para usted de la siguiente manera: Cuando se declara columnas como claves primarias en la sentencia CREATE SQL TABLE, los índices se crean automáticamente para las columnas de clave principal y el se hace unicidad de la clave primaria. Cuando se hace cumplir la integridad referencial, índices se aplican para las claves externas. Las claves principales y claves externas son frecuentemente buscadas columnas. Así que muchas de las columnas para el punto 4 anterior son atendidos.
Sin embargo, si usted cree que una columna de una tabla que no es una clave principal o una clave externa se buscará con frecuencia, entonces el índice de la columna. Los tres últimos puntos no son atendidos por Sybase SQL Anywhere 12, mientras que los tres primeros puntos son atendidos. Con Sybase SQL Anywhere 12, si quieres una columna a ser único, usted tiene que utilizar la restricción UNIQUE de la columna definición. A continuación, puede indexar la columna si usted piensa que se le ha buscado con frecuencia.
Le he explicado que el resto de los puntos importantes en la parte anterior de la serie. Creación de tablas del Ejemplo Seguimos con el ejemplo al por mayor. Llevar a cabo las siguientes instrucciones: - Abra la ventana de símbolo del sistema. - Escriba lo siguiente y presione Enter para ir al directorio raíz: cd c: \\ - Escriba el siguiente comando y presione Intro. Si dice la base de datos (archivo) ya existen, permiten ese tipo de cosas. Si "c: \\ mayorista" el camino no existe, crearlo primero. dbinit c: \\\\ \\\\ mayor wholesale.
db - Iniciar el servidor y la base de datos con el siguiente comando y presione ENTRAR después de escribir. dbeng12 -n wholesalesrv c: \\\\ \\\\ mayor wholesale.db - Inicie la herramienta de ventana, SQL interactivo y conectarse a la base de datos, escriba el siguiente comando y pulsando la tecla Intro. dbisql -c "server = wholesalesrv; DBF = c: \\\\ \\\\ sholesale wholesale.db; UID = DBA; PWD = sql" - Hay 8 tablas cuyas declaraciones SQL creación están en la parte anterior de la serie. Escriba cada una de las declaraciones completas en las sentencias SQL panel en la ventana SQL interactivo.
Después de escribir clic SQL >>