Está en la página 1de 37

Que es una base datos

¿Qué son las bases de datos?


Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de
forma organizada para que luego podamos encontrar y utilizar fácilmente. A continuación te
presentamos una guía que te explicará el concepto y características de las bases de datos.

Damián Pérez Valdés octubre 26 2007


Twittear

Es un excelente momento para participar en el Curso Profesional de Bases de Datos que

Platzi tiene para tí.

El término de bases de datos fue escuchado por primera vez en 1963, en un simposio celebrado en
California, USA. Una base de datos se puede definir como un conjunto de información relacionada
que se encuentra agrupada ó estructurada.
Desde el punto de vista informático, la base de datos es un sistema formado por un conjunto de
datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que
manipulen ese conjunto de datos.
Cada base de datos se compone de una o más tablas que guarda un conjunto de datos. Cada tabla
tiene una o más columnas y filas. Las columnas guardan una parte de la información sobre cada
elemento que queramos guardar en la tabla, cada fila de la tabla conforma un registro.
Object 1

Definición de base de datos


Se define una base de datos como una serie de datos organizados y relacionados entre sí, los cuales
son recolectados y explotados por los sistemas de información de una empresa o negocio en
particular.

Características
Entre las principales características de los sistemas de base de datos podemos mencionar:
• Independencia lógica y física de los datos.
• Redundancia mínima.
• Acceso concurrente por parte de múltiples usuarios.
• Integridad de los datos.
• Consultas complejas optimizadas.
• Seguridad de acceso y auditoría.
• Respaldo y recuperación.
• Acceso a través de lenguajes de programación estándar.
Sistema de Gestión de Base de Datos (SGBD)
Los Sistemas de Gestión de Base de Datos (en inglés DataBase Management System) son un tipo de
software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las
aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje de
manipulación de datos y de un lenguaje de consulta.

Ventajas de las bases de datos

Control sobre la redundancia de datos:


Los sistemas de ficheros almacenan varias copias de los mismos datos en ficheros distintos. Esto
hace que se desperdicie espacio de almacenamiento, además de provocar la falta de consistencia de
datos.
En los sistemas de bases de datos todos estos ficheros están integrados, por lo que no se almacenan
varias copias de los mismos datos. Sin embargo, en una base de datos no se puede eliminar la
redundancia completamente, ya que en ocasiones es necesaria para modelar las relaciones entre los
datos.

Consistencia de datos:
Eliminando o controlando las redundancias de datos se reduce en gran medida el riesgo de que haya
inconsistencias. Si un dato está almacenado una sola vez, cualquier actualización se debe realizar
sólo una vez, y está disponible para todos los usuarios inmediatamente. Si un dato está duplicado y
el sistema conoce esta redundancia, el propio sistema puede encargarse de garantizar que todas las
copias se mantienen consistentes.

Compartir datos:
En los sistemas de ficheros, los ficheros pertenecen a las personas o a los departamentos que los
utilizan. Pero en los sistemas de bases de datos, la base de datos pertenece a la empresa y puede ser
compartida por todos los usuarios que estén autorizados.

Mantenimiento de estándares:
Gracias a la integración es más fácil respetar los estándares necesarios, tanto los establecidos a nivel
de la empresa como los nacionales e internacionales. Estos estándares pueden establecerse sobre el
formato de los datos para facilitar su intercambio, pueden ser estándares de documentación,
procedimientos de actualización y también reglas de acceso.

Mejora en la integridad de datos:


La integridad de la base de datos se refiere a la validez y la consistencia de los datos almacenados.
Normalmente, la integridad se expresa mediante restricciones o reglas que no se pueden violar.
Estas restricciones se pueden aplicar tanto a los datos, como a sus relaciones, y es el SGBD quien se
debe encargar de mantenerlas.
Mejora en la seguridad:
La seguridad de la base de datos es la protección de la base de datos frente a usuarios no
autorizados. Sin unas buenas medidas de seguridad, la integración de datos en los sistemas de bases
de datos hace que éstos sean más vulnerables que en los sistemas de ficheros.

Mejora en la accesibilidad a los datos:


Muchos SGBD proporcionan lenguajes de consultas o generadores de informes que permiten al
usuario hacer cualquier tipo de consulta sobre los datos, sin que sea necesario que un programador
escriba una aplicación que realice tal tarea.

Mejora en la productividad:
El SGBD proporciona muchas de las funciones estándar que el programador necesita escribir en un
sistema de ficheros. A nivel básico, el SGBD proporciona todas las rutinas de manejo de ficheros
típicas de los programas de aplicación.
El hecho de disponer de estas funciones permite al programador centrarse mejor en la función
específica requerida por los usuarios, sin tener que preocuparse de los detalles de implementación
de bajo nivel.

Mejora en el mantenimiento:
En los sistemas de ficheros, las descripciones de los datos se encuentran inmersas en los programas
de aplicación que los manejan.
Esto hace que los programas sean dependientes de los datos, de modo que un cambio en su
estructura, o un cambio en el modo en que se almacena en disco, requiere cambios importantes en
los programas cuyos datos se ven afectados.
Sin embargo, los SGBD separan las descripciones de los datos de las aplicaciones. Esto es lo que se
conoce como independencia de datos, gracias a la cual se simplifica el mantenimiento de las
aplicaciones que acceden a la base de datos.

Aumento de la concurrencia:
En algunos sistemas de ficheros, si hay varios usuarios que pueden acceder simultáneamente a un
mismo fichero, es posible que el acceso interfiera entre ellos de modo que se pierda información o
se pierda la integridad. La mayoría de los SGBD gestionan el acceso concurrente a la base de datos
y garantizan que no ocurran problemas de este tipo.

Mejora en los servicios de copias de seguridad:


Muchos sistemas de ficheros dejan que sea el usuario quien proporcione las medidas necesarias para
proteger los datos ante fallos en el sistema o en las aplicaciones. Los usuarios tienen que hacer
copias de seguridad cada día, y si se produce algún fallo, utilizar estas copias para restaurarlos.
En este caso, todo el trabajo realizado sobre los datos desde que se hizo la última copia de seguridad
se pierde y se tiene que volver a realizar. Sin embargo, los SGBD actuales funcionan de modo que
se minimiza la cantidad de trabajo perdido cuando se produce un fallo.
Desventajas de las bases de datos

Complejidad:
Los SGBD son conjuntos de programas que pueden llegar a ser complejos con una gran
funcionalidad. Es preciso comprender muy bien esta funcionalidad para poder realizar un buen uso
de ellos.

Coste del equipamiento adicional:


Tanto el SGBD, como la propia base de datos, pueden hacer que sea necesario adquirir más espacio
de almacenamiento. Además, para alcanzar las prestaciones deseadas, es posible que sea necesario
adquirir una máquina más grande o una máquina que se dedique solamente al SGBD. Todo esto
hará que la implantación de un sistema de bases de datos sea más cara.

Vulnerable a los fallos:


El hecho de que todo esté centralizado en el SGBD hace que el sistema sea más vulnerable ante los
fallos que puedan producirse. Es por ello que deben tenerse copias de seguridad (Backup).

Tipos de Campos
Cada Sistema de Base de Datos posee tipos de campos que pueden ser similares o diferentes. Entre
los más comunes podemos nombrar:
• Numérico: entre los diferentes tipos de campos numéricos podemos encontrar enteros “sin
decimales” y reales “decimales”.
• Booleanos: poseen dos estados: Verdadero “Si” y Falso “No”.
• Memos: son campos alfanuméricos de longitud ilimitada. Presentan el inconveniente de no
poder ser indexados.
• Fechas: almacenan fechas facilitando posteriormente su explotación. Almacenar fechas de
esta forma posibilita ordenar los registros por fechas o calcular los días entre una fecha y
otra.
• Alfanuméricos: contienen cifras y letras. Presentan una longitud limitada (255 caracteres).
• Autoincrementables: son campos numéricos enteros que incrementan en una unidad su
valor para cada registro incorporado. Su utilidad resulta: Servir de identificador ya que
resultan exclusivos de un registro.

Tipos de Base de Datos


Entre los diferentes tipos de base de datos, podemos encontrar los siguientes:
• MySql: es una base de datos con licencia GPL basada en un servidor. Se caracteriza por su
rapidez. No es recomendable usar para grandes volúmenes de datos.
• PostgreSql y Oracle: Son sistemas de base de datos poderosos. Administra muy bien
grandes cantidades de datos, y suelen ser utilizadas en intranets y sistemas de gran calibre.
• Access: Es una base de datos desarrollada por Microsoft. Esta base de datos, debe ser creada
bajo el programa access, el cual crea un archivo .mdb con la estructura ya explicada.
• Microsoft SQL Server: es una base de datos más potente que access desarrollada por
Microsoft. Se utiliza para manejar grandes volúmenes de informaciones.

Modelo entidad-relación
Los diagramas o modelos entidad-relación (denominado por su siglas, ERD “Diagram Entity
relationship”) son una herramienta para el modelado de datos de un sistema de información. Estos
modelos expresan entidades relevantes para un sistema de información, sus inter-relaciones y
propiedades.

Cardinalidad de las Relaciones


El diseño de relaciones entre las tablas de una base de datos puede ser la siguiente:
• Relaciones de uno a uno: una instancia de la entidad A se relaciona con una y solamente
una de la entidad B.
• Relaciones de uno a muchos: cada instancia de la entidad A se relaciona con varias
instancias de la entidad B.
• Relaciones de muchos a muchos: cualquier instancia de la entidad A se relaciona con
cualquier instancia de la entidad B.

Estructura de una Base de Datos


Una base de datos, a fin de ordenar la información de manera lógica, posee un orden que debe ser
cumplido para acceder a la información de manera coherente. Cada base de datos contiene una o
más tablas, que cumplen la función de contener los campos.
En el siguiente ejemplo mostramos una tabla “comentarios” que contiene 4 campos.

Los datos quedarían organizados como mostramos en siguiente ejemplo:


Por consiguiente una base de datos posee el siguiente orden jerárquico:
• Tablas
• Campos
• Registros
• Lenguaje SQL

El lenguaje SQL es el más universal en los sistemas de base de datos. Este lenguaje nos permite
realizar consultas a nuestras bases de datos para mostrar, insertar, actualizar y borrar datos.
A continuación veremos un ejemplo de ellos:
• Mostrar: para mostrar los registros se utiliza la instrucción Select. Select * From
comentarios.
• Insertar: los registros pueden ser introducidos a partir de sentencias que emplean la
instrucción Insert. Insert Into comentarios (titulo, texto, fecha)
Values ('saludos', 'como esta', '22-10-2007')
• Borrar: Para borrar un registro se utiliza la instrucción Delete. En este caso debemos
especificar cual o cuales son los registros que queremos borrar. Es por ello necesario
establecer una selección que se llevara a cabo mediante la cláusula Where. Delete From
comentarios Where id='1'.
• Actualizar: para actualizar los registros se utiliza la instrucción Update. Como para el caso
de Delete, necesitamos especificar por medio de Where cuáles son los registros en los que
queremos hacer efectivas nuestras modificaciones. Además, tendremos que especificar
cuáles son los nuevos valores de los campos que deseamos actualizar. Update
comentarios Set titulo='Mi Primer Comentario' Where id='1'.

Una base de datos es una colección de información organizada de forma que un programa de
ordenador pueda seleccionar rápidamente los fragmentos de datos que necesite. Una base de datos
es un sistema de archivos electrónico.
Las bases de datos tradicionales se organizan por campos, registros y archivos. Un campo es una
pieza única de información; un registro es un sistema completo de campos; y un archivo es una
colección de registros. Por ejemplo, una guía de teléfono es análoga a un archivo. Contiene una lista
de registros, cada uno de los cuales consiste en tres campos: nombre, dirección, y número de
teléfono.
A veces se utiliza DB, de database en inglés, para referirse a las bases de datos.
http://www.maestrosdelweb.com/que-son-las-bases-de-datos/
Bases de datos
Los sistemas gestores de bases de datos son la herramienta más adecuada para almacenar los
datos en un sistema de información debido a sus características de seguridad, recuperación ante
fallos, gestión centralizada, estandarización del lenguaje de consulta y funcionalidad avanzada. En
este capítulo analizaremos algunas ideas acerca de estos importantes componentes de los SIG en la
actualidad y veremos las principales alternativas existentes, al tiempo que estudiaremos los
fundamentos de bases de datos necesarios para comprender la forma en que los datos espaciales se
almacenan en las bases de datos actuales. Asimismo, y para entender la situación presente y
conocer las ventajas e inconvenientes de los distintos métodos de almacenar la información en los
SIG, veremos la evolución de estos respecto a la arquitectura de almacenamiento de información.

Introducción
Las bases de datos son un elemento fundamental en el entorno informático hoy en día y tienen
aplicación en la práctica totalidad de campos. Concebidas con un propósito general, son de utilidad
para toda disciplina o área de aplicación en la que exista una necesidad de gestionar datos, tanto
más cuanto más voluminosos sean estos. En nuestro ámbito particular de los SIG, los datos son cada
día más voluminosos, debido no solo a una mayor cantidad de información, sino también a una
mayor precisión en esta, la cual implica un mayor volumen de datos. Además, presentan otra serie
de características (uso múltiple, necesidad de acceso eficiente para análisis, necesidad de
indexación, etc.), haciendo todas ellas que sea recomendable el uso de bases de datos y tecnologías
específicas para su manejo.
Pese a que, como veremos en este mismo capítulo, el uso de las bases de datos en el ámbito SIG no
ha sido siempre el actual, hoy en día representan una parte clave para la gestión de los datos
geográficos, en especial dentro del marco de proyectos de cierta envergadura. Aunque la realidad es
que todavía se efectúa mucho trabajo SIG sin emplear bases de datos (y las aplicaciones SIG así lo
permiten, no siendo estrictamente necesario disponer de una base de datos para almacenar la
información), la naturaleza propia de los proyectos SIG y la progresiva implantación de los SIG a
niveles más allá del uso personal traen ambas consigo un uso cada vez mayor de las bases de datos,
y por tanto una mayor necesidad de conocer el funcionamiento de estas.

Fundamentos de bases de datos


Aunque las particularidades de los datos espaciales con los que trabajamos en un SIG han hecho
necesarias modificaciones y adaptaciones sobre el esquema de trabajo de las bases de datos
genéricas, en esencia los fundamentos de estas siguen constituyendo el elemento primordial sobre el
que la arquitectura de gestión de datos espaciales se apoya, y es necesario conocerlos con cierto
detalle. En esta sección, veremos de forma introductoria esos fundamentos de bases de datos
genéricas, aplicables a cualquier otro ámbito además del de los SIG, para posteriormente poder
tratar el caso particular de los datos espaciales. Para el lector interesado en profundizar en el tema,
una referencia libre y en español con información extensa y detallada sobre bases de datos genéricas
es [basesDatosUOC].

¿Qué es una base de datos?


Entendemos como Base de Datos un conjunto de datos estructurado y almacenado de forma
sistemática con objeto de facilitar su posterior utilización. Una base de datos puede, por tanto,
constituirse con cualquier tipo de datos, incluyendo los de tipo puramente espacial (geometrías, etc.)
tales como los que se utilizan en un SIG, así como, por supuesto, datos numéricos y alfanuméricos
como los que constituyen la componente temática de la información geoespacial. Los elementos
clave de la base de datos son esa estructuración y sistematicidad, pues ambas son las responsables
de las características que hacen de la base de datos un enfoque superior a la hora de gestionar datos.
Podemos ver más claramente las implicaciones de utilizar una base de datos si recurrimos al
ejemplo que vimos en el primer capítulo de este libro, relativo a la gestión forestal de un territorio.
Para ello, consideremos que el número de usuarios del SIG y de los datos asociados no se limita
únicamente al gestor forestal que ha de tomar decisiones o establecer planes de actuación, sino a
muchos otros profesionales que puedan ejercer su trabajo en ese mismo área o puedan emplear total
o parcialmente esos mismos datos.
Imaginemos, por ejemplo, el caso de un ingeniero encargado de planear la instalación de un tendido
eléctrico a través de nuestra zona forestal de ejemplo. Sin duda, deberá emplear datos tales como
Modelos Digitales de Elevaciones, capas de zonas protegidas o capas de arbolado para establecer el
trazado óptimo y estimar costes de la línea, entre otras tareas. Si en una situación ideal este
ingeniero estaría en comunicación con el gestor forestal y ambos compartirían sus conocimientos
dentro de un equipo multidisciplinar, también en lo referente a los datos debería existir una
comunicación igual que implique, ente otras cosas, un uso compartido y convenientemente
coordinado de ellos. En otras palabras, los datos también tienen ese carácter multidisciplinar y
deben dejar de verse como algo propio de un uso particular, para concebirse como un conjunto
global del que se benefician muy diversos usuarios.
Establecer un uso compartido de los datos en una situación como la anterior no parece difícil, ya
que simplemente se trata de dos profesionales que realizan tareas relacionadas y que, de un modo u
otro, van a tener un contacto directo. El gestor forestal puede sencillamente dar una copia de sus
datos al ingeniero y este podrá trabajar después con ellos de forma independiente. Aunque los datos
con que trabajen son inicialmente los mismos, en realidad esta práctica da lugar son dos copias
aisladas que constituyen dos universos distintos.
La situación real, sin embargo, es habitualmente mucho más compleja, y utilizar un esquema de
colaboración como el anterior puede ser imposible, carecer por completo de sentido, o tener un
buen número de consecuencias negativas. A medida que aumenta el número de usuarios, resulta
menos recomendable que cada uno trabaje con sus propios datos y se los hagan llegar entre ellos a
medida que los necesitan (una realidad que, desgraciadamente, se presenta con más frecuencia de lo
recomendable). No debe olvidarse que un conjunto más amplio de usuarios que trabajan de esta
forma y son ellos mismos quienes gestionan sus propios datos, implica directamente un número
también más elevado de aplicaciones informáticas y de formatos de archivo, complicando
enormemente el trabajo coordinado en cuanto el equipo tiene un tamaño medio.
Es probable además que existan usuarios dentro de una misma organización (por ejemplo, un
organismo público) que aunque requieran para su trabajo datos similares, no tengan contacto alguno
entre sí. Aunque los usuarios sean independientes, sus datos no lo han de ser necesariamente, y en
una situación ideal deberían acudir a un repositorio único de datos del que cada cual tomaría lo
necesario, en lugar de basar su trabajo en un conjunto de datos fragmentado y difícil de gestionar.
Pensemos en un dato que pueda ser de interés a varios usuarios, como por ejemplo una capa de vías
de comunicación. A nuestro gestor forestal le será de interés para, por ejemplo, saber qué medios de
acceso existen en caso de tener que hacer frente a un incendio. Lo más relevante de esas vías será su
trazado, es decir su geometría, y tal vez el tipo de vía de que se trata, para poder conocer la
velocidad a la que se pueden desplazar los medios de extinción. Otros usuarios, por su parte, pueden
necesitar parámetros distintos como el volumen de tráfico medio de cada vía. Si todos ellos tienen
una capa de vías con los parámetros asociados que necesitan para su trabajo, nos encontramos con
una innecesaria redundancia de la componente espacial (las geometrías), y una dispersión de la
componente temática, que resultaría más conveniente mantenerla agrupada.
Pensemos ahora que el gestor forestal detecta un error en el trazado de una de las vías y lo corrige.
Esa corrección no estará disponible para los restantes usuarios, que pueden a su vez efectuar
modificaciones similares que no redundarán en una mayor calidad de los datos con los que trabaja
el gestor forestal, ya que, pese a utilizar datos similares, trabaja con su propio conjunto de datos.
Incluso si en algún momento todos estos usuarios deciden poner en común sus datos y unirlos, esta
operación puede ser muy compleja o incluso, como sucede frecuentemente, imposible de realizar.
Por su parte, otros usuarios pueden añadir una nueva variable temática, como por ejemplo un índice
de siniestralidad de la vía, el cual, si bien tal vez no resulte de utilidad inmediata para muchos
usuarios, en un futuro sí pudiera serlo. Una vez más, estos nuevos datos no quedan a disposición del
resto de usuarios, y en caso de serlo, no lo hacen en conjunto con datos similares, sino como un dato
aislado de los restantes.
En definitiva, es complejo gestionar de forma adecuada los datos en el momento en que estos
alcanzan un ámbito más allá de lo personal, y las prácticas más habituales basadas en una gestión
«manual» de un conjunto de ficheros no son una opción adecuada. La solución para lograr esa
necesaria gestión centralizada de los datos son las bases de datos y también, como veremos más
adelante, los sistemas gestores de bases de datos, que representan la interfaz entre las bases de datos
y los distintos usuarios.

¿Por qué interesa usar una base de datos?


En base al ejemplo anterior, podemos analizar algo más sistemáticamente las ventajas de una base
de datos frente a una gestión no organizada de los datos. Las ventajas de utilizar un almacenamiento
estructurado se aprecian en diversos puntos, ya que afectan no solo a los datos sino también al
propio uso que se hace de estos. Algunas ventajas que afectan directamente a los datos son las
siguientes:
• Mayor independencia. Los datos son independientes de las aplicaciones que los usan, así
como de los usuarios.
• Mayor disponibilidad. Se facilita el acceso a los datos desde contextos, aplicaciones y
medios distintos, haciéndolos útiles para un mayor número de usuarios.
• Mayor seguridad (protección de los datos). Por ejemplo, resulta más fácil replicar una
base de datos para mantener una copia de seguridad que hacerlo con un conjunto de ficheros
almacenados de forma no estructurada. Además, al estar centralizado el acceso a los datos,
existe una verdadera sincronización de todo el trabajo que se haya podido hacer sobre estos
(modificaciones), con lo que esa copia de seguridad servirá a todos los usuarios.
• Menor redundancia. Un mismo dato no se encuentra almacenado en múltiples ficheros o
con múltiples esquemas distintos, sino en una única instancia en la base de datos. Esto
redunda en menor volumen de datos y mayor rapidez de acceso.
• Mayor eficiencia en la captura, codificación y entrada de datos.

Esto tiene una consecuencia directa sobre los resultados que se obtienen de la explotación de la base
de datos, presentándose al respecto ventajas como, por ejemplo:
• Mayor coherencia. La mayor calidad de los datos que se deriva de su mejor gestión deriva
en mayor calidad de los resultados.
• Mayor eficiencia. Facilitando el acceso a los datos y haciendo más sencilla su explotación,
la obtención de resultados es más eficiente.
• Mayor valor informativo. Resulta más sencillo extraer la información que los datos
contienen, ya que uno de los cometidos de la base de datos es aumentar el valor de estos
como fuente de información.
Por último, los usuarios de la base de datos también obtienen ventajas al trabajar con estas, entre los
que cabe citar:
• Mayor facilidad y sencillez de acceso. El usuario de la base de datos se debe preocupar
únicamente de usar los datos, disponiendo para ello de las herramientas adecuadas y de una
estructura solida sobre la que apoyarse.
• Facilidad para reutilización de datos. Esto es, facilidad para compartir.

De forma resumida, puede decirse que la principal bondad de una base de datos es la centralización
que supone de todos los datos con los que se trabaja en un contexto determinado, con las
consecuencias que ello tiene para una mejor gestión, acceso o estructuración de estos.

Modelos de bases de datos


En función de la estructura utilizada para construir una base de datos, existen diversos modelos de
bases de datos. El modelo de la base de datos define un paradigma de almacenamiento,
estableciendo cómo se estructuran los datos y las relaciones entre estos. Las distintas operaciones
sobre la base de datos (eliminación o sustitución de datos, lectura de datos, etc.) vienen
condicionadas por esta estructura, y existen notables diferencias entre los principales modelos, cada
uno de ellos con sus ventajas e inconvenientes particulares. Algunos de los más habituales son los
siguientes:
• Bases de datos jerárquicas. Los datos se recogen mediante una estructura basada en nodos
interconectados. Cada nodo puede tener un único padre y cero, uno o varios hijos. De este
modo, se crea una estructura en forma de árbol invertido en el que todos sus nodos dependen
en última instancia de uno denominado raíz. Aunque potente, el modelo jerárquico presenta
algunas deficiencias, principalmente la escasa independencia de sus registros (el acceso a un
registro —un nodo— implica que se ha de pasar por sus padres, restando flexibilidad a la
navegación por la base de datos). Otra grave deficiencia de este modelo es la mala gestión
de la redundancia de datos, ya que si un registro guarda relación con dos o más, debe
almacenarse varias veces, ya que no se permite que el nodo correspondiente tenga varios
padres. Esto tiene consecuencias no solo en el mayor volumen de datos que se almacena,
sino también en la integridad y coherencia de los datos. Si se modifica una de las «copias»
de ese registro en la base de datos, deben modificarse también las restantes, ya que, aunque
no conectadas en la estructura de la base de datos, realmente representan una única realidad
y debieran ser idénticas entre sí.
• Bases de datos en red. Con objeto de solucionar los problemas de redundancia de las bases
de datos jerárquicas, surge el modelo en red. Este modelo permite la aparición de ciclos en la
estructura de la base de datos (es decir, no ha de existir un único padre para cada nodo), lo
cual permite una mayor eficacia en lo que a la redundancia de datos se refiere. Presenta, no
obstante, otros problemas, siendo el más importante de ellos su gran complejidad, lo que
hace difícil la administración de la base de datos.
• Bases de datos relacionales. Constituyen el modelo de bases de datos más utilizado en la
actualidad. Solucionan los problemas asociados a las bases de datos jerárquicas y en red,
utilizando para ello un esquema basado en tablas, que resulta a la vez sencillo de
comprender y fácil de utilizar para el análisis y la consulta de los datos. Las tablas contienen
un número dado de registros (equivalentes a las filas en la tabla), así como campos
(columnas), lo que da lugar a una correcta estructuración y un acceso eficiente.
• Bases de datos orientadas a objetos. Se trata de uno de los modelos más actuales, derivado
directamente de los paradigmas de la programación orientada a objetos. El modelo extiende
las capacidades de las bases de datos relacionales, de tal modo que estas pueden contener
objetos, permitiendo así una integración más fácil con la propia arquitectura de los
programas empleados para el manejo de la base de datos, en caso de que estos hayan sido
desarrollados mediante programación orientada a objetos. Su popularidad crece de forma
notable en ciertas áreas en las cuales resultan más ventajosas que el modelo relacional,
siendo los SIG una de ellas.
Tabla
Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se guardan los datos
recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de
Hoja de cálculo.

Las tablas se componen de dos estructuras:

Campo: Corresponde al nombre de la columna. Debe ser único y además de tener un tipo de dato
asociado.
Registro: Corresponde a cada fila que compone la tabla. Allí se componen los datos y los registros.
Eventualmente pueden ser nulos en su almacenamiento.
En la definición de cada campo, debe existir un nombre único, con su tipo de dato correspondiente.
Esto es útil a la hora de manejar varios campos en la tabla, ya que cada nombre de campo debe ser
distinto entre sí.

A los campos se les puede asignar, además, propiedades especiales que afectan a los registros
insertados. El campo puede ser definido como índice o autoincrementable, lo cual permite que los
datos de ese campo cambien solos o sean el principal indicar a la hora de ordenar los datos
contenidos.

Cada tabla creada debe tener un nombre único en la cada Base de Datos, haciéndola accesible
mediante su nombre o su seudónimo (Alias) (dependiendo del tipo de base de datos elegida).

La estructura de las tablas viene dado por la forma de un archivo plano, los cuales en un inicio se
componían de un modo similar.
suerte:)
Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se guardan y almacenan
los datos recogidos por un programa. Su estructura general se asemeja a la vista general de un
programa de hoja de cálculo.
Una tabla es utilizada para organizar y presentar información. Las tablas se componen de filas y
columnas de celdas que se pueden rellenar con textos y gráficos.
Las tablas se componen de dos estructuras:
• Registro: es cada una de las filas en que se divide la tabla. Cada registro contiene datos de
los mismos tipos que los demás registros. Ejemplo: en una tabla de nombres ,direcciones,
etc, cada fila contendrá un nombre y una dirección.
• Campo: es cada una de las columnas que forman la tabla. Contienen datos de tipo diferente
a los de otros campos. En el ejemplo anterior, un campo contendrá un tipo de datos único,
como una dirección, o un número de teléfono, un nombre, etc.
A los campos se les puede asignar, además, propiedades especiales que afectan a los registros
insertados. El campo puede ser definido como índice o autoincrementable, lo cual permite que los
datos de ese campo cambien solos o sean el principal a la hora de ordenar los datos contenidos.
Cada tabla creada debe tener un nombre único en la Base de Datos, haciéndola accesible mediante
su nombre o su seudónimo (Alias) (dependiendo del tipo de base de datos elegida). La estructura de
las tablas viene dada por la forma de un archivo plano, los cuales en un inicio se componían de un
modo similar.
Las tablas son los objetos principales de bases de datos que se utilizan para guardar datos.
Elemento disponible en el lenguaje HTML para la creación de recuadros rectangulares que pueden
o no estar anidados y pueden o no contener celdas(recuadros más pequeños dentro de una tabla,
pero que no se consideran tablas). Las tablas se utilizan para organizar, posicionar o dar mejor
formato a los textos y gráficos en una página web.
Pueden crearse gráficamente a través de un programa desarrollador de páginas web o manejando los
tags correspondientes del lenguaje.
Índice
• 1 Tipos de tablas proporcionales
• 1.1 Tablas con particiones
• 1.2 Tablas del sistema
• 2 Tablas persistentes
• 3 Tablas de datos
• 4 Véase también

Tipos de tablas proporcionales


Además de la función estándar de las tablas básicas definidas por el usuario, el Server nos
proporciona los siguientes tipos de tabla, el método cuántico que permiten llevar a cabo objetivos
especiales en una base de datos: que se utiliza para acomodar cuanticamente los datos obtenidos de
los datos del exterior.

Tablas con particiones


Las tablas con particiones son tablas cuyos datos se han dividido horizontalmente entre unidades
que pueden repartirse por más de un grupo de archivos de una base de datos. Las particiones
facilitan la administración de las tablas y los índices grandes porque permiten obtener acceso y
administrar subconjuntos de datos con rapidez y eficacia al mismo tiempo que mantienen la
integridad del conjunto. Las operaciones como, por ejemplo, la carga de datos de un sistema OLTP
a un sistema OLAP, pueden realizarse en cuestión de segundos en lugar de minutos u horas en otras
versiones. Las operaciones de mantenimiento que se realizan en los subconjuntos de datos también
se realizan de forma más eficaz porque sólo afectan a los datos necesarios en lugar de a toda la
tabla.
Tiene sentido crear una tabla con particiones si la tabla es muy grande o se espera que crezca
mucho, y si alguna de las dos condiciones siguientes es verdadera:
• La tabla contiene, o se espera que contenga, muchos datos que se utilizan de manera
diferente.
• Las consultas o las actualizaciones de la tabla no se realizan como se esperaba o los costos
de mantenimiento son superiores a los períodos de mantenimiento predefinidos.
• Las tablas con particiones admiten todas las propiedades y características asociadas con el
diseño y consulta de tablas estándar, incluidas las restricciones, los valores predeterminados,
los valores de identidad y marca de tiempo, los desencadenadores y los índices. * Por lo
tanto, si desea implementar una vista con particiones que sea local respecto a un servidor,
debe implementar una tabla con particiones. Para obtener información para comprender,
diseñar e implementar tablas con particiones, vea Tablas e índices con particiones.

Tablas del sistema


SQL Server almacena los datos que definen la configuración del servidor y de todas sus tablas en un
conjunto de tablas especial, conocido como tablas del sistema. Los usuarios no pueden consultar ni
actualizar directamente las tablas del sistema si no es a través de una conexión de administrador
dedicada (DAC) que sólo debería utilizarse bajo la supervisión de los servicios de atención al
cliente de Microsoft. Para obtener más información, vea Usar una conexión de administrador
dedicada. Las tablas de sistema se cambian normalmente en cada versión nueva de SQL Server.
Puede que las aplicaciones que hacen referencia directamente a las tablas del sistema tengan que
escribirse de nuevo para poder actualizarlas a una versión nueva de SQL Server con una versión
diferente de las tablas de sistema. La información de las tablas del sistema está disponible a través
de las vistas de catálogo. Para obtener más información, vea Tablas del sistema (Transact-SQL).
Con las tablas anchas, puede crear esquemas flexibles dentro de una aplicación. Puede agregar o
quitar columnas siempre que lo desee. Tenga presente que el uso de tablas anchas tiene
consideraciones de rendimiento únicas, como e13eunos mayores requisitos de memoria en tiempo
de ejecución y en tiempo de compilación. Para obtener más información, vea Consideraciones de
rendimiento para las tablas anchas.

Tablas persistentes
Son aquellas que permiten que los registros sean eliminados o borrados manualmente, son de tres
tipos:
1. Tabla Base: es en donde se encuentra toda la información de todos los registros sin que se
haga ninguna validación adicional.
2. Vistas: es una vista o relación que se hace en referencia a una fila o columna específica.
3. Instantáneos: son aquellos registros que se los puede ver de manera inmediata con solo una
referencia.

Tablas de datos
Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se guardan los datos
recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de
Hoja de cálculo.
Las tablas se componen de dos estructuras:
1. Campo: corresponde al nombre de la columna. Debe ser único y además de tener un tipo de
dato asociado.
2. Registro: corresponde a cada columna que compone la tabla. Allí se componen los datos y
los registros. Eventualmente pueden ser nulos en su almacenamiento.
En la definición de cada campo, debe existir un nombre único, con su tipo de dato correspondiente.
Esto es útil a la hora de manejar varios campos en la tabla, ya que cada nombre de campo debe ser
distinto entre sí.
A los campos se les puede asignar, además, propiedades especiales que afectan a los registros
insertados. El campo puede ser definido como índice o autoincrementable, lo cual permite que los
datos de ese campo cambien solos o sean el principal indicar a la hora de ordenar los datos
contenidos.
Cada tabla creada debe tener un nombre único en la cada base de datos, haciéndola accesible
mediante su nombre o su seudónimo (Alias) (dependiendo del tipo de base de datos elegida) .
La estructura de las tablas viene dado por la forma de un archivo plano, los cuales en un inicio se
componían de un modo similar.

Empezaremos explicando qué es una tabla en base de datos


En bases de datos, una tabla es el lugar donde se almacenan datos, que tienen características
similares y conforman la estructura de la base de datos.
Los datos que pertenecen a un mismo elemento se organizan en columnas o campos. Estos tienen
datos del mismo tipo. Se llama registro, a cada una de las filas o tuplas, que forman una tabla.

Registro (base de datos)

Ir a la navegación Ir a la búsqueda

Filas en Excel
En informática, o concretamente en el contexto de una base de datos relacional, un registro
(también llamado fila o tupla) representa un objeto único de datos implícitamente estructurados en
una tabla. En términos simples, una tabla de una base de datos puede imaginarse formada de filas y
columnas o campos. Cada fila de una tabla representa un conjunto de datos relacionados, y todas las
filas de la misma tabla tienen la misma estructura.
Un registro es un conjunto de campos que contienen los datos que pertenecen a una misma
repetición de entidad. Se le asigna automáticamente un número consecutivo (número de registro)
que en ocasiones es usado como índice aunque lo normal y práctico es asignarle a cada registro un
campo clave para su búsqueda.

Esta fila o registro supone un conjunto de datos que mantienen una cierta vinculación entre sí. La
totalidad de las filas de una tabla respeta una estructura idéntica, una característica que permite
trabajar y hacer cálculos con la información. La tabla, en definitiva, constituye la base de datos.
Para poder llevar a cabo el citado registro, se hace necesario recurrir al uso de la tecnología que
existe y que facilita no sólo el llevarlo al día y poder consultarlo cuando sea imprescindible sino
también poder ir rellenando nuevas filas y columnas. Existen diversos programas específicos para
ello, no obstante, uno de los más utilizados en todo el mundo es Microsoft Excel.
Se conoce como registro de datos biométricos, por otra parte, a la recopilación de información
vinculada a la biometría de una persona. Se trata de datos que contribuyen a la identificación del
sujeto en cuestión: una huella digital, una fotografía, etc.

Que es una tupla?


En las ciencias de la computación una tupla puede tener dos significados distintos. Generalmente en los
lenguajes de programación funcional y en otros lenguajes de programación, una tupla es un objeto que bien
puede tener datos o diversos objetos, de forma similar a una tupla definida matemáticamente. Un objeto de
este tipo es conocido también como record.

Una definición más formal del anterior párrafo sería: Conjunto de elementos de distinto tipo que se guardan de
forma consecutiva en memoria.
Publicado por bere en
http://bere-basededatos.blogspot.com/2012/04/que-es-una-tupla.html
Tupla: Corresponde a una fila de una tabla (el que conocíamos como registro en un
archivo).
• Cardinalidad: Es el número de tuplas que contiene una tabla.
• Grado: Es el número de atributos que posee una tabla.
• Dominio: No es más que un tipo de dato, que puede ser definido por el sistema,
como Integer o char o, uno más complejo definido por el usuario. La importancia de
los dominios radica en que cuando se desea realizar una relación entre dos o más
tablas, las claves por las que se relacionan deben pertenecer forzosamente al
mismo dominio.
• Tabla o Relación: Es un conjunto de tuplas que han de ser por toda fuerza
distintas. Esto también implica que el orden de las tuplas es irrelevante. El conjunto
vacío es una relación particular: la relación nula o vacía.

Tuplas
La tupla es un tipo de dato secuencial. Sirve para agrupar, como si fueran un único valor, varios
valores.
El tipo de datos que representa a las tuplas se llama tuple, y es inmutable: una tupla no puede ser
modificada una vez que ha sido creada.

Lección 18 - INSERT, UPDATE, DELETE SQL

En esta lección vamos a ver como modificar la BD. Los registros de una tabla pueden ser
modificados de tres modos: Crear nuevos registros, modificarlos o bien eliminarlos. No se va a
profundizar en este sentido, esto lo dejaremos para un posible curso avanzado de SQL.
Por razones obvias no podrá usar el banco de pruebas para probar estas instrucciones, de modo que
para ello deberá usar su propia BD.

Insert SQL

La instrucción INSERT permite crear o insertar nuevos registros en una tabla, veamos su sintaxis
con un ejemplo práctico, la inserción de un registro en la tabla ALUMNOS:
Código: Seleccionar todo

insert into ALUMNOS (ID_ALUMNO , NOMBRE , APELLIDOS , F_NACIMI


ENTO)
values (1 , 'Pablo' , 'Hernandaz Mata' , '1995-03-14')

Observe como todo lo que se explicó en referencia a los tipos de datos es valido para la
instrucción INSERT. Los datos de tipo numérico no se entrecomillan, a diferencia de los
datos de tipo cadena y fecha.

En general la sintaxis de la instrucción INSERT es la siguiente:


Código: Seleccionar todo

INSERT INTO nombre_tabla (lista de campos separados por comas)

VALUES (lista de datos separados por comas)

Donde cada dato de la lista VALUES se corresponde y se asigna a cada campo de la tabla en el
mismo orden de aparición de la sentencia INSERT. Cabe mencionar que si la clave primaria que
identifica el registro que se pretende insertar ya la usa un registro existente el SGBD rechazaría la
operación y devolvería un error de clave primaria duplicada.

Así que cuando usted rellena un formulario en Internet por ejemplo, y los datos son almacenados en
una BD, en algún momento del proceso se realizará una instrucción INSERT con los datos que
usted a cumplimentado.
***

Update SQL

La instrucción UPDATE permite actualizar registros de una tabla. Debemos por lo tanto indicar que
registros se quiere actualizar mediante la cláusula WHERE, y que campos mediante la cláusula
SET, además se deberá indicar que nuevo dato va a guardar cada campo.
Así por ejemplo supongamos que para el curso que carecía de profesor finalmente ya se ha decidido
quien lo va a impartir, la sintaxis que permite actualizar el profesor que va a impartir un curso sería
la siguiente:
Código: Seleccionar todo
update CURSOS
set ID_PROFE = 2
where ID_CURSO = 5

Todo lo expuesto sobre lógica booleana es valido para la clausula WHERE de la


instrucción UPDATE, en todo caso dicha cláusula se comporta igual que en una
consulta, solo que ahora en lugar de seleccionar registros para mostrarnos algunos o
todos los campos, seleccionará registros para modificar algunos o todos sus campos. Por
lo tanto omitir la cláusula WHERE en una instrucción UPDATE implica aplicar la
actualización a todos los registros de la tabla.

La instrucción anterior asignará un 2 en el campo ID_PROFE de la tabla CURSOS en los registros


cuyo valor en el campo ID_CURSO sea 5. Como sabemos que el campo ID_CURSO es la clave
primaria de la tabla, tan solo se modificará un solo registro si es que existe. Obviamente en este
caso, dado que el campo que se pretende actualizar es clave foránea de la tabla PROFESORES, si
no existe un registro en dicha tabla con identificador 2 el SGBD devolverá un error de clave no
encontrada.

Veamos otro ejemplo, esta vez se modificarán varios campos y registros con una sola instrucción.
Recordemos la tabla EMPLEADOS, en ella se guardan los datos de cada empleado, el sueldo y
supongamos que también se guarda en el campo PRECIO_HORA el precio de la hora extra que
cobra cada empleado en el caso que las trabaje. Bien, con el cambio de ejercicio se deben subir los
sueldos y el precio por hora extra trabajada, digamos que un 2% el sueldo y un 1 % el precio de la
hora extra. Sin embargo la política de empresa congela el salario a directivos que cobran 3000 euros
o más. ¿Qué instrucción actualizaría estos importes según estas premisas? :
Código: Seleccionar todo
update EMPLEADOS
set SALARIO = SALARIO * 1.02
PRECIO_HORA = PRECIO_HORA * 1.01
where SALARIO < 3000

Por lo tanto solo se está actualizando el salario y el precio de la hora extra de aquellos empleados
que su salario es inferior a 3000 euros.

En general la sintaxis de la instrucción UPDATE es la siguiente:


Código: Seleccionar todo

UPDATE nombre_tabla
SET campo1 = valor1,
campo2 = valor2,
...
campoN = valorM
WHERE condicines

***

Delete SQL

La isntrucción DELETE permite eliminar regsitros de una tabla, su sintaxis es simple, puesto que
solo debemos indicar que registros deseamos eliminar mediante la cláusula WHERE. La siguiente
consulta elimina todos los registros de la tabla mascotas que estan de baja:
Código: Seleccionar todo
delete from MACOTAS
where ESTADO = 'B'

Al igua que la instrucción que ocurria con la UPDATE, para la instrucción DELETE es
válido todo lo expuesto sobe la cláusula WHERE para consultas.

La siguiente instrucción elimina todos los registros de la tabla VEHICULOS:


Código: Seleccionar todo
delete
from VEHICULOS

Al eliminar registros de una tabla estos no deben figurar como clave foránea en otra tabla, de lo
contrario el SGBD devolverá un error de violación de integridad referencial, puesto que si se
permitiese quedarían regsitros huerfanos.

En general la sintaxis de la instrucción DELETE es la siguiente:


Código: Seleccionar todo
DELETE
FROM nombre_tabla
WHERE condiniones

***

Resumen

Con las instrucciones INSERT, DELETE y UPDATE el SGBD permite crear eliminar o modificar
registros.

La cláusula WHERE de las instrucciones DELETE y UPDATE se comporta igual que en las
consultas y permite descartar o considerar registros mediante condiciones por la instrucción de
actualización o de borrado. Omitir la cláusula WHERE implica aplicar la operación a todos los
registros de la tabla.

Al insertar eliminar o actualizar datos, deben respetarse las restricciones. Si estas están montadas en
la BD, cosa por otro lado muy recomendable, podemos tener errores de tres tipos:
• Clave primaria duplicada (Al insertar o modificar un registro).
• Violación de integridad referencial (se pretende dejar huérfanos registros que apuntan al
registro padre al intentarlo eliminar o modificar).
• Clave padre no encontrada (al actualizar o insertar una clave foránea que no existe en la
tabla padre a la que apunta)
http://deletesql.com/viewtopic.php?f=5&t=24

Lenguaje de Manipulación de Datos (Data Manipulation Language, DML) es un lenguaje


proporcionado por los sistemas gestores de bases de datos que permite a los usuarios de la misma
llevar a cabo las tareas de consulta o modificación de los datos contenidos en las Bases de Datos del
Sistema Gestor de Bases de Datos. 1
El lenguaje de manipulación de datos más popular hoy en día es SQL, usado para recuperar y
manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados por bases
de datos IMS/DL1, CODASYL u otras.

Índice
• 1 Elementos del lenguaje de manipulación de datos
• 1.1 Select
• 1.2 Insert
• 1.3 Delete
• 1.4 Update
• 2 Clasificación de los DML
• 3 Referencias

Elementos del lenguaje de manipulación de datos


Select
La sintaxis básica de select es la siguiente utilizando el estándar de SQL:
select columna from tabla;

donde se sustituye la palabra columna por el nombre del campo a consultar y la palabra tabla por el
nombre de la tabla que contiene el campo mencionado.

Insert
La estructura básica para la sentencia insert utilizando el estándar de SQL es la siguiente:
insert into usuario (nombre, apellidos, edad, carrera) values ("Martín",
"Bastida Godínez", "23", "Ingeniería en TI");

Tomando como ejemplo si se tuviera una tabla llamada 'usuario' con los campos de tipo cadena de
caracteres (nombre, apellidos, edad, carrera), donde se inserta los valores que se encuentran en
después de la palabra values, los valores se insertan en el orden correspondiente a como se hizo la
llamada de los campos, los valores van separados por comas, las comillas dobles indican que se está
insertando datos de tipo cadena de caracteres.

Delete
Para eliminar los registros de una tabla usamos el comando "delete":
delete from usuarios;

La ejecución del comando indicado en la línea anterior borra TODOS los registros de la tabla.
Si queremos eliminar uno o varios registros debemos indicar cuál o cuáles, para ello utilizamos el
comando "delete" junto con la clausula "where" con la cual establecemos la condición que deben
cumplir los registros a borrar. Por ejemplo, queremos eliminar aquel registro cuyo nombre de
usuario es 'Martín':
delete from usuarios where nombre='Martín';

Si solicitamos el borrado de un registro que no existe, es decir, ningún registro cumple con la
condición especificada, no se borrarán registros, pues no encontró registros con ese dato.

Update
Para modificar uno o varios datos de uno o varios registros utilizamos "update" (actualizar).
Por ejemplo, en nuestra tabla "usuarios", queremos cambiar los valores de todas las claves, por
"Sevilla":
update usuarios set clave='Sevilla';

Utilizamos "update" junto al nombre de la tabla y "set" junto con el campo a modificar y su
nuevo valor.
El cambio afectará a todos los registros.
Podemos modificar algunos registros, para ello debemos establecer condiciones de selección con
"where".
Por ejemplo, queremos cambiar el valor correspondiente a la clave de nuestro usuario llamado
'Martín', queremos como nueva clave 'Boca', necesitamos una condición "where" que afecte
solamente a este registro:
update usuarios set clave='Boca'
where nombre='Martín';

Si no encuentra registros que cumplan con la condición del "where", ningún registro es afectado.
Las condiciones no son obligatorias, pero si omitimos la cláusula "where", la actualización afectará
a todos los registros.
También se puede actualizar varios campos en una sola instrucción:
update usuario set nombre='MarceloDuarte', clave='Marce'
where nombre='Marcelo';

Para ello colocamos "update", el nombre de la tabla, "set" junto al nombre del campo y el nuevo
valor y separado por coma, el otro nombre del campo con su nuevo valor.

MySQL INSERT UPDATE DELETE


Con nuestra base de datos Customerdb ya creada en MariaDB (MySQL) siguiendo
Learning Project, vamos a aprender la manipulación de datos para MySQL con
INSERT, UPDATE y DELETE Código Xules
MySQL
Esta publicación que aquí probamos sobre MariaDB es vaĺida en cualquier base de
datos MySQL ya que la sintaxis es la misma Código Xules

Mi recomendación es que veas las anteriores publicaciones de este tutorial de MariaDB (MySQL),
pero como cada uno aprende a su manera y a su ritmo, a continuación tienes los scripts de la base de
datos y población de datos que facilitamos en capítulos anteriores, eso sí tendrás que tener instalado
MariaDB o MySQL, en nuestra primera publicación explicábamos como preparar el entorno, y
facilitábamos enlaces para la instalación en diferentes sistemas operativos.
Script para la creación de las tablas del esquema de Customerdb definido en Learning Project:

MariaDB SQL - Creación de las tablas 9.19 KB


Download
Script para la población de datos de Customerdb:

MariaDB SQL Script para la población de la base de datos Customerdb 126.64 KB


Download
Veamos entonces como manipular los datos en la base de datos MariaDB para ello vamos a ver la
sintaxis de:
• INSERT
• Inserción de nuevas filas en la tabla seleccionada. Documentación de MariaDB:
INSERT.
• UPDATE
• Actualización de uno o varios parámetros de una o varias filas, como veremos a
continuación. Documentación de MariaDB: UPDATE.
• DELETE
• Borrado de uno o varios registros de la tabla. Documentación de MariaDB: :
DELETE.

SQL INSERT
Creamos nuevas filas en la tabla seleccionada está es la sintaxis de INSERT (MariaDB
documentation) el primer comando que estudiaremos en el aprendizaje de MySQL INSERT
UPDATE DELETE:
?
1 INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
2 [INTO] tbl_name [PARTITION (partition_list)] [(col,...)]
3 {VALUES | VALUE} ({expr | DEFAULT},...),(...),...
4 [ ON DUPLICATE KEY UPDATE
5 col=expr
6 [, col=expr] ... ]
Para hacer nuestras pruebas iniciales vamos a usar la tabla ya creada cb_currency para ello vamos a
insertar una nueva moneda, recordemos antes como era la tabla que vamos a usar:
?
CREATE TABLE cb_currency
1 (
2 idcurrency INT NOT NULL AUTO_INCREMENT,
3 currency VARCHAR(60) NOT NULL,
4 description VARCHAR(255) NOT NULL ,
5 isactive VARCHAR(1) NOT NULL DEFAULT 'N',
6 isocode VARCHAR(3) NOT NULL,
7 cursymbol VARCHAR(10),
8
precisionstd DECIMAL(10,0) NOT NULL,
9
precisioncost DECIMAL(10,0) NOT NULL,
10
11 precisionprize DECIMAL(10,0) NOT NULL DEFAULT 0,
12 CONSTRAINT pk_cb_currency PRIMARY KEY (idcurrency),
13 CONSTRAINT u_cb_currency_currency UNIQUE (currency),
14 CONSTRAINT u_cb_currency_isocode UNIQUE (isocode)
15 )
16 ENGINE = InnoDB
17 COMMENT='Tabla donde se definen las monedas disponibles y sus
18 relaciones a partir de las monedas bases.';
GRANT ALL ON TABLE cb_currency TO xulescode;

Usamos idcurrency como clave primaria y los otros campos nos presentan diferentes tipos de datos
para utilizar en nuestro ejemplo, ahora veremos como podemos insertar una o más filas
especificándolo en los valores de la expresión, o muchas filas como resultado de una consulta.
Donde los valores para nuestra moneda serán, según el orden la tabla los siguientes: ‘Euxo’, ‘Euxo
(Xules)’, ‘Y’, ‘EUX’, ‘X’, 2, 4, y 4, veamos ahora como creamos este nuevo idioma usando la
sintaxis de INSERT en este caso indicamos específicamente que columnas vamos a añadir en el
orden que queremos (este lo podemos variar):
?
INSERT INTO cb_currency(currency, description,
1 isactive, isocode, cursymbol,
2 precisionstd, precisioncost,
3 precisionprize)
4
VALUES ('Euxo', 'Euxo (Xules)', 'Y', 'EUX', 'X', 2, 4, 4);
Otra opción de introducir los datos
?
1 INSERT INTO cb_currency
2 VALUES (null, 'Euxo', 'Euxo (Xules)', 'Y', 'EUX', 'X', 2, 4,
4)
El resultado en este ambos será algo así:
?
1 Executed successfully in 0,036 s, 1 rows affected.
2 Line 1, column 1
3
4 Execution finished after 0,036 s, 0 error(s) occurred.
Puedes saltar al final de este tutorial para ver la consulta de como borrar este registro nuevo creado,
para ver el resultado de la creación recuerda que puedes usar, por ejemplo esta consulta:
?
1 SELECT *
2 FROM cb_currency
3 WHERE currency = 'Euxo';
Otra forma de crear un nuevo registro es utilizar el INSERT con SET , sería así:
?
1 INSERT INTO cb_currency
2 SET currency = 'Euxo',
3 description = 'Euxo (Xules)',
4 isactive = 'Y', isocode = 'EUX', cursymbol = 'X',
5 precisionstd = 2, precisioncost = 4, precisionprize= 4;
Así, sería como lo veríamos en el IDE Netbeans del que estoy usando su editor SQL para crear este
tutorial:
Mariadb (MySQL) cb_currency INSERT con SET
Vamos a ver como podemos hacer un INSERT a partir de una consulta, si estas empezando te diré
que aunque ahora no lo parezca te resultará útil, sería así:
?
1 INSERT INTO cb_currency(currency, description,
2 isactive, isocode, cursymbol,
3 precisionstd, precisioncost,
4 precisionprize)
5 VALUES ('Eux1', 'Eux1 (Xules)', 'Y', 'EX1', '1', 2, 4, 4),
6 ('Eux2', 'Eux2 (Xules)', 'N', 'EX2', '2', 2, 4, 4),
7 ('Eux3', 'Eux3 (Xules)', 'N', 'EX3', '3', 2, 4, 4),
8 ('Eux4', 'Eux4 (Xules)', 'N', 'EX4', '4', 2, 4, 4),
('Eux5', 'Eux5 (Xules)', 'Y', 'EX5', '5', 2, 4, 4);

Mariadb cb_currency INSERT múltiple

SQL UPDATE
Vamos a ver la actualización de datos que es la modificación de los datos que ya están en la base de
datos. Se pueden actualizar filas individuales, todas las filas de una tabla, o un subconjunto de todas
las filas. Además, cada columna se puede actualizar por separado ya que las otras columnas no se
ven afectadas.
Usamos el comando SQL UPDATE (MariaDB documentation) que tiene la siguiente sintaxis:
?
1 UPDATE [LOW_PRIORITY] [IGNORE] table_reference
2 [PARTITION (partition_list)]
3 SET col1={expr1|DEFAULT} [,col2={expr2|DEFAULT}] ...
4 [WHERE where_condition]
5 [ORDER BY ...]
6 [LIMIT row_count]

Veamos un ejemplo actualizando la columna isactive con el valor ‘N’ para el registro que tiene el
valor de ‘Eux1’ en la columna currency que hemos creado anteriormente, solo modificaremos este
registro ya que el campo currency lo hemos establecido como único:
?
1 UPDATE cb_currency
2 SET isactive = 'N'
3 WHERE currency = 'Eux1';

Como puedes ver es bastante sencillo, después del UPDATE indicamos la tabla sobre la que vamos
a actuar currency, en la clausula SET indicamos la actualización a realizar, y por último, con la
clausula WHERE condicionamos los registros que se van a ver involucrados, en este caso con
currency = ‘Eux1’, solo se verá un registro afectado. El resultado que nos muestra la consola nos
indicará el número de registros afectados:
?
1 Executed successfully in 0,098 s, 1 rows affected.
2 Line 1, column 1
Para realizar la actualización y ver el resultado final puedes concatenar las consultas como se
muestra en el ejemplo de la imagen:
Mariadb cb_currency UPDATE
Para ver las posibilidades que tenemos con el UPDATE para afectar a varios registros vamos a
adelantarnos un poco y ver algunas funciones que todavía no hemos visto, en este caso vamos a
actualizar todos los registros que hemos creado con la columna isactive con el valor ‘N’ y la
añadiendo en a la columna description un espacio y un * para esto utilizamos la función CONCAT
con cada uno de los valores que queremos separados por comas: CONCAT(description,’ ‘, ‘*’), esta
es la consulta con un SELECT de todos los registros que hemos nombrado a continuación, aquí
introducimos el comparador LIKE que nos sirve para filtrar por aquellos valores que empiecen por
Eux con el símbolo % a continuación para indicar que el final puede tener cualquier valor, estas son
las consultas:
?
1 UPDATE cb_currency
2 SET isactive = 'Y',
3 description = CONCAT(description,' ', '*')
4 WHERE currency IN ('Eux1', 'Eux2', 'Eux3', 'Eux4','Eux5');
5
6 SELECT *
7 FROM cb_currency
8 WHERE currency LIKE 'Eux%';

Este es el resultado con la ejecución de las consultas, finalizando las explicaciones del comando
UPDATE dentro del estudio de MySQL INSERT UPDATE DELETE:
Mariadb cb_currency con UPDATE de varios registros por condición

SQL DELETE
Después de explicar cómo agregar datos y cómo cambiarlos, para completar el trío MySQL
INSERT UPDATE DELETE para MariaDB (MySQL), nos falta ver como eliminar los datos usando
el comando SQL DELETE (Documentación de MariaDB), esta es la sintaxis:
?
1 DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
2 [PARTITION (partition_list)]
3 [WHERE where_condition]
4 [ORDER BY ...]
5 [LIMIT row_count]
6 [RETURNING select_expr [, select_expr ...]]
Vamos a ver como eliminamos la columna que hemos creado en el apartado anterior, en este primer
caso filtramos por el columna única de la tabla currency con lo que nos aseguramos que solo
borramos el registro que queremos:
?
1 DELETE FROM cb_currency
2 WHERE currency = 'Euxo';
Así, lo veremos si utilizamos el editor SQL de Netbeans:
Mariadb (MySQL) cb_currency DELETE
También podemos añadirle a nuestra consulta RETURNING * (solo disponible a partir de la versión
MariaDB 10.0.5) con lo que nos devuelve los datos que hemos borrado, en este caso utilizamos otra
columna que también hemos definido como única isocode :
?
1 DELETE FROM cb_currency
2 WHERE isocode = 'EUX';
3 RETURNING *;
Finalmente, nos queda la más sencilla, pero la más peligrosa, el borrado de todos los registros de la
tabla:
?
1DELETE FROM cb_currency;
Resumen
Como resumen, os dejo la imagen de esta consulta donde utilizo los tres comandos SQL para
MySQL INSERT UPDATE DELETE, si has entendido bien lo explicado entenderás el resultado
final:
Mariadb cb_currency consulta resumen MySQL INSERT UPDATE DELETE
Uso de sentencias SQL básicas – Insertar,
Modificar y Eliminar registros con Insert,
Update y Delete
Dic 20, 2009By Carlos Dk 5 comments Posted in: Tutoriales formativosTagged in: Base de datos,
DELETE, eliminar, INSERT, Insertar, modificar, mysql, php, query, SQL, UPDATE
En este pequeño tutorial os explicaré las sentencias más básicas SQL utilizando ejemplos prácticos
para una mayor comprensión. Dejar claro que estas sentencias en principio son de MySQL (las
cuales suelo atacar con PHP). Y aunque las diferencias son pocas con respecto a otros lenguajes,
puede haberlas, como el formato de comillas, fechas, declaración de tipos, etc.
Para comenzar, crearemos una base de datos utilizando una sentencia de SQL, la cual no debe de
generar dudas:
CREATE DATABASE VerTutoriales;
Con esta sencilla sentencia ya hemos creado una base de datos llamada vertutoriales y a
continuación vamos a crear una tabla dentro de esta base de datos:
CREATE TABLE usuarios
(
Id INTEGER NOT NULL AUTO_INCREMENT,
Nombre VARCHAR(20) NOT NULL,
Clave VARCHAR(6) NOT NULL,
Fecha DATE,
)
En este caso, hemos creado una tabla llamada usuarios con 4 campos dentro de esta, un primer
campo llamado “Id”, de valor entero (INTEGER), que no puede contener valores nulos (NOT
NULL) y además es autoincremental (AUTO_INCREMENT), es decir, que cada registro que se
añada, irá incrementando en 1 el valor del “id”. Otro campo llamado “Nombre”, que es de tipo
caracter de longitud 20 (VARCHAR(20)) que no puede ser nulo (NOT NULL), otro campo más
“Clave” que es igual que Nombre pero de longitud 6, y un campo Fecha de tipo Fecha (DATE).
Una vez realizado esto (que puede ser generado sin problema desde MySQL Query Browser como
podeis ver en este tutorial: http://www.vertutoriales.com/index.php/mysql-tools-query-browser-uso-
de-base-de-datos-tabla-registros/) Vamos a continuar con las sentencias SQL que anunciabamos en
el título del tutorial.
Empecemos por insertar un registro en nuestra tabla usuarios:
INSERT INTO usuarios (Nombre, Clave, Fecha) VALUES (‘VerTutoriales’, ‘PaS€-6’,
‘2009-12-31’);
Si nos fijamos en esta Query, utilizamos como palabras clave INSERT INTO y VALUES, justo
detrás de la primera (INSERT INTO), nos encontramos el nombre de la tabla en la que vamos a
insertar nuestro registro, en este caso usuarios, luego vienen los campos que serán insertados, en
nuestro ejemplo: Nombre, Clave y Fecha. Ahora ponemos la palabra clave VALUES e introducimos
los valores a insertar en cada campo, ‘VerTutoriales’, ‘PaS€-6’ y ‘2009-12-31’, al ser cadena o
fecha, van todas con una comilla simple ‘ y además por ser fecha irá invertida, ya que al ser MySQL
la introduce en formato inglés.
Ahora vamos a modificar el registro de la tabla usuarios:
UPDATE usuarios Set Nombre=’VideoTutoriales’ Where Clave=’PaS$-6′;
Si nos fijamos en esta otra sentencia SQL, podemos ver como palabras clave UPDATE, SET y
WHERE. Utilizamos UPDATE para modificar un registro contenido en una tabla (en nuestro caso
usuarios) y utilizamos SET para designar el campo a modificar y el valor que ha de tomar
(Nombre=’VideoTutoriales’). Para terminar esta sentencia nos queda decir que registro queremos
modificar, es cuando utilizamos WHERE y le pasamos la condición (Clave = ‘PaS$-6’). Quiere
decir que todos los registros que contengan Clave con el valor ‘PaS$-6’, modificarán su nombre y
se llamarán ‘VideoTutoriales’.
Ya, y para terminar con estas sentencias SQL, vamos a eliminar nuestro registro:
DELETE FROM usuarios Where nombre=’VideoTutoriales”
En este código SQL, utilizamos DELETE FROM Y WHERE como palabras clave, el orden es
DELETE FROM y a continuación el nombre de la tabla en la cual vamos a borrar los registros,
seguido de un WHERE donde le damos la condición que debe de realizarse para que el registro sea
eliminado. Si no utilizaramos el WHERE, la tabla sería eliminada completamente, es decir, si la
sntencia SQL fuera “DELETE FROM usuarios”, eliminaríamos todos los registros contenidos
dentro de la tabla usuarios.
Espero que os ayude, si teneis alguna duda con respecto a este pequeño tutorial o quereis que
explique algo, ya sabeis que podeis escribirme a tutor@dkreativo.es o dejar algún comentario.

También podría gustarte