Base de Datos.: Ing. Luis Armijos Valarezo
Base de Datos.: Ing. Luis Armijos Valarezo
2
HISTORIA
3
HISTORIA
4
EVOLUCIÓN DE LA BASE DE DATOS
CODASYL
Conference on Data Systems Languages, como
consorcio de industrias del área informática, tenía
como objeto regular el lenguaje de programación
estándar, para que pudiera usarse en multitud de
ordenadores.
Década del 70
Hay valiosos aportes, como los de Edgar Frank Codd, científico informático inglés,
quien definió el modelo relacional. El multimillonario Lawrence “Larry” Ellison, pudo
desarrollar el Relational Software System o sistema de datos ORACLE, aprovechando
esa información de Codd. Este consistió en un sistema de administración de Base de
Datos relacionados, el cual se destacaba por su estabilidad, escalabilidad,
transacciones y multiplataforma.
7
EVOLUCIÓN DE LA BASE DE DATOS
8
EVOLUCIÓN DE LA BASE DE DATOS
SQL comenzó a ser el modelo estándar de las industrias, con su base de datos bajo
un sistema de tablas (filas y columnas), pudo competir con las bases jerárquicas y
de redes, ya que su nivel de programación era sencillo y el nivel era relativamente
bajo.
9
EVOLUCIÓN DE LA BASE DE DATOS
10
ESTRUCTURA DE LA BASE DE DATOS
11
ESTRUCTURA DE LA BASE DE DATOS
12
ESTRUCTURA DE LA BASE DE DATOS
Con el fin de que los datos sean consistentes de un registro al siguiente, asigna el
tipo de datos apropiado a cada columna. Los tipos de datos comunes incluyen:
A los efectos de crear una visión general de la base de datos, conocida como un
diagrama entidad-relación, no incluiremos las tablas reales, sino que cada tabla se
convertirá en un recuadro del diagrama. El título de cada recuadro debería indicar
qué describen los datos en la tabla, mientras que los atributos están enumerados a
continuación, del siguiente modo: 14
ESTRUCTURA DE LA BASE DE DATOS
Por último, deberías decidir qué atributo o atributos funcionarán como clave primaria para cada
tabla, si procede. Una clave primaria (PK) es un identificador único para una entidad determinada,
esto significa que puedes seleccionar un cliente concreto incluso si solo conoces ese valor.
Los atributos seleccionados como claves primarias deben ser únicos, inalterables y estar siempre
presentes (nunca NULL o vacíos). Por este motivo, los números de pedido y los nombres de
usuario son excelentes claves primarias, mientras que los números de teléfono o direcciones
postales no lo son. También puedes usar múltiples campos conjuntamente como la clave primaria
(esto se denomina "clave compuesta").
Cuando llegue el momento de crear la base de datos real, ubicarás la estructura de datos lógicos y
la estructura de datos físicos en el lenguaje de definición de datos admitido por nuestro sistema de
gestión de base de datos.
15
FUNCIONES DE LA BASE DE DATOS
A continuación detallamos una forma diferente de clasificar las funciones y los requisitos de un
sistema de gestión de bases de datos:
Almacenar datos Las bases de datos almacenan textos, documentos, contraseñas, etc., en formato electrónico,
a los que puede accederse mediante consultas.
Editar datos Según de qué permisos se disponga, la mayoría de bases de datos permiten editar in situ los
datos que salvaguardan.
Borrar datos Los registros de las bases de datos pueden borrarse por completo, sin dejar espacios en
blanco. En algunos casos los datos que se han borrado pueden restablecerse, pero en otros,
se eliminan definitivamente.
Gestionar los metadatos Normalmente, la información se guarda con metadatos o metaetiquetas que mantienen el
orden dentro de la base de datos y hacen posible la función de búsqueda. Los metadatos
también suelen utilizarse para regular los permisos.
La gestión de datos comprende cuatro operaciones fundamentales: crear (create),
leer/recuperar (read/retrieve), actualizar (update) y borrar (delete). Este concepto, conocido por
su acrónimo CRUD, constituye la base de la gestión de datos.
Seguridad de los datos Las bases de datos han de ser seguras para evitar que sujetos no autorizados puedan acceder
a la información que guardan. Además de un solvente método de cifrado, para mantener la
seguridad de los datos es esencial poner esmero en su administración, sobre todo su
administrador principal. La seguridad de los datos implica tomar las precauciones técnicas
necesarias para impedir la manipulación o la pérdida de datos.
16
FUNCIONES DE LA BASE DE DATOS
Integridad de los datos La integridad de los datos significa que los datos han de cumplir con ciertas reglas para
asegurar su corrección y definir la lógica de negocio del banco de datos. Solo así, puede
asegurarse que la base de datos ,al completo, funciona de forma constante y coherente. En los
modelos relacionales se dan cuatro de estas reglas: integridad de campo, integridad de
entidad, integridad referencial y consistencia lógica.
Función multiusuario Las aplicaciones de base de datos permiten acceder a las bases de datos desde diferentes
dispositivos. El reparto de permisos y la seguridad de los datos son elementales en el uso
multiusuario. También constituye un reto, mantener la consistencia de los datos sin dificultar el
rendimiento, cuando varios usuarios leen y escriben a la vez.
Optimizar las consultas Técnicamente, una base de datos ha de poder procesar las consultas de la mejor manera
posible para garantizar una buena performance. Si utiliza demasiadas rutas diferentes para
solucionar una consulta, el rendimiento global del sistema se verá perjudicado.
Triggers y stored procedures Estos dos procedimientos son miniaplicaciones guardadas en los SGBD que se activan con
ciertos eventos. Con ellos se pretende, entre otras cosas, mejorar la integridad de los datos.
Los disparadores (triggers) y los procedimientos almacenados (stored procedures) son
procesos típicos de las bases de datos relacionales. Los segundos contribuyen a la seguridad
del sistema si los usuarios solo ejecutan las acciones con procedimientos predefinidos.
Transparencia del sistema La transparencia del sistema es relevante, sobre todo, en los sistemas distribuidos; privando al
usuario de la distribución y la implementación de los datos, la utilización de una base de datos
distribuida se asemeja al de una centralizada. Los procesos que corren en segundo plano se
muestran u ocultan en diversos niveles de transparencia. La función principal es, no obstante,
simplificar su uso todo lo posible.
17
CARACTERÍSTICAS DE LOS SGBD
Independencia:
18
CARACTERÍSTICAS DE LOS SGBD
Integridad:
19
CARACTERÍSTICAS DE LOS SGBD
Seguridad:
20
CARACTERÍSTICAS DE LOS SGBD
Recuperación:
21
CARACTERÍSTICAS DE LOS SGBD
Atomicidad:
22
CARACTERÍSTICAS DE LOS SGBD
Concurrencia:
23
CRITERIOS DE SELECCIÓN DE UN SGBD
Presupuesto disponible: es uno de los factores más importantes, la cuantía que se desee
invertir marcará en gran medida todo el proceso de elección.
Nivel de soporte proporcionado por el fabricante del SGBD: este factor es la principal
desventaja que presenta el software gratuito en un entorno profesional, ya que el hecho de
no contar con ningún tipo de soporte puede llegar a ser un hándicap.
Compatibilidad con software y hardware existente: factor también muy importante. Conlleva
realizar un detallado análisis para evitar futuros problemas, que además podrían llegar a
tener soluciones de gran impacto.
Volumen de datos: un estudio sobre el volumen de datos actual y una estimación del futuro
a largo plazo pueden llegar a ser también factores importantes a la hora de seleccionar un
SGBD.
24
CRITERIOS DE SELECCIÓN DE UN SGBD
Rendimiento: es clave no solo en la selección del SGBD, sino que también en la versión o
configuración del mismo.
Seguridad: podría llegar a ser un factor vital, aunque si ese fuese el caso, lo más
recomendable sería invertir en software o hardware de terceros.
25
CICLO DE VIDA DE UNA BASE DE DATOS
Planeación.
Análisis.
Diseño.
Implementación.
Mantenimiento.
26
BASES DE DATOS NO RELACIONALES NOSQL
Son muchas las aplicaciones web que utilizan algún tipo de bases de datos para funcionar. Hasta
ahora estábamos acostumbrados a utilizar bases de datos SQL como son MySQL, Oracle o MS
SQL, pero desde hace ya algún tiempo han aparecido otras que reciben el nombre de NoSQL (Not
only SQL – No sólo SQL) y que han llegado con la intención de hacer frente a las bases relacionales
utilizadas por la mayoría de los usuarios.
Se puede decir que la aparición del término NoSQL aparece con la llegada de la web 2.0 ya que
hasta ese momento sólo subían contenido a la red aquellas empresas que tenían un portal, pero
con la llegada de aplicaciones como Facebook, Twitter o Youtube, cualquier usuario podía subir
contenido, provocando así un crecimiento exponencial de los datos.
Es en este momento cuando empiezan a aparecer los primeros problemas de la gestión de toda
esa información almacenada en bases de datos relacionales. En un principio, para solucionar estos
problemas de accesibilidad, las empresas optaron por utilizar un mayor número de máquinas pero
pronto se dieron cuenta de que esto no solucionaba el problema, además de ser una solución muy
cara. La otra solución era la creación de sistemas pensados para un uso específico que con el
paso del tiempo han dado lugar a soluciones robustas, apareciendo así el movimiento NoSQL.
27
BASES DE DATOS NO RELACIONALES NOSQL
Por lo tanto hablar de bases de datos NoSQL es hablar de estructuras que nos permiten
almacenar información en aquellas situaciones en las que las bases de datos relacionales
generan ciertos problemas debido principalmente a problemas de escalabilidad y
rendimiento de las bases de datos relacionales donde se dan cita miles de usuarios
concurrentes y con millones de consultas diarias.
28
BASES DE DATOS NO RELACIONALES NOSQL
VENTAJAS
Esta forma de almacenar la información ofrece ciertas ventajas sobre los modelos relacionales.
Entre las ventajas más significativas podemos destacar:
▪ Se ejecutan en máquinas con pocos recursos: Estos sistemas, a diferencia de los sistemas
basados en SQL, no requieren de apenas computación, por lo que se pueden montar en
máquinas de un coste más reducido.
▪ Escalabilidad horizontal: Para mejorar el rendimiento de estos sistemas simplemente se
consigue añadiendo más nodos, con la única operación de indicar al sistema cuáles son los
nodos que están disponibles.
▪ Pueden manejar gran cantidad de datos: Esto es debido a que utiliza una estructura
distribuida, en muchos casos mediante tablas Hash.
▪ No genera cuellos de botella: El principal problema de los sistemas SQL es que necesitan
transcribir cada sentencia para poder ser ejecutada, y cada sentencia compleja requiere
además de un nivel de ejecución aún más complejo, lo que constituye un punto de entrada
en común, que ante muchas peticiones puede ralentizar el sistema.
29
BASES DE DATOS NO RELACIONALES NOSQL
DIFERENCIAS
Algunas de las diferencias más destacables que nos podemos encontrar entre los sistemas NoSQL y
los sistemas SQL están:
▪ No utilizan SQL como lenguaje de consultas. La mayoría de las bases de datos NoSQL evitan
utilizar este tipo de lenguaje o lo utilizan como un lenguaje de apoyo. Por poner algunos
ejemplos,
▪ Cassandra utiliza el lenguaje CQL, MongoDB utiliza JSON o BigTable hace uso de GQL.
▪ No utilizan estructuras fijas como tablas para el almacenamiento de los datos. Permiten hacer
uso de otros tipos de modelos de almacenamiento de información como sistemas de clave–
valor, objetos o grafos.
▪ No suelen permitir operaciones JOIN. Al disponer de un volumen de datos tan extremadamente
grande suele resultar deseable evitar los JOIN. Esto se debe a que, cuando la operación no es la
búsqueda de una clave, la sobrecarga puede llegar a ser muy costosa. Las soluciones más
directas consisten en desnormalizar los datos, o bien realizar el JOIN mediante software, en la
capa de aplicación.
▪ Arquitectura distribuida. Las bases de datos relacionales suelen estar centralizadas en una única
máquina o bien en una estructura máster–esclavo, sin embargo en los casos NoSQL la
información puede estar compartida en varias máquinas mediante mecanismos de tablas Hash 30
distribuidas.
BASES DE DATOS NO RELACIONALES NOSQL
31
BASES DE DATOS NO RELACIONALES NOSQL
32
BASES DE DATOS NO RELACIONALES NOSQL
33
BASES DE DATOS NO RELACIONALES NOSQL
34
BASES DE DATOS NO RELACIONALES NOSQL
Ejemplos
35
BASES DE DATOS NO RELACIONALES NOSQL
Algunas de las razones que nos pueden llevar a decantarnos por el uso de las bases de datos
NoSQL en lugar de las clásicas SQL son:
▪ Cuando el volumen de los datos crece muy rápidamente en momentos puntuales, pudiendo
llegar a superar el Terabyte de información.
▪ Cuando la escalabilidad de la solución relacional no es viable tanto a nivel de costes como a
nivel técnico.
▪ Cuando tenemos elevados picos de uso del sistema por parte de los usuarios en múltiples
ocasiones.
▪ Cuando el esquema de la base de datos no es homogéneo, es decir, cuando en cada
inserción de datos la información que se almacena puede tener campos distintos.
36
BASES DE DATOS NO RELACIONALES NOSQL
Son muchas las grandes empresas que hacen uso de este tipo de bases de datos no relacionales,
como:
▪ Cassandra: Facebook, Twitter…
▪ HBase: Yahoo, Adobe…
▪ Redis: Flickr, Instagram, Github…
▪ Neo4j: Infojobs…
▪ MongoDB: FourSquare, SourceForge, CERN…
37
ANÁLISIS DE REQUERIMIENTOS
Para poder arribar con éxito a un buen diseño de Base de Datos es necesario hacer un detallado análisis de los
requerimientos del sistema al cual nos enfrentamos. Pero qué implica exactamente este análisis?
Es necesario recabar toda la información posible sobre la realidad, para luego analizarla con detenimiento, desde
distintos puntos de vista con el fin de lograr diseñar un modelo que la represente de manera abstracta lo más
fielmente posible.
38
ANÁLISIS DE REQUERIMIENTOS
Preguntas básicas y simples que nos permitirán luego realizar otras más puntuales:
▪ ¿Cuáles son los objetos de datos primarios que va a procesar el sistema?
▪ ¿Cuál es la composición de cada uno de estos objetos y qué atributos los describen?
▪ ¿Cuál son las relaciones entre dichos objetos?
▪ ¿Qué Procesos realiza nuestro sistema? ¿Cuándo se realizan? ¿Quién los hace?
▪ ¿Qué intercambio de información existe dentro de los componentes del sistema? ¿Y con el exterior?
▪ ¿Cuáles son los límites del sistema?
▪ ¿Existen excepciones a tener en cuenta para la realización de los procesos?
▪ ¿Cómo se almacena la información actualmente? ¿Qué datos se registran? ¿Quién lo hace?
39
ANÁLISIS DE REQUERIMIENTOS
De allí surgirán:
Entidades
▪ Abstracciones de un objeto del mundo real.
▪ Representación una colección de objetos que tienen propiedades comunes. Ejemplo: CLIENTE
Atributos
▪ Propiedades de una entidad. Ejemplo: Nombre y apellido, edad, dirección, etc.
Relaciones o Flujo de datos
▪ Intercambio de información entre entidades
▪ Representan datos en movimiento lógicamente relacionados.
▪ Describen el movimiento de paquetes de datos de una parte del sistema a otra.
Procesos
▪ Una actividad, tarea, proceso, función, etc.
▪ Transforma entradas en salidas
Almacenes
▪ Colección de datos en reposo.
▪ archivo en disco
▪ datos en un fichero de papel. Ejemplo: una FACTURA
40
ANÁLISIS DE REQUERIMIENTOS
41
ANÁLISIS DE REQUERIMIENTOS
42
ELEMENTOS DEL MODELAMIENTO DE BASES DE
DATOS.
Al igual que los arquitectos realizan sus planos para construir casas,
los diseñadores de base de datos necesitan realizar modelos para
construir sus base de datos. Los modelos facilitan la comunicación
entre el diseñador de base de datos y los usuarios finales. Los
modelos son fáciles de utilizar y cambiar, ya que son sólo una imagen
muy simplificada del sistema de información que se desea
desarrollar.
43
ELEMENTOS DEL MODELAMIENTO DE BASES DE
DATOS.
Los componentes básicos de un MER (Modelo Entidad-Relación) son: Entidades, Atributos y Relaciones. Las
entidades representan abstracciones con atributos que almacenan datos; las relaciones son las asociaciones que
existen entre entidades y permiten generar información al combinar diferentes entidades.
ENTIDAD
Se denomina entidad a todo ente (conceptual o físico) del cual se desea establecer su participación dentro de un
sistema de información. Una entidad concreta o física es aquella con existencia física, representa un objeto del
mundo real (persona o elemento). Unaentidad abstracta no tiene una representación física concreta (posición
laboral, asignatura).
ATRIBUTO
El atributo es elementos de información que caracteriza a una entidad, identificándola, calificándola,
cuantificándola, o declarando su estado. Por lo general una entidad se compone de uno o más atributos (edad,
genero, estatura, nombre, etc.). Los atributos permiten diferenciar elementos dentro de un conjunto de entidades.
Dentro de una entidad de tipo persona es muy raro el caso que existan dos con exactamente los mismos
atributos.
RELACIONES
Las relaciones identifican la interacción que existe entre dos o más entidades. Establecen el coportamiento del 45
sistema de información.
ELEMENTOS DEL MODELAMIENTO DE BASES DE
DATOS.
46
RESTRICCIONES DE INTEGRIDAD.
▪ Son condiciones que garantizan que las modificaciones realizadas en la base de datos por
los usuarios autorizados no den lugar a una pérdida de la consistencia de los datos.
▪ Protegen contra daños accidentales a las bases de datos.
Clave Primaria
La clave principal o primaria proporciona un valor único para cada fila de la tabla y nos sirve de
identificador de registros de forma que con esta clave podamos saber sin ningún tipo de
equivocación el registro al cuál identifica. No podemos definir más de una clave principal, pero
podemos tener una clave principal compuesta por más de un campo. Además, ésta nos
permitirá, en futuras unidades, acceder a los datos de otras tablas.
Por ejemplo, si tenemos una tabla con los datos de contactos de nuestros amigos, podríamos
estar seguros que, usando su número del Documento de Identidad (CI), ninguno de ellos tendría
el mismo valor en dicho campo. En cambio, el campo nombre para nuestros amigos podría
repetirse. 47
RESTRICCIONES DE INTEGRIDAD.
Clave Foránea
Una clave foránea es un campo común y corriente que tiene la particularidad de corresponderse con la
clave primaria de otra tabla, una columna en una tabla que contiene los mismos valores.
Una clave foránea denota la relación entre las dos tablas. Se puede crear una clave foránea en una
columna o un grupo de columnas en una tabla y usarla para hacer referencia a una columna o grupo de
columnas de otra tabla.
Campo Único
Por ejemplo, el campo "email" suele ser único para que tu lista no tenga direcciones de email repetidas
cuando las importes, las añadas manualmente o cuando se den de alta contactos a través de tu
formulario de suscripción.
48
RESTRICCIONES DE INTEGRIDAD.
Campo Nulo
Este valor NULL puede ser asignado como valor a cualquier columna de una tabla.
Si el valor de una columna es opcional, quiere decir, que podemos insertar una fila en la tabla sin
asignarle ningún valor a esa columna opcional, así que esa columna tomará el valor NULL.
49
DIAGRAMA ENTIDAD-RELACION.
El modelo entidad relación es una herramienta que permite representar de manera simplificada los
componentes que participan en un proceso de negocio y el modo en el que estos se relacionan entre sí.
Entidades: El modelo contará con una entidad por cada uno de los componentes del proceso de negocio.
Así, en un negocio de venta de suscripciones a revistas, podemos tener entidades “Cliente”, “Dirección”,
“Factura”, “Producto”, o “Incidencias”, entre otras.
Atributos: Los atributos, componente fundamental de cada modelo entidad-relación, nos permiten
describir las propiedades que tiene cada entidad. “Nombre”, “Primer Apellido”, “Segundo Apellido”, ”Fecha
de nacimiento”, “Género” o “Segmento de valor” serán atributos de la entidad “Cliente”.
Relaciones: Con las relaciones se establecen vínculos entre parejas de entidades. Cada “Cliente” tendrá
una “Dirección” de envío en la que recibirá la suscripción, podrá estar suscrito a uno o varios “Productos”,
y recibirá una “Factura” con la periodicidad acordada.
50
DIAGRAMA ENTIDAD-RELACION.
El diagrama entidad relación es la expresión gráfica del modelo entidad relación. En él las entidades se
representan utilizando rectángulos, los atributos por medio de círculos o elipses y las relaciones como
líneas que conectan las entidades que tienen algún tipo de vínculo. También es muy común el formato
de diagrama en el que los atributos de una entidad aparecen listados en filas dentro del rectángulo que
representa a esa entidad.
Además, es común que, en el modelo entidad-relación, los conectores que indican que dos entidades A y
B están relacionadas entre sí tengan una apariencia gráfica diferente dependiendo del tipo de relación
que exista entre ellas.
51
DIAGRAMA ENTIDAD-RELACION.
Los tipos de relaciones posibles entre dos entidades en un modelo entidad relación son:
▪ Relación uno a uno: Un “individuo” de la entidad A solamente puede estar relacionado con un
“individuo” de la entidad B, y ese “individuo” de la entidad B no puede estar relacionado con otros
“individuos” de la entidad A. Por ejemplo, cada miembro de la entidad País se relaciona únicamente
con un miembro de la entidad “Ciudad capital de un país”. Cada país puede tener una única capital
y cada ciudad capital puede serlo únicamente de un país.
▪ Relación uno a muchos: Un “individuo” de la entidad A puede estar relacionado con uno o varios
“individuos” de la entidad B, y esos “individuos” de la entidad B no pueden estar relacionados con
otros “individuos” de la entidad A. Por ejemplo, cada miembro de la entidad “Padre” puede estar
relacionado con uno o varios miembros de la entidad “Hijo”, y cada miembro de la entidad “Hijo”
solamente puede tener vínculo con un miembro de la entidad “Padre”.
▪ Relación muchos a muchos: Cada “individuo” de la entidad A puede estar relacionado con uno o
varios “individuos” de la entidad B, y cada “individuo” de la entidad B puede estar relacionado con
varios “individuos” de la entidad A. Por ejemplo, cada miembro de la entidad “Cliente” puede estar
relacionado con uno o varios miembros de la entidad “Producto”, y cada miembro de la entidad
“Producto” puede tener vínculo con varios miembros de la entidad “Cliente”.
52
DIAGRAMA ENTIDAD-RELACION.
Ejercicio:
Es el proceso de organizar los datos de una base de datos. Debemos tener en cuenta
la creación de tablas y las reglas que se usan para definir las relaciones, estas reglas
son diseñadas para proteger los datos, y para que la base de datos sea flexible con
el fin de eliminar redundancias y dependencias incoherentes.
Requisitos de la normalización
Para que las tablas de nuestra BD estén normalizadas deben cumplir las siguientes
reglas:
55
NORMALIZACION DE BASE DE DATOS.
Para normalizar una base de datos existen principalmente 3 reglas, las cuales se
deberían cumplir para evitar redundancias e incoherencias en las dependencias. A
estas reglas se les conoce como "Forma normal" qué va de la 1 a la 3 y si la base de
datos cumple con cada regla se dice que está en la "primera o segunda o tercera
forma normal"
56
NORMALIZACION DE BASE DE DATOS.
57
NORMALIZACION DE BASE DE DATOS.
58
NORMALIZACION DE BASE DE DATOS.
Las filas en rojo están repetidas, por lo cual es necesario dejar solamente 1 de ellas. Por otro lado,
las celdas en naranjo cuentan con datos divisibles (no atómicos), para arreglar esto se identifica
que estos número y correos están relacionados al rut de una persona por lo que se separan en una
tabla independiente que mantenga una relación con los pacientes.
59
NORMALIZACION DE BASE DE DATOS.
60
NORMALIZACION DE BASE DE DATOS.
61
NORMALIZACION DE BASE DE DATOS.
62
NORMALIZACION DE BASE DE DATOS.
63
NORMALIZACION DE BASE DE DATOS.
64
DDL (LENGUAJE DE DEFINICIÓN DE DATOS)
DDL son las siglas de: "Data Definition Language" (es decir, Lenguaje de definición de
datos).
65
DDL (LENGUAJE DE DEFINICIÓN DE DATOS)
Los elementos que conforman el "Lenguaje de definición de datos" son los siguientes:
CREATE:
Permite crear una nueva base de datos, tablas, índices o procedimientos almacenados.
DROP:
ALTER:
Ejemplo de CREATE:
CREATE DATABASE [nombre]
CREATE TABLE [tabla] (columna tipo-de-dato(10), columna tipo-de-dato(10));
CREATE TABLE usuarios (nombre varchar(25), apellidos (25));
Ejemplos de DROP:
69
DDL (LENGUAJE DE DEFINICIÓN DE DATOS)
INSERT
Una sentencia INSERT de SQL agrega uno o más registros a una (y sólo una) tabla en
una base de datos relacional.
Forma básica:
Ejemplo:
DELETE
Una sentencia DELETE de SQL borra uno o más registros existentes en una tabla.
Forma básica:
Ejemplo:
73
DML (LENGUAJE DE MANIPULACIÓN DE DATOS)
UPDATE
Una sentencia UPDATE de SQL es utilizada para modificar los valores de un conjunto
de registros existentes en una tabla.
Forma básica:
UPDATE tabla SET campo1 = 'valor1’, campo2 = 'valor2’ WHERE campo2 = 'N';
Ejemplo:
UPDATE mi_tabla SET campo1 = 'nuevo valor campo1' WHERE campo2 = 'N';
74
DML (LENGUAJE DE MANIPULACIÓN DE DATOS)
Consultas
Las consultas de selección se utilizan para indicar al motor de datos que devuelva
información de las bases de datos, esta información es devuelta en forma de conjunto
de registros. Este conjunto de registros es modificable.
Básicas
La sintaxis básica de una consulta de selección es:
75
DML (LENGUAJE DE MANIPULACIÓN DE DATOS)
Clausula WHERE
La cláusula WHERE puede usarse para determinar qué registros de las tablas
enumeradas en la cláusula FROM aparecerán en los resultados de la instrucción SELECT.
WHERE es opcional, pero cuando aparece debe ir a continuación de FROM:
76
DML (LENGUAJE DE MANIPULACIÓN DE DATOS)
Operadores Lógicos
Los operadores lógicos soportados por SQL son:
# SELECT * FROM Empleados WHERE Edad > 25 AND Edad < 50;
# SELECT * FROM Empleados WHERE (Edad > 25 AND Edad < 50) OR Sueldo = 100;
# SELECT * FROM Empleados WHERE NOT Estado = 'Soltero';
# SELECT * FROM Empleados WHERE (Sueldo > 100 AND Sueldo < 500) OR (Provincia = 77
'Madrid' AND Estado = 'Casado');
DML (LENGUAJE DE MANIPULACIÓN DE DATOS)
Operador BETWEEN
Para indicar que deseamos recuperar los registros según el intervalo de valores de un
campo emplearemos el operador Between:
78
DML (LENGUAJE DE MANIPULACIÓN DE DATOS)
Operador LIKE
Se utiliza para comparar una expresión de cadena con un modelo en una expresión SQL.
Su sintaxis es:
Operador IN
Este operador devuelve aquellos registros cuyo campo indicado coincide con alguno de
los indicados en una lista. Su sintaxis es:
AVG
Calcula la media aritmética de un conjunto de valores contenidos en un campo
especificado de una consulta:
Avg(expr)
La función Avg no incluye ningún campo Null en el cálculo. Un ejemplo del
funcionamiento de AVG:
80
DML (LENGUAJE DE MANIPULACIÓN DE DATOS)
MAX, MIN
Devuelven el mínimo o el máximo de un conjunto de valores contenidos en un campo
especifico de una consulta. Su sintaxis es:
Min(expr)
Max(expr)
Un ejemplo de su uso:
81
DML (LENGUAJE DE MANIPULACIÓN DE DATOS)
SUM
Devuelve la suma del conjunto de valores contenido en un campo especifico de una
consulta. Su sintaxis es:
Sum(expr)
Por ejemplo:
82
DML (LENGUAJE DE MANIPULACIÓN DE DATOS)
GROUP BY
Combina los registros con valores idénticos, en la lista de campos especificados, en un único registro:
# SELECT Id_Familia Sum(Stock) FROM Productos GROUP BY Id_Familia HAVING Sum(Stock) > 100
AND NombreProducto Like BOS*;
83