Está en la página 1de 5

SERVICIO NACIONAL DE

APRENDIZAJE SENA
TALLER DE BASES DE DATOS
Instructor: Jesus Aviles Vizcaino

Contacto docente:
Correo electrónico: javilesv@misena.edu.co
WhatsApp: 3004436939
Horario de atención: |

SQL

Desde un punto de vista técnico podemos definir una base de datos como una aplicación independiente a
nuestro programa que almacena una colección de datos. Esta colección de datos es organizada mediante
campos, registros, índices y archivos de manera que mediante una simple consulta sea posible seleccionar
fragmentos de datos mostrando el resultado con rapidez.

SQL (Structured Query Language), se trata de un lenguaje declarativo estándar que permite su integración en
diferentes lenguajes de programación, por ejemplo, PHP o Java y en combinación con cualquier base de datos
específica. MariaDB, MySQL o SQL Server, por citar algunos ejemplos, trabajan de diferente manera, pero
todos comparten un modo común de manipulación y consulta de datos a través del lenguaje SQL.

Creación y evolución de SQL

En ingeniería de software toda buena historia comienza con la necesidad de resolver un problema. En los años
70 las bases de datos comenzaban a ser el quebradero de cabeza de muchos desarrollos. La falta de un
estándar claro y que cada empresa competía por imponer su solución de software hacía muy difícil, sino casi
imposible, la coexistencia entre sí.

En 1974, basándose en el modelo correlacional establecido por Edgard Codd, IBM comienza a trabajar en las
bases de lo que sería su base de datos SEQUEL. La idea de fondo era resolver los problemas anteriores
ofreciendo una solución estandarizada a los problemas de la época.

El éxito de su propuesta fue inminente entre sus clientes y entre los años 1974 a 1977 aparecieron diferentes
versiones que popularizaron su integración en diferentes sistemas. Posteriormente por causas legales IBM se
vio obligada a rebautizar el nombre de su proyecto a SQL

Pronto las empresas de todo el mundo comenzaron a demandar soluciones de software que hicieran uso de las
bondades del sistema SQL. Esto hizo que pronto aparecieran alternativas procedentes de otras compañías.
Oracle, Sybase fueron las primeras compañías en comercializar sus productos basados en SQL lo cual
contribuyó a reforzar las bases del ecosistema que estaría por crearse.

SQL ya era por 1981 considerado un estándar, pero no fue hasta 1986 cuando el ANSI adoptó SQL como
estándar de facto para los lenguajes relacionales. Esto hizo que un año después se publicase el conjunto de
normas que lo convertirán en un estándar ISO (SQL/86) dando lugar a diferentes revisiones hasta la fecha.

Fundamentos de SQL

Con SQL podemos realizar diferentes operaciones para consultar o manipular datos. A estas operaciones
solemos referirnos como operaciones CRUD (de Create, Read, Update y Delete). Para ello hacemos uso de
cuatro instrucciones para realizar estas tareas:

INSERT: inserta filas en una tabla. Se corresponde con la “C” de CRUD.


SELECT: Muestra información sobre los datos almacenados en la base de datos. Dicha información puede
pertenecer a una o varias tablas. Es la “R”.
UPDATE: Actualiza información de una tabla. Es, obviamente, la “U”.
DELETE: Borra filas de una tabla. Se corresponde con la “D”.

El lenguaje de consulta estructurado o SQL (por sus siglas en inglés Structured Query Language) es un
lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de
operaciones en ellas. El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de
agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de
datos.

Sistemas de gestión de bases de datos más conocidos

Desde la aparición de los primeros modelos de bases de datos relacionales a comienzos de la década de los
70 hasta nuestros días la industria del software a visto nacer y morir múltiples propuestas. En una evolución
constante en la actualidad podemos decir que los principales sistemas gestores de bases de datos
relacionales en la actualidad son:

MySQL: Es el sistema gestor de bases de datos relacional por excelencia y utilizado en la gran parte de las
aplicaciones web actuales. Se ofrece bajo licencia GNU/GPL y aunque es posible adquirir una versión
licenciada por Oracle (actualmente la empresa responsable de su desarrollo). Las principales ventajas son:
• Base de datos multihilo y multiusuario
• Facilidad de uso y gran rendimiento
• Facilidad para instalar y configurar
• Soporte multiplataforma
• Soporte SSL

MariaDB: Este sistema de gestión de bases de datos fue en origen un fork o derivación de MySQL debido a
los modelos de licencia que Oracle lleva imponiendo a su desarrollo desde la adquisición de Sun
Microsystems. Esto hizo que la comunidad moviera sus esfuerzos en la creación de un desarrollo
independiente. Entre sus principales características se encuentran:
• Aumento de motores de almacenamiento
• Gran escalabilidad
• Seguridad y rapidez en transacciones
• Extensiones y nuevas características relacionadas con su aplicación para Bases de datos NoSQL.

SQLite: Utilizada por multitud de aplicaciones en la actualidad se trata de una librería escrita en C que
implementa la gestión de un sistema de base de datos sin necesidad de un servidor ni configuraciones. Esto
lo hace muy versátil para el desarrollo de pequeñas aplicaciones de software reduciendo significativamente
sus requerimientos de hardware. Las principales características de SQLite son:
• El tamaño, al tratarse de una biblioteca, es mucho menor que otros sistemas de gestión de bases de
datos.
• Reúne los cuatro criterios ACID (Atomicidad, Consistencia, Aislamiento y Durabilidad) logrando gran
estabilidad
• Gran portabilidad y rendimiento

PostgreSQL: Bajo licencia BSD este sistema de base de datos relacional está orientado a objetos. Esto
ofrece a desarrolladores la posibilidad de poder trabajar de un modelo más robusto de gestión de grandes
volúmenes de datos. Sus principales características son:

• Control de Concurrencias multiversión (MVCC)


• Flexibilidad en cuanto a lenguajes de programación que soporta
• Es multiplataforma y opera bajo una licencia libre
• Robustez, Eficiencia y Estabilidad
Microsoft SQL Server: Es un sistema propietario licenciado por Microsoft y se basa en el lenguaje Transact-
SQL, capaz de poner a disposición de muchos usuarios grandes cantidades de datos de manera simultánea.
Sus principales características son:
• Soporte exclusivo por parte de Microsoft.
• Escalabilidad, estabilidad y seguridad.
• Posibilidad de cancelar consultas.
• Potente entorno gráfico de administración que permite utilizar comandos DDL y DML.
• Puede utilizarse en otras plataformas como Linux o Docker.

Oracle: Además de MySQL Oracle ofrece su propia gestión de bases de datos para el mundo empresarial.
En la actualidad se considera como el más robusto y completo y es utilizado habitualmente en soluciones de
banca o en grandes empresas. Sus principales características:
• Soporte de transacciones.
• Estabilidad.
• Escalabilidad.
• Multiplataforma.

Comandos de SQL
Existen tres tipos de comandos SQL:

• DDL(Data Definition Language) Lenguaje de Definición de datos: Permiten crear y definir nuevas
bases de datos, tablas, campos e índices.
• DML(Data Manipulation Language)Lenguaje de Manipulación de Datos: Permiten insertar datos para
generar consultas para ordenar, filtrar y extraer datos de la base de datos.
• DCL(Data Control Language) Lenguaje de Control de Datos: Se encargan de definir las permisos sobre
los datos.

Lenguaje de definición de datos (DDL): es el que se encarga de la modificación de la estructura de los


objetos de la base de datos. Incluye órdenes para modificar, borrar o definir las tablas en las que se
almacenan los datos de la base de datos. Existen cuatro operaciones básicas: CREATE, ALTER, DROP y
TRUNCATE.

CREATE: Utilizado para crear nuevas tablas, campos e índices


ALTER: Utilizado para modificar las tablas agregando campos o cambiando la definición de los campos.
DROP: Empleado para eliminar tablas e índices
TRUNCATE: trunca todo el contenido de una tabla.

CREATE
Este comando crea un objeto dentro del gestor de base de datos. Puede ser una base de datos, tabla, índice,
procedimiento almacenado o vista.

Sintaxis de creación de una tabla:

CREATE TABLE nombre_de_tabla


(
Nombrecampo1 tipodedato (tamaño) Primary Key,
Nombrecampo2 tipodedato (tamaño),
Nombrecampon tipodedato (tamaño));

Especificaciones

Nombre del campo deben empezar por un carácter alfabético y debe ser lo más comprensible posible para
entender que datos se almacenan en ese campo.
Tipos de Datos (lista de los más importante):
Numérico: bigint, int, smallint, tinyint, numeric, bit, decimal, money, smallmoney.
Cadena de caracteres: char, varchar, text.
Fecha y hora: date, datetime, time, timestamp.
Cadenas binarias: binary, varbinary, image.

PRIMARY KEY: para indicar que es la clave primaria de la tabla.


FOREIGN KEY: indica la clave foránea haciendo referencia a otra tabla, estableciendo la relación.

EJEMPLO DE RELACIÓN ENTRE TABLAS:

Se coloca al final de la declaración de campos:


FOREIGN KEY (campotablaactual) REFERENCES nombredetabla (campoderelación)

EJEMPLO:
Dadas las tablas Productos y Cliente, digita los códigos de creación de ambas tablas es sql.

CREATE TABLE PRODUCTOS (


Id_Producto integer PRIMARY KEY,
Nombre_Producto text,
Precio_Producto integer);

CREATE TABLE CLIENTES (


Id_Cliente integer PRIMARY KEY,
Nombre_Cliente text,
Id_Producto integer,
Foreign Key (Id_Producto) References PRODUCTOS (Id_Producto));

ACTIVIDAD

Realiza esta a mano.

De acuerdo al texto anterior responde:


1. ¿Qué es SQL?
2. Realiza un pequeño resumen de la creación y evolución de SQL.
3. Realiza un cuadro comparativo entre los Sistemas de gestión de bases de datos que utilizan
SQL, el cuadro debe tener: nombre de la herramienta y ventajas.
4. ¿A cuáles instrucciones de SQL, hace referencia el CRUD?
5. ¿Cuáles son los tres comandos básicos de SQL?
6. ¿Cuáles son las operaciones básicas de los comandos DDL?
7. ¿Cuál es la sintaxis para crear una tabla?

Teniendo en cuenta el ejemplo de creación de tablas y la imagen que se presenta:


8. Crea la tabla Empleados
9. Crea la tabla Departamentos
10. Escribe el código para realizar la relación

También podría gustarte