martes, 14 de mayo de 2019

Insertar y Recuperar Registros - Tipo de Datos

Lenguaje de Manipulación de Datos


Insertar datos.

Para almacenar datos en una base de datos debemos insertar filas en las tablas. Para ellos SQL pone a nuestra disposición la sentencia INSERT.


Inserción de filas

El proceso de inserción de filas consiste en añadir a una tabla una o más filas y en cada fila todos o parte de sus campos.

Podemos distinguir dos formas de insertar filas:
  • Inserción individual de filas.
  • Inserción múltiple de filas.

La sintaxis de la sentencia INSERT es diferente según cual sea nuestro propósito.
Sólo podremos omitir un campo al efectuar una inserción cuando este acepte valores nulos


Inserción individual de filas

Para realizar la inserción individual de filas SQL posee la instrucción INSERT INTO. La inserción individual de filas es la que más comúnmente utilizaremos. Su sintaxis es la siguiente:

INSERT INTO <nombre_tabla>
[(<campo1>[,<campo2>,...])]
values (<valor1>,<valor2>,...);
   
Como se puede observar la sentencia tiene dos partes claramente diferenciadas, por un lado la propia INSERT INTO seguida de la lista de campos en los que queremos insertar los datos, y por otro la lista de valores que queremos insertar en los campos. La mejor forma de ver esto es a través de un ejemplo.


INSERT INTO tCoches
(matricula, marca, modelo, color, numero_kilometros)
values
('AM111CA', 'RENAULT', 'MEGANE TR100', 'NEGRO DIAMANTE',
78000);
Nota: Hemos utilizado el color rojo para los datos de tipo texto,
entrecomillados con la comillas simple, y el azul para los numéricos.
    
Con esta sentencia INSERT creamos un registro en la tabla tCoches con los valores especificados, es decir, la matricula tendrá el valor AM111CA, la marca será RENAULT y así sucesivamente.
¿Que ocurriría si ya existiera un coche con la matricula AM111CA? Se producirá un error, porque hemos definido la clave primaria en el campo matricula, y como hemos visto la clave primaria debe ser única.
Si omitimos algún par " campo-valor " en la sentencia INSERT, pueden ocurrir varias cosas:
  • Que se produzca un error, si el campo no acepta valores nulos.
  • Que se grave el registro y se deje nulo el campo, cuando el campo acepte valores nulos.
  • Que se grave el registro y se tome el valor por defecto, cuando el campo tenga definido un valor por defecto.
Que hacer en cada cada momento dependerá del programa.
Por ejemplo, la siguiente sentencia creará un registro en la tabla tCoches con el campo numero kilómetros cero, ya que este es su valor por defecto.


INSERT INTO tCoches 
(matricula,
 marca      ,
 modelo     ,
 color)
values ('AM111CA',
'RENAULT',
'MEGANE TR100',
'NEGRO DIAMANTE'); 



Tipo de Datos

SQL admite una variada gama de tipos de datos para el tratamiento de la información contenida en las tablas, los tipos de datos pueden ser numéricos (con o sin decimales), alfanuméricos, de fecha o booleanos (si o no). Según el motor de base de datos que estemos utilizando los tipos de datos varían, pero se reducen básicamente a los expuestos anteriormente, aunque en la actualidad casi todos los motores de bases de datos soportan un nuevo tipo, el BLOB (Binary Large Object), que es un tipo de datos especial destinado a almacenar archivos, imágenes ...

Dependiendo de cada motor de bases de datos el nombre que se da a cada uno de estos tipos puede variar. Básicamente tenemos los siguientes tipos de datos.

Númericos
Alfanúmericos
Fecha
Lógico
BLOB
Intchar(n)DateBitImage
Numeric(n.m)varchar(n,m)DateTimeText
Decimal(n,m)  
Float

Mas detalladamente tenemos:
Tipos de datos númericos
Tipo
Definción
Bytes
Int
Valores enteros con signo.
4
Numeric(n,m)
Números reales de hasta 18 digitos (con decimales), donde n representa el total de dígitos admitidos (normalmente denominado precisión) y m el número de posiciones decimales (escala).
5-17
Decimal(n,m)
Igual que el tipo numeric.
5-17
Float
Número de coma flotante, este tipo de datos se suele utilizar para los valores en notación cientifica.
4-8
Tipos de datos alfanúmericos
Tipo
Definción
Bytes
char(n)
Almacena de 1 a 255 caracteres alfanúmericos. Este valor viene dado por n, y es el tamaño utilizado en disco para almacenar dato. Es decir si defino un campo como char(255), el tamaño real del campo será de 255, aunque el valor solo contenga 100. 
0-255
varchar(n)
Igual que el tipo char, con la salvedad que varchar almacena únicamente los bytes que contenga el valor del campo.
0-255
Nota:El tamaño del campo varia en función de cada base de datos, siendo 255 el valor standart. En realidad el tamaño viene delimitado por el tamaño de las páginas de datos, para SQL Server el límite esta en 8000 bytes (8000 caracteres), siempre y cuando tengamos definido el tamaño de la página de datos a 8K
Tipos de datos fecha
Tipo
Definción
Bytes
Date
Almacena fechas, con día, mes y año.
8
Datetime
Almacena fechas con fecha y hora
4
Nota:La aparición de los tipos de datos de fecha supuso una atentica revolución el mundo de la bases de datos, en realidad, la base de datos almacena internamente números enteros, de hay que el tamaño sea de 4 bytes y 8 bytes (2 enteros), pero aporta la validación del dato introducido.
Tipos de datos lógicos
Tipo
Definición
Bytes
Bit
Tipo bit. Almacena un 0 ó no cero, según las bases de datos será 1 ó -1. Se aplica la lógica booleana, 0 es falso y no cero verdadero.
1 bit
Tipos de datos BLOB
Tipo
Definición
Bytes
Image
Almacena imágenes en formato binario, hasta un máximo de 2 Gb de tamaño.
0-2Gb
Text
Almacena texto en formato binario, hasta un máximo de 2 Gb de tamaño.
0-2Gb

Material Teórico y Trabajos Prácticos




Trabajo Practico Grupal: Hasta 4 integrantes.

El trabajo debe tener una portada indicando los integrantes del grupo. 

Deberá ser realizado en un archivo en la Nube de Google (Google Docs), (los contenidos que considere interesante destacar), compartido entre los cuatro estudiantes y el profesor (oscar.orrego09@gmail.com), todos los integrantes deben tener permiso de Edición.

Fecha Entrega: 21/05/2019 - 
Saludos.

No hay comentarios:

Publicar un comentario