Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
BASE DE DATOS ARTICULOS DE COMPUTACION.
Ejercicio 1. Agregar una Tabla Clientes: la cual contenga los siguientes campos: cedula,
nombre, apellido, teléfono.
Ejercicio 2. Agregarle cinco registros a la tabla clientes.
Ejercicio 3. Eliminar el Campo ID de la tabla Clientes.
Ejercicio 4. Insertar un campo llamado dirección, entre apellido y teléfono.
Ejercicio 5. Agregarle a la tabla clientes la clave principal.
Ejercicio 6. Utilizando la SINTAXIS de la Instrucción CREATE TABLE, crear la tabla
Productos.
SINTAXIS: CREATE TABLE tabla (campo1 tipo (tamaño, campo2 tipo (tamaño),…);
Ejemplo:
CREATE TABLE Facturas (Numero COUNTER, Cliente TEXT (50), Fecha DATETIME,
Cantidad LONG);
Nota: MENU Crear-->Diseño de Consulta- Cerrar-SQL (Vista SQL)
Ejercicio 7: Utilizando la SINTAXIS de la Instrucción ALTER TABLE, para agregar los
campos Modelo y Marca a la tabla Productos.
SINTAXIS: ALTER TABLE tabla ADD COLUMN campo tipo (tamaño);
Ejemplo:
ALTER TABLE Facturas ADD COLUMN Descripción TEXT (50);
Nota: MENU Crear—>Diseño de Consulta- Cerrar--SQL (Vista SQL)
Ejercicio 8: Seleccionar de la Tabla Clientes la Cédula, Nombre de los Clientes.
SINTAXIS: SELECT campo FROM tabla;
Ejemplo: SELECT Numero, Cliente FROM Facturas;
Ejercicio 9: Mostrar los productos que tengan el precio de 200, emplear el criterio WHERE.
(WHERE [Escriba…..]= [Campo]);
Ejemplo:
SELECT Número, Cliente, Fecha
FROM Facturas
WHERE [Escriba el Numero de la Factura]= [Numero];
Ejercicio 10: ELIMINAR la información de los productos que tengan por nombre Monitor
SINTAXIS: DELETE campos FROM tabla WHERE criterios;
Ejemplo:
DELETE Nombre
FROM [Tabla Clientes]
WHERE [Escriba el Nombre a eliminar]= [Nombre];
Ejercicio 11: Crear un formulario para cada tabla que contenga los siguientes botones:
Ir al primer registro.
Ir al registro anterior.
Ir al registro siguiente.
Ir al último registro.
Agregar un nuevo registro.
Eliminar registro.
Guardar registro.
Abrir Formulario Principal.
Relaciones: facturas - clientes, facturas -productos.
Microsoft Access es un gestor de base de datos, es decir, una herramienta para definir base de datos, en particular, relacionales. Campos pueden ser de diferentes títulos.
Registros las unidades significativas.
Tablas en vista de diseño se pueden: agregar o renombrar campos, establecer el tipo de
dato de un campo y elegir una clave principal.
La integridad referencial es un sistema de reglas que utiliza Access 2010 para asegurarse que las relaciones entre registros de tablas relacionadas son válidas y que no se borren o cambien datos relacionados de forma accidental.
Al exigir integridad referencial en una relación le estamos diciendo a Access 2010 que no nos deje introducir datos en la tabla secundaria si previamente no se ha introducido el registro relacionado en la tabla principal.
Por ejemplo: Tenemos una tabla de habitantes y una tabla de poblaciones, en la tabla Habitantes tengo un campo Población que me indica en qué población vive el habitante, las dos tablas deberían estar relacionadas por el campo Población, en esta relación de tipo uno a varios la tabla Poblaciones es la tabla principal y la tabla Habitantes la secundaria (una población tiene varios habitantes). Si marcamos la casilla Integridad Referencial, no nos dejará asignar a un habitante una población que no exista en la tabla Poblaciones.
La integridad referencial dispone de dos acciones asociadas:
Actualizar en cascada los campos relacionados: Hace que cuando se cambie el valor del campo de la tabla principal, automáticamente cambiarán los valores de sus registros relacionados en la tabla secundaria.
Por ejemplo: Si cambiamos el nombre de la población Onteniente por Ontinyent en la tabla Poblaciones, automáticamente en la tabla Habitantes, todos los habitantes de ONTENIENTE se cambiarán a ONTINYENT.
Eliminar en cascada los registros relacionados: Cuando se elimina un registro de la tabla principal se borrarán también los registros relacionados en la tabla secundaria. Por ejemplo: Si borramos la población Onteniente en la tabla Poblaciones, automáticamente todos los habitantes de Onteniente se borrarán de la tabla de Habitantes.
Si no marcamos ninguna de las opciones no nos dejará ni cambiar el nombre de una
población ni eliminar una población si ésta tiene habitantes asignados.
Link TIPOS DE DATOS EN MICROSOFT ACCESS.
http://office.microsoft.com/es-hn/access-help/introduccion-a-los-tipos-de-datos-y-
las-propiedades-de-los-campos-HA010341783.aspx
Tipos básicos en MICROSOFT ACCESS.
FORMATO SE USA PARA MOSTRAR
Texto Valores alfanuméricos cortos, como un apellido o una dirección.
Número Valores numéricos, como distancias. Tenga en cuenta que existe un tipo de datos independiente para la moneda.
Moneda Valores monetarios.
Sí/No Valores Sí y No, y campos que contienen uno de dos valores posibles.
Fecha/Hora Valores de fecha y hora para los años 100 a 9999.
Texto enriquecido
Texto o combinación de texto y números a los que se puede aplicar formato mediante controles de color y de fuente.
Campo calculado
Resultado de un cálculo. El cálculo debe hacer referencia a otros campos de la misma tabla. Para crear el cálculo se usa el Generador de expresiones.
Datos adjuntos Imágenes, archivos de hoja de cálculo, documentos, gráficos y otros tipos de archivos admitidos adjuntos a los registros de la base de datos, de forma similar a adjuntar archivos a los mensajes de correo electrónico.
Hipervínculo Texto o combinación de texto y números almacenados como texto y usados como dirección de hipervínculo.
Memo Bloques de texto largos. Una utilidad típica de un campo Memo sería una descripción de producto detallada.
Búsqueda Muestra una lista de valores recuperada de una tabla o una consulta, o un conjunto de valores especificado en el
momento en que se creó el campo. Se inicia el Asistente para búsquedas y se puede crear un campo Búsqueda. El
tipo de datos de un campo Búsqueda es Texto o Número, según las opciones seleccionadas en el asistente.
NOTA Los campos de búsqueda tienen un conjunto adicional de propiedades de campo, que se encuentra en la
ficha Búsqueda del panel Propiedades del campo.
TIPOS DE DATOS SQL
Tipo de Datos
Longitud Descripción
BINARY 1 byte
Para consultas sobre tabla adjunta de
productos de bases de datos que definen un
tipo de datos Binario.
BIT 1 byte Valores Si/No ó True/False
BYTE 1 byte Un valor entero entre 0 y 255.
COUNTER 4 bytes Un número incrementado automáticamente
(de tipo Long)
CURRENCY 8 bytes
Un entero escalable entre
922.337.203.685.477,5808 y 922.337.203.685.477,5807.
DATETIME 8 bytes Un valor de fecha u hora entre los años 100 y
9999.
SINGLE 4 bytes
Un valor en punto flotante de precisión simple con un rango de - 3.402823*1038 a -
1.401298*10-45 para valores negativos, 1.401298*10- 45 a 3.402823*1038 para
valores positivos, y 0.
DOUBLE 8 bytes
Un valor en punto flotante de doble precisión
con un rango de - 1.79769313486232*10308 a -4.94065645841247*10-324 para valores
negativos, 4.94065645841247*10-324 a 1.79769313486232*10308 para valores
positivos, y 0.
SHORT 2 bytes Un entero corto entre -32,768 y 32,767.
LONG 4 bytes Un entero largo entre -2,147,483,648 y
2,147,483,647.
LONGTEXT 1 byte por
carácter De cero a un máximo de 1.2 gigabytes.
LONGBINARY Según se necesite
De cero 1 gigabyte. Utilizado para objetos OLE.
TEXT 1 byte por
carácter De cero a 255 caracteres.
Tipo de Dato Sinónimos
BINARY VARBINARY
BIT
BOOLEAN LOGICAL
LOGICAL1 YESNO
BYTE INTEGER1
COUNTER AUTOINCREMENT
CURRENCY MONEY
DATETIME DATE TIME
TIMESTAMP
SINGLE FLOAT4
IEEESINGLE
REAL
DOUBLE
FLOAT FLOAT8
IEEEDOUBLE NUMBER
NUMERIC
SHORT INTEGER2 SMALLINT
LONG INT
INTEGER
INTEGER4
LONGBINARY GENERAL
OLEOBJECT
LONGTEXT
LONGCHAR
MEMO NOTE
TEXT
ALPHANUMERIC
CHAR - CHARACTER STRING - VARCHAR
VARIANT (No Admitido) VALUE
LINK PERSONALIZAR LA MASCARA DE ENTRADA.
http://www.aulaclic.es/access2002/a_5_1_2.htm
Profundizar en la asignación de máscaras de entrada a los campos de una tabla.
Máscaras de entrada.
Una máscara de entrada es un formato que asignamos para la introducción de valores en el
campo. Al igual que con el formato se pueden generar máscaras de entrada de forma
automática mediante el generador correspondiente o bien podemos definir nuestras propias
máscaras de entrada.
La propiedad Máscara de entrada puede contener hasta tres secciones separadas por
signos de punto y coma (;).
Sección Descripción
Primera
Especifica la máscara de entrada
propiamente dicha, por ejemplo, !(999)
999-9999. Para ver una lista de los
caracteres que puedes utilizar para definir
la máscara de entrada, mira la tabla que
aparece a continuación.
Segunda
Especifica si Access2002 almacena los
caracteres de visualización literales en la
tabla al introducir datos. Si utilizas 0 para
esta sección, todos los caracteres de
visualización literales (por ejemplo, el
paréntesis de una máscara de entrada de
un número de teléfono) se almacenan con
el valor; si introduces 1 o dejas esta
sección en blanco, sólo se almacenan los
caracteres introducidos en el control.
Tercera
Especifica el carácter que Access2002
muestra para el espacio en el que el
usuario debe escribir un carácter en la
máscara de entrada. Para esta sección
puedes utilizar cualquier carácter; para
mostrar una cadena en blanco, utiliza un
espacio entre comillas (" ").
Al crear una máscara de entrada, puedes utilizar caracteres especiales para hacer que la
introducción de determinados datos (por ejemplo, el código de área de un número de
teléfono) sea obligatoria y que los demás datos sean opcionales (como la extensión de
teléfono). Estos caracteres especifican el tipo de datos, como el número o el carácter que
debe introducir para cada carácter de la máscara de entrada.
Puedes definir una máscara de entrada utilizando los siguientes caracteres
Carácter Definición
0 Dígito (0 a 9, entrada obligatoria, signos más [+] y menos [-] no
permitidos).
9 Dígito o espacio (entrada no obligatoria, signos más y menos no
permitidos).
#
Dígito o espacio (entrada no obligatoria; los espacios se muestran en
blanco en el modo Edición, pero se eliminan cuando se guardan los
datos; signos más y menos permitidos).
L Letra (A a Z, entrada obligatoria).
? Letra (A a Z, entrada opcional).
A Letra (A a Z, entrada opcional).
a Letra o dígito (entrada opcional).
& Cualquier carácter o un espacio (entrada obligatoria).
C Cualquier carácter o un espacio (entrada opcional).
. , : ; - / Marcador de posición decimal y separadores de miles, hora y fecha.
< Hace que todos los caracteres se conviertan a minúsculas.
> Hace que todos los caracteres se conviertan a mayúsculas.
!
Hace que la máscara de entrada se muestre de derecha a izquierda, en
lugar de mostrarse de izquierda a derecha. Los caracteres introducidos
en la máscara siempre se rellenan de izquierda a derecha. Puedes
incluir el signo de exclamación en cualquier lugar de la máscara de
entrada.
\ Hace que el carácter siguiente se muestre como un carácter literal (por
ejemplo, \A se muestra sólo como A).
Los tipos de datos que puede haber en un campo, se pueden agrupar en tres grandes grupos:
1. Tipos numéricos
2. Tipos de Fecha
3. Tipos de Cadena
1 Tipos numéricos:
Existen tipos de datos numéricos, que se pueden dividir en dos grandes grupos, los
que están en coma flotante (con decimales) y los que no.
TinyInt: es un número entero con o sin signo. Con signo el rango de valores válidos
va desde -128 a 127. Sin signo, el rango de valores es de 0 a 255
Bit ó Bool: un número entero que puede ser 0 ó 1
SmallInt: número entero con o sin signo. Con signo el rango de valores va desde -
32768 a 32767. Sin signo, el rango de valores es de 0 a 65535.
MediumInt: número entero con o sin signo. Con signo el rango de valores va desde -
8.388.608 a 8.388.607. Sin signo el rango va desde 0 a16777215.
Integer, Int: número entero con o sin signo. Con signo el rango de valores va desde -
2147483648 a 2147483647. Sin signo el rango va desde 0 a 429.4967.295
BigInt: número entero con o sin signo. Con signo el rango de valores va desde -
9.223.372.036.854.775.808 a 9.223.372.036.854.775.807. Sin signo el rango va
desde 0 a 18.446.744.073.709.551.615.
Float: número pequeño en coma flotante de precisión simple. Los valores válidos van
desde -3.402823466E+38 a -1.175494351E-38, 0 y desde 1.175494351E-38 a
3.402823466E+38.
xReal, Double: número en coma flotante de precisión doble. Los valores permitidos
van desde -1.7976931348623157E+308 a -2.2250738585072014E-308, 0 y desde
2.2250738585072014E-308 a 1.7976931348623157E+308
Decimal, Dec, Numeric: Número en coma flotante desempaquetado. El número se
almacena como una cadena
Tipo de
Campo
Tamaño de
Almacenamiento
TINYINT 1 byte
SMALLINT 2 bytes
MEDIUMINT 3 bytes
INT 4 bytes
INTEGER 4 bytes
BIGINT 8 bytes
FLOAT(X) 4 ú 8 bytes
FLOAT 4 bytes
DOUBLE 8 bytes
DOUBLE
PRECISION 8 bytes
REAL 8 bytes
DECIMAL(M,D
M+2 bytes sí D >
0, M+1 bytes sí D
= 0
NUMERIC(M,D)
M+2 bytes if D >
0, M+1 bytes if D
= 0
2 Tipos fecha:
A la hora de almacenar fechas, hay que tener en cuenta que Mysql no comprueba de
una manera estricta si una fecha es válida o no. Simplemente comprueba que el mes
esta comprendido entre 0 y 12 y que el día esta comprendido entre 0 y 31.
Date: tipo fecha, almacena una fecha. El rango de valores va desde el 1 de enero del
1001 al 31 de diciembre de 9999. El formato de almacenamiento es de año-mes-dia
DateTime: Combinación de fecha y hora. El rango de valores va desde el 1 de enero
del 1001 a las 0 horas, 0 minutos y 0 segundos al 31 de diciembre del 9999 a las 23
horas, 59 minutos y 59 segundos. El formato de almacenamiento es de año-mes-dia
horas:minutos:segundos
TimeStamp: Combinación de fecha y hora. El rango va desde el 1 de enero de 1970 al
año 2037. El formato de almacenamiento depende del tamaño del campo:
Tamaño Formato
14 AñoMesDiaHoraMinutoSegundo
aaaammddhhmmss
12 AñoMesDiaHoraMinutoSegundo
aammddhhmmss
8 ñoMesDia aaaammdd
6 AñoMesDia aammdd
4 AñoMes aamm
2 Año aa
Time: almacena una hora. El rango de horas va desde -838 horas, 59 minutos y 59
segundos a 838, 59 minutos y 59 segundos. El formato de almacenamiento es de
'HH:MM:SS'
Year: almacena un año. El rango de valores permitidos va desde el año 1901 al año
2155. El campo puede tener tamaño dos o tamaño 4 dependiendo de si queremos
almacenar el año con dos o cuatro dígitos.
Tipo de
Campo
Tamaño de
Almacenamiento
DATE 3 bytes
DATETIME 8 bytes
TIMESTAMP 4 bytes
TIME 3 bytes
YEAR 1 byte
3 Tipos de cadena:
Char(n): almacena una cadena de longitud fija. La cadena podrá contener desde 0 a
255 caracteres.
VarChar(n): almacena una cadena de longitud variable. La cadena podrá contener
desde 0 a 255 caracteres.
Dentro de los tipos de cadena se pueden distinguir otros dos subtipos, los tipo Test y
los tipo BLOB (Binary large Object)
La diferencia entre un tipo y otro es el tratamiento que reciben a la hora de realizar
ordenamientos y comparaciones. Mientras que el tipo test se ordena sin tener en
cuenta las Mayúsculas y las minúsculas, el tipo BLOB se ordena teniéndolas en cuenta.
Los tipos BLOB se utilizan para almacenar datos binarios como pueden ser ficheros.
TinyText y TinyBlob: Columna con una longitud máxima de 255 caracteres.
Blob y Text: un texto con un máximo de 65535 caracteres.
MediumBlob y MediumText: un texto con un máximo de 16.777.215 caracteres.
LongBlob y LongText: un texto con un máximo de caracteres 4.294.967.295. Hay
que tener en cuenta que debido a los protocolos de comunicación los paquetes pueden
tener un máximo de 16 Mb.
Enum: campo que puede tener un único valor de una lista que se especifica. El tipo
Enum acepta hasta 65535 valores distintos
Set: un campo que puede contener ninguno, uno ó varios valores de una lista. La lista
puede tener un máximo de 64 valores.
Tipo de campo Tamaño de
Almacenamiento
CHAR(n) n bytes
VARCHAR(n) n +1 bytes
TINYBLOB, TINYTEXT Longitud+1 bytes
BLOB, TEXT Longitud +2 bytes
MEDIUMBLOB,
MEDIUMTEXT Longitud +3 bytes
LONGBLOB, LONGTEXT Longitud +4 bytes
ENUM('value1','value2',...) 1 ó dos bytes dependiendo del
número de valores
SET('value1','value2',...)
1, 2, 3, 4 ó 8 bytes,
dependiendo del número de
valores
Diferencia de almacenamiento entre los tipos Char y VarChar
Valor CHAR(4) Almace
namiento VARCHAR(4)
Almace
namiento
'' '' 4 bytes " 1 byte
'ab' 'ab ' 4 bytes 'ab' 3 bytes
'abcd' 'abcd' 4 bytes 'abcd'
'abcdefgh' 'abcd' 4 bytes 'abcd' 5 bytes